birlmachi kalit hisoblanadi va bu kalit Customer Rentals (mijoz buyurtmalari) jadvalida ham mavjud. Mijozning ID raqamiga qarab, mijoz aynan qaysi mahsulotlarni olganini ko’rishimiz mumkin. Masalan, Andy ismli mijozning ID raqami 9003 va u kulrang bilan ajratilgan mahsulotlarni sotib olgan.
Many-to-many (ko’pga-ko’p)
Jadvaldagi bir nechta qatorlar, boshqa jadvladagi bir nechta qatorlar bilan bog’lanishi many-to-many munosabati deyiladi. Masalan, bitta talaba bir nechta fanlarga yozilishi mumkin, shu bilan birga bitta fanga bir nechta talaba yozilishi ham mumkin.
Afsuski, bunday munosabatni bevosita dasturlash murakkab (yoki ilojsiz). Shuning uchun bu ikki jadval o’rtasida bog’lovchi jadval yaratish maqsadga muvofiq bo’ladi.
Misol uchun bizda mijozlar va mahsulotlar jadvali bor. Mijozlar istalgancha mahsulot sotib olishi mumkin, mahsulotlar esa istalgancha mijozga sotilishi mumkin. Ya’ni bu ikkisi many-to-many munosabatda.
MB shakllantirish uchun biz mijzolar va mahsulotlarni bog’lovchi,
9
yangi xaridlar (yoki savat) jadvalini yaratamiz. Mijozlar ham mahsulotlar ham xaridlar jadvaliga one-to-many munosabatda bo’ladi. Yaʻni bitta mijoz istalgancha xarid qilishi mumkin va har bir xarid bir nechta mahsulotlardan iborat boʻladi.
Majburiy yoki yo’q?
Munosabatlarni shakllantirishda qatorlardan (record) qaysi biri birlamchi ekanini aniqlashtirib olish ham muhim. Ya’ni bir jadvaldagi qator mavjud bo’lishi uchun ikkinchi jadvaldagi qator mavjud bo’lishi uchun majburiymi yoki yo’q. Misol uchun mualliflar va kitoblar jadvalida, muallif kitobsiz bo’lishi mumkin, lekin kitob muallifsiz bo’lmaydi. Ya’ni kitoblar jadvalida kitob mavjud bo’lishi uchun mualliflar jadvalida kitobning muallifi mavjud bo’lishi shart. Aksincha, mualliflar jadvalida biror muallifning mavjudligi, kitoblar jadvalida shu muallifning kitoblari bo’lishini taqozo qilmaydi (balki muallif hali kitob yozmagan, yoki kitobi bosmadan chiqmagan, yoki onlayn do’konda bu muallifning kitoblari mavjud emas).
Rekursiv munosabat
Ba’zida jadval qaytib o’ziga murojaat qilishi mumkin. Bu rekursiv munosabat deyiladi. Misol uchun korxona ishchilari jadvalida boshliq degan attribut bo’lsa, bu attribut shu jadvaldagi boshqa odamga (boshliqqa) ishora qiladi.
Ortiqcha munosabat
Ba’zida jadvallardagi qatorlar (record) bir-biri bilan birdan ko’p munosabatda bo’ladi. Masalan, talabalar o’qituvchilar bilan bo’glangan, o’qituvchilar fanlarga bog’langan, talabalar ham fanga bog’langan. Ya’ni talabalar o’qituvchilarga ikki marta bog’lanib qoldi, biri tog’ridan-to’g’ri, ikkinchisi fan orqali. Bunday holatda munosabatlardan biridan voz kechish MBga ta’sir qilmaydi va ishimizni osonlashtiradi. Yuqoridagi misolda, talabalar ham o’qituvchilar ham biror fanga bog’lanishi kifoya qilad
Xulosa
Bu loyha ishimizda web dastur yaratish jaryonida turli ehtiyojlarga mos keladigan ma’lumotlar bazasini yaratishni oʻrganamiz. Ma’lumotlar bazasini yaratish asoslari, shuningdek optimal natijalar uchun uni takomillashtirish usullari haqida ma’lumot beramiz.
10