Normalizacija vs denormalizacija
Relacijske zbirke podatkov sestavljajo relacije (povezane tabele). Tabele so sestavljene iz stolpcev. Če sta tabeli dve veliki (tj. Preveč stolpcev v eni tabeli), lahko pride do nepravilnosti v zbirki podatkov. Če sta tabeli dve majhni (tj. Bazo podatkov sestavlja veliko manjših tabel), bi bilo neučinkovito za poizvedovanje. Normalizacija in denormalizacija sta dva procesa, ki se uporabljata za optimizacijo delovanja baze podatkov. Z normalizacijo se zmanjšajo presežki, ki so prisotni v podatkovnih tabelah. Denormalizacija (obratno od normalizacije) doda odvečne podatke ali podatke skupine.
Kaj je normalizacija?
Normalizacija je postopek, ki se izvaja za zmanjšanje presežkov, ki so prisotni v podatkih v relacijskih zbirkah podatkov. Ta postopek bo večinoma razdelil velike tabele na manjše tabele z manj presežki (imenovane »običajne oblike«). Te manjše tabele bodo med seboj povezane z natančno definiranimi odnosi. V dobro normalizirani zbirki podatkov bo vsaka sprememba ali sprememba podatkov zahtevala spreminjanje samo ene tabele. Prvo normalno obliko (1NF), drugo normalno obliko (2NF) in tretjo normalno obliko (3NF) je predstavil Edgar F. Codd. Normalno obliko Boyce-Codd (BCNF) sta leta 1974 uvedla Codd in Raymond F. Boyce. Opredeljene so višje normalne oblike (4NF, 5NF in 6NF), ki pa se uporabljajo le redko.
Tabela, ki ustreza 1NF, zagotavlja, da dejansko predstavlja relacijo (tj. Ne vsebuje nobenih zapisov, ki se ponavljajo), in ne vsebuje nobenih atributov, ki bi bili vrednoteni v relaciji (tj. Vsi atributi bi morali imeti atomske vrednosti). Da je tabela skladna z 2NF, mora biti skladna z 1NF in vsak atribut, ki ni del nobenega ključa kandidata (tj. Nepristranski atributi), mora biti v celoti odvisen od katerega koli ključa kandidata v tabeli. Po Coddovi definiciji naj bi bila tabela v 3NF, če in samo, če je ta tabela v drugi običajni obliki (2NF) in vsak atribut v tabeli, ki ne pripada kandidatskemu ključu, bi moral biti neposredno odvisen od vsakega ključ te mize. BCNF (znan tudi kot 3.5NF) zajema nekatere anomalije, ki jih 3NF ne obravnava.
Kaj je denormalizacija?
Denormalizacija je obratni postopek normalizacije. Denormalizacija deluje tako, da dodaja odvečne podatke ali združuje podatke, da optimizira delovanje. Čeprav se dodajanje odvečnih podatkov zdi kontraproduktivno, je včasih denormalizacija zelo pomemben postopek za premagovanje nekaterih pomanjkljivosti v programski opremi relacijskih baz podatkov, ki lahko z normaliziranimi bazami podatkov (celo prilagojene za višjo zmogljivost) povzročijo visoke kazni. To je zato, ker je združevanje več relacij (ki so rezultati normalizacije) za poizvedbo včasih lahko počasno, odvisno od dejanske fizične izvedbe sistemov baz podatkov.
Kakšna je razlika med normalizacijo in denormalizacijo? - Normalizacija in denormalizacija sta dva popolnoma nasprotna procesa. - Normalizacija je postopek delitve večjih tabel na manjše z zmanjšanjem odvečnih podatkov, medtem ko je denormalizacija postopek dodajanja odvečnih podatkov za optimizacijo delovanja. - Izvaja se normalizacija, da se preprečijo nepravilnosti v zbirkah podatkov. - Denormalizacija se običajno izvaja za izboljšanje učinkovitosti branja baze podatkov, vendar lahko zaradi dodatnih omejitev, ki se uporabljajo za denormalizacijo, zapisi (tj. Operacije vstavljanja, posodabljanja in brisanja) postanejo počasnejše. Zato lahko denormalizirana baza podatkov nudi slabše rezultate pisanja kot normalizirana baza podatkov. - Pogosto je priporočljivo, da se "normalizirate, dokler ne boli, denormalizirajte, dokler ne deluje". |