Pozreli sme sa na niekoľko aspektov normalizácie databázovej tabuľky. Najprv sme diskutovali o základných princípoch normalizácie databázy. Naposledy sme preskúmali základné požiadavky stanovené prvým normálnym formulárom (1NF). Teraz pokračujte v našej ceste a pokryte princípy druhej normálnej formy (2NF).
Všeobecné požiadavky 2NF
- Odstráňte podmnožiny údajov, ktoré platia pre viaceré riadky tabuľky, a umiestnite ich do samostatných tabuliek.
- Vytvárajte vzťahy medzi týmito novými tabuľkami a ich predchodcami pomocou cudzích kľúčov.
Tieto pravidlá možno zhrnúť do jednoduchého príkazu: 2NF sa pokúša znížiť množstvo redundantných údajov v tabuľke tým, že ich extrahuje, umiestni ich do nových tabuliek a vytvára vzťahy medzi týmito tabuľkami.
Pozrime sa na príklad. Predstavte si online obchod, ktorý uchováva informácie o zákazníkoch v databáze. Môžu mať jednu tabuľku s názvom Zákazníci s nasledujúcimi prvkami:
- CustNum
- Krstné meno
- Priezvisko
- adresa
- veľkomesto
- stáť
- ZIP
Stručný pohľad na túto tabuľku odhaľuje malé množstvo nadbytočných údajov. Ukladáme záznamy "Sea Cliff, NY 11579" a "Miami, FL 33157" dvakrát. Teraz by sme v našom jednoduchom príklade nemali príliš veľký priestor na ukladanie, ale predstavte si, ak by sme mali v našom stole tisíce riadkov. Navyše, ak by sa zmenil poštový kód pre službu Sea Cliff, bolo by potrebné vykonať túto zmenu na mnohých miestach v celej databáze.
V štruktúre databázy kompatibilnej s 2NF sa tieto redundantné informácie extrahujú a ukladajú do samostatnej tabuľky. Naša nová tabuľka (nazývame to ZIP) môže mať nasledujúce polia:
- ZIP
- veľkomesto
- stáť
Ak chceme byť super-efektívni, môžeme túto tabuľku dokončiť aj dopredu - pošta poskytuje adresár všetkých platných PSČ a ich vzťahy medzi mestom a štátom. Určite ste narazili na situáciu, keď bol tento typ databázy použitý. Niekto, kto prijal objednávku, mohol najprv požiadať o váš poštový kód a potom poznal mesto a štát, z ktorých ste volali. Tento typ usporiadania znižuje chybu operátora a zvyšuje účinnosť.
Teraz, keď sme odstránili duplicitné údaje z tabuľky Zákazníci, splnili sme prvé pravidlo druhého normálneho formulára. Stále potrebujeme použiť cudzí kľúč na spojenie dvoch tabuliek dohromady. Na vytvorenie tohto vzťahu použijeme PSČ (primárny kľúč z tabuľky ZIP). Tu je naša nová tabuľka Zákazníci:
- CustNum
- Krstné meno
- Priezvisko
- adresa
- ZIP
Teraz sme minimalizovali množstvo redundantných informácií uložených v databáze a naša štruktúra je v druhej normálnej podobe.













