1NF vs 2NF vs 3NF
Normalizacija je proces koji se provodi kako bi se smanjila redukcija prisutna u podacima u relacijskim bazama podataka. Ovaj će postupak uglavnom podijeliti velike tablice u manje tablice s manje otpuštanja. Ove će se manje tablice međusobno povezati kroz dobro definirane odnose. U dobro normaliziranoj bazi podataka svaka izmjena ili promjena podataka zahtijevat će izmjenu samo jedne tablice. Prvi normalan oblik (1NF), drugi normalan oblik (2NF) i Treći normalan oblik (3NF) uveo je Edgar F. Codd, koji je i izumitelj relacijskog modela i koncepta normalizacije.
Što je 1NF?
1NF je Prvi uobičajeni obrazac koji osigurava minimalni skup zahtjeva za normalizaciju relacijske baze podataka. Tablica koja je u skladu s 1NF uvjerava da on zapravo predstavlja odnos (tj. Da ne sadrži nijedan zapis koji se ponavlja), ali ne postoji općenito prihvaćena definicija za 1NF. Važno je svojstvo da tablica koja je u skladu s 1NF ne može sadržavati atribute koji su relacijski vrijednosti (tj. Svi atributi trebaju imati atomske vrijednosti).
Što je 2NF?
2NF je Drugi uobičajeni oblik koji se koristi u relacijskim bazama podataka. Da bi tablica bila u skladu s 2NF, ona bi trebala biti u skladu s 1NF, a svaki atribut koji nije dio nijednog kandidatskog ključa (tj. Ne-primarni atributi) trebao bi u potpunosti ovisiti o bilo kojem od ključeva kandidata u tablici.
Što je 3NF?
3NF je treći normalan oblik koji se koristi u normalizaciji relacijske baze podataka. Prema Coddovoj definiciji, za tablicu se kaže da ima 3NF, ako i samo ako je ta tablica u drugom normalnom obliku (2NF), a svaki atribut u tablici koji ne pripada kandidatskom ključu treba izravno ovisiti na svakom ključu kandidata te tablice. Carlo Zaniolo je 1982. proizveo drugačije izraženu definiciju za 3NF. Tablice koje su u skladu s 3NF obično 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 da bi se umanjila suvišnost u tablicama. 3NF se smatra jačim normalnim oblikom od 2NF, a smatra se jačim normalnim oblikom od 1NF. Stoga, općenito, dobivanje tablice koja je u skladu s 3NF obrascem zahtijeva dekompoziciju tablice koja se nalazi 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 kandidatske ključeve koji se sastoje samo od jednog atributa (tj. Nekompozitnih kandidatskih ključeva), takva bi se tablica automatski podudarala s 2NF. Dekompozicija tablica rezultirat će dodatnim operacijama pridruživanja (ili kartezijanskim proizvodima) prilikom izvršavanja upita. To će povećati vrijeme računanja. S druge strane, tablice koje su u skladu s jačim normalnim obrascima imale bi manje suvišnih vrijednosti nego tablice koje su u skladu samo s slabijim normalnim oblicima.