Multimedia ma’lumotlar bazasi

MMB konseptual va mantiqiy loyihasiga relyatsion yondoshuv

Relyatsion ma‘lumotlar bazasi nazariyasi 70- yillar boshida munosabatlarning matematik nazariyasi asosida Kodd tomonidan ishlab chiqilgan. Relyatsion ma‘lumotlar bazasida barcha ma‘lumotlar jadval ko‘rinishida saqlanadi, bunda barcha amallar jadvallar bilan ishlashga keltiriladi. Bu nazariyada asosiy tushunchalar jadval, munosabat, misra, ustun, kalitlardan iborat. Xar qanday ma‘lumotlar bazasining asosi jadvallardir. Jadval misralar va ustunlardan tashkil topadi va ma‘lumotlar bazasida noyob nomga ega. Ma‘lumotlar bazasi, ular oralaridagi bog‘lanish mos keluvchi ustma-ust tushuvchi) maydonlar yordamida o‘rnatiladigan, sanoqsiz jadvallardan tuzilgan. Jadvallarning xar birida qandaydir biror bir tur (gurux) ob’ektlar to‘g‘risida ma‘lumot bor.

Relyatsion model
Ma‘lumotlarning relyatsion modeli 1970 yil IBM firmasining xodimi Edgar Kodd tomonidan taklif etilgan. Relyatsion ma‘lumotlar bazasining asosiy g‘oyasi ma‘lumotlar bazasi strukturasini soddalashtirishga qaratilgan. Unda ierarxik modeldagi kabi avlod va ajdodlarga yaqqol ko‘rsatgichlar yo‘q, barcha ma‘lumotlar star va ustunlarga bo‘lingan oddiy jadvallarda tasvirlanadi. Relyatsion modeldagi asosiy tushuncha "munosabat" (relation) xisoblanadi..
Relyatsion modelda o‘ziga xos atamalar ishlatiladi, biroq bu model moxiyatini o‘zgartirmaydi. Masalan, mantiqiy darajada element atribut deb ataladi. Bundan tashqari u uchun "kolonka", "ustun" va "maydon" atamalari ham ishlatiladi. Atributlar to‘plami kortejni (qator, yozuv, satr) xosil qiladi. Kortejlar to‘plami munosabatni (MB jadvali yoki faylini) xosil qiladi.
Relyatsion modelda fayllar o‘rtasidagi bog‘lanishlar yaqqol tarzda tavsiflanmasligi ham mumkin. Bu bog‘lanishlar ma‘lumotlarni qayta ishlash vaqtida dinamik ravishda mos maydonlarning qiymatlari bo‘yicha o‘rnatiladi. Relyatsion MB da yozuvlar chiziqli strukturaga ega.
Har bir munosabat kalitga, ya’ni kortejni bir qiymatli identifikatsiyalovchi atributga (oddiy kalit) yoki atributlar to‘plamiga (tarkibiy kalit) ega.
Qaralayotgan munosabatda kalit bo‘lmagan atribut yoki atributlar guruxi boshqa munosabatda kalit bo‘lsa , bu atribut yoki atributlar guruxi tashqi kalit deb ataladi.
Agar biror jadval tashqi kalitga ega bo‘lsau xolda u: a) mos birlamchi kalitga ega bo‘lgan jadval bilan mantiqan bog‘langan; b) bu bog‘lanish birga ko‘p xarakterga bo‘ladi.
Shunday qilib relyatsion model 1969 – 70 yillarda Kodd tomonidan munosabatlarning matematik nazariyasi asosida yaratilgan bo‘lib, quyidagi asosiy tushunchalarga asoslanadi jadval, munosabat, satr, ustun, birlamchi kalit, tashqi kalit.
Ma‘lumotlarning shunday modeliga relyatsion model deyiladi, unda barcha ma‘lumotlar foydalanuvchiga jadval shaklida xavola etiladi va ma‘lumotlar bazasi ustidagi barcha amallar jadvalllar ustiga amallarga olib kelinadi. Har bir jadval ma‘lumotlar bazasi tarkibida o‘z nomiga ega bo‘ladi, hamda satr va ustunlardan iborat bo‘ladi. Har bir jadval real dunyodagi ob’ektlar (mohiyat) tipini aks ettiradi, har bir satri esa ob’ektning konkret nusxasini bildiradi. Relyatsion modelning har bir tushunchasini "Xodim" – mohiyati (ob’ekti) misolida ko‘rib chiqamiz:

Rasm-1. "Xodimlar" ob’ekti xaqidagi jadval.

Har bir ustun o‘z nomiga ega bo‘ladi va ustun nomi odatda jadvalning ustki qismida ko‘rsatiladi. Uning nomi joriy jadvalda boshqa ustun uchun takrorlanmasligi kerak, biroq bu nom boshqa jadvalning ustun nomi sifatida ishlatilishi mumkin. Ya’ni turli jadvallar bir xil nomli ustunga ega bo‘lishi mumkin.
Ixtiyoriy jadval kamida bitta ustunga ega bo‘ladi; ustunlar jadvalda ularni yaratish tartibida joylashadi. Satrlar ustunlardan (atributlar) farqli ravishda nomga va joylashish tartibiga ega emas. Ularning miqdori chegaralanmagan.
Ixtiyoriy jadval shunday ustunga yoki ustunlarga (kalitga) ega bo‘ladi, undagi qiymatlar har bir satrni takrorlanmas qiymat bilan identifikatsiyalaydi. Rasmda keltirilgan misolda kalit bu "tabel nomeri" ustunidir.
Atributlar qiymati eng kichik axborot birligi – domen yordamida ko‘rsatiladi. Boshqacha aytganda domen – bu ob’ekt atributining mumkin bo‘lgan barcha qiymatlar to‘plamidir. Yana ikkita tushunchani ko‘rib o‘tamiz. Bu "daraja" va "Kardinal son" tushunchalari. Munosabatlarning kardinal soni deganda kortejlar soni tushuniladi, munosabat darajasi – bu joriy munosabatning atributlar sonidir.
Jadvallar o‘rtasidagi aloqa relyatsion ma‘lumotlar modelining asosiy elementi xisoblanadi. Bu aloqa tashqi kalitlar yordamida qo‘llab – quvvatlanadi. Misol sifatida biror korxonaning MB sida saqlanayotgan xodimlar ("xodimlar" jadvali) va boshliqlar ("boshliqlar" jadvali) haqidagi ma‘lumotlarni ko‘rib chiqamiz. (rasm. 4.8).
"Boshliqlar" jadvalida birlamchi kalit "nomer" ustini. "Familiya" ustunining qiymatlari takrorlanuvchi bo‘lganligi uchun birlamchi kalit sifatida qo‘llash mumkin emas. "Xodimlar" jadvalida "Boshliq nomeri" ustuni tashqi kalit xisoblanadi.
MB da ma‘lumotlar bilan birga ma‘lumotlar lug‘ati va boshqa ob’ektlar, masalan, ekran formalari, xisobotlar, tasvirlovchi formalar (views) va amaliy dasturlar joylashadi.
Relyatsion MB ni butunlik cheklanishi ba’zi talablarni, masalan, atribut qiymati faqat mos domen ichidan olinishini, yoki tashqi kalit jadvaldagi mavjud bo‘lmagan satrni ko‘rsatmasligi kerak (ko‘rsatgich bo‘yicha yaxlitlik).
"Munosabat" tushunchasini batafsil ko‘rib chiqamiz.
Relyatsion modellarda o‘zgaruvchi munosabatlar va munosabat qiymatini farqlash kerak. O‘zgaruvchi munosabat – bu xuddi dasturlash tilidagi kabi oddiy o‘zgaruvchilar, ya’ni qiymati vaqt o‘tishi bilan o‘zgaruvchi nomlangan ob’ekt. Ushbu o‘zgaruvchining ixtiyoriy vaqt momentidagi qiymati munosabat qiymati xisoblanadi.

Relyatsion algebraga

Relyatsion algebra Kodd tomonidan aniqlangan ikkita guruxga bo‘lingan 8 ta operatordan iborat.
Birinchi guruxga to‘plar ustida bajariluvchi an’anaviy amallar kiradi: birlashtirish (U), kesishma (∩), ayirish (–) va dekart ko‘paytirish (*). Bunda barcha amallarda operandlar ixtiyoriy to‘plam deb emas, balki munosabatlar deb qaraladi.
Ikkinchi gurux maxsus relyatsion amallarni tashkil etadi: tanlash, proeksiya, birlashtirish va bo‘lish.
Ushbu amallarning munosabalarda qo‘llagandagi natijalarni batafsil ko‘rib chiqamiz.
Birlashtirish (U). Berilgan ikkita munosabatdan biriga va ikkalasiga ham tegishli bo‘lgan kortejlardan iborat yangi munosabatni qaytaradi. (rasm. 5.1, a).
Kesishma (∩). Bir vaqtning o‘zida ikkala munosabatga ham tegishli bo‘lgan barcha kortejlardan iborat yangi munosabatni qaytaradi. (ris. 5.1, b).
Ayirish (–). Berilgan ikkala munosabatdan faqat birinchisiga tegishli bo‘lgan kortejlardan iborat yangi munosabatni qaytaradi. (rasm. 5.1, v).
Dekart ko‘paytirish (*)- berilgan ikkala jadvaldagi kortejlarning kombinatsiyalaridan iborat yangi jadval xosil qiladi (rasm. 5.1, g).
Tanlash – berilgan jadvaldagi ma’lum shartni qanoatlantiruvchi barcha kortejlardan iborat yangi jadval xosil qiladi. Bu algebraik cheklanish xisoblanadi. (rasm. 5.2, a).

Proeksiya – berilgan jadvaldagi ba’zi kortejlarni istisno (chiqarib tashlash) qilib qolgan kortejlardan (podkortej) yangi munosabat xosil qiladi (rasm. 5.2, b).
Ulash – berilgan ikkiala jadvalda umumiy qiymatga ega bo‘lgan kortejlarning ulanishidan iborat yangi jadval xosil qiladi. Natijaviy jadvalda umumiy qiymat faqat bir marta qatnashadi. Bunday ulash tabiiy ulash deb ataladi (rasm. 5.2, v).
Bo‘lish – berilgan binar va unar ikkita jadval uchun unar jadvalning barcha qiymatlari bilan moslashgan binar jadvaldagi bitta atributning qiymatlaridan iborat jadval (ris. 5.3).

Jadval ustidagi har amal natijasi jadvaldan iborat bo‘ladi. Ushbu relyatsion xususiyat yopiqlik xossasi deb ataladi.
Biror amal natijasi boshqa amal uchun boshlang‘ich ma‘lumot sifatida qo‘llanilishi mumkin. Shuning uchun, masalan, birlashtirish proeksiyasini olish, yoki ikkita tanlanma ulnmasini olish mumkin. Bunday ifodalar murakkab xisoblanadi.
Har bir munosabat sarlavxaga, tanasiga, kalitlar potensialiga (zaxirasiga) ega bo‘ladi. Relyatsion amallarni bajarishda atribut nomlarini yaratilishi va potensial kalitlar o‘zgarishiga e’tibor qilish kerak.
Standart relyatsion amallar

Jadvallar ustida amallar bajarilishini batafsil ko‘rib o‘tamiz.
Birlashtirish (union), kesishma (intersect) va ayirish (minus) amallari uchun quyidagi 2 ta xossa qanoatlantirilishi kerak:
− operandlar bir xil darajaga ega bo‘lishi kerak;
− mos atributlar bitta domenda aniqlanishi kerak..
Ko‘paytirish amali bu shartni bajarilishi talab etmaydi.
An’anaviy amallar
Tipi bo‘yicha mos bo‘lgan ikkita A va V munosabatni birlashmasi (A union B) deb A munosabatga yoki B munosabatga yoki ikkala munosabatga tegishli bo‘lgan t kortejlar to‘plamidan iborat S munosabatga aytiladi.

Misol: A va V munosabatlar berilgan bo‘lsin: A – po‘latdan yasalgan detallar; V – 0.5 kg dan og‘ir bo‘lgan detallar.
Unda A union B amali yoki po‘latdan tayyorlangan detallarni, yoki 0.5 kg dan og‘ir bo‘lgan detallarni ifodalaydi.
Natijada 6 ta emas, 4 ta kortej olinadi va takrorlanuvchi kortejlar o‘chiriladi.
Tipi bo‘yicha mos bo‘lgan ikkita A va V munosabatni kesishmasi (A intersect B) deb bir vaqtning o‘zida ikkala A va B munosabatga tegishli bo‘lgan t kortejlar to‘plamidan iborat S munosabatga aytiladi.

Misol: yuqoridagi keltirilgan munosabatlar uchun A intersect B amali natijasi po‘latdan tayyorlangan va og‘irligi 0.5 kg dan og‘ir bo‘lgan detallarni tasvirlaydi.
Vыchitaniem dvux sovmestimыx po tipu otnosheniy A i V (A minus B) nazыvaetsya otnoshenie s tem je zagolovkom i telom, sostoyaщim iz mnojestva kortejey t, prinadlejaщix otnosheniyu A i ne prinadlejaщix otnosheniyu V.

Primer: vыrajenie (A minus B) predstavlyaet detali, kotorыe izgotovlenы iz stali i ne vesyat bolshe 0,5 kg.

Bog‘lanish turlari va xususiyatlari: Atributlar va kalitlar

Ma‘lumotlar bazasida jadvallar orasida munosabatlar o‘rnatiladi. Jadvallar orasidagi munosabatlarning to‘rtta turi mavjud: bir-birga, bir-ko‘pga, ko‘p-birga, ko‘p-ko‘pga.
Relyatsion ma‘lumotlar bazasini loyihalash masalalariga o‘tishdan avval mumkin bo‘lgan munosabatlar turining xar biriga batafsilroq to‘xtaymiz.
Bir-birga munosabatning ma’nosi shuki bitta jadvalning xar bir yozuvi boshqa jadvaldagi faqat bitta yozuviga to‘g‘ri keladi (mos keladi). Misol uchun, agar ikkita jadvalni ko‘radigan bo‘lsak, ulardan birida korxona ishchilari to‘g‘risida ma‘lumotlar, ikkinchisida esa-professional ma‘lumotlar bo‘lsa, u holda bu jadvallar orasida bir-birga munosabat mavjud, chunki bitta jadvalda ma‘lumoti bo‘lgan odam uchun prfessional ma‘lumotlari bo‘lgan ikkinchi jadvalda faqat bitta yozuv bo‘lishi mumkin.
Hammadan ko‘p uchraydigan ma‘lumotlar bazasidagi munosabatlar turi bu bir-ko‘pga munosabat. Berilgan munosabatlar turini ko‘rsatish uchun, korxona mijozlari va ular bergan buyurtmalar to‘g‘risida ma‘lumotlar bo‘lgan jadvallarga murojaat qilishimiz mumkin. Boshqa misollar sifatida korxona va unda ishlaydigan mexnatkashlar orasidagi munosabatlar ko‘rilishi mumkin. Huddi shunday munosabatlar kompyuter va unga kiruvchi komponentlar orasida mavjud va x.k.
Ko‘p-birga munosabat avval ko‘rilgan tur bir-ko‘pga munosabat bilan o‘xshash. Ob’ektlar orasidagi munosabatlar turi sizning nuqtai nazaringizga bog‘liq. Misol, agar siz qilingan buyurtmalar va mijozlar orasidagi munosabatlarni ko‘rsangiz, u holda ko‘p-birga munosabat olasiz.
Ikkita jadvallar orasida ko‘p-ko‘pga munosabat hosil bo‘ladi, qachonki:
Birinchi jadvaldagi bitta yozuv ikkinchi jadvaldagi bittadan ortiqrok yozuv bilan bog‘lanishi mumkin bo‘lsa;
Ikkinchi jadvaldagi bitta yozuv birinchi jadvaldagi bittadan ortiqroq yozuv bilan bog‘lanishi mumkin bo‘lsa.
Misol uchun ulgurji savdo magaziniga murojaat qilamiz. Ikki gurux ob’ektlarni ko‘rib chiqamiz: yetkazib beruvchi (ta’minlovchi) korxonalar ishlab chiqaradigan tovarlar ro‘yxati va iste’molchilar buyurtma qilgan tovarlar ro‘yxati. Bu ma‘lumotlarni o‘z ichiga olgan jadvallar orasida ko‘p-ko‘pga munosabat mavjud, chunki har qaysi yetkazib berilayotgan maxsulotga bittadan ortiq buyurtma bo‘lishi mumkin. Huddi shunday, xar qaysi buyurtma qilingan maxsulot bittadan ortiq korxona tomonidan ishlab chiqarilishi mumkin.

Berilgan ma‘lumotlarni normallashtirish

Normallashtirish – bu ma‘lumotlar bazasidagi ma‘lumotlarni ortiqchaligini kamaytirishdir.
Normallashtirish – bu jadvalni ma‘lumotlarni qo‘shish, o‘zgartirish va o‘chirish uchun qulay bo‘lgan ikkita yoki undan ko‘p jadvallarga bo‘lishdir.
Normallashtirishni asosiy maqsadi – shunday ma‘lumotlar bazasini yaratishga qaratilgan, unda faktlar bir marta qayt qilinadi, ya’ni ma‘lumotlar ortiqcha yoki takrorlanishi mumkin emas.
Bu amal saqlanadigan ma‘lumotlarni qarama – qarshiligini bartaraf etish uchun zarur.
Jadvallarni normallashtirish mantiqiy loyixalashning eng formal (tartibga solingan) metodi bo‘lib, uni qo‘llanganda ER-diagrammani qurish talab etilmaydi.
Normallashtirish jarayoni bir normal formadan boshqasiga o‘tish amallaridan iborat bo‘lib, unda har bir navbatdagi jadval oldingisiga nisbatan yaxshi xossalarga ega bo‘ladi.
Har bir normal forma uchun bir qator talablar qo‘yilgan va jadval normallashtirilgan deyiladi agar u qo‘yilgan talablarga javob bersa.
Relyatsion ma‘lumotlar bazasi nazariyasida quyidagi normal formalar ketma – ketligi ajratib ko‘rsatiladi:
- birinchi normal forma (1NF);
- ikkinchi normal forma (2NF);
- uchinchi normal forma (3NF);
- Boys-Kodd normal formasi (BCNF);
- to‘rtinchi normal forma (4NF);
- beshinchi normal forma yoki proeksiya – ulash normal formasi (5NF yoki PJ/NF).
Normal formalarning asosiy xossalari:
- har bir navbatdagi normal forma qaysidir ma’noda oldingisiga qaraganda yaxshi;
- navbatdagi normal formaga o‘tganda oldingi normal forma xossalari saqlab qolinadi.
Berilgan ma‘lumotlar bazasini loyihalashda siz eng qulay berilgan ma‘lumotlar bazasi strukturasi to‘g‘risidagi masalani hal qilishingiz zarur. Bunda izlanayotgan asosiy maqsadlar:
Jadvaldagi ma‘lumotlarga tez yetishishni ta’minlash;
Kiritishdagi xatolar sababi va kompyuter diski maydonidan noratsional foydalanish sababi bo‘lishi mumkin bo‘lgan, keraksiz berilgan ma‘lumotlarni qaytarilishiga yo‘l qo‘ymaslik;
Berilgan ma‘lumotlar butligini shunday ta’minlash kerakki, bitta ob’ektlar o‘zgartirilganda avtomatik ravishda ular bilan bog‘liq bo‘lgan ob’ektlarni o‘zgarishi ro‘y bersin.
Berilgan ma‘lumotlar bazasidagi ma‘lumotlarning ortiqchaligini kamaytirish jarayoni normallashtirish deb ataladi. Berilgan ma‘lumotlar bazasi nazariyasida murakkab tuzilishga ega bo‘lgan ma‘lumotlarni bir nechta jadvallarga bo‘lishni yetarlicha ra-smiylashgan yondoshishlar ishlab chiqilgan. Bu savollar batafsil maxsus adabiyotlarda yoritilgan.
Biz jadvallarni normallashtirishni, ularni nazariy asoslanishiga qarshi ba’zi bir amaliy tomonlariga to‘xtaymiz.
Normallashtirish nazariyasi jadvallarning 5ta normal shakli bilan ishni tutatadi. Bu shakllar, birinchisidan beshinchi normal shakligacha ichiga olib, ortiqcha ma‘lumotlarni kamaytirish uchun atalgan. Shuning uchun xar qaysi keyingi normal shakl avvalgi shaklning talablarini va ba’zi bir qo‘shimcha shartlarni qoniqtirishi kerak.
Samrali strukturali ko‘p jadvalli bazani loyihalashda nazariya natijalaridan foydalanamiz. Misol sifatida xaridor va qilingan buyurtmalar xaqida quyidagi ma‘lumotni o‘z ichiga olgan jadvalni ko‘rib chiqaylik:
Xaridorlar to‘g‘risida ma‘lumot;
Buyurtma sanasi va buyurtma qilingan tovar miqdori;
Buyurtma bajarilgan sana va sotilgan tovar miqdori;
Sotilgan tovarning sifati (nomi, qiymati).
Bu jadvalni bir jadvalli ma‘lumotlar bazasi sifatida ko‘rish mumkin. Asosiy muammo shundaki, unda ko‘p miqdorda qaytarilayotgan ma‘lumot mavjud. Misol uchun, xar qaysi xaridor to‘g‘risidagi ma‘lumotlar u qilgan xar qaysi buyurtma uchun qaytariladi.
Bunaday tuzilish ma‘lumotlar bazasi bilan ishlaganda hosil bo‘ladigan quyidagi muammolarga sabab bo‘ladi:
Qaytarilayotgan ma‘lumotlarni kiritish uchun ko‘p vaqt sarflashga to‘g‘ri keladi. Misol, xaridorlardan bittasi qilgan barcha buyurtmalar uchun xaridor tug‘risidagi bir xil ma‘lumotlarni xar safar kiritishingizga to‘g‘ri keladi.
Adres yoki telefon o‘zgarganda xaridor to‘grisidagi ma‘lumotlarni o‘z ichiga olgan barcha yozuvlarni to‘g‘rilash kerak.
Qaytarilayotgan ma‘lumotlar bazasining borligi uning o‘lchamlarini asossiz kattalashishiga olib keladi. Natijada so‘rovlarning bajarilish tezligi pasayadi. Bundan tashqari, qaytariladigan ma‘lumotlar kompyuter diski maydonidan noratsional foyda-lanishiga olib keladi.
Xar qanday odatdan tashqari xolat talab qilingan ma‘lumotni olish uchun talay vaqt talab qiladi. Misol, qaytarilayotgan ma‘lumotlarni ko‘p marotaba kiritishda xato extimolligi ortib boradi. Jadvallarni o‘lchamlari katta bo‘lganda xatolarni izlash ko‘p vaqtni oladi.
Normallashtirish nazariyasining amaliy maslaxatlaridan qilingan buyurtmalar xaqidagi jadval asosida camarali tuzilishga ega bo‘lgan ko‘p jadvalli ma‘lumotlar bazasini ishlab chiqish uchun foydalanamiz.
Qilingan buyurtmalarni o‘z ichiga olgan jadval normalashmagan bo‘ladi. Ma‘lumotlar bazasining jadvali birinchi normal shaklda, misol uchun, quyidagi talablarga javob berishi kerak:
Jadvaldavalda qaytarilgan maydonlar guruxi bo‘lmasligi lozim;
Satrlar tartibga solinmagan bulishi kerak;
Ustunlar tartibga solinmagan bo‘lishi kerak.
Birinchi shart bajarilishi uchun xar bir jadval indeksga ega, noyob ma’nolarni o‘z ichiga olgan maydon qo‘shish kerak. Misol, xaridorlar to‘g‘risidagi ma‘lumotni o‘z ichiga oluvchi jadvalga xaridor kodi tushirilgan maydon qushish kerak.
Ikkinchi talab qaytariladigan guruxlarni yo‘q qilishni asoslaydi. Xar qaysi xaridor bir nechta telefon nomeriga ega bo‘lishi va xar qaysisida o‘z navbatida bir nechta tovarlar buyurilgani bir nechta buyurtma qilishi mumkin bo‘lganligi uchun bizga to‘rtta jadval zarur. Bu jadvallarning xar bir yozuvi quyidagi ma‘lumotlarni o‘z ichiga oladi.


Bog‘lanilayotgan jadvallar orasidagi munosabat birga-ko‘p ekanligini takidlaymiz.
Endi birinchi va ikkinchi jadval normallashgan. Uchinchi jadvalda buyurtmani rasmiylashtirgan menedjer to‘g‘risida qaytarilayotgan ma‘lumot joylashgan. Demak, bu jadvalni ikkiga ajratishimiz mumkin. Ularning biriga firma menedjerlari to‘g‘risidagi ma‘lumotni, ikkinchisiga esa xaridor buyurtmasining nomeri va sanasini, hamda buyurtmani rasmiylashtirgan menedjer kodini kiritamiz. Buyurtma qilingan va sotilgan mahsulot kodini, nomlanishini, miqdorini o‘z ichiga olgan to‘rtinchi jadvalni ko‘rib chiqamiz. U yana sotilgan tovar to‘g‘risidagi qaytarilayotgan ma‘lumotni o‘z ichiga oladi. Ma‘lumotlar bazasining bu ma‘lumotini firma sotayotgan tovarlar ro‘yhatining alohida jadvalida joylashtirish mumkin. O‘tkazilgan normallashtirish natijasida bitta boshlang‘ich jadval o‘rniga biz qaytarilmayotgan ma‘lumotni o‘z ichiga olgan oltita oddiy jadval hosil qildik.
Birlamchi va tashqi kalitlar haqida tushuncha

Kalit -bu talab etilayotgan mohiyat nusxasini topishda yordam beradigan atributlarning minimal to‘plami. Minimal deyilishining sababi shundaki, agar to‘plamdagi istalgan biror-bir atribut yo‘qotilsa, qolgan atributlar yordamida mohiyatni identifikatsiyalash mumkin emas. o‘ar mohiyat hech bo‘lmaganda bitta kalitnini tasvirlaydi. Ulardan biri birinchi kalitni qabul qiladi. Birinchi kalitni tanlash faqat minimal conli atributlardan tashkil topgan maydon nazarda tutuladi. Bundan tashqari kalitni ishlatishda uzun matnli va qiymatli maydonni olish tavsiya etilmaydi (butun sonli atributlarni ishlatish foydaliroqdir). Talabalar identifikatsiyasi uchun unikal (qaytarilmaydigan yagona ma’nosida) nomer bo‘lgan imtihon daftarchasi nomerini ishlatish mumkin, yoki familiyasini, guruh nomerini va boshqa qo‘shimcha atributlarni. Lekin bunday hollarda ikkita bitta familiyali talaba chiqib qolishi ham mumkin.
Birinchi kalit sterjnli mohiyat bolishligi ruxsat etilmaydi (birinchi kalitda qatnashuvchi har qanday atribut). Aks holda qarama-qarshi holat yuz beradi. Su sabab unikal birinchi kalitni tashkil qilish va ta’minlash kerak.
Agar C mohiyati ikkita A va B mohiyatni bog‘lasa, u holda A va B mohiyatlar birinchi kalitga mos tashqi kalitni tashkil etish kerak.
Agar B mohiyati ikkinchi A mohiyatni belgilasa, u holda A mohiyat birinchi kalitga mos tashqi kalitni tashkil etish kerak.
har qanday o‘zaro bog‘lanishlarda bo‘lgan mohiyatlarni belgilash uchun (sterjnli, xarakteristik, belgilash assotsiatsiya kabi) yangi birlashtirilgan termin «Maqsad» yoki «Maqsadli mohiyat» ishlatiladi.
Assotsiyalarni ko‘rsatish usulini tanlash muammosini qarashda va ma‘lumotlar bazasida "qaysi kalit tashqi kalit?" degan savolga javob olish kerak bo‘ladi. Keyinchalik, har bir tashqi kalit uchun uchta savolni echish kerak bo‘ladi :
Ishlatilayotgan tashqi kalit aniqlanmagan qiymat qabul qilishi mumkinmi (NULL-qiymat)?
Tashqi kalitga murojaat qilayotgan maqsadli mohiyatni o‘chirishga harakat bo‘lganda nima yuz berishi mumkin?
Tashqi kalitga murojaat qilayotgan maqsadli mohiyat birinchi kalitni yangilashga harakat qilinganda nima yuz berishi mumkin?
Shunday qilib, har bir tashqi kalit uchun ma‘lumotlar bazasini loyihalovchi loyihada tashqi kalitni tashkil qiluvchi maydon yoki maydonlar kombinatsiyasini tashkil etish kerak.

3-mavzuga doir savollar:

  1. Relyatsion model tarixi. Relyatsion modelning asosiy moxiyati.
  2. Relyatsion modelning asosiy moxiyati. Relyatsion model terminologiyasi.
  3. Relyatsion model kalitlari. Oddiy va tarkibiy kalitlar
  4. Ma‘lumotlarning qanday modeli relyatsion deb ataladi.
  5. Relyatsion jadvalning asosiy elementlarini misol bilan tushuntiring.
  6. Relyatsion ma‘lumotlar modelida jadvallar o‘rtasidagi bog‘lanish qanday o‘rnatiladi? Misol keltiring.
  7. Relyatsion modelning kortej, domen, atribut atamaliriga ta’rif bering.
  8. Birlamchi va tashqi kalit nima?
  9. Relyatsion algebraning asosiy operatorlari?
  10. Ma‘lumotlarni normallashtirish deganda nimani tushunasiz ?
  11. MB ni mantiqiy loyixalashning maqsadi.
  12. MB ni normallashtirish nima?
  13. MB normalashtirishdan asosiy maqsad nima?
  14. Qanday jadval normallashtirilgan jadval deyiladi?
  15. Relyatsion jadvalning maydonlari o‘rtasidagi bog‘lanishlarning asosiy turlari.