Přeskočit na obsah

Normalizace databáze

Z Wikipedie, otevřené encyklopedie

Normalizace databáze je v informatice označení postupu, kdy je struktura dat v relační databázi přeorganizována tak, aby využívala výhody relačního modelu dat.

Charakteristika

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í nedostatkce 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 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