Normalizace databáze
Pojem normalizace je spjat s relačním modelem. V relačním modelu jsou data uložena v tabulkách, na které má jisté požadavky. Při splnění požadavků je tabulka označována jako normalizovaná. Pokud nejsou tyto požadavky splněny, jsou označovány jako nenormalizované a proces jejich převodu na tabulky se označuje jako normalizace. Při tomto procesu dochází k odstraňování nedostatků tabulek jako je redundance nebo možnost vzniku aktualizační anomálie, tj. nechtěného vedlejšího efektu operace nad databází, při kterém dojde ke ztrátě nebo nekonzistenci dat. Postup normalizace je rozdělen do několika kroků a po dokončení každého z nich se tabulka nachází v určité normální formě. V praxi se většinou normalizuje do třetí normální formy, vyšší normální formy je vcelku obtížné porušit a vyžadují relativně velké znalosti, stejně jako návrh databází takové velikosti, kde je možné je porušit.
Normální formy
- 0NF: Alespoň jeden atribut obsahuje více než jednu hodnotu.
- 1NF: Každý atribut obsahuje pouze atomické hodnoty.
- 2NF: Každý neklíčový atribut je plně závislý na každém kandidátním klíči. (Neklíčovým atributem rozumíme atribut, který není součástí žádného kandidátního klíče.)
- 3NF: Všechny neklíčové atributy musí být vzájemně nezávislé.
- BCNF: Atributy, které jsou součástí primárního klíče, musí být vzájemně nezávislé.
- 4NF: Relace popisuje pouze příčinnou souvislost mezi klíčem a atributy.
- 5NF: Relaci již není možno bezeztrátově rozložit.
Pro splnění určité normální formy je nutné splnit i ty předchozí. V praxi se obvykle používají pouze první tři.
Ukázky záznamu v databázi
Adresa |
---|
Jan Novák, Nádražní 42, Zlín 12300 |
Jméno | Příjmení | Ulice | Číslo popisné | Město | Směrovací číslo |
---|---|---|---|---|---|
Jan | Novák | Nádražní | 42 | Zlín | 12300 |