Relációs algebra

A relációs algebra egy speciális algebra, egy halmazorientált nyelv, amely algebrai eszközökkel dolgozik, és ezek segítségével új relációk hozhatók létre a régi relációkból. A relációs algebrai kifejezések alapjait tehát a relációk képezik. Ha a továbbiakban bemutatásra kerülő operátorokat alkalmazzuk a relációkra, vagy egyszerűbb algebrai kifejezésekre, akkor fokozatosan egyre bonyolultabb kifejezéseket tudunk felépíteni. Egy relációs algebrai kifejezést nevezhetünk lekérdezésnek is, mivel egy ilyen kifejezés megadja egy bizonyos kérdésünkre a választ egy adott adatbázisra nézve. Azaz a relációs algebra egy konkrét példa lekérdező nyelvre, amely lehetővé teszi az adatmanipulációt és az adatok elérését az adatbázisból.


Alapfogalmak

Mielőtt rátérnénk a relációs algebra tárgyalására, szükség van néhány, a relációs adatmodellben használt alapfogalomra:

A „relációk”:

Definíció: Relációnak nevezzük a D1 × D2 × … × Dn direkt szorzat bármely részhalmazát: R ⊆ D1 × D2 × … × Dn

A D1, D2, …, Dn adott halmazok a reláció ún.(érték)tartományai (=angolul Domain).
A gyakorlatban olyan kétdimenziós táblákkal jelöljük a relációkat, melyek reprezentálják az adatokat a relációs modellben. Egy konkrét táblázatot a reláció egy előfordulásának, vagy példányának nevezünk.

Az 1.ábra egy példát mutat erre. E reláció előfordulásnak a neve legyen „Dolgozók”.
Dolgozók reláció
név adószám születési év beosztás fizetés
Kerekes Ádám 3869828 1970 igazgató 200000
Szirmai Katalin 5745325 1970 titkárnő 90000
Binte Tamás 5326223 1964 könyvelő 150000
Pavlovics Zoltán 4327698 1963 üzletkötő 100000
Nagy László 8652833 1965 eladó 80000
Teleki Miklós 3468225 1971 targoncás 75000
Lakos Hajnalka 7836283 1956 árukiadó 80000
Sándor János 9821611 1951 portás 45000
Pölter Ilona 6821179 1967 takarítónő 45000


A „sorok”:

Definíció: A reláció egy eleme a táblázat egy sora.

A reláció olyan táblázatnak tekinthető, amelynek nem lehetnek azonos sorai. A sorok sorrendje tetszőleges.
A sorokat „rekord”-nak is szokás nevezni.


Az „attribútumok” (mezők):

A relációs adatbázisok kezelésének alapvető feltétele, hogy az értéktartományoknak megfelelő absztrakt jellemzők neveit felhasználjuk a sor elemeinek jelölésére.

Definíció: Az értéktartományok elemeit felvevő jellemzőket attribútumoknak nevezzük.

Az attribútumok a relációk első sorában, ún. fejrészében találhatók. Ezek tehát a relációban szereplő oszlopoknak a nevei, melyek általában megadják az abban az oszlopban lévő adatok jelentését. A reláción belül ezeknek a neveknek egyedieknek kell lenniük, de más relációk tartalmazhatnak azonos nevű oszlopokat. A Dolgozók reláció attribútumai: név, adószám, születési év, beosztás és fizetés, ahol például a „név” attribútum a dolgozók neveit tartalmazó oszlopot jelöli.


A „sémák”:

Definíció: A reláció neve és a reláció attribútumainak a halmaza együttesen alkotja a reláció sémáját.

A reláció sémáját a reláció nevével és az attribútumainak zárójelek közötti felsorolásával adjuk meg.
A Dolgozók relációsémája tehát: Dolgozók(név, adószám, születési év, beosztás, fizetés)
Ugyanezt a sorrendet vesszük akkor is, amikor megjelenítjük a relációt, vagy annak sorait. A reláció sémáját a táblázat fejlécébe írjuk.


A „komponens” (cella):

Definíció: A sor egy elemét komponensnek nevezzük.

A reláció minden egyes fejlécben lévő attribútumához tartozik a sorban egy komponens. így a Dolgozók relációban a kilenc sor közül az első sornak öt komponense van: Kerekes Ádám, 3869828, 1970, igazgató, 200000, amelyek sorrendben a név, adószám, születési év, beosztás és fizetés attribútumokhoz tartoznak. Ha a sorokat külön szeretnénk leírni, akkor zárójelek közé téve, vesszővel elválasztva soroljuk fel a komponenseket.
Például: (Kerekes Ádám, 3869828, 1970, igazgató, 200000)
Megemlítendő, hogy amikor egy sor magában van, akkor nem látjuk az attribútumokat, ezért meg kell adni valamilyen hivatkozást, hogy melyik relációhoz tartozik a sor. A komponenseket pedig ugyanolyan sorrendben kell felírni, amilyen sorrenbdben felsoroltuk az attribútumokat a relációsémában.


Az alapfogalmak illusztrálása:

összefoglalás:

R reláció neve

Ai attribútum- vagy tulajdonságnevek (mező)

Dom(Ai) lehetséges értékek halmaza

Ai ≠ Aj Egy sémán belül az attribútumok különbözőek