Normalizacija

Tranzitivna (prehodna) funkcionalna odvisnost lahko pri spreminjanju stolpca, ki ni primarni ključ, povzroči spremembo katerega koli drugega stolpca, ki prav tako ni primarni ključ. Če v našem primeru spremenimo vrednost v stolpcu naziv to povzroči tudi spremembo v stolpcu opis. Vendar pa se ta sprememba ne zgodi samodejno in zato pride do anomalije pri posodabljanju podatkov – en podatek spremenimo, drugi podatek, ki bi se tudi moral spremeniti, pa se ne spremeni. Spremenimo tabelo v tretjo normalno obliko.

Tretja normalna oblika (3NF)

Če želimo podatkovno bazo spremeniti v tretjo normalno obliko, moramo razdeliti prvo tabelo, ki je v drugi normalni obliki in vsebuje tranzitivno funkcionalno odvisnost (stolpca naziv in opis). To storimo takole:

clan_id ime priimek naziv_id naslov
1 Marija Kranjc 2 Celovška cesta 134
2 Janez Novak 1 Dunajska cesta 67
3 Janez Novak 1 Tržaška cesta 258


clan_id izposojeno
1 Moje pesmi, moje sanje
2 Boter
2 Kaznilnica odrešitve
3 Schindlerjev seznam
3 Pianist

naziv_id naziv opis
1 g. gospod
2 ga. gospa
3 gdč. gospodična
4 dr. doktor

Uvedli smo nov stolpec naziv_id, ki je tuji ključ v prvi tabeli in primarni ključ v tretji tabeli. Naziv in opis naziva (stolpca naziv in opis) pa smo preselili v tretjo tabelo. S tem smo odpravili tranzitivno funkcionalno odvisnost v prvi tabeli.