1NF vs 2NF vs 3NF
Normalizacija je proces koji se provodi kako bi se redundancije koje su prisutne u podacima u relacijskim bazama podataka svele na minimum. Ovaj proces će uglavnom podijeliti velike tablice u manje tablice s manje redundancija. Ove manje tablice bit će povezane jedna s drugom kroz dobro definirane odnose. U dobro normaliziranoj bazi podataka, svaka izmjena ili modifikacija podataka zahtijevat će modificiranje samo jedne tablice. Prvu normalnu formu (1NF), drugu normalnu formu (2NF) i treću normalnu formu (3NF) uveo je Edgar F. Codd, koji je također izumitelj relacijskog modela i koncepta normalizacije.
Što je 1NF?
1NF je prvi normalni oblik, koji pruža minimalni skup zahtjeva za normalizaciju relacijske baze podataka. Tablica koja je u skladu s 1NF jamči da zapravo predstavlja relaciju (tj. ne sadrži nijedan zapis koji se ponavlja), ali ne postoji univerzalno prihvaćena definicija za 1NF. Jedno važno svojstvo je da tablica koja je u skladu s 1NF ne može sadržavati atribute koji imaju relacijske vrijednosti (tj. svi bi atributi trebali imati atomske vrijednosti).
Što je 2NF?
2NF je drugi normalni oblik koji se koristi u relacijskim bazama podataka. Da bi tablica bila u skladu s 2NF, trebala bi biti usklađena s 1NF i bilo koji atribut koji nije dio nijednog ključa kandidata (tj. atributi koji nisu primarni) trebao bi u potpunosti ovisiti o bilo kojem od ključeva kandidata u tablici.
Što je 3NF?
3NF je treći normalni oblik koji se koristi u normalizaciji relacijske baze podataka. Prema Codd-ovoj definiciji, za tablicu se kaže da je u 3NF, ako i samo ako je ta tablica u drugom normalnom obliku (2NF), a svaki atribut u tablici koji ne pripada ključu kandidata, trebao bi izravno ovisiti na svakom ključu kandidata te tablice. Godine 1982. Carlo Zaniolo dao je drugačije izraženu definiciju za 3NF. Tablice koje su u skladu s 3NF općenito ne sadrže anomalije koje se javljaju prilikom umetanja, brisanja ili ažuriranja zapisa u tablici.
Koja je razlika između 1NF i 2NF i 3NF?
1NF, 2NF i 3NF normalni su oblici koji se koriste u relacijskim bazama podataka za smanjenje redundancije u tablicama. 3NF se smatra jačom normalnom formom od 2NF, a smatra se jačom normalnom formom od 1NF. Stoga općenito, dobivanje tablice koja je u skladu s 3NF obrascem zahtijevat će dekompoziciju tablice koja je u 2NF. Slično tome, dobivanje tablice koja je u skladu s 2NF zahtijevat će dekompoziciju tablice koja je u 1NF. Međutim, ako tablica koja je u skladu s 1NF sadrži ključeve kandidata koji se sastoje samo od jednog atributa (tj. nekompozitni ključevi kandidata), takva bi tablica automatski bila u skladu s 2NF. Dekompozicija tablica rezultirat će dodatnim operacijama spajanja (ili kartezijanskim produktima) prilikom izvršavanja upita. Ovo će povećati vrijeme računanja. S druge strane, tablice koje su u skladu s jačim normalnim oblicima imale bi manje redundancija nego tablice koje su u skladu samo sa slabijim normalnim oblicima.