Most a következő helyen jársz: Adatbázis >> Elmélet >> Relációs algebra
Hetedik lecke
Relációs algebra
Relációk absztrakt lekérdező nyelve. Halmazorientált, és algebrai eszközökkel dolgozik. Az adatbázis lekérdezések matematikai alapját képezi.
Műveletei:
Halmazműveletek: unió, metszet, különbség,
Redukciós műveletek: kiválasztás, vetítés,
Kombinációs műveletek: Descartes-szorzat, természetes-összekapcsolás, külső-összekapcsolás, théta-összekapcsolás
Halmazműveletek:
Itt az adattáblát (relációt) sorok halmazaként kezeljük.
Definíció: Az R1(A1,...,An) és R2(B1,...,Bm) relációsémák kompatibilisek, ha n = m és dom(Ai) = dom(Bi) minden i-re. Két táblát kompatibilisnek nevezünk, ha sémáik kompatibilisek.
Unió (Egyesítés)
Unió: legyenek a T1 és T2 kompatibilis táblák. Ezek halmazelméleti egyesítése a T = T1 U T2 tábla lesz, amelynek sémája szintén kompatibilis T1 ill. T2 sémájával.
A művelet végrehajtása:
A két tábla egymás után írása, ismétlődő sorok kiszűrése.
Ha benne hagynánk az ismétlődő soroka, ún. multihalmazt kapnánk. A relációs adatbáziskezelő-rendszerek tudják kezelni a multihalmaz alapú táblákat.
Metszet (Intersection)
Két kompatibilis tábla halmazelméleti metszete:
![]()
Különbség (Difference)
Két kompatibilis tábla halmazelméleti különbsége:
T = T1 – T2 .
Redukciós műveletek
Olyan műveletek, amelyek az adathalmaz csökkenését eredményezik.
Szelekció (Kiválasztás)
Adott feltételnek eleget tevő sorok kiválasztása a táblából. A feltétel általában attribútumokból és konstansokból felépülő logikai kifejezés. Az eredménytábla sémája megegyezik (vagy kompatibilis) az eredetivel.
Jelölés:
A szelekció kommutatív művelet:
![]()
Jelenítsük meg azt a sort , amelyben Karinthy a szerző!
Projekció (Vetítés)
Adott oszlopok kiválasztása a táblából. Az új tábla sémája a megfelelő attribútumok kiválasztásával adódik.
Jelölése:
Kombinációs műveletek
Több táblára vonatkoztatott műveletek.
Descartes-szorzat:
Legyen R1(A1,...,An), R2(B1,...,Bm) két tetszőleges relációséma, és T1 részhalmaza dom(A1) x...x dom(An) halmaznak, T2 részhalmaza dom(B1) x...x dom(Bm) halmaznak táblák R1, R2 felett.
Descartes-szorzat: az R(A1,...,An,B1,...,Bm) séma feletti T részhalmaza dom(A1) x...x dom(An) x dom(B1) x...x dom(Bm) tábla, amelyet úgy kapunk, hogy T1 minden sorát párosítjuk T2 minden sorával.
Jele: T = T1 x T2
Példa
Descartes-szorzat tulajdonságai
Ha R1 és R2 attribútumai között azonos nevűek vannak, akkor R-ben az eredeti séma nevével különböztetjük meg őket (például R1.Ai, R2.Ai).
Ha T1 és T2 sorainak száma r1 ill. r2, oszlopainak száma c1 és c2, akkor a T táblában r1*r2 sor és c1+c2 oszlop van.
Ha két tábla Descartes-szorzatát képezzük, akkor projekcióval visszakaphatók az eredeti táblák:
A Descartes-szorzat műveletet általában nem alkalmazzák a gyakorlatban, hiszen az adathalmaz redundanciáját növeli, az összekapcsolási műveletek definiálásánál azonban szükségünk lesz rá.
Összekapcsolás művelete (jele
)
Legyen R n-ed fokú, S pedig m-ed fokú reláció. Ezek összekapcsolásán egy olyan (n + m)-ed fokú R
S-el jelölt relációt értünk, amelynek elemei az R × S elemei közül azok, amelyekre az R reláció i és az S reláció j attribútuma között teljesül a Q-val jelölt aritmetikai reláció (<, >,<=, >=, <>, =).








