Normalizace databáze

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

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[editovat | editovat zdroj]

  • 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 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[editovat | editovat zdroj]

adresa v tabulce nesplňující 1NF
Adresa
Jan Novák, Nádražní 42, Zlín 12300
adresa v tabulce splňující 1NF
Jméno Příjmení Ulice Číslo popisné Město Směrovací číslo
Jan Novák Nádražní 42 Zlín 12300

Externí odkazy[editovat | editovat zdroj]