Relyatsion algebra qo`shish, ayirish yoki ko`paytirish kabi odatiy algebraik operatsiyalarni to`plamlar ustida amalga oshirish imkonini beradi. Sonlar ustida algebraik operatsiyalar bir va undan ortiq sonlarni qabul qilib son qiymatini qaytaradi, relyatsion algebra bir yoki undan ortiq to`plamlarni qabul qilib yagona to`plamni qaytaradi. Relyatsion MBBTda ma`lumotlar bilan ishlash uchun bir qancha tillar yaratilgan. Ba`zi hollarda bu tillarni ma`lumotlarni qism tillari deb ataladi. MB bilan ishlovchilar bu tillarda avtomatlashtirishni 3 bosqichga bo`lishadi:
Eng pastki bosqich – kortej deb ataladi. Bunda dasturchi yozuvlar yoki kartijlar bilan ishlaydi.
Relyatsion algebra deyiladi. Bunda foydalanuvchi munosabatlar ustida yuqori bosqichli amallar to`plamini kiritadi.
Eng yuqori bosqich – hisoblash bosqichi. Bunda foydalanuvchi bevosita kompyuterga maxsus tillarda murojaat qiladi va mashina bu murojaatni qabul qiladi.
Relyatsion MBBT da ma`lumotlar bilan ishlashda ishlatiladigan 2ta katta guruh tillari relyatsion hisoblash deyiladi. Relyatsion hisoblash predikatlarni hisoblashga asoslangan bo`lib ifodalarni yozishga mo`ljallangan qoidalar to`plamidan iboratdir. Ular yordamida biz mavjud munosabatlardan yangi munosabatlar yaratishni ta`minlaymiz. Bunday ifodaalrni yozishda solishtirish amallari, mantiqiy amallar va mavjudlik kvanteri va umumiylik kvanteri ishlatiladi.
Relyatsion algebra Kodd tomonidan aniqlangan ikkita guruh amallari 8 ta operatordan iborat.
Relyatsion algebra amallarini operandlari sifatida doimiy yoki o`zgarmas va o`zgaruvchan munosabatlar ishlatiladi.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 va munosabatlarni birlashtirish ko`rinishida berilib, bu amalni natijasi munosabatga tegishli bo`lgan yoki munosabatga tegishli bo`lgan yoki ikkalasiga ham tegishli bo`lgan kartejlar to`plamidir. Bu amallarni bajarayotganda bir xil tartibda bo`lishi kerak. Natijani tartibi ham operandlar tartibiga teng bo`ladi(7.3, a).
Kesishma (∩). Bir vaqtning o`zida ikkala munosabatga ham tegishli bo`lgan barcha kortejlardan iborat yangi munosabatni qaytaradi. (7.3, b).
Ayirish (–). Berilgan ikkala munosabatdan faqat birinchisiga tegishli bo`lgan kortejlardan iborat yangi munosabatni qaytaradi. Ayirma va munosabatlarni ayirmasi ko`rinishida yoziladi va undagi kortejlar to`plami munosabatga tegishli, lekin munosabatga tegishli bo`lmagan kortejlardir. Bu amalni bajarganda ham operandlarni tartibi bir xil bulishi kerak (7.3, v).
Dekart ko`paytma (*). Berilgan ikkala jadvaldagi kortejlarning kombinatsiyalaridan iborat yangi jadval xosil qiladi. Bizda va munosabat berilgan bo`lsin. munosabatni tartibi va munosabatniki ga teng bo`lsin. Unda dekart ko`paytma ko`rinishida yozilib, uning natijasi uzunligi ga teng bo`lgan kortejlar to`plamidan iborat bo`lib, bu kortejlarni birinchi komponentasi kortejga teng bo`ladi, qolgan komponentasi kortejga teng (7.3,g).
7.3-rasm. To`plamlar ustida amallar. a-birlashtirish, b – kesishma, v- ayirish, g – dekart ko`paytirish Selektsiya tanlash () – berilgan jadvaldagi ma`lum shartni qanoatlantiruvchi barcha kortejlardan iborat yangi jadval xosil qiladi. Bu algebraik cheklanish hisoblanadi. Bu amal bajarilganda operandlar sifatida munosabat atributlari ishtirok etadi va solishtirish arifmetik amallari: =, ≠, ≤, ≥, <, > va mantiqiy amallar: va (U), yoki (V), not amallari ishlatiladi (7.4, a).
Rasm 7.4. Maxsus relyatsion munosabatlar. a-tanlash, b – proeksiya, v- ulash, g – bulish Proeksiya () – berilgan jadvaldagi ba`zi kortejlarni istisno (chiqarib tashlash) qilib qolgan kortejlardan (podkortej) yangi munosabat xosil qiladi. Proeksiya, R munosabatga bu amal tadbiq etilganda, R munosabatdan ba`zi bir komponentalar olib tashlanadi. Qolganlari esa qaytadan tartiblanadi (7.4, b).
Ulash () – berilgan ikkala 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 (7.4, v).
Bo`lish – berilgan binar va unar ikkita jadval uchun unar jadvalning barcha qiymatlari bilan moslashgan binar jadvaldagi bitta atributning qiymatlaridan iborat jadval (7.4, 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. Shuning uchun, masalan, birlashtirish proeksiyasini olish yoki ikkita tanlanma ulanmasini olish mumkin. Bunday ifodalar murakkab hisoblanadi.
Har bir munosabat sarlavxaga, tanasiga, kalitlar potentsialiga (zaxirasiga) ega bo`ladi. Relyatsion amallarni bajarishda atribut nomlarini yaratilishi va potentsial kalitlar o`zgarishiga e`tibor qilish kerak.
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.
Hozirgi paytda relyatsion MBBT ni taraqqiyotida yangi til QBE tili ishlamoqda. Bu tilda relyatsion algebra va relyatsion hisoblashlarda ko`zda tutilmagan bir qancha imkoniyatlar kirgan. Bu tilni hususiyati shundan iboratki, u terminallarda ishlashga muljallangan. So`rovlarni yaratish uchun maxsus ekran redaktoridan, munosabat va redaktorlaridan foydalanamiz. QBE tilida foydalanuvchi o`zi olishini mo`ljallagan natijani so`rov ko`rinishida tasvirlaydi va MBBT uni kerakli amallar ketma – ketligiga aylantirib beradi.
Munosabatlar ustida amallarga misollar
Birlashtirish
Ayirish
Kesishma
Dekart ko`paytma
Selektsiya tanlash
Proeksiya
Ulash
Bo`lish
Nazorat savollari Munosabat va mohiyat-aloqa tushunchalari va ularning farqi nimadi?
Relyatsion model qismlari va ularning vazifalari qanday?
Kalit turlari va ularga amaliy misollar keltiring.
Relyatsion algebra nima va qaeda qo`llaniladi?
Maxsus relyatsion amallar bilan ananaviy amallarning farqi nimadi?
Kombinatsiyalangan relyatsion amallar bajarish mumkinmi?