Proyeksiya – berilgan jadvaldagi ba’zi kortejlarni istisno (chiqarib tashlash) qilib qolgan kortejlardan (podkortej) yangi munosabat hosil qiladi.
Shunday qilib, proyeksiya natijasida dastlabki munosabatlarning ba'zi bir atributlari chiqarib tashlanadi, shundan so'ng takroriy kortejlarni olib tashlash kerak bo'lishi mumkin.
A munosabatining proyeksiyasi V, W, Z atributlari bilan A[V, W, Z] bilan belgilanadi.
Masalan, yuqoridagi TALABA munosabatini biroz o'zgartiramiz va "F.I.SH" atributi bo'yicha proyeksiyani amalga oshiramiz.
TALABA munosabati
StudID
|
FISH
|
Guruh
|
123
|
Axrorov S. I.
|
303
|
124
|
Jonibekov A. B.
|
302
|
122
|
Salimov J. I.
|
302
|
125
|
Axrorov S. I.
|
301
|
Talaba munosabatiga Proyeksiya amalini qo’llash
TALABA [FISH]
FISH
|
Axrorov S. I.
|
Jonibekov A. B.
|
Salimov J. I.
|
Ko'rib turganingizdek, StudID va "Guruh" atributlarini olib tashlaganingizdan so'ng, nusxa ko'chirilgan <" Axrorov S. I."> kortejida bitta nusxada qoldirildi.
Ulash. Berilgan ikkala jadvalda umumiy qiymatga ega bo’lgan kortejlarning ulanishidan iborat yangi jadval hosil qiladi. Natijaviy jadvalda umumiy qiymat faqat bir marta qatnashadi. Bunday ulash tabiiy ulash deb ataladi (v).
Quyidagi ikki munosabatni qarab chiqamiz.
TALABA munosabati
StudID
|
FISH
|
Guruh
|
123
|
Axrorov S. I.
|
303
|
124
|
Jonibekov A. B.
|
302
|
127
|
Salimov J. I.
|
302
|
GURUH munosabati
GuruhSardor
|
Guruh
|
Jonibekov A. B.
|
302
|
Akramov B. I.
|
304
|
TALABA va GURUH munosabatlari orasida ulash amalini qo’llash
TALABA JOIN GURUH
StudID
|
FISH
|
Guruh
|
GuruhSardor
|
124
|
Jonibekov A. B.
|
302
|
Jonibekov A. B.
|
127
|
Salimov J. I.
|
302
|
Jonibekov A. B.
|
TALABA munosabatida "Guruh" atributining qiymati "344" ga teng kortejlar mavjud emasligi sababli, GURUH munosabatida qiymati "302" guruhi talabalari to'g'risidagi ma'lumotlarni o'z ichiga olgan kortejlar munosabatda qoldi.
Birlamchi kalitning o'ziga xosligi va ortiqcha emasligi talablaridan kelib chiqadigan munosabatlarda asosiy kalit {StudID} ekanligi kelib chiqadi.
A va B munosabatlarning umumiy atributlari bo'lmasin va u holda θ operatori tanlash kabi aniqlanadi.
Join-qo'shilish ikki munosabatning dekart ko’paytmasini topishga va natijada θ-tanlashga tengdir.
Ushbu amalni yozishni ikkita usuli mavjud:
A [X θ Y] B
(A TIMES B) WHERE X θ Y
Quyidagi misolni ko’rib chiqaylik:
A munosabati qurilmalar narxi to'g'risida ma'lumotni o'z ichiga olsin, B munosabati esa jihozlar narxi to'g'risida ma’lumotlarni saqlaydi. Qurilmalarning narxlari ichida jihozlarning narxlaridan qimmatroq bo’lgan qurilmalar ro’yxatini aniqlash lozim. Buning uchun “QurilmaNarxi” > “JihozNarxi” sharti asosida ulash amalini bajaramiz.
A munosabat
Qurilma
|
QurilmaNarxi
|
Qurilma1
|
100
|
Qurilma2
|
200
|
B munosabat
Jihoz
|
JihozNarxi
|
Qurilma1
|
50
|
Qurilma2
|
150
|
A [QurilmaNarxi JihozNarxi] B
Qurilma
|
QurilmaNarxi
|
Jihoz
|
JihozNarxi
|
Qurilma1
|
100
|
Qurilma1
|
50
|
Qurilma2
|
200
|
Qurilma1
|
50
|
Qurilma2
|
200
|
Qurilma2
|
150
|
Bo’lish. A va B munosabatlari mos ravishda {X, Y} va {Y} atributlariga ega bo'lsin. Ikki munosabatlarning bir xil nomlangan atributlari bir xil domenlarda aniqlanadi.
Bo’lish – berilgan binar va unar ikkita jadval uchun unar jadvalning barcha qiymatlari bilan moslashgan binar jadvaldagi bitta atributning qiymatlaridan iborat jadval.
Ushbu amal quyidagicha yoziladi:
A / B
A DIVIDED B
Quyida keltirilgan A munosabatida qaysi talaba qaysi fanni topshirganligi to'g'risida ma'lumotlar mavjud. B munosabati fanlarning ro'yxatini o'z ichiga oladi. B jadvalida keltirilgan barcha fanlardan o'tgan talabalarning ID raqamlarini olishingiz kerak.
Muammo A ni B ga bo'lish yo'li bilan hal qilinadi.
A munosabat
StudID
|
Fan
|
123
|
Fizika
|
123
|
Matematika
|
124
|
Matematika
|
127
|
Fizika
|
B munosabat
Bo’lish amalini qo’llash natijasida hosil bo’lgan munosabat
A/B
8-ma’ruza. Ma’lumotlar bazasini normallashtirish. Normal formalar 1NF, 2NF, 3NF va Kodd.
Relatsion ma'lumotlar bazalarini yaratish nazariyasi va amaliyoti o'ttiz yildan ortiq tarixga ega. Shu vaqt ichida ma'lumotlar bazasini ishlab chiqaruvchilarning ishlarida yetarlicha tajriba to'plangan.
Relyatsion model ikki sababga ko'ra muhimdir. Birinchidan, relatsion model konstruksiyalari keng va umumiy bo'lganligi sababli, ma'lumotlar bazasi tuzilmalarini ma'lumotlar bazasini mustaqil ravishda tavsiflashga imkon beradi. Ikkinchidan, relatsion model deyarli barcha MBBT asosini tashkil etadi. Shunday qilib, ushbu model prinsiplarini tushunish juda muhimdir.
Ushbu ma'ruzada biz normallashtirishning asosiy prinsiplarini muhokama qilamiz va ko'rib chiqamiz. Umuman olganda normalizatsiya - bu ba'zi bir kamchiliklari bo'lgan munosabatlarni ushbu kamchiliklarga ega bo'lmagan munosabatlarga aylantirish jarayoni. Tuzilgan munosabatlar yaxshi yoki yo'qmi degan savol ko'p nazariy tadqiqotlar mavzusi bo'ldi.
Do'stlaringiz bilan baham: |