Základy normalizácie databázy

Normalizácia databázy

Ak pracujete s databázou na chvíľu, je pravdepodobné, že ste počuli termín normalizácia. Možno sa vás niekto spýtal "Je táto databáza normalizovaná?" alebo "Je to v BCNF ?" Normalizácia sa často odstraňuje ako luxus, ktorý majú iba akademici čas. Avšak vedomosť princípov normalizácie a ich uplatnenie na vaše denné úlohy týkajúce sa dizajnu databázy naozaj nie je všetko komplikované a mohlo by drasticky zlepšiť výkonnosť vášho DBMS.

V tomto článku predstavíme koncept normalizácie a krátky pohľad na najbežnejšie normálne formy.

Čo je normalizácia?

Normalizácia je proces efektívnej organizácie údajov v databáze. Existujú dva ciele procesu normalizácie: odstránenie redundantných údajov (napríklad ukladanie rovnakých údajov vo viac ako jednej tabuľke) a zabezpečenie závislostí údajov zmysluplné (iba ukladanie súvisiacich údajov do tabuľky). Obe tieto ciele sú cenné, pretože znižujú množstvo miesta, ktoré databáza spotrebúva, a zabezpečuje logické uloženie údajov.

Normálne formuláre

Databázová komunita vytvorila rad usmernení na zabezpečenie normalizácie databáz. Tieto sa označujú ako normálne formy a sú očíslované od jednej (najnižšej formy normalizácie, označovanej ako prvá normálna forma alebo 1NF) cez päť (piaty normálny tvar alebo 5NF). V praktických aplikáciách často uvidíte 1NF, 2NF a 3NF spolu s príležitostným 4NF. Piata normálna forma je veľmi zriedka vidieť a nebudú diskutované v tomto článku.

Predtým, než začneme diskutovať o bežných formách, je dôležité poukázať na to, že sú iba usmerneniami a usmerneniami. Príležitostne sa stáva, že je potrebné od nich odchýliť, aby spĺňali praktické obchodné požiadavky. Ak sa však uskutočnia zmeny, je mimoriadne dôležité posúdiť akékoľvek možné dôsledky, ktoré by mohli mať vo vašom systéme, a zohľadniť prípadné nezrovnalosti. To je povedané, skúmme bežné formy.

Prvý normálny formulár (1NF)

Prvý normálny formulár (1NF) určuje základné pravidlá pre organizovanú databázu:

Druhý normálny formulár (2NF)

Druhá normálna forma (2NF) ďalej rieši koncept odstránenia duplicitných údajov :

Tretí normálny formulár (3NF)

Tretia normálna forma (3NF) ide o ďalší veľký krok:

Boyce-Codd normálna forma (BCNF alebo 3.5NF)

Normálna forma Boyce-Codd, označovaná aj ako "tretia a polovica (3.5) normálna forma", pridáva ešte jednu požiadavku:

Štvrtá normálna forma (4NF)

Napokon štvrtá normálna forma (4NF) má jednu ďalšiu požiadavku:

Pamätajte si, že tieto normalizačné usmernenia sú kumulatívne. Aby bola databáza v 2NF, musí najprv spĺňať všetky kritériá databázy 1NF.

Mala by som normalizovať?

Zatiaľ čo normalizácia databázy je často dobrý nápad, nie je to absolútna požiadavka. V skutočnosti existujú prípady, kedy úmyselné porušenie pravidiel normalizácie je dobrým postupom. Ak chcete získať ďalšie informácie o tejto téme, prečítajte si Ak mám normalizovať databázu?

Ak chcete zaistiť, aby bola vaša databáza normalizovaná, začnite sa učiť, ako dať svoju databázu do prvej normálnej formy .