2-mavzu. Ma’lumotlar bazasida tashqi bog’lanish va birlashmalar


Jadval tavsiflarini o'z ichiga oladi


Download 440.01 Kb.
Pdf ko'rish
bet22/37
Sana08.01.2022
Hajmi440.01 Kb.
#237443
1   ...   18   19   20   21   22   23   24   25   ...   37
Bog'liq
2-maruza

Jadval tavsiflarini o'z ichiga oladi 

Bunday  ta'riflarning  bir  nechta  atributlari  haqida  gapirish  mumkin.  Buyurtma  jadvalidagi 

knum  va  snum  maydonlarini  bitta  chet  el  kalitiga  aylantirishga  qaror  qilganimizning  sababi, 

buyurtmalardagi har bir mijoz uchun ushbu buyurtmani sotuvchi mijozlar jadvalida ko'rsatilgan 

bilan  bir  xil  bo'lishiga  kafolatdir.  Bunday  tashqi  kalitni  yaratish  uchun  biz  UNIQUE  jadval 

cheklovini  xaridorlar  jadvalining  ikkita  maydoniga  joylashtirishimiz  kerak  bo'ladi,  hatto 

jadvalning  o'zi  uchun  kerak  bo'lmasa  ham.  Ushbu  jadvaldagi  cnum  maydoni  BIRINChI  KEY 

chekloviga ega ekan, u har qanday holatda ham noyob bo'ladi va shuning uchun boshqa maydon 

bilan  knum  maydonining  yana  bir  kombinatsiyasini  olish  mumkin  emas.  Chet  el  kalitini  shu 

tarzda yaratish ma'lumotlar bazasining yaxlitligini saqlaydi, garchi bu sizning ichki xatolaringiz 

bilan  xalaqit  berishga  va  shu  xaridorga  tayinlanganidan  boshqa  har  qanday  sotuvchiga  qarz 

berishga xalaqit beradigan bo'lsa ham. 

Ma'lumotlar  bazasining  yaxlitligini  saqlash  nuqtai  nazaridan  ichki  uzilishlar  (yoki 

istisnolar),  albatta,  istalmagan.  Agar  siz  ularga  ruxsat  bersangiz  va  shu  bilan  birga  ma'lumotlar 

bazangizning  yaxlitligini  saqlamoqchi  bo'lsangiz,  Buyurtma  jadvalidagi  snum  va  cnum 

maydonlarini  navbati  bilan  Salespersons  va  Clients  jadvallaridagi  ushbu  maydonlar  uchun 

mustaqil  tashqi  kalit  sifatida  e'lon  qilishingiz  mumkin.  Darhaqiqat,  buyurtma  jadvalidagi  snum 

maydonlarini  biz  qilganimiz  kabi  ishlatish  ixtiyoriy,  garchi  o'zgarish  uchun  buni  qilish 

foydalidir.  Mijozlar  jadvalidagi,  buyurtmalar  jadvalidagi  va  mijozlar  jadvalidagi  xaridorlarning 

har  bir  buyurtmasini  bog'laydigan  cnum  maydoni  har  doim  ma'lum  bo'lishi  kerak  (istisnolarga 

yo'l qo'ymaslik uchun) to'g'ri snum maydonini topish uchun. Bu shuni anglatadiki, biz biron bir 

ma'lumotni - qaysi mijoz qaysi sotuvchiga tayinlanganini - ikki marta yozib olamiz va har ikkala 

versiyaning mos kelishiga ishonch hosil qilish uchun qo'shimcha ishlarni bajarish kerak bo'ladi. 

Yuqorida  aytib  o'tilganidek,  bizda  tashqi  kalit  cheklovi  bo'lmasa,  bu  vaziyat  juda  muammoli 

bo'ladi,  chunki  har  bir  buyurtma  to'g'ri  sotuvchining  har  bir  sotuvga  kredit  berishini  ta'minlash 

uchun  (so'rov  bilan  birga)  qo'lda  tekshirilishi  kerak.  Ma'lumotlar  bazangizda  ushbu  turdagi 

ma'lumotlarning  ortiqcha  bo'lishi  denormalizatsiya  deb  ataladi,  bu  ideal  munosabat  bazasida 

keraksiz,  garchi  amalda  uni  hal  qilish  mumkin  bo'lsa.  Demoralizatsiya  ba'zi  so'rovlarni  tezroq 

ishlashiga  olib  kelishi  mumkin,  chunki  bitta  jadvaldagi  so'rov  har  doim  qo'shilishdan  ancha 

tezroq bo'ladi. 




Download 440.01 Kb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   37




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