Normálformák
Funkcionális függőségek
A normalizálás folyamata egzakt matematikai elveken alapuló folyamat. Fontos megismerkedni néhány matematikai fogalommal, mely a normalizálás folyamán előfordul.
Funkcionális függőség
P-attribútum részhalmaz funkcionálisan meghatározza Q-attribútum halmazt ha minden P-hez tartozó értékhez ( a P attribútumainak oszlopaiban álló értékekhez) pontosan egy Q-hoz tartozó értéket tudunk hozzárendelni. Tehát P értékei egyértelműen maghatározzák Q értékeit.
Teljes funkcionális függőség:
Azt mondjuk, hogy Q teljes funkcionális függőségben van P-vel ha P-ből képzett attribútum részhalmazoktól nem függ a Q attribútum halmaz. Ellenkező esetben részleges függőségről beszélünk.
Tranzitív funkcionális függés
"A" attribútum részhalmaztól tranzitív funkcionális függőségben van "C" attribútum részhalmaz, ha létezik egy"B" részhalmaz amely "A"-tól függ, a "C" pedig "B" től. Tehát mondhatjuk, hogy a két funkcionálisan függő attribútum halmaz mellé található egy harmadik részhalmaz, mely a két halmaz között funkcionális függőséget átviszi(tehát direkt módon is függnek egymástól és áttételesen is).
Normálformák
A normalizálás végrehajtása során, egymásra épülő egyre kevesebb redundanciát tartalmazó normál formák keletkeznek.
6 egymásra épülő normálformát ismerünk: 1NF, 2NF, 3NF, BCNF,4NF, 5NF azaz első, második, harmadik, Boyce-codd normálforma, negyedik és ötödik normálforma.
Az első három normálforma a funkcionális függőségekben található redundanciák, míg a negyedik és ötödik a többértékű függőségekből eredő redundanciák megszüntetésére szolgál.
Gyakorlatilag a 3. normálformában lévő adatbázis redundancia mentesnek tekinthető. Az esetek többségében elegendő a normalizálást 3. normalizálásra elvégezni. Az SSADM- szabvány is ezen szintű normál formáig tesz ajánlást.
0NF- Az adatbázis nem normalizált alakját szokás 0.-dik normálformának nevezni. A nulladik normálformájú adatbázis nem relációs adatbázis, mivel a táblázatok a reláció definícióját nem elégítik ki.
Egy "R" relációról, akkor mondjuk, hogy első normál formában van , ha minden sorában pontosan egy attribútum érték áll.
Az első normál formára hozás második módszere : Az ismétlődő csoportot levágjuk az eredeti relációról, úgy hogy kijelölünk egy kulcsot és hozzáillesztjük az eredeti reláció kulcsát , így összetett kulcsot kapunk a második relációban.
Egy reláció első normál formában van mert:
- minden sora különböző
- az oszlopok száma és sorrendje minden sorban azonos
- minden oszlop csak egy attribútum értéket vesz fel
minden sorhoz egy egyedi kulcs tartozik, amitől az össze többi attribútum funkcionálisan függ.
A második normál formára hozás során a teljes funkcionális függőségeke vizsgáljuk.
Definíció: Egy "R" reláció második normálformában van, ha első normál formában van és ha minden másodlagos attribútum teljesen függ a kulcstól.
A definícióból következik, ha a kulcs egy attribútumból áll akkor a reláció 2NF-ben van, mivel a másodlagos attribútumok nem függenek a kulcs részeitől (mivel nincsenek részei) ezért fennáll a teljes függőség. Ha a reláció minden attribútuma része a kulcsnak, akkor a reláció 2NF-ben van
A második normál formára hozás módszere az 1NF-ben lévő reláció(dekompozíciója). Megvizsgáljuk, hogy a másodlagos attribútumok közül melyek függnek részlegesen a kulcstól, tehát van-e olyan attribútum mely funkcionálisan függ az összetett kulcs egy részétől. Ha van ilyen attribútum, akkor a reláción dekompozíciójával (szétbontásával) az eredeti kulcs azon részével mellyel a függés fennáll egy új relációt képezünk.
A harmadik normálformára hozás során a tranzitív függőségeket vizsgáljuk.
Definíció: Az R-reláció harmadik normálformában van, ha 2NF-ben van és egyetlen másodlagos attribútum sem függ tranzitíven a kulcstól. (Tehát a másodlagos attribútumok között nincsen funkcionális függőség)
A feladat, hogy a második normálformájú relációból a dekompozíció módszerével a másodlagos attribútumok funkcionális függőségét megszünteti.
A normalizálási folyamat során a funkcionális függőségek már csak a kulcstól valósulnak meg. A redundancia csökken, a relációk száma nő.