M. E. Zaynutdinova Mirzo Ulug‘bek nomidagi informatika kasb-hunar kolleji «Informatika va dasturlash»
Download 0.82 Mb.
|
Ma'lumotlar bazasini dasturlash chuqurlashtirilgan kursi Sh Nazirov
Kalitlarga cheklanish.
Ilovali yaxlitlikni ta’minlash tashqi kalit yoki ajdod kalit maydonlari qiymatlariga cheklanishlar o‘rnatishni talab qiladi. Ajdod kalit tarkiblangan bo‘lib, tashqi kalit har bir qiymati bitta satrga mos kelishi ta’minlangan bo‘lishi kerak. Bu kalit unikal bo‘lib, bo‘sh (NULL) qiymatlarga ega bo‘lmasligi kerak. Shuning uchun ajdod kalit maydonlari PRIMARY KEY chek- lanishiga ega bo‘lishi yoki NOT NULL cheklanishi bilan birga UNIQUE deb e’lon qilinishi kerak. Tashqi kalit ajdod kalitda mavjud qiymatlarga yoki bo‘sh (NULL) qiymatga ega bo‘lishi mumkin. Boshqa qiymat kiri- tishga urinish rad etiladi. Tashqi kalitga NOT NULL deb e’lon qilish mumkin, lekin bu maqsadga muvofiq emas. Masalan, siz qaysi sotuvchi mos kelishini bilmasdan oldin buyurtmachini ki- ritmoqchisiz. Bu holda NULL qiymatdan foydalanib, keyincha- lik uni konkret qiymatga almashtirish mumkin.
Tashqi kalit maydonlariga INSERT yoki UPDATE yordamida kiritilayotgan qiymatlar ajdod kalitlariga oldin kiri- tilgan bo‘lishi kerak. Tashqi kalit ixtyoriy satrini DELETE yordamida o‘chirish mumkin. ANSI ta’rifi bo‘yicha: tashqi kalit yordamida ilova qilinayotgan ajdod kalit qiymatini o‘chirib yoki o‘zgartirib bo‘lmaydi. Bu shuni bildiradiki, buyurtmalar jad- valida buyurtmalarga ega buyurtmachini, buyurtmachilar jad- validan o‘chirib bo‘lmaydi. ANSI tarkibiga kirmagan ajdod kalit maydonlarini o‘zgartirish yoki o‘chirish qoidalari mavjud:
Cheklangan (RESTRICT) o‘zgartishlar. Siz (ANSI usulida) ajdod kalitlarda cheklangan deb ko‘rsatishingiz yoki man qilishingiz mumkin. Kaskadlanuvchi (CASCADE) o‘zgartishlar. Agarda ajdod kalitda o‘gartish kiritsangiz, tashqi kalitda xuddi shunday o‘zgartishlar avtomatik yuz beradi. Bo‘sh (NULL) o‘zgartishlar. Siz ajdod kalitda o‘zgar- tirish kiritganingizda tashqi kalit maydonlari avtomatik NULL qiymat oladi (tashqi kalitda NULL qiymat ruxsat etilgan bo‘lsa). Yuqorida ko‘rsatilgan effektlar UPDATE va DELETE komandalari bajarilganda ajdod kalit o‘zgarishini ko‘rsatadi va quyidagicha aniqlanadi: CREATE TABLE ...
FOREGIGN KEY ( Download 0.82 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling