Normalizácia zabraňuje plytvaniu na disku tým, že minimalizuje alebo eliminuje nadbytočnosť.
Porovnávacia tabuľka
Základ pre porovnanie | normalizácie | Denormalizácia |
---|---|---|
základné | Normalizácia je proces vytvárania nastavenej schémy na ukladanie nepotrebných a konzistentných údajov. | Denormalizácia je proces kombinácie údajov, takže je možné ich rýchlo vyhľadávať. |
účel | Znížiť redundanciu a nekonzistenciu údajov. | Ak chcete dosiahnuť rýchlejšiu realizáciu dopytov prostredníctvom zavedenia redundancie. |
Použité v | Systém OLTP, kde je dôraz kladený na rýchlejšiu inštaláciu vložky, odstránenie a aktualizáciu anomálií a ukladanie údajov o kvalite. | OLAP systém, kde je dôraz kladený na zrýchlenie vyhľadávania a analýzy. |
Integrita údajov | zachovaná | Nemôže zachovať |
Nadbytok | eliminované | pridaný |
Počet tabuliek | stúpa | zníži |
Miesto na disku | Optimalizované využitie | plytvanie |
Definícia normalizácie
Normalizácia je metóda efektívneho usporiadania údajov v databáze. Zahŕňa zostavovanie tabuliek a vytvorenie vzťahov medzi týmito tabuľkami podľa niektorých istých pravidiel. Redundancia a nekonzistentná závislosť je možné pomocou týchto pravidiel odstrániť, aby bola flexibilná.
Redundantné dáta spôsobujú plytvanie na disku, zvyšujú nekonzistenciu údajov a spomaľujú dopyty DML. Ak sú tie isté údaje prítomné na viac ako jednom mieste a akékoľvek aktualizácie sa týkajú týchto údajov, musí sa táto zmena prejaviť vo všetkých lokalitách. Nekonzistentné údaje môžu robiť vyhľadávanie údajov a prístup k nim ťažšie tým, že strácajú cestu k nim.
Pre vykonanie normalizácie existujú rôzne dôvody, ako vyhnúť sa redundancii, aktualizácii anomálií, zbytočnému kódovaniu, uchovávaniu údajov do podoby, ktorá umožňuje ľahšie a presnejšie prispôsobiť zmeny a presadzovať obmedzenie údajov.
Normalizácia zahŕňa analýzu funkčných závislostí medzi atribútmi. Vzťahy (tabuľky) sa rozkladajú s anomáliami na vytvorenie vzťahov so štruktúrou. Pomáha pri rozhodovaní, ktoré atribúty by mali byť zoskupené do vzťahu.
Normalizácia je v zásade založená na koncepciách normálnych foriem . Tabuľka vzťahov sa považuje za normálnu, ak spĺňa určité obmedzenia. Existuje 6 definovaných normálnych foriem: 1NF, 2NF, 3NF, BCNF, 4NF a 5NF. Normalizácia by mala odstrániť redundanciu, nie však za cenu integrity.
Definícia denormalizácie
Denormalizácia je inverzný proces normalizácie, kde sa normalizovaná schéma prevádza na schému, ktorá má nadbytočné informácie. Výkonnosť sa zlepšuje pomocou redundancie a udržiavania nadbytočných údajov v súlade. Dôvodom na vykonanie denormalizácie sú režijné náklady vytvorené v procesore dopytu nadmerne normalizovanou štruktúrou.
Denormalizácia môže byť tiež definovaná ako metóda ukladania spojenia nadradených vzťahov normálnej formy ako základný vzťah, ktorý je v nižšej normálnej forme. Znižuje počet tabuliek a zložité spájanie tabuľky, pretože vyšší počet spojov môže spomaliť proces. Existujú rôzne denormalizačné techniky, ako napríklad: ukladanie odvoditeľných hodnôt, predbežné spájanie tabuliek, pevne zakódované hodnoty a zachovanie detailov s hlavným atď.
Tu denormalizačný prístup zdôrazňuje pojem, že umiestnením všetkých údajov na jedno miesto by sa mohlo vylúčiť potreba vyhľadávania týchto viacerých súborov na zhromažďovanie týchto údajov. Základná stratégia je dodržaná v denormalizácii, kde je zvolený najpoužívanejší proces na preskúmanie tých úprav, ktoré v konečnom dôsledku zlepšia výkonnosť. A najzákladnejšou zmenou je to, že do existujúcej tabuľky pridáte viacero atribútov, aby sa znížil počet spojov.
Kľúčové rozdiely medzi normalizáciou a denormalizáciou
- Normalizácia je technika rozdelenia údajov na viacero tabuliek, aby sa znížila redundancia údajov a nekonzistentnosť a aby sa dosiahla integrita údajov. Na druhej strane, Denormalizácia je technológiou spojenia údajov do jednej tabuľky, ktorá umožňuje rýchlejšie vyhľadávanie údajov.
- Normalizácia sa používa v systéme OLTP, ktorý kladie dôraz na rýchlejšiu tvorbu vložky, odstraňovanie a aktualizáciu anomálií. Naopak, denormalizácia sa používa v systéme OLAP, ktorý kladie dôraz na rýchlejšie vyhľadávanie a analýzu.
- Integrita údajov sa zachováva v normalizačnom procese, zatiaľ čo v denormalizácii je integrita dát ťažšie zachovaná.
- Redundantné dáta sa vylúčia pri normalizácii, zatiaľ čo denormalizácia zvyšuje nadbytočné údaje.
- Normalizácia zvyšuje počet tabuliek a spojov. Naproti tomu denormalizácia znižuje počet tabuliek a spája ich.
- Pri denormalizácii sa miesto na disku stráca, pretože rovnaké údaje sú uložené na rôznych miestach. Naopak, priestor na disku je optimalizovaný v normalizovanej tabuľke.
záver
Normalizácia a denormalizácia sú užitočné podľa situácie. Normalizácia sa používa, ak sa nevyhnutne vyžaduje rýchlejšie vloženie, odstránenie a aktualizácia anomálií a konzistencia údajov. Na druhej strane, Denormalizácia sa používa, keď je rýchlejšie vyhľadávanie dôležitejšie a optimalizovať čitateľnosť. Znižuje aj režijné náklady spôsobené nadmerne normalizovanými údajmi alebo komplikovanými spájaniami tabuľky.