Relyatsion algebra amallar

|
Relyatsion algebra amallar
|
bet | 3/5 | Sana | 20.05.2024 | Hajmi | 73,79 Kb. | | #246445 |
Bog'liq MBRelyatsion algebra amallar
"Relational algebra" ma'lum bir matematik modelni ifodalovchi ifoda. Bu model, ma'lumotlar bazasi so'rovlarini tavsif qilish uchun ishlatiladi. Relational algebra, ma'lumotlarni o'rganish, tahlil qilish, va ma'lumotlar bazasidagi ma'lumotlarni izlash uchun boshqa so'rov tuzish uchun yordamchi bo'ladi.
Quyidagi bir necha amallar, relational algebra qo'llanmasida keng o'rnatilgan:
Select (sigma): Ma'lum bir shartga mos keladigan qatorlarni tanlash uchun ishlatiladi. Masalan, SELECT * FROM table WHERE condition;
Project (pi): Ma'lum bir ustunlarni (qatori) tanlash uchun ishlatiladi. SELECT column1, column2 FROM table;
Union (∪): Ikki ma'lumotlar to'plamining birlashmasini olish uchun ishlatiladi. Masalan, SELECT * FROM table1 UNION SELECT * FROM table2;
Intersection (∩): Ikki ma'lumotlar to'plamining kesishmasini olish uchun ishlatiladi.
Difference (-): Ikki ma'lumotlar to'plami orasidagi farqni olish uchun ishlatiladi.
Cartesian Product (×): Ikki ma'lumotlar to'plamining kartaiz ko'paytmasini olish uchun ishlatiladi.
Join (⨝): Uchun ma'lumotlar to'plamlarining birlashmasini olish uchun ishlatiladi.
Relational algebra asosan ma'lumotlar bazasi so'rovlari yaratish va tahlil qilish uchun ishlatiladi. Ushbu amallar tushunchalari, ma'lumotlar bazasi tizimlarini tuzish, tahlil qilish, va so'rov tuzish jarayonida juda foydali bo'ladi.
Relational algebra misollarini quyidagi shaklda ko'rsatish mumkin:
Select (sigma): Agar "Employees" jadvalida ishlaydiganlar orasidan faqat "Department" 2 bo'limidagi ishchiqlarni tanlash:
�����������=2(���������)σDepartment=2(Employees)
Project (pi): Agar "Customers" jadvalidan faqat "CustomerName" va "City" ustunlarini olish uchun:
�������������,����(���������)πCustomerName,City(Customers)
Union (∪): Agar "Students" va "Teachers" jadvalidan barcha ishchiqlarni olish uchun:
��������∪����ℎ���Students∪Teachers
Intersection (∩): Agar "Products" va "Orders" jadvalidan bir xil maxsulotlarni buyurtma qilinganlarni olish uchun:
��������∩������Products∩Orders
Difference (-): Agar "Suppliers" jadvasidan "Customers" jadvasini ajratib olish uchun:
���������−���������Suppliers−Customers
Cartesian Product (×): Agar "Employees" va "Departments" jadvalidan bir xil ishchiqlarni va bo'limlarni bir-biriga bog'lash uchun:
���������×�����������Employees×Departments
Join (⨝): Agar "Orders" va "Customers" jadvalidan bir-biriga mos keladigan buyurtmalarni va mijozlarni bog'lash uchun:
������⋈������.����������=���������.�������������������Orders⋈Orders.CustomerID=Customers.CustomerIDCustomers
Bu misollar relational algebra amallarining qanday ishlaydiganini ko'rsatish uchun mahsulot jadvali (masalan, "Employees", "Customers", "Orders", kabi) ishlatish orqali tushuntirilgan. Har bir misol ma'lum bir vazifani bajarish uchun mo'ljallangan.
Relyatsion algebra amallarini opperandlari sifatida doimiy yoki o’zgarmas va o’zgaruvchan munosabatlar ishlatiladi. Relyatsion algebrada 5ta amal ishlatiladi:
1) Birlashtirish (U). Berilgan ikkita munosabatdan biriga va ikkalasiga ham tegishli bo‘lgan kortejlardan iborat yangi munosabatni qaytaradi R va S munosabatlarni birlashtirish RUS ko‘rinishida berilib, bu amalni natijasi R munosabatga tegishli bo‘lgan yoki S 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 (2.1, a).
2) Kesishma (∩). Bir vaqtning o‘zida ikkala munosabatga ham tegishli bo‘lgan barcha kortejlardan iborat yangi munosabatni qaytaradi. (2.1, b).
3) Ayirish (–). Berilgan ikkala munosabatdan faqat birinchisiga tegishli bo‘lgan kortejlardan iborat yangi munosabatni qaytaradi. Ayirma R va S munosabatlarni ayirmasi R-S ko‘rinishida yoziladi va undagi kortejlar to‘plami R munosabatga tegishli, lekin S munosabatga tegishli bo‘lmagan kortejlardir. Bu amalni bajarganda ham operandlarni tartibi bir xil bo’lishi kerak (2.1, v).
4) Dekart ko‘paytma (*). Berilgan ikkala jadvaldagi kortejlarning kombinatsiyalaridan iborat yangi jadval xosil qiladi. Bizda R va S munosabat berilgan bo‘lsin. R munosabatni tartibi R-R va S munosabatniki S-q ga teng bo‘lsin. Unda dekart ko‘paytma R*S ko‘rinishida yozilib, uning natijasi uzunligi R+q ga teng bo‘lgan kortejlar to‘plamidan iborat bo‘lib, bu kortejlarni birinchi R komponentasi R kortejga teng bo‘ladi, qolgan q komponentasi S kortejga teng.
5) Seleksiya 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.
Proyeksiya – berilgan jadvaldagi ba’zi kortejlarni istisno (chiqarib tashlash) qilib qolgan kortejlardan (podkortej) yangi munosabat xosil qiladi. Proyeksiya, R munosabatga bu amal tadbiq etilganda, R munosabatdan ba’zi bir komponentalar olib tashlanadi. Qolganlari esa qaytadan tartiblanadi.
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.
Bo‘lish – berilgan binar va unar ikkita jadval uchun unar jadvalning barcha qiymatlari bilan moslashgan binar jadvaldagi bitta atributning qiymatlaridan iborat jadval.
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 proyeksiyasini olish, yoki ikkita tanlanma ulnmasini olish mumkin.
Bunday ifodalar murakkab hisoblanadi. 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. 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.
Relyatsion MBBT da ma’lumotlar bilan ishlashda ishlatiladigan 2ta katta gurux tillari relyatsion hisoblash deyiladi. Relyatsion hisoblash predikatlarni hisoblashga asoslangan bo‘lib ifodalarni yozishga mo‘ljallangan qiodalar 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. 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. Ma’lumot modelini rivojlanish konsepsiyasi 5 ta bosqichni ko‘rsatishi mumkin:
1. 60- yillarning 2 – yarmida, bunda asosan iyerarxik modellarga e’tibor berilgan;
2. 70- yillarning 1 – yarmi, tarmoqli modellar;
3. 70- yillarning 2 – yarmi, relyatsion modellar;
4. 80- yillarning 1 – yarmi, semantik modellar;
5. 80- yillarning 2 – yarmi, obyektga mo‘ljallangan tizim.
|
| |