Normalizacija sprječava gubitak prostora na disku minimiziranjem ili uklanjanjem zalihosti.
Tablica usporedbe
Osnova za usporedbu | Normalizacija | Denormalization |
---|---|---|
Osnovni, temeljni | Normalizacija je proces stvaranja set sheme za pohranu ne-redundantnih i konzistentnih podataka. | Denormalizacija je proces kombiniranja podataka tako da se može brzo ispitati. |
Svrha | Da bi se smanjila zalihost podataka i nedosljednost. | Postići brže izvršavanje upita uvođenjem redundancije. |
Korišteno u | OLTP sustav, gdje se naglašava brže umetanje, brisanje i ažuriranje anomalija i pohranjivanje kvalitetnih podataka. | OLAP sustav, gdje je naglasak na bržoj pretrazi i analizi. |
Integritet podataka | Održavati | Ne može zadržati |
redundancija | eliminiran | dodano |
Broj tablica | povećava | smanjuje |
Prostor na disku | Optimizirano korištenje | Rasipanje |
Definicija normalizacije
Normalizacija je metoda koja učinkovito raspoređuje podatke u bazu podataka. To uključuje izgradnju tablica i postavljanje odnosa između tih tablica prema nekim određenim pravilima. Redundantnost i nedosljednost ovisnosti mogu se ukloniti pomoću ovih pravila kako bi bila fleksibilnija.
Redundantni podaci troše prostor na disku, povećavaju nedosljednost podataka i usporavaju DML upite. Ako su isti podaci prisutni na više mjesta, a ažuriranje je izvršeno na tim podacima, promjena se mora odraziti na svim lokacijama. Nekonzistentni podaci mogu otežati pretraživanje podataka i pristup gubitku putanje do njega.
Postoje razni razlozi za normalizaciju kao što je izbjegavanje redundancije, ažuriranje anomalija, nepotrebno kodiranje, zadržavanje podataka u obliku koji se može prilagoditi promjenama lakše i točnije te za provedbu ograničenja podataka.
Normalizacija uključuje analizu funkcionalnih ovisnosti između atributa. Odnosi (tablice) se dekomponiraju s anomalijama kako bi se stvorili odnosi s strukturom. Pomaže u odlučivanju koje atribute treba grupirati u odnos.
Normalizacija se u osnovi temelji na konceptima normalnih oblika . Za relativnu tablicu se kaže da je u normalnom obliku ako ispunjava određeni skup ograničenja. Postoji 6 definiranih normalnih oblika: 1NF, 2NF, 3NF, BCNF, 4NF i 5NF. Normalizacija bi trebala eliminirati zalihost, ali ne po cijenu integriteta.
Definicija denormalizacije
Denormalizacija je inverzni proces normalizacije, gdje se normalizirana shema pretvara u shemu koja ima redundantne informacije. Performanse su poboljšane korištenjem redundancije i održavanja redundantnih podataka konzistentnim. Razlog za obavljanje denormalizacije su režijski troškovi koji su proizvedeni u procesoru upita pomoću normalizirane strukture.
Denormalizacija se također može definirati kao način pohranjivanja spoja odnosa superiorne normalne forme kao baznog odnosa, koji je u nižem normalnom obliku. To smanjuje broj tablica, a komplicirana tablica spaja jer veći broj pridruživanja može usporiti proces. Postoje razne tehnike denormalizacije kao što su: pohranjivanje izvedivih vrijednosti, pred-pridruživanje tablica, tvrdo kodiranih vrijednosti i čuvanje detalja s nadređenim itd.
Ovdje denormalizacijski pristup naglašava koncept koji bi stavljanjem svih podataka na jedno mjesto mogao eliminirati potrebu pretraživanja tih višestrukih datoteka za prikupljanje tih podataka. U denormalizaciji se slijedi osnovna strategija, gdje se odabire najveći dio vladajućeg procesa kako bi se ispitale one modifikacije koje će u konačnici poboljšati performanse. A najosnovnija promjena je dodavanje više atributa postojećoj tablici kako bi se smanjio broj pridruživanja.
Ključne razlike između normalizacije i denormalizacije
- Normalizacija je tehnika dijeljenja podataka u više tablica kako bi se smanjila zalihost podataka i nedosljednost te kako bi se postigao integritet podataka. S druge strane, denormalizacija je tehnika kombiniranja podataka u jednu tablicu kako bi se brže dohvatili podaci.
- Normalizacija se koristi u OLTP sustavu, što naglašava brže umetanje, brisanje i ažuriranje anomalija. Nasuprot tome, Denormalization se koristi u OLAP sustavu, što naglašava brže pretraživanje i analizu.
- Integritet podataka se održava u procesu normalizacije, dok je u denormalizaciji integritet podataka teže zadržati.
- Redundantni podaci se eliminiraju kada se normalizacija izvodi, a denormalizacija povećava redundantne podatke.
- Normalizacija povećava broj tablica i pridruživanja. Nasuprot tome, denormalizacija smanjuje broj tablica i spaja se.
- Prostor na disku gubi se u denormalizaciji jer su isti podaci pohranjeni na različitim mjestima. Naprotiv, prostor na disku optimiziran je u normaliziranoj tablici.
Zaključak
Normalizacija i denormalizacija su korisni prema situaciji. Normalizacija se koristi kada su anomalije bržeg umetanja, brisanja i ažuriranja i konzistentnosti podataka nužno potrebne. S druge strane, Denormalizacija se koristi kada je brže pretraživanje važnije i kako bi se optimizirale performanse čitanja. On također smanjuje opće troškove koje stvaraju prekomjerno normalizirani podaci ili komplicirano spajanje tablica.