Atšķirība starp 3NF un BCNF

Atšķirība starp 3NF un BCNF
Atšķirība starp 3NF un BCNF

Video: Atšķirība starp 3NF un BCNF

Video: Atšķirība starp 3NF un BCNF
Video: Agile vs Waterfall Methodology | Difference Between Agile & Waterfall | DevOps Tutorial |Simplilearn 2024, Jūlijs
Anonim

3NF pret BCNF

Normalizācija ir process, kas tiek veikts, lai samazinātu relāciju datu bāzu datos esošās dublēšanās. Šis process galvenokārt sadalīs lielas tabulas mazākās tabulās ar mazāku atlaišanu. Šīs mazākās tabulas būs saistītas viena ar otru, izmantojot labi definētas attiecības. Labi normalizētā datu bāzē jebkurai datu izmaiņai vai modifikācijai būs jāmaina tikai viena tabula. Trešo normālo formu (3NF) 1971. gadā ieviesa Edgars F. Kods, kurš ir arī relāciju modeļa un normalizācijas jēdziena izgudrotājs. Boisa-Koda normālo formu (BCNF) 1974. gadā ieviesa Kods un Raimonds F. Boiss.

Kas ir 3NF?

3NF ir trešā normālā forma, ko izmanto relāciju datu bāzes normalizēšanā. Saskaņā ar Codd definīciju tabula tiek uzskatīta par 3NF, ja un tikai tad, ja šī tabula ir otrajā parastajā formā (2NF), un katram tabulas atribūtam, kas nepieder kandidāta atslēgai, ir jābūt tieši atkarīgam no katra šīs tabulas kandidāta atslēga. 1982. gadā Carlo Zaniolo izstrādāja savādāk izteiktu 3NF definīciju. Tabulās, kas atbilst 3NF, parasti nav anomāliju, kas rodas, ievietojot, dzēšot vai atjauninot ierakstus tabulā.

Kas ir BCNF?

BCNF (pazīstams arī kā 3.5NF) ir vēl viena normāla forma, ko izmanto relāciju datu bāzes normalizēšanā. Tas tika ieviests, lai fiksētu dažas anomālijas, kuras 3NF nerisina. Tiek uzskatīts, ka tabula atrodas BCNF, ja un tikai tad, ja katrai no formas A → B atkarībām, kas nav triviālas, A ir superatslēga. Tabulas, kas nav BCNF parastajā formā, sadalīšana negarantē tabulu izveidi BCNF formā (vienlaikus saglabājot atkarības, kas bija sākotnējā tabulā).

Kāda ir atšķirība starp 3NF un BCNF?

Gan 3NF, gan BCNF ir parastas formas, kas tiek izmantotas relāciju datu bāzēs, lai līdz minimumam samazinātu dublēšanos tabulās. Tabulā, kas ir BCNF parastajā formā, katrai netriviālajai formas A → B funkcionālajai atkarībai A ir superatslēga, turpretim tabulai, kas atbilst 3NF, jābūt 2NF, un katrai ne-pirmā atslēgai. atribūtam jābūt tieši atkarīgam no katras šīs tabulas kandidāta atslēgas. BCNF tiek uzskatīts par spēcīgāku normālu formu nekā 3NF, un tas tika izstrādāts, lai aptvertu dažas anomālijas, kuras nevarēja uztvert 3NF. Lai iegūtu tabulu, kas atbilst BCNF veidlapai, būs jāsadala tabula, kas atrodas 3NF. Šīs sadalīšanas rezultātā, izpildot vaicājumus, tiks veiktas papildu savienošanas darbības (vai Dekarta produkti). Tas palielinās skaitļošanas laiku. No otras puses, tabulām, kas atbilst BCNF, būtu mazāk atlaišanas nekā tabulām, kas atbilst tikai 3NF. Turklāt lielāko daļu laika ir iespējams iegūt tabulu, kas atbilst 3NF, netraucējot atkarības saglabāšanu un bezzudumu savienošanu. Taču tas ne vienmēr ir iespējams, izmantojot BCNF.

Ieteicams: