Relációs Adatbázis

A relációs adatmodell (Codd, 1970) az egyedeket, tulajdonságokat és kapcsolatokat egyaránt táblázatok (relációk) segítségével adja meg.
Az adattábla sorokból és oszlopokból áll. Egy sorá
t rekordnak nevezzük, amely annyi mezőből áll, ahány oszlopa van a táblának.

A reláció tehát nem más, mint egy táblázat, a táblázat soraiban tárolt adatokkal együtt. Az egyes relációkat egyedi névvel látjuk el. A relációk
oszlop
ai adott reláción belül egyedi névvel rendelkeznek.
A reláció soraiban tároljuk a logikailag összetartozó, egy-egy egyedet leíró adatokat (attribútumokat). Egy sor és oszlop metszésében található
táblázat elemet
mezőnek nevezzük, a mezők tartalmazzák az adatokat. A mezőkben oszloponként különböző típusú (numerikus, szöveges stb.)
mennyiségek
tárolhatók.

Relációs adatbázisnak nevezzük a relációs adatmodell (matematikai reláció elemi műveleteivel + relációs algebrai származtatott műveletek) elvén
létrehozott adatok összességét.

Relációs adatbázisokat relációs adatbázis-kezelőkkel hozhatjuk létre, szerkeszthetjük és törölhetjük.
A relációs adatmodellben a reláció halmaz, ennek megfelelően a reláció minden eleme (sora) egyedi. 


Kulcsok

A reláció kulcs a reláció egy sorát azonosítja egyértelműen. A reláció - definíció szerint - nem
tartalmazhat két azonos sort, ezért minden relációban létezik kulcs. A reláció kulcsnak a következő
feltételeket kell teljesítenie (Siki Z. 1995):

  • az attribútumok egy olyan csoportja, melyek csak egy sort azonosítanak (egyértelműség)
  • a kulcsban szereplő attribútumok egyetlen részhalmaza sem alkot kulcsot
  • a kulcsban szereplő attribútumok értéke nem lehet definiálatlan (NULL).

Indexek

(http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.6.1)

Az index olyan kiegészítő adatstruktúra, amelyet egy-egy táblához lehet generálni a keresések
és a rendezési műveletek meggyorsítására. Az indexet a tábla attribútumainak valamely
részhalmazához generáljuk, amit így indexkulcsnak nevezzük. Az indexet is táblaként lehet elképzelni,
amelynek első oszlopa az indexkulcsot, a második a megfelelő rekord fizikai sorszámát tartalmazza.
Index létrehozása viszonylag lassú, hiszen ekkor végig kell menni a teljes táblán. Egy táblához egyszerre
több index is létrehozható. A rekordokat különböző indexek alapján rendezhetjük a képernyőn, de a
rekordok fizikai sorrendje mindvégig változatlan marad.

Relációs műveletek

(http://www.agt.bme.hu/szakm/adatb/db4.htm#p4.2)

Az adatbázis lekérdezések matematikai alapját relációs algebrai műveletek képezik, melyekben
az adattáblát sorok halmazaként értelmezzük. A legfontosabb kapcsolódó műveleteket az alábbiakban
foglaljuk össze vázlatosan (Katona E., 2013.)

  • Halmazműveletek
    • Unió: két kompatibilis tábla egyesítését (unio) a
      táblák egymás után írásával és az ismétlődő sorok
      kiszűrésével végezzük el.
    • Metszés: két kompatibilis tábla metszete (intersection) csak azokat a sorokat tartalmazza, melyek
      mindkét táblában megtalálhatóak. 
    • Különbség: A T1 és T2 kompatibilis táblák halmazelméleti különbsége azokat a sorokat tartalmazza,
      amelyek T1-ben szerepelnek, de T2-ben nem.
  • Redukciós műveletek
    • Projekció: Adott oszlopok kiválasztását jelenti a táblából. Az új tábla sémája a megfelelő attribútumok
      kiválasztásával adódik. Ha az attribútumlista nem tartalmazza a kulcsot, akkor a rekordok száma
      csökkenhet. 
    • Szelekció: Adott feltételnek eleget tevő sorok kiválasztását jelenti 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.

  • Kombinációs műveletek
    • Descartes-szorzat: Tetszőleges T1 és T2 táblák Descartes-szorzatát úgy kapjuk, hogy T1 minden sorát
      párosítjuk T2 minden sorával. 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. A gyakorlatban nem alkalmazzák, hiszen az adathalmaz
      redundanciáját növeli.
    • Természetes összekapcsolás (Natural join): Két tábla Descartes-szorzatából kiválasztjuk azokat a
      sorokat, amelyek az R1.X és R2.X attribútumokon megegyeznek (ahol X ált. külső kulcs / kulcs), majd a
      projekcióval a duplán szereplő X-beli attribútumokat csak egy példányban tartjuk meg
      .
    • Külső összekapcsolás (Outer join): A természetes összekapcsolás eredmény táblájában nem
      feltétlenül szerepel a kapcsolt táblák nem minden sora. A nem párosítható sorokat lógó sornak
      nevezzük. Külső összekapcsolással az összekapcsolt
      két tábla egyikénél vagy mindkettőnél valamennyi

      rekord megőrzése garantálható a (+) jelölés alapján.
      • Bal oldali külső összekapcsolás: T1 (+)* T2
      • Jobb oldali külső összekapcsolás: T1 *(+) T2
      • Teljes külső összekapcsolás: T1 (+)*(+) T2
    • Theta-összekapcsolás (Theta-join): A táblák Descartes-szorzatából tetszőleges feltétel szerint
      választunk ki sorokat
      .

Normalizálás

(http://www.agt.bme.hu/szakm/adatb/db3.htm#p3.5)

A redundancia fogalma:
Redundanciáról akkor beszélünk, ha valamely tényt vagy a többi adatból levezethető
mennyiséget ismételten (többszörösen) tároljuk az adatbázisban. A redundancia, a szükségtelen tároló
terület lefoglalása mellett, komplikált adatbázis frissítési és karbantartási műveletekhez vezet, melyek
könnyen az adatbázis inkonzisztenciáját okozhatják. Egy adatbázis akkor inkonzisztens, ha egymásnak
ellentmondó tényeket tartalmaz. A redundanciát meg kell különböztetni az értékek duplikált
(többszörös) tárolásától. A duplikált adattárolásra szükségünk lehet a relációkban, míg a redundanciát
el kell kerülni. A redundancia fordul elő akkor is, ha levezett vagy levezethető mennyiségeket tárolunk
a relációkban (Siki Z. 1995).

Funkcionális függőség ....


Ajánlott irodalom

http://www.agt.bme.hu/szakm/adatb/db2.htm#p2

Zuletzt geändert: Monday, 14. February 2022, 13:41