RELÁCIÓS adatmodell

Reláció fogalma

E.F. CODD nevéhez fűződik.
Egy reláció egy egyedre vonatkozik.
Def: Legyenek D1,..,Dn attribútumhalmazok. Az halmazt relációnak nevezzük, ahol n a reláció foka.
A reláció felfogható táblázatként. Ha a Di elemeit -vel jelöljük (i=1,…,n), akkor
D1
Dn
 
     
 
 
A reláció mint halmaz elemeit (a táblázat sorait) rekordoknak is nevezzük.
Az attribútumhalmazok neveit (oszlopfejléceket) mezőnek is mondjuk.
Pl. lásd a KONYV táblázatot.

Megj:  A halmazelméleti megfontolások miatt a táblázatban

Egy adatbázis rendszerint több táblából áll, a táblák között kapcsolatok vannak. A táblák struktúrájának illetve a kapcsolatoknak a leírását az adatszótár tartalmazza.
Mi az egyedtípus, egyedelőfordulás, tulajdonságtípus, tulajdonságelőfordulás a táblázatban?

Kulcsok

Def (elsődleges kulcs): kulcs, ha s1,s2 sor esetén, ha s1|K=s2|K, akkor s1=s2, és ha K` K esetén teljesül a fenti tulajdonság, akkor K`=K teljesül. Ha az utolsó feltétel nem teljesül, akkor K-t szuperkulcsnak is mondják. Ha az elsődleges kulcs egy attribútumhalmaz, akkor egyszerűnek, egyébként összetettnek mondjuk.

Def (külső vagy idegen kulcs): Egy reláció azon attribútumai, amelyek egy másik relációban kulcsot alkotnak.
Def (funkcionális függ.): Legyen R a D1,..,Dn attribútumhalmazokon értelmezett reláció, és legyenek . Azt mondjuk, hogy az R relációban funkcionálisan függ -től (-> ), ha s1, s2 esetén abból, hogy -re következik, hogy -re.

Def (teljes funkcionális függőség): Ha A->B és ha A` része A esetén A’-> B, akkor A`=A.

Def (tranzitív függőség): C tranzitívan függ A-tól, ha létezik B része {D1,...,Dn}, hogy A-> B és B-> C és B-/->A és C-/->B.

Első normálforma

Def: Egy reláció első normálformájú, ha az értelmezési tartományának egyetlen eleme sem reláció, azaz ha a táblázat minden cellájában csak egy attribútumérték szerepel.

Példa  Legyen a relációnk a következő: R( A, B, C, D,E). A kulcsjellegű tulajdonságok alá vannak húzva.

         
        A B C D E
        a1 b1 c1 
        c2 
        c3
        d1 
        d2 
        d3
        e1 
        e2 
        e3
        a2 b1 c2 d2 e2
         
A fenti reláció nem első normálformájú, mert ismétlődő csoportot tartalmaz (a C,D,E attribútumok értékei).

Reláció első normálformára hozása

Sorok ismétlésével
A több attribútumértéket tartalmazó sort annyi sorra bontjuk ahány attribútmérték fordul elő a sorban -> redundancia.
               
              A B C D E
              a1 b1 c1 d1 e1
              a1 b1 c2 d2 e2
              a1 b1 c3 d3 e3
              a2 b1 c2 d2 e2
               
 Reláció felbontásával
A reláció újabb relációkra bontható úgy, hogy az ismétlődő csoportot leválasztjuk az eredeti relációról, melléjük illesztve a nem ismétlődő rész kulcsát.
 
 
         
        A B
        a1 b1
         
 
         
        A C D E
        a1 c1 d1 e1
        a1 c2 d2 e2
        a1 c3 d3 e3
        a2 c2 d2 e2
         

Második normálforma

Def: Egy reláció második normálformájú, ha 1NF-jú és minden olyan attribútum, ami nem kulcs teljesen funkcionálisan függ minden kulcstól.

Tekintsük az alábbi 1NF-jú relációt. Az A, B, C, D, E, F, G, H, attribútumok (tulajdonságtípusok), a relációban, az A és B tulajdonságok a kulcsok. A reláció nem második normálformájú, mert vannak olyan másodlagos attribútumok, amelyek a kulcs részeitől is függnek.

Reláció második normálformára hozása

Ha egy első normálformájú relációban a kulcs egyszerű, akkor a reláció egyben második normálformájú is. Egyébként az összetett kulcsú relációban meg kell vizsgálni azokat az attribútumokat, amelyek nem részei a kulcsnak. Ha ezek között az ún. másodlagos attribútumok között vannak olyanok, amelyek nem függnek teljesen funkcionálisan a kulcstól (azaz nincsen a reláció a második normálformában), akkor meg kell határozni, hogy ezek a tulajdonságok mely részkulcstól függnek teljesen, és a tulajdonságokat a részkulccsal együtt külön táblázatba kell tenni úgy, hogy ott a részkulcs már kulcs legyen.

Harmadik normálforma

Def: Egy reláció harmadik normálformájú, ha 2NF és nincs olyan másodlagos attribútum, ami tranzitív módon függne valamilyen kulcstól.

Reláció harmadik normálformára hozása

A tranzitív függőségeket úgy tüntetjük el, hogy azokat külön táblázatba vagy táblázatokba tesszük.
A fent eredményül kapott relációk közül a középső nincs harmadik normálformában, hiszen az E és F attribútumok tranzitívan függnek a C kulcstól. A harmadik normálformára hozáshoz küszöböljük ki a középső relációból a tranzitív függőséget.

Az eredményül kapott négy reláció mindegyike harmadik normálformában van.

Relációkon végezhető műveletek

Def: Legyen , akkor R projekciója -ra = {s| úgy, hogy s2|() = s} Az unió, metszet és különbség műveletek csak pontosan azonos attribútumokat tartalmazó táblákon végezhetők. Mivel a reláció egy halmaz, ezek a műveletek a halmazelméletben tanultakkal megegyező eredményt szolgáltatnak. Példa: Q(A,B,C) R(D,A,E) relációk uniója az S reláció.
Q A B C R D A E S      
  a a b   a a b   a a b
  a c b   b c d   a c b
          e f g   b c d
                  e f g
  Példa:
S      
  a a b
   
S      
  a c b
  Példa

 
S Q.A B C D R.A E
  a a b a a b
  a a b b c d
  a a b e f g
  a c b a a b
  a c b b c d
  a c b e f g
 
Ez volt az equijoin (kapcsoló attribútumok értékegyenlőségén alapszik).
Amikor az összekapcsolás a kapcsoló attribútumok egyenlőségtől eltérő relációján alapszik (>, < stb.) akkor nem equijoin-ról beszélünk.
Példa equijoinra
 
S Q.A B C D R.A E
  a a b a a b
  a c b a a b
 
kiad_azon kiad_nev varos isbn cim
K001 TANKONYVKIADO LONDON 100002 EGRI CSILLAGOK
K001 TANKONYVKIADO LONDON 100003 KOSZIVU EMBER FIAI
K002 AKADEMIAI KIADO NEW YORK 100001 TUSKEVAR
K002 AKADEMIAI KIADO NEW YORK 100005 ANATOMIA
K003 GONDOLAT KIADO LONDON 100004 EMPATIA
K003 GONDOLAT KIADO LONDON 100006 RECEPTEK