1NF vs 2NF vs 3NF
Normalizācija ir process, kas tiek veikts, lai samazinātu atlaišanu, kas ir relāciju datu bāzu datos. Šajā procesā lielās tabulas galvenokārt tiks sadalītas mazākās tabulās ar mazāku atlaišanu. Šīs mazākās tabulas būs savstarpēji saistītas, izmantojot precīzi noteiktas attiecības. Labi normalizētā datu bāzē jebkurām datu izmaiņām vai modifikācijām būs jāmaina tikai viena tabula. Pirmo normālo formu (1NF), otro normālo formu (2NF) un trešo normālo formu (3NF) ieviesa Edgars F. Kodds, kurš ir arī relāciju modeļa un normalizācijas jēdziena izgudrotājs..
Kas ir 1NF?
1NF ir pirmā normālā forma, kas nodrošina minimālo prasību kopumu relāciju datu bāzes normalizēšanai. Tabula, kas atbilst 1NF, nodrošina, ka tā faktiski pārstāv saistību (t.i., tajā nav neviena ieraksta, kas atkārtojas), taču nav vispārpieņemtas 1NF definīcijas. Viens svarīgs īpašums ir tāds, ka tabulā, kas atbilst 1NF, nevarētu būt atribūtus, kuriem ir relatīva vērtība (t.i., visiem atribūtiem vajadzētu būt atomu vērtībām).
Kas ir 2NF?
2NF ir otrā normālā forma, ko izmanto relāciju datu bāzēs. Lai tabula atbilstu 2NF, tai būtu jāatbilst 1NF, un jebkuram atribūtam, kas neietilpst nevienā kandidāta atslēgā (t.i., primārajos atribūtos), jābūt pilnībā atkarīgam no jebkura tabulā esošā kandidāta atslēgas..
Kas ir 3NF?
3NF ir trešā normālā forma, ko izmanto relāciju datu bāzes normalizēšanai. Saskaņā ar Codd definīciju tabula tiek uzskatīta par 3NF tikai un vienīgi tad, ja šī tabula ir otrajā normālajā formā (2NF), un katram tabulas atribūtam, kas nepieder kandidāta atslēgai, vajadzētu būt tieši atkarīgiem. uz katras tabulas atslēgas kandidāta. 1982. gadā Karlo Zaniolo izstrādāja atšķirīgi izteiktu 3NF definīciju. Tabulās, kas atbilst 3NF, parasti nav noviržu, kas rodas, ievietojot, dzēšot vai atjauninot ierakstus tabulā.
Kāda ir atšķirība starp 1NF un 2NF un 3NF?
1NF, 2NF un 3NF ir normālas formas, kuras izmanto relāciju datu bāzēs, lai samazinātu dublēšanos tabulās. 3NF tiek uzskatīts par spēcīgāku normālo formu nekā 2NF, un to uzskata par spēcīgāku normālo formu nekā 1NF. Tāpēc kopumā, lai iegūtu tabulu, kas atbilst 3NF formai, būs jāsadala tabula, kas atrodas 2NF. Tāpat, lai iegūtu tabulu, kas atbilst 2NF, būs nepieciešams sadalīt tabulu, kas atrodas 1NF. Tomēr, ja tabulā, kas atbilst 1NF, ir kandidātu atslēgas, kuras sastāv tikai no viena atribūta (t.i., nesaliktas kandidātu atslēgas), šāda tabula automātiski atbilstu 2NF. Tabulu sadalīšana radīs papildu pievienošanās operācijas (vai Dekarta izstrādājumus), izpildot vaicājumus. Tas palielinās aprēķina laiku. No otras puses, tabulām, kas atbilst stingrākām normālām formām, būtu mazāk atlaižu nekā tabulām, kuras atbilst tikai vājākām normālām formām.