Osnove normalizacije baze podatkov

Če že nekaj časa delate z bazami podatkov, ste verjetno že slišali za izraz normalizacija. Morda vas je kdo vprašal: "Ali je ta baza podatkov normalizirana?" ali "Je to v BCNF?" Normalizacija se pogosto šteje za luksuz, za katerega imajo čas samo akademiki. Vendar pa poznavanje načel normalizacije in njihovo uporabo pri vsakodnevnih nalogah oblikovanja baze podatkov ni tako zapleteno in bi lahko drastično izboljšalo delovanje vašega DBMS.

V tem članku bomo predstavili koncept normalizacije in si na kratko ogledali najpogostejše normalne oblike.

Kaj je normalizacija?

Normalizacija je proces učinkovite organizacije podatkov v bazi podatkov. Obstajata dva cilja procesa normalizacije: odstranitev odvečnih podatkov (na primer shranjevanje istih podatkov v več kot eni tabeli) in zagotovitev odvisnosti od podatkov smiselno (shranjevanje samo povezanih podatkov v tabeli). Oba sta vredna cilja, saj zmanjšujeta količino prostora, ki ga zaužije baza podatkov, in zagotavljata logično shranjevanje podatkov.

Normalne oblike

Skupnost baz podatkov je razvila vrsto smernic za zagotavljanje normalizacije baz podatkov. Te se imenujejo normalne oblike in so oštevilčene od ena (najnižja oblika normalizacije, imenovana prva normalna oblika ali 1NF) do pet (peta normalna oblika ali 5NF). V praktičnih aplikacijah boste pogosto videli 1NF, 2NF in 3NF, skupaj z občasnim 4NF. Peta normalna oblika je zelo redko vidna in o njej v tem članku ne bomo govorili.

Preden začnemo z razpravo o normalnih oblikah, je pomembno poudariti, da so le smernice in smernice. Občasno se je treba od njih oddaljiti, da bi izpolnili praktične poslovne zahteve. Ko pa pride do sprememb, je nujno oceniti morebitne posledice, ki bi jih lahko imeli na vaš sistem, in upoštevati morebitne nedoslednosti. To pomeni, da raziščimo normalne oblike.

Prva normalna oblika (1NF)

Prva normalna oblika (1NF) določa temeljna pravila za organizirano bazo podatkov:

  • Odstranite podvojene stolpce iz iste tabele.
  • Ustvarite ločene tabele za vsako skupino povezanih podatkov in označite vsako vrstico z edinstvenim stolpcem ali nizom stolpcev ( primarni ključ).

Druga normalna oblika (2NF)

Druga normalna oblika (2NF) nadalje obravnava koncept odstranjevanja podvojenih podatkov:

  • Izpolnjevati vse zahteve prve normalne oblike.
  • Odstranite podnabore podatkov, ki veljajo za več vrstic tabele, in jih postavite v ločene tabele.
  • Ustvarite odnose med temi novimi tabelami in njihovimi predhodniki z uporabo tuji ključi.

Tretja normalna oblika (3NF)

Tretja normalna oblika (3NF) gre še en pomemben korak naprej:

  • Izpolnjevati vse zahteve druge normalne oblike.
  • Odstranite stolpce, ki niso odvisni od primarnega ključa.

Boyce-Codd normalna oblika (BCNF ali 3,5NF)

Boyce-Codd normalna oblika, imenovana tudi "tretja in pol (3,5) normalna oblika", dodaja še eno zahtevo:

  • Izpolnjevati vse zahteve tretje normalne oblike.
  • Vsaka determinanta mora biti a kandidatni ključ.

Četrta normalna oblika (4NF)

Nazadnje, četrta normalna oblika (4NF) ima še eno dodatno zahtevo:

  • Izpolnjevati vse zahteve tretje normalne oblike.
  • Relacija je v 4NF, če nima odvisnosti z več vrednostmi.

Ne pozabite, da so te smernice za normalizacijo kumulativne. Da je baza podatkov v 2NF, mora najprej izpolnjevati vse kriterije baze podatkov 1NF.

Ali naj se normaliziram?

Čeprav je normalizacija baze podatkov pogosto dobra ideja, ni absolutna zahteva. V nekaterih primerih je namerno kršenje pravil normalizacije dobra praksa.

Če želite zagotoviti, da je vaša baza podatkov normalizirana, začnite z učenjem, kako vstaviti svojo bazo podatkov Prva normalna oblika.