Tanlashga asosan ko‘pjadvalli so‘rovlar yaratish. Malumotlar tuzilishi



Download 16,78 Kb.
bet2/2
Sana09.03.2022
Hajmi16,78 Kb.
#487001
1   2
Bog'liq
Quyi so

KALITLAR BILAN ISHLASH.
Tashqi kalitlar kalitlari jadvallar orasidagi aloqalarni o'rnatishga imkon beradi. Tashqi kalitlar kaliti qaram, bo'ysunuvchi jadvalning ustunlari uchun o'rnatiladi va asosiy jadvaldagi ustunlardan biriga ishora qiladi. Odatda, xorijiy kalit tegishli asosiy jadvaldagi asosiy kalitga ishora qiladi.

Jadval darajasida tashqi kalitni o'rnatishning umumiy sintaksisi:


[CONSTRAINT cheklash_nomi]


FOREIGN KEY (ustun1, ustun 2, ... ustunN)
REFERENCES asosiy_jadval (asosiy_jadval_ustun1, asosiy_jadval_ustun2, ... bosh_jadval_ustunN)
[ON DELETE harakat]
[ON UPDATE harakat]

Tashqi kalit kalit cheklovini yaratish uchun FOREIGN KEY dan keyin siz tashqi kalitni ifodalovchi jadval ustunini belgilaysiz. REFERENCES kalit so‘zidan keyin tegishli jadval nomi, so‘ng qavs ichida tashqi kalit ko‘rsatadigan tegishli ustun nomi yoziladi. REFERENCES ifodasidan keyin ON DELETE va ON UPDATE operatorlari mos ravishda asosiy jadvaldan satr o‘chirilganda va yangilanganda bajariladigan amalni belgilaydi.


Masalan, ikkita jadvalni aniqlaymiz va ularni tashqi kalit yordamida bog'laymiz:


CREATE TABLE Customers


(
Id INT PRIMARY KEY AUTO_INCREMENT,
Age INT,
FirstName VARCHAR(20) NOT NULL,
LastName VARCHAR(20) NOT NULL,
Phone VARCHAR(20) NOT NULL UNIQUE
);
CREATE TABLE Orders
(
Id INT PRIMARY KEY AUTO_INCREMENT,
CustomerId INT,
CreatedAt Date,
FOREIGN KEY (CustomerId) REFERENCES Customers (Id)
);

Bunday holda, Mijozlar va Buyurtmalar jadvallari aniqlanadi. Mijozlar mas'uldir va mijozni ifodalaydi. Buyurtmalar bog'liq va mijoz tomonidan berilgan buyurtmani ifodalaydi. Buyurtmalar jadvali CustomerId ustuni orqali Mijozlar jadvali va uning Id ustuniga bog'langan. Ya'ni, CustomerId ustuni mijozlar jadvalidagi Id ustuniga ishora qiluvchi chet el kalitidir.


CONSTRAINT iborasidan foydalanib, siz tashqi kalit cheklovi nomini belgilashingiz mumkin:


CREATE TABLE Orders


(
Id INT PRIMARY KEY AUTO_INCREMENT,
CustomerId INT,
CreatedAt Date,
CONSTRAINT orders_custonmers_fk
FOREIGN KEY (CustomerId) REFERENCES Customers (Id)
);

OʻCHIRISHDA va YANGILANISHDA


ON DELETE va ON UPDATE operatorlari asosiy jadvaldan tegishli qator o‘chirilganda va o‘zgartirilganda, mos ravishda bajariladigan amallarni belgilash uchun ishlatilishi mumkin. Harakat sifatida quyidagi variantlardan foydalanish mumkin:

CASCADE: Asosiy jadvaldagi tegishli satrlarni oʻchirish yoki oʻzgartirishda bogʻliq jadvaldagi qatorlarni avtomatik ravishda oʻchiradi yoki oʻzgartiradi.


SET NULL: Asosiy jadvaldan tegishli qatorni o'chirish yoki yangilashda tashqi kalit ustunini NULL ga o'rnatadi. (Bu holda, tashqi kalit ustuni NULL ga o'rnatishni qo'llab-quvvatlashi kerak)


CHEKLASH: Agar bog'liq jadvalda tegishli qatorlar mavjud bo'lsa, asosiy jadvaldagi qatorlarni o'chirish yoki o'zgartirishni rad etadi.


HARAKAT YO‘Q: RESTRICT bilan bir xil.




SET DEFAULT: Asosiy jadvaldan tegishli qatorni o'chirishda tashqi kalit ustunini standart qiymatga o'rnatadi, bu esa DEFAULT atributlari yordamida o'rnatiladi. Ushbu parametr printsipial jihatdan mavjud bo'lsa-da, InnoDB mexanizmi ushbu ifodani qo'llab-quvvatlamaydi.
Download 16,78 Kb.

Do'stlaringiz bilan baham:
1   2




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