Маълумотлар омбори ва уни бошкариш тизими хакида умумий тушунчалар



Download 2,75 Mb.
bet76/83
Sana18.07.2022
Hajmi2,75 Mb.
#819472
1   ...   72   73   74   75   76   77   78   79   ...   83
Bog'liq
MBBT-маъруза матни-лотин1

7.Tashqi kalitlar
Tashqi kalit (foreign key) jadvalning tashqi kalit o’rnatilgan maydonidagi kiymatlar boshka tashqi deb ataladigan jadvalda mavjud bo’lishi shart. Birlamchi kalitdan uning farqi shundaki, tashki kalitli maydondagi qiymatlar takrorlanishi mumkin. Tashqi jadvaldagi maydon qiymatlari esa takrorlanmas bo’lishi kerak. Jadvalga tashqi kalitning qo’shilishi avtomatik tarzda undagi kalit maydonda ikkilamchi indeksni hosil qiladi.
Birlamchi kalitga o’xshash tarzda tashqi kalitni ham CREATE TABLE buyrug’i yordamida yaratish mumkin yoki jadval mavjud bo’lsa ALTER TABLE ADD FOREIGN KEY buyrug’i yordamida xasil qilish mumkin.
1. STAFF jadvali uchun tashqi kalit yaryatamiz:

ALTER TABLE STAFF


ADD FOREIGN KEY (PosID) REFERENCES POSS

Bu cheklov PosID maydoniniga tashqi kalit o’rnatadi va POSS jadvalining shunga mos maydoniga murojaat qilinadi. Bu shuni anglatadiki, STAFF jadvaliga kiritilayotgan identifikatorlar POSS jadvalining unga mos maydonida mavjud bo’lishi shart va uni POSS jadvalidan o’chirib bo’lmaydi. Bunday biriktirib qo’yish murojaatli butunlik (referential integrity) deyiladi.


2. Shunga o’xshash tashqi kalitni DepID maydoni uchun xam yaratamiz:

ALTER TABLE STAFF


ADD FOREIGN KEY (DepID) REFERENCES DEPS(DeptID)

Bu misolda STAFF va DEPS jadvallaridagi maydonlarning nomlari xar xil. Shuning uchun DEPS jadvalining nomidan so’ng maydon nomi keltirilgan.




3. Novbatdagi buyruqda STAFF jadvali pochta indeksi bo’yicha tashqi kalit xosil qilinmoqda:

ALTER TABLE. STAFF


ADD FOREIGN KEY (Zip) REFERENCES REGIONS

8. Qiymatlarni tekshirish


Qiymat bo’yicha cheklovlar jadval yaratish vaqtida yoki yaratib bo’lingandan so’ng xam qo’yilishi mumkin. Buning uchun CHECK operatori ishlatiladi. Masalan, STAFF jadvali yaratish vaqtida uning Zip maydoni uchun quyidagicha cheklov kiritish mumkin:


CREATE TABLE


(...,
CHECK (Zip BETWEEN I AND 99999))
1. Endi bu buyruqni ALTER TABLE buyrug’i yordamida yaratamiz:

ALTER TABLE STAFF.


ADD CONSTRAINT INVALID ZIP CHECK (Zip BETWEEN 1 AND 99999)

2. Oylik maosh uchun cheklov kiritamiz:


ALTER TABLE STAFF


ADD CONSTRAINT INVALID SALARY CHECK (Salary >= 0)

Nomning qarama-qarshi ma’nosiga e’tibor bersak, cheklov uchun tanlangan nom (masalan, "INVALID ZIP" frazasi nomunosib pochta manzilini bildiradi


Ma’lumot berishdagi bunday nomlar foydalanuvchi o’rnatilgan cheklovning buzilganligi haqidagi muammoning manbaini aniqlay olishi uchun kerak

3. JOBS jadvali uchun cheklov kiritamiz. Undagi so’ngi ishlab turgan tashkilotni aniqlovchi maydon 0 yoki 1 qiymat qabul qilishi kerak:


ALTER TABLE JOBS


ADD CONSTRAINT INVALID CURORG CHECK (CurOrg IN ('1', '0'))

Download 2,75 Mb.

Do'stlaringiz bilan baham:
1   ...   72   73   74   75   76   77   78   79   ...   83




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