Egy példa normalizálásra
Ha kiinduláskor a tárolandó adatok között szerepel többértékű mező az egyes rekordokban, pl. egy tantárgyhoz több oktató, akkor az első lépés, hogy annyi rekordot vegyünk fel, ahány lehetséges értéksorozat előállhat. Ez már 1NF-ben lesz. A funkcionális és a tranzitív függések megszüntetésével elérhetjük a 3NF-et.
Ellenőrzés 3NF-re: nincs tranzitív függőség; más oldalról közelítve nincs a nem-kulcs mezők között funkcionális függőségi kapcsolat, tehát a fenti reláció a harmadik normálformában van!
A tervezés során olyan adatstruktúrákat alakítsunk ki, amelyek segítik a hatékony adatkezelést. Fontos hogy egy-egy táblába csak a valóban logikailag összetartozó adatok kerüljenek, és hogy minél kevesebb ismétlődés legyen az adatok között.
A relációs modellben külön eljárást fejlesztettek ki arra vonatkozóan, hogy az adatok megfelelő strukturálását, a redundancia csökkentését elősegítsék.
Ez a módszer a normalizálás.
Azt mondjuk, hogy egy reláció első normálformában (1NF) van, ha a relációban minden érték elemi, vagyis a reláció nem tartalmaz adatcsoportot.
Adatok között akkor áll fenn funkcionális függőség, ha egy vagy több adat konkrét értékéből más adatok egyértelműen következnek.
Egy relációt második normálformájúnak (2NF) szokás nevezni, ha első normálformájú, és egyetlen másodlagos attribútuma sem függ egyetlen kulcsának valódi részhalmazától.
Ha tehát a reláció kulcsa egyetlen mező (vagyis attribútum), a reláció automatikusan 2NF-ben is van. Ha a kulcs összetett, akkor a kulcs semmilyen része nem képes a reláció nem-kulcs mezőinek értékét egyértelműen meghatározni.
Egy A – C funkcionális függést tranzitív függésnek nevezünk, ha létezik olyan B attribútum halmaz, hogy A - B továbbá B - C.
Egy R reláció harmadik normálformában van, ha
második normálformájú és
egyetlen másodlagos (nem-kulcs) attribútuma sem függ tranzitíven a kulcstól
Egy R reláció harmadik normálformában van, ha második normálformájú és a másodlagos (nem-kulcs) attribútumok között nincsen funkcionális függés.