Normalizacije baze podataka
Normalizacija se uglavnom ne obavlja redovno jer se smatra da je to postupak mnogo primereniji teoretičarima i naučnicima nego praktičarima. Međutim, poznavanje principa normalizacije i njihova svakodnevna primena u bazi podataka nije mnogo komplikovana i može izuzetno poboljšati funkcionisanje sistema za upravljanje bazama podataka.
ŠTA JE NORMALIZACIJA?
Normalizacija je proces efikasnog organizovanja podataka u bazi podataka. Proces normalizacije se sprovodi da bi se postigla dva cilja. Prvo, da bi se eliminisali suvišni podaci (na primer, skladištenje istih podataka u najmanje dve tabele) i drugo, da bi se obezbedio smisao zavisnosti podataka (skladištenje samo onih podataka u tabeli koji su u relaciji). Oba cilja su izuzetno važna i korisna jer smanjuju prostor koji zauzima baza podataka i obezbeđuju logičnu povezanost podataka koji se nalaze u tabeli.
NORMALNE FORME
Stručnjaci za baze podataka stvorili su niz smernica čijom primenom se obezbeđuje normalizacija baza podataka. Ta uputstva se nazivaju normalne forme i obeležene su brojevima od jedan (najniža forma normalizacije naziva se prva normalna forma ili 1NF) do pet (peta normalna forma ili 5NF). U praktičnoj upotrebi su uglavnom 1NF, 2NF i 3NF i povremeno 4NF. Peta normalna forma se vrlo retko viđa i zbog toga je nećemo ovde razmatrati. Pre nego što počnemo da vas upoznajemo sa normalnim formama, važno je da istaknemo da one predstavljaju smernice i samo smernice. Povremeno je potrebno odstupiti od njih da bi se zadovoljili praktični zahtevi poslovanja. Međutim, kad god dođe do nekih promena, izuzetno je važno da se procene svi njihovi mogući uticaji na sistem kao i da se utvrde razlozi za pojavu nedoslednosti.
PRVA NORMALNA FORMA (1NF)
Prva normalna forma (1NF)
postavlja najosnovniji skup pravila za organizovanu bazu podataka:
•
Eliminisanje ponovljenih kolona u istoj tabeli.
• Pravljenje
posebnih tabela za svaku grupu podataka koji su u relaciji i
identifikovanje svakog reda pomoću posebne kolone ili skupa kolona
(primarnog ključa).
DRUGA NORMALNA FORMA (2NF)
Druga normalna forma (2NF)
još više smanjuje ponavljanje podataka:
• Tabela mora da
zadovoljava kriterijume prve normalne forme.
• Treba ukloniti
sve podskupove podataka koji se primenjuju na veći broj redova u
tabeli i smestiti ih u posebne tabele
• Treba napraviti
relacije između tih novih tabela i njihovih prethodnika pomoću
stranih ključeva.
TREĆA NORMALNA FORMA (3NF)
Treća normalna forma nas
vodi jedan veliki korak napred:
• Tabela mora da zadovoljava
kriterijume druge normalne forme.
• Treba ukloniti kolone koje
ne zavise od primarnog ključa.
BOJS-KODOVA NORMALNA FORMA (BCNF ILI 3,5NF)
Bojs-Kodova normalna forma
naziva se i „treća i po (3,5) normalna forma“ i dodaje još
jedan zahtev:
• Tabela mora da zadovoljava kriterijume treće
normalne forme.
• Sve determinante moraju biti kandidati za
ključ.
ČETVRTA NORMALNA FORMA (4NF)
Konačno, četvrta normalna
forma ima još jedan dodatni element:
• Tabela mora da
zadovoljava kriterijume treće normalne forme.
• Relacija je u
četvrtoj normalnoj formi ako nema nijednu višeznačnu zavisnost.
Ne
zaboravite da su smernice normalizacije kumulativne. Da bi baza
podataka bila u drugoj normalnoj formi, prvo mora da zadovolji sve
kriterijume baze podataka prve normalne forme.
TREBA LI DA IZVRŠIM NORMALIZACIJU? Iako je normalizacija baze podataka često odlična ideja, ipak nije neophodna. U stvari, postoje i neki slučajevi u kojima je namerno narušavanje pravila normalizacije ne samo prihvatljivo, već i preporučljivo.