5.3. Relyatsion algebra va relyatsion hisoblash elementlari.
Relyatsion MB da har bir jadval munosabat hisoblanadi va ular ustida operatsiyalar esa relyatsion algebraga asoslanadi. Faqatgina jadvallarni yaratish, unga qiymat kiritish, atributlarni tavsiflash va ularni qayta nomlash operatsiyalari relyatsion algebraga tegishli emas.
Relyatsion algebra nazariyasida munosabat to`plam, jadval qatorlari kortej, ustunlari esa atribut sifatida qaraladi. Relyatsion algebra Kodd tomonidan aniqlangan ikkita guruhga bo`lingan 8 ta operatordan iborat.
Birinchi guruhga to`plamlar 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 guruh maxsus relyatsion amallarni tashkil etadi: tanlash, proektsiya, birlashtirish va bo`lish.
Ushbu amallarning munosabatlarda qo`llash natijalarini batafsil ko`rib chiqamiz.
Birlashtirish (U). Berilgan ikkita munosabatdan biriga va ikkalasiga ham tegishli bo`lgan kortejlardan iborat yangi munosabatni qaytaradi. (6.3.1-rasm, a).
Kesishma (∩). Bir vaqtning o`zida ikkala munosabatga ham tegishli bo`lgan barcha kortejlardan iborat yangi munosabatni qaytaradi. (6.3.1-rasm, b).
Ayirish (–). Berilgan ikkala munosabatdan faqat birinchisiga tegishli bo`lgan kortejlardan iborat yangi munosabatni qaytaradi. (6.3.1-rasm, v).
Dekart ko`paytirish (*)- berilgan ikkala jadvaldagi kortejlarning kombinatsiyalaridan iborat yangi jadval hosil qiladi (6.3.1-rasm, g).
6.3.1-rasm. To`plamlar ustida amallar.
a-birlashtirish, b – kesishma, v- ayirish, g – dekart ko`paytirish
6.3.2-rasm. Maxsus relyatsion bog`lanish.
a-tanlash, b – proektsiya, v- ulash, g – bo`lish
Tanlash– berilgan jadvaldagi ma`lum shartni qanoatlantiruvchi barcha kortejlardan iborat yangi jadval hosil qiladi. Bu algebraik cheklanish hisoblanadi. (6.3.2- rasm, a).
Proektsiya – berilgan jadvaldagi ba`zi kortejlarni istisno (chiqarib tashlash) qilib qolgan kortejlardan (podkortej) yangi munosabat hosil qiladi (6.3.2- rasm, b).
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 (6.3.2- rasm, v).
Bo`lish – berilgan binar va unar ikkita jadval uchun unar jadvalning barcha qiymatlari bilan moslashgan binar jadvaldagi bitta atributning qiymatlaridan iborat jadval (6.3.2- rasm, g).
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. Masalan, birlashtirish proektsiyasini olish, yoki ikkita tanlanma ulanmasini olish mumkin. Bunday ifodalar murakkab hisoblanadi.
Har bir munosabat sarlavhaga, tanaga, kalitlar zahirasiga ega bo`ladi. Relyatsion amallarni bajarishda atribut nomlarini yaratilishi va potentsial kalitlar o`zgarishiga e`tibor qilish kerak.
Munosabatlar ustidagi to`plamlar nazariyasining an`anaviy operatsiyalarini qo`shimcha ravishda jadval nuqtai nazaridan boshqacha tavsiflab o`tamiz:
Munosabat cheklovi (Tanlash) - tanlangan qator munosabatlari cheklov shartlarini qanoatlantiradigan – operandli (boshlang`ich munosabatli) yangi munosabat yaratishdir.
Munosabat tasviri (Proektsiya) - aniq ustun munosabatlari tanlangan – operandli yangi munosabat yaratishdir.
Munosabatlarni birlashtirish – barcha kortejlari munosabatlari saqlangan – operandli yangi munosabat yaratishdir. Bu holatda operandlar bir xil atributlarga ega bo`lishi lozim.
6.3.1-misol. Tsexlardan avvalgi oylarda olingan yangi mahsulotlar haqida kelgan hisobotlarni birlashtirish lozim. U ‘Mahsulot chiqarish’ umumiy jadvaliga o`xshash quyidagi ma`lumotlardan tashkil topgan: ‘Tsex nomeri’, ‘Mahsulot kodi’, ‘Chiqarilgan sana’, ‘Soni’. Hisobotlarni birlashtirish uchun:
Do'stlaringiz bilan baham: |