Web Developmentpokročilý

Čo je Normalizácia?

Normalizácia je proces organizovania dát v relačnej databáze s cieľom minimalizovať duplicitu a zabezpečiť konzistentnosť. Rozdeľuje veľké tabuľky na menšie a definuje vzťahy medzi nimi. Existuje viacero normálnych foriem, pričom väčšina aplikácií používa 3. normálnu formu.

Definícia Normalizácia

Čo je normalizácia

Normalizácia databázy je proces štruktúrovania relačnej databázy podľa série pravidiel nazývaných normálne formy. Cieľom je eliminovať redundanciu dát (duplicitné ukladanie rovnakých informácií) a anomálie pri vkladaní, aktualizácii a mazaní záznamov.

Normálne formy

  • 1NF (Prvá normálna forma) — každý stĺpec obsahuje len atomické (nedeliteľné) hodnoty, žiadne opakujúce sa skupiny
  • 2NF (Druhá normálna forma) — spĺňa 1NF a každý ne-kľúčový stĺpec závisí od celého primárneho kľúča
  • 3NF (Tretia normálna forma) — spĺňa 2NF a žiadny ne-kľúčový stĺpec nezávisí od iného ne-kľúčového stĺpca
  • BCNF, 4NF, 5NF — vyššie formy riešia špeciálne prípady, v praxi sa používajú zriedka

Normalizácia vs. denormalizácia

Plne normalizovaná databáza je konzistentná, ale dotazy vyžadujú veľa JOINov, čo môže byť pomalé. V praxi sa preto používa denormalizácia — cielené zavedenie kontrolovanej duplicity pre zvýšenie výkonu čítania. Typicky sa denormalizujú tabuľky pre reporting a analytiku.

Praktický príklad

Príklad bez normalizácie: Tabuľka objednávok obsahuje meno zákazníka, adresu, telefón, názov produktu a cenu v jednom riadku. Ak zákazník zmení adresu, musíte ju zmeniť v stovkách riadkov.

Po normalizácii (3NF): Zákazník je v samostatnej tabuľke, produkt v ďalšej, objednávka len odkazuje na oboch cez ID. Adresa sa mení na jednom mieste — všetky objednávky automaticky odkazujú na správnu adresu.

Často kladené otázky

Čo je normalizácia databázy?

Normalizácia je proces organizovania tabuliek v databáze tak, aby sa minimalizovala duplicita dát a zabezpečila konzistentnosť. Rozdeľuje veľké tabuľky na menšie prepojené tabuľky.

Čo je 3. normálna forma?

Tretia normálna forma (3NF) znamená, že každý stĺpec v tabuľke závisí priamo od primárneho kľúča a od ničoho iného. Je to najčastejšie používaná úroveň normalizácie vo webových aplikáciách.

Kedy sa oplatí denormalizovať?

Denormalizácia sa oplatí, keď potrebujete maximálny výkon čítania a ste ochotní akceptovať duplicitu dát — typicky v analytických databázach, dashboardoch a cachovaných tabuľkách.

Súvisiace pojmy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.