adatbázis

Relációs adatmodell

Adatbázis

Relációs adatmodell

Relációs adatmodell alapelemei

Relációk és attribútumok

  • Reláció (tábla): A reláció az adatok szervezésének két dimenziós megjelenítése, amely sorokból (rekordok) és oszlopokból (attribútumok) áll.

    • Példa: Filmek(filmcím, év, hossz, műfaj)

    Attribútumok: a reláció minden oszlopának egyedi neve van, például a filmcím az adott film címét reprezentálja.

  • Attribútum típusok:

    • Atomikus attribútumok: Egyszerű, nem bontható értékek. (Pl. film címe)
    • Kompozit attribútumok: Több elemből állhatnak (pl. cím attribútum, amely tartalmazza az utcát, várost, irányítószámot).
    • Többértékű attribútumok: Egy rekordhoz több érték tartozhat (pl. film több rendezővel rendelkezhet).
    • Származtatott attribútumok: Más attribútumokból számíthatóak ki (pl. film korát az év alapján).

Értéktartományok és séma

  • Az attribútumok értéktartománya meghatározza az adott oszlopban tárolható adat típusát (pl. év:integer, filmcím:string).
    integer: egész számokat tárol, ezek lehetnek pozitívak, negatívak, de nem tartalmazhat tizedesjegyeket
    String: karakterlánc. Ez lehet betű, számjegy, vagy speciális karakterek bármilyen kombinációja. Pl.: Csillagok háborúja
    Miért fontos ez?
    SQL lekérdezésben az integer tpusú oszlopokat könnyen össze leht hasonlítani (pl.: WHERE év > 2000)
    Megakadályozza, hogy hibás adatokat adjunk meg, nem lehet az integer mezőbe betűket írni
    Egyéb adattípusok:
    float – lebegőpontos szám – pl.: film értékelési pontszámához
    bolean: igaz/hamis értékek
    date: dátum típus 
  • Relációs séma: A reláció attribútumainak szerkezeti definíciója. (Pl. Filmek(filmcím:string, év:integer, hossz:integer, műfaj:string))

A relációs adatmodell tulajdonságai

  1. Egyediség: Minden relációnak egyedi neve van az adatbázis-sémán belül.
  2. Atomi értékek: Minden cella pontosan egy értéket tartalmaz, vagy üres (nem lehet lista vagy halmaz). Egy attribútum értékei ugyanabból a domain-ből származik
  3. Nem tartalmazhat két azonos sort
  4. Azonosítás: Minden egyes attribútum egyedi névvel rendelkezik 
  5. Tetszőleges sorrend: A rekordok és attribútumok sorrendje nem befolyásolja az adatok jelentését.
  6. NULL értékek: Hiányzó adatok reprezentálása.

A relációs adatbázis felépítése

  1. Adatbázis: összekapcsolt relációk (táblák) halmaza
    2. Reláció: kétdimenziós táblázat, amely oszlopokból és sorokból áll. Minden táblázat egyedi névvel rendelkezik
    3. Rekord: egy sor a táblázatban, amely az egymással kapcsolatban levő adatokat jelenti
    4. Attribútum: egy oszlop a táblázatban, amelyre a nevével hivatkozhatunk (oszlop fejléce)
    5. Elsődleges kulcs: olyan attribútum, amely a relációban (táblában) tárolt rekordokat (sorok) egyértelműen azonosítja. Aláhúzással jelöljük, pl.: TAJ szám
    6. Idegen kulcs: ezen keresztül hivatkozhatunk egy másik tábla valamely rekordjára.

    Egyéb fogalmak:
    Domain: az attribútum által felvehető értékek halmaza
    Fokszám: az attribútumok száma
    Kardinalitás: a rekordok száma (új rekordok beszúrásával, vagy törlésével változik)

Reláció és Descartes-szorzat kapcsolata

A relációs modell matematikai alapjait a reláció és a Descartes-szorzat fogalma adja.

Descartes-szorzat magyarázata

A Descartes-szorzat, más néven direkt szorzat, két halmaz összes lehetséges kombinációját tartalmazza. Ha adott két halmaz:
D1 = {1, 3, 5}
D2 = {2, 4}
Akkor a Descartes-szorzatuk: D1xD2={(1,2), (1,4), (3,2), (3,4), (5,2), (5,4)}
Ez a szorzat a relációs modell alapját képezi, mivel minden reláció egy ilyen Descartes szorzat részhalmaza. Tehát minden elempár az egyik halmaz egy eleméből és a másik halmaz egy eleméből áll. 

Reláció a Descartes-szorzaton belül

Egy reláció úgy definiálható, mint a Descartes-szorzat egy részhalmaza. Például, ha csak azokat az elemeket akarjuk megadni, ahol az első elem nagyobb, mint a második, akkor a fenti szorzatból egy relációt képezhetünk:
r= {(3,2), (5,2), (5,4)}
Ez a reláció tartalmazza az összes olyan rendezett párt, amely megfelel az adott feltételnek. 

Adottak a következő halmazok (domainek): D1, D2, …, Dn
A Descartes-szorzat ezeknek a halmazoknak az összes lehetséges kombinációját tartalmazza: D1xD2x … xDn
A reláció (r) a Descartes-szorzat egy részhalmaza: r ⊆ D1xD2x … xDn
A reláció n-elemű sorok halmaza (a1, a2, …, an) ahol
                                                    aiDi
Egyszerűsítve:
– a Descartes-szorzat minden lehetséges kombinációt tartalmaz
– egy reláció ezek közül csak azokat az elemeket választja ki, amelyek megfelelnek bizonyos feltételeknek. 

Relációs séma

A relációs séma meghatározza, hogy milyen típusú adatokat tárolunk egy relációban. A séma megadja:

  1. A reláció nevét.
  2. Az attribútumok listáját (az oszlopok nevét).

Példa

Egy reláció neve lehet „Személy”, amely három attribútumot tartalmaz:

  • Szigetszám (pl. azonosító szám),
  • Név (pl. egy személy neve),
  • Születési_dátum (pl. egy személy születési dátuma).

A relációs séma jelölése:
R(A1, A2, …, An)
Konkrétan: Személy(SzigSzám, Név, Születési dátum)
Ez azt jelenti, hogy a Személy reláció egy olyan táblázat, amely minden személyről a fent felsorolt adatokat tartalmazza.

Egy adatbázisban több reláció található, amelyek mind különböző típusú adatokat tárolnak. Az adatbázis sémája ezeknek a relációknak az összessége.

Példa

Egy cég adatbázisa tartalmazhat több relációt:

  1. Dolgozók(DolgozóID, Név, Osztály) – a cég alkalmazottainak adatai.
  2. Osztályok(OsztályID, OsztályNév) – a cég osztályai.
  3. Projektek(ProjektID, ProjektNév, Határidő) – a cég projektjei.

Az adatbázis-séma ezeknek a relációknak a halmaza.

 

A relációs modell műveletei

A relációs algebra segítségével végezhető műveletek:

  • Lekérdezések (SELECT): Adatok szűrése és megjelenítése meghatározott feltételek alapján.
  • Módosítások: Új rekordok beszúrása (INSERT), meglévő adatok frissítése (UPDATE), rekordok törlése (DELETE).

Gyakorlás: Relációs adatmodell