Narziyev Orzu


Narziyev Orzu Narziyev Orzu



Download 233,5 Kb.
bet2/3
Sana15.05.2023
Hajmi233,5 Kb.
#938932
1   2   3
Bog'liq
postgresql foreign key [Автосохраненный]

Narziyev Orzu

Narziyev Orzu


PostgreSQL quyidagi amallarni qo'llab -quvvatlaydi:
  • SET NULL
  • SET DEFAULT
  • RESTRICT
  • NO ACTION
  • CASCADE

Narziyev Orzu

Narziyev Orzu


Customer

Customer_id

Customer_name

contacts

Contact_id

Customer_id

Contact_name

Phone

email

Narziyev Orzu

Narziyev Orzu


PostgreSQL tashqi kalitlarni cheklashga misollar
DROP TABLE IF EXISTS customers;
DROP TABLE IF EXISTS contacts;
CREATE TABLE customers(
customer_id serial,
customer_name VARCHAR(255) NOT NULL,
PRIMARY KEY(customer_id)
);
CREATE TABLE contacts(
contact_id serial,
customer_id INT,
contact_name VARCHAR(255) NOT NULL,
phone VARCHAR(15),
email VARCHAR(100),
PRIMARY KEY(contact_id),
CONSTRAINT fk_customer
FOREIGN KEY(customer_id)
REFERENCES customers(customer_id)
);

Narziyev Orzu

Narziyev Orzu


SET NULL
SET NULL, ota -jadvaldagi havola qilingan satrlar o'chirilganda, avtomatik ravishda NULL -ni bola jadvalining mos yozuvlar qatorlaridagi chet el kalit ustunlariga o'rnatadi.
Quyidagi iboralar namunaviy jadvallarni o'chirib tashlaydi va ularni ON DELETE bandidagi SET NULL amalidan foydalanadigan tashqi kalit yordamida qayta yaratadi:
Narziyev Orzu
SET NULL qanday ishlashini bilish uchun mijozlar jadvalidan id 1 bilan xaridorni o'chirib tashlaylik
DELETE FROM customers
WHERE customer_id = 1;
ON DELETE SET NULL harakati tufayli kontaktlar jadvalidagi mos yozuvlar qatorlari NULLga o'rnatiladi. Quyidagi bayonot kontaktlar jadvalidagi ma'lumotlarni ko'rsatadi:
SELECT * FROM contacts;
Chiqishdan aniq ko'rinib turibdiki, customer_id 1 bo'lgan qatorlar endi customer_id to'plamlarini NULLga ega.
Narziyev Orzu
CASCADE
ON DELETE CASCADE, ota -jadvaldagi havola qilingan qatorlar o'chirilganda, bola jadvalidagi barcha havola qatorlarini avtomatik ravishda o'chiradi. Amalda, ON DELETE CASCADE - eng ko'p ishlatiladigan variant.
CASCADE O'CHIRISH harakati tufayli kontaktlar jadvalidagi barcha havolalar avtomatik ravishda o'chiriladi:
Narziyev Orzu
Mavjud jadvalga chet el kalitlari cheklovini qo'shish uchun ALTER TABLE bayonotining quyidagi shakli ishlatiladi:
ALTER TABLE child_table
ADD CONSTRAINT constraint_name
FOREIGN KEY (fk_columns)
REFERENCES parent_table (parent_key_columns);
ALTER TABLE child_table
ADD CONSTRAINT constraint_fk
FOREIGN KEY (fk_columns)
REFERENCES parent_table(parent_key_columns)
ON DELETE CASCADE;
ALTER TABLE child_table
DROP CONSTRAINT constraint_fkey;
Narziyev Orzu
Narziyev Orzu
Narziyev Orzu
Narziyev Orzu

Download 233,5 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish