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.

relációs algebra

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.

unió

Metszet (Intersection)

Két kompatibilis tábla halmazelméleti metszete:

metszet

metszet

Különbség (Difference)

Két kompatibilis tábla halmazelméleti különbsége:

T = T1 – T2 .

különbség

Redukciós műveletek

Olyan műveletek, amelyek az adathalmaz csökkenését eredményezik.

redukciós műveletek

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: szigma

A szelekció kommutatív művelet: szigma

Jelenítsük meg azt a sort , amelyben Karinthy a szerző!

szelekció

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: projekció

projekció

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

relációs algebra

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:

projekció

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 join)

Legyen R n-ed fokú, S pedig m-ed fokú reláció. Ezek összekapcsolásán egy olyan (n + m)-ed fokú R join 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ó (<, >,<=, >=, <>, =).

Irodalomjegyzék: