Relációs adatmodell

A relációs adatmodellt 1970-ben definiálta E. F. Codd amerikai kutató, de gyakorlati alkalmazása csak az 1980-as években vált általánossá. Lényege, hogy az egyedeket, tulajdonságokat és kapcsolatokat egyaránt táblázatok, úgynevezett adattáblák segítségével adja meg.

Az adattábla (vagy egyszerűen csak tá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 tábla oszlopai tulajdonságokat határoznak meg. A tábla sorai egyedeket határoznak meg. Egy tábla egy relációt jelent.

A relációkra (táblákra) a következő tulajdonságok érvényesek:

  • Minden sora különböző.
  • A rekordok (sorok) sorrendje tetszőleges.
  • Az oszlopok sorrendje tetszőleges.
  • A modell fontos fogalma a kulcs.
    Az elsődleges kulcs a táblázat sorainak egyértelmű megkülönböztetésére, azonosítására használható.
    Elemi kulcsról beszélünk akkor, ha a reláció valamelyik eleme (a táblázat valamelyik attribútuma, oszlopa) alkalmas a rekordok (sorok) egyértelmű megkülönböztetésére.
    Ha egynél több attribútum szükséges egy rekord megtalálásához, összetett elsődleges kulcsról beszélünk. pl. Személy neve + anyja neve + születési ideje együtt lehet elsődleges kulcs lehet.
    Idegen kulcs, külső kulcs: Egy táblából a táblával logikai kapcsolatban lévő másik tábla egy meghatározott sorára az idegen kulcs segítségével tudunk hivatkozni. Az idegen kulcsnak megfelelő érték abban a táblában, amelyiknek rekordjára hivatkozunk, elsődleges kulcs.

    EK-modellből relációs modell készítése:

  • 1. Az egyedeket relációs táblákba helyezzük. Az egyed neve lesz a tábla neve, a tulajdonságai pedig az oszlop nevek.
  • 1.1. Ha összetett tulajdonság is van, akkor minden résztulajdonságnak külön oszlopot készítünk.
  • 1.2. Ha többértékű tulajdonság is van, akkor annak létrehozunk egy új táblát egy elsődleges kulcs mezővel és egy külső kulccsal, amely az eredeti táblában lévő egyedre hivatkozik.
  • 2. Kapcsolatok hozzáadása:
  • 2.1 Ha valamelyik kapcsolata egyszeres, akkor a másik egyed táblájába beolvaszthatjuk idegen kulcsként (kiegészítve a kapcsolat tulajdonságaival).
  • 2.2 Egyébként a kapcsolat nevével új táblát készítünk. A kapcsolat tulajdonságai lesznek az oszlopok kiegészítve a kapcsólodó egyedek elsődleges kulcsaira hivatkozó külső kulcsokkal. Ha a táblában nincs elsődleges kulcs, akkor adunk hozzá egyet (pl. sorszámot).
  • Normalizálás: adatok észszerű csoportosítása. Olyan többlépcsős folyamat, amellyel olyan adatcsoportok alakíthatóak ki, amelyek szervesen összetartoznak és amelyek teljesen a csoport azonosítójától függnek.