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.
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:
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”.
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 |
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.
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.
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.
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.
ö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