Obsah:
- Definícia - Čo znamená druhá normálna forma (2NF)?
- Techopedia vysvetľuje druhý normálny formulár (2NF)
Definícia - Čo znamená druhá normálna forma (2NF)?
Druhý normálny formulár (2NF) je druhým krokom v normalizácii databázy. 2NF stavia na prvej normálnej forme (1NF).
Normalizácia je proces organizácie údajov v databáze tak, aby spĺňal dve základné požiadavky:
- Neexistuje žiadna redundancia údajov (všetky údaje sú uložené iba na jednom mieste).
- Závislosti od údajov sú logické (všetky súvisiace údajové položky sa ukladajú spolu).
Tabuľka 1NF je vo forme 2NF vtedy a len vtedy, ak všetky jej hlavné atribúty sú funkčne závislé od všetkých kandidátskych kľúčov.
Techopedia vysvetľuje druhý normálny formulár (2NF)
Po splnení požiadaviek 1NF vyžaduje 2NF, aby návrhár databázy vykonal toto:
- Rozdeľte všetky údaje, čo vedie k mnohým vzťahom a uložte ich ako samostatné tabuľky. Napríklad v databáze, ktorú používa školská aplikácia, sú dve tabuľky STUDENT a SUBJECT. V reálnom živote študent berie súčasne niekoľko predmetov, zatiaľ čo predmet študuje niekoľko študentov. Ide o mnohostranné vzťahy. 2NF uvádza, že tento vzťah sa musí rozdeliť na viac ako dve vyššie uvedené tabuľky (ŠTUDENT a PREDMET). Jedným zo spôsobov, ako ich rozdeliť, je zavedenie tretej tabuľky, ktorá obsahuje stĺpce Student_ID, Subject_ID, Semester a Year. Týmto spôsobom neexistuje priamy vzťah medzi ŠTUDENTOM a PREDMETOM, pretože všetky vzťahy sa vytvárajú nepriamo prostredníctvom tretej tabuľky.
- Vytvorte vzťahy medzi tabuľkami pomocou cudzích kľúčov. Napríklad databáza banky obsahuje dve tabuľky: CUSTOMER_MASTER (na ukladanie detailov zákazníka) a ACCOUNT_MASTER (na ukladanie detailov o bankových účtoch, vrátane toho, ktorý zákazník vlastní daný účet). Musí existovať spôsob, ako prepojiť tieto dve tabuľky a zistiť, kto je pre každý účet. Spôsob, ako to dosiahnuť, je pomocou cudzieho kľúča, ktorým je stĺpec v tabuľke ACCOUNT_MASTER, ktorý ukazuje na zodpovedajúci stĺpec v tabuľke CUSTOMER_MASTER.
Tabuľka, pre ktorú neexistujú žiadne čiastočné funkčné závislosti na primárnom kľúči, môže alebo nemusí byť v 2NF. Okrem primárneho kľúča môže tabuľka obsahovať ďalšie kandidátske kľúče; je potrebné ustanoviť, že žiadne neprimárne atribúty nemajú závislosť na kľúči od žiadneho z týchto kandidátskych kľúčov.
