kategória | ||||||||||
|
||||||||||
|
||
Funkcionális függőségek:
Amikor egy relációt attribútumainak jelentése szerint vizsgálunk, akkor egyes attribútumok között bizonyos függőségeket tapasztalhatunk. Ezek közül a legfontosabb az E. F. Codd által b 222i84c evezetett ún. funkcionális függés vagy funkcionális függőség.
A kulcsokhoz hasonlóan a funkcionális függőségeket is apriorisztikusnak tekintjük. Nem a reláció mátrixának pillanatnyi állapotából döntjük el, hogy egy funkcionális függés fennáll-e, hanem a reláció tervezett szemantikus tartalmából.
Egy relációban a funkcionális függőségek teljes halmazát, családját azért érdemes vizsgálni, mert ezeket felhasználhatjuk bizonyos, az adatbázisra vonatkozó információk tömörítésére és a számítógép memória-kihasználásának lényeges javítására. A funkcionális függések felismerése az egyik legfontosabb és legkényesebb része adatok szemantikájának. Csak a függések teljes feltárása után mondhatjuk azt, hogy az adatok szerkezetét teljesen megértettük.
Normálformák:
DEFINÍCIÓ: Az R reláció I. normálformájú, ha minden sorában oszloponként csak legfeljebb egy, azaz elemi értéket tartalmaz. (Azon túl persze, hogy a korábban megállapított szabályoknak is eleget tesz:
nincs két azonos sora,
a sorok száma lényegtelen,
az oszlopok száma lényegtelen).
Az I. normálformájú relációk már tárgyalhatók a relációs algebra módszereivel, de az ilyen táblákat tartalmazó adatbázis több szempontból is nagyon kellemetlen lehet:
A nem kívánatos redundancia nagyon nagy lehet.
Anomáliák:
Pl.: Új vevőt csak akkor vehetünk fel, ha a rendeléseinek adatait is felvesszük, hiszen a reláció kulcsa a vevőkód és a rendelésszám együttese lesz, holott a dátum csak a rendelésszámtól függ (bővítési anomália).
Ha egy vevő kódja megváltozik, akkor szerencsétlen esetben az egész táblát végig kell keresni, hogy a változást korrektül átvezethessük (módosítási anomália).
Hasonló a helyzet a törlésnél is. Ha egy vevőnek csak egyetlen megrendelése volt és azt visszavonja, a megrendelés törlése a vevő törlését is maga után vonja, jóllehet később újra rendelhet, és akkor az adatait újra fel kell venni (törlési anomália).
Szerencsére a funkcionális függőségek elemzésével a fenti problémák kiküszöbölhetők. Ennek érdekében be kell vezetni néhány definíciót.
Az R reláció egy attribútumát elsődleges attribútumnak nevezzük, ha az eleme a reláció valamelyik kulcsának.
Az R reláció egy attribútumát másodlagos attribútumnak nevezzük, ha az nem része a reláció egyetlen kulcsának sem.
Az R reláció egy kulcsa összetett, ha több attribútumot tartalmaz, egyébként egyszerű.
Az R reláció II. normálformájú, ha I. normálformájú és nincs olyan másodlagos attribútuma, ami csak a reláció összetett kulcsának egy valódi részhalmazától függne funkcionálisan.
Vagyis minden olyan I. normálformájú reláció, aminek minden kulcsa egyetlen attribútumból áll, vagy ha a másodlagos attribútumok halmaza üres, egyben II. normálformájú is.
Minden I. normálformájú relációt II. normálformájú relációkra bonthatunk úgy, hogy ezekből az eredeti információ torzulás nélkül helyreállítható.
Könnyű belátni, hogy a II. normálforma lényegesen csökkentheti a redundanciát, illetve az anomáliákat. E téren további egyszerűsítést jelent, ha a másodlagos attribútumok közti függőségeket is kihasználjuk:
Egy R reláció III. normálformájú, ha egyetlen másodlagos attribútuma sem függ tranzitíven a reláció valamely kulcsától.
Belátható, hogy ha egy reláció III. normálformában van, akkor az egyben II. normálforma is, továbbá hogy minden I. normálformájú reláció mindig III. normálformára hozható.
Speciális esetben (tehát nem mindig) létezhetnek további normálformák is (IV.,V.), ennek azonban nincs akkora jelentősége, mint a II. és III. formáknak.
Találat: 1992