Veľká databáza definovaná ako jeden vzťah môže viesť k duplicite údajov. Toto opakovanie údajov môže mať za následok:
- Rozširovanie vzťahov.
- Nie je ľahké udržiavať a aktualizovať údaje, pretože by to vyžadovalo prehľadávanie mnohých záznamov vo vzťahu.
- Plytvanie a slabé využitie miesta na disku a zdrojov.
- Pravdepodobnosť chýb a nezrovnalostí sa zvyšuje.
Aby sme tieto problémy zvládli, mali by sme analyzovať a rozložiť vzťahy s nadbytočnými údajmi na menšie, jednoduchšie a dobre štruktúrované vzťahy, ktoré spĺňajú požadované vlastnosti. Normalizácia je proces rozkladu vzťahov na vzťahy s menším počtom atribútov.
Čo je normalizácia?
- Normalizácia je proces organizácie údajov v databáze.
- Normalizácia sa používa na minimalizáciu redundancie zo vzťahu alebo množiny vzťahov. Používa sa tiež na odstránenie nežiaducich charakteristík, ako sú anomálie vkladania, aktualizácie a vymazania.
- Normalizácia rozdelí väčšiu tabuľku na menšie a prepojí ich pomocou vzťahov.
- Normálna forma sa používa na zníženie redundancie z databázovej tabuľky.
Prečo potrebujeme normalizáciu?
Hlavným dôvodom normalizácie vzťahov je odstránenie týchto anomálií. Neschopnosť eliminovať anomálie vedie k redundancii údajov a môže spôsobiť integritu údajov a ďalšie problémy s rastom databázy. Normalizácia pozostáva zo série pokynov, ktoré vám pomôžu pri vytváraní dobrej štruktúry databázy.
Anomálie úpravy údajov možno rozdeliť do troch typov:
Typy normálnych foriem:
Normalizácia prebieha prostredníctvom série etáp nazývaných normálne formy. Normálne formy platia pre jednotlivé vzťahy. Hovorí sa, že vzťah má konkrétnu normálnu formu, ak spĺňa obmedzenia.
Nasledujú rôzne typy normálnych foriem:
Normálna forma | Popis |
---|---|
1NF | Vzťah je v 1NF, ak obsahuje atómovú hodnotu. |
2NF | Vzťah bude v 2NF, ak je v 1NF a všetky nekľúčové atribúty sú plne funkčné v závislosti od primárneho kľúča. |
3NF | Vzťah bude v 3NF, ak je v 2NF a neexistuje žiadna prechodová závislosť. |
BCNF | Silnejšia definícia 3NF je známa ako normálna forma Boycea Codda. |
4NF | Vzťah bude v 4NF, ak je v normálnej forme Boycea Codda a nemá žiadnu viachodnotovú závislosť. |
5NF | Vzťah je v 5NF. Ak je v 4NF a neobsahuje žiadnu závislosť spojenia, spojenie by malo byť bezstratové. |
Výhody normalizácie
- Normalizácia pomáha minimalizovať redundanciu údajov.
- Väčšia celková organizácia databázy.
- Konzistencia údajov v databáze.
- Oveľa flexibilnejší návrh databázy.
- Presadzuje koncepciu vzťahovej integrity.
Nevýhody normalizácie
- Nemôžete začať budovať databázu, kým nebudete vedieť, čo používateľ potrebuje.
- Výkon sa zhoršuje pri normalizácii vzťahov k vyšším normálnym formám, t.j. 4NF, 5NF.
- Normalizovať vzťahy vyššieho stupňa je časovo veľmi náročné a náročné.
- Neopatrný rozklad môže viesť k zlému návrhu databázy, čo vedie k vážnym problémom.