Normalizácia (databázy): Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Wizzo-Bot (diskusia | príspevky)
d odstránenie starej šablóny {{Link FA}} a {{Link GA}}
d preklepy
Riadok 2:
 
== Normálne formy ==
[[Edgar Frank Codd]] pôvodne definoval 3 normálne formy. Prvá NF vyžaduje, aby boli tabuľky vytvorené z primárneho kľúča a niekoľkých [[atomicita|atomických]] atribútov, druhá a tretia sa zaoberajú vzťahom nekľúčových atribútov k [[primárny kľúč|primárnemu kľúču]]. Tieto sa dajú zosumarizovať ako požiadavka, aby všetky nekľúčové atribúty boli funkčne závislé naod „kľúči„kľúča, celomcelého kľúčikľúča a ničomničoho inominého ako naod kľúči“kľúča“. V praxi je väčšina aplikácií v 3NF plne normalizovaná. Výskum však objavil potenciálne anomálie operácie [[update]] v databázach v 3NF. [[BCNF]] je ďalším zlepšením 3NF, ktoré sa pokúša tieto anomálie odstrániť.
 
Štvrtá a piata normálna forma sa zaoberajú konkrétne reprezentáciou vzťahov 1:N a M:N. Šiesta NF sa vzťahuje iba na [[temporálna databáza|temporálne databázy]].
Riadok 12:
 
=== Druhá normálna forma (2NF) ===
Druhá normálna forma požaduje aby relácia bola v 1NF a zároveň každý nekľúčový atribút bol naod [[primárny kľúč|primárnomprimárneho kľúčikľúča]] úplne funkčne závislý (naod celomcelého kľúčikľúča, nie len naod jeho podmnožinepodmnožiny).
 
Napríklad relácia:
Riadok 21:
Známka
 
nie je v 2NF, pretože názov predmetu nie je závislý naod celomcelého kľúčikľúča, ale len naod jeho časti (a to naod kódekódu predmetu). Na prevod do 2NF by bolo potrebné ju rozdeliť na dve, pričom z pôvodnej relácie by sme odstránili názov predmetu a vytvorili by sme novú reláciu:
 
Kód predmetu (primárny kľúč)