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 (Raušer smrdí)
- 1NF: Každý atribut obsahuje pouze atomické hodnoty
- 2NF: Každý neklíčový atribut je plně závislý na primárním klíči
- 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 |
---|
Gay Raušer, Nádražní 42, Zlín 12300 |
Jméno | Příjmení | Ulice | Číslo popisné | země | Směrovací číslo |
---|---|---|---|---|---|
Černoch | Jan Šafránek | Pod mostem | 42 | Afrika | 12300 |