logo

Druhá normálna forma (2NF)

Prvá normálna forma (1NF) neodstraňuje nadbytočnosť, ale skôr odstraňuje opakujúce sa skupiny. Namiesto viacerých stĺpcov rovnakého druhu údajov v zázname (0NF alebo nenormalizovaná forma) odstránite opakované informácie do samostatného vzťahu a predstavíte ich ako riadky. To je to, čo predstavuje 1NF.

Druhá normálna forma

Druhá normálna forma (2NF) je založená na koncepte plne funkčnej závislosti. Druhá normálna forma sa vzťahuje na vzťahy so zloženými kľúčmi, to znamená na vzťahy s primárnym kľúčom zloženým z dvoch alebo viacerých atribútov. Vzťah s primárnym kľúčom s jedným atribútom je automaticky aspoň 2NF. Vzťah, ktorý nie je v 2NF, môže trpieť anomáliami aktualizácie. Aby bol vzťah v druhej normálnej forme, musí byť v prvej normálnej forme a vzťah nesmie obsahovať žiadnu čiastočnú závislosť. Vzťah je v 2NF, ak nemá žiadnu čiastočnú závislosť, t. j. žiadny neprime atribút (atribúty, ktoré nie sú súčasťou žiadneho kandidátskeho kľúča) nie je závislý od žiadnej správnej podmnožiny akéhokoľvek kandidátskeho kľúča tabuľky. Inými slovami,



Vzťah, ktorý je v prvej normálnej forme a každý atribút, ktorý nie je primárnym kľúčom, je plne funkčne závislý od primárneho kľúča, potom je vzťah v druhej normálnej forme (2NF).

ak rudyard kipling riadok po riadku vysvetlenie

Poznámka - Ak správna podmnožina kandidátskeho kľúča určuje atribút, ktorý nie je prvočísla, je volaný čiastočná závislosť . The normalizácie vzťahov 1NF k 2NF zahŕňa odstránenie čiastkových závislostí . Ak existuje čiastočná závislosť, odstránime čiastočne závislé atribúty zo vzťahu tým, že ich umiestnime do nového vzťahu spolu s kópiou ich determinantu. Zvážte príklady uvedené nižšie.

Príklad-1: Zvážte tabuľku nižšie.



STUD_NO COURSE_NO COURSE_FEE 1 C1 1000 2 C2 1500 1 C4 2000 4 C3 1000 4 C1 1000 2 C5 2000>

{Všimnite si, že existuje veľa kurzov s rovnakým poplatkom za kurz. } V tomto prípade nemôže COURSE_FEE sám rozhodnúť o hodnote COURSE_NO alebo STUD_NO; COURSE_FEE spolu s STUD_NO nemôže rozhodnúť o hodnote COURSE_NO; COURSE_FEE spolu s COURSE_NO nemôže rozhodnúť o hodnote STUD_NO; COURSE_FEE by teda nebol prvotriedny atribút, pretože nepatrí k jedinému kandidátskemu kľúču {STUD_NO, COURSE_NO} ; Ale COURSE_NO -> COURSE_FEE, t.j. COURSE_FEE závisí od COURSE_NO, čo je správna podmnožina kandidátskeho kľúča. Neprvotriedny atribút COURSE_FEE je závislý od správnej podmnožiny kandidátskeho kľúča, čo je čiastočná závislosť, a tak tento vzťah v 2NF nie je. Aby sme previedli vyššie uvedený vzťah na 2NF, musíme tabuľku rozdeliť na dve tabuľky, ako napríklad: Tabuľka 1: STUD_NO, COURSE_NO Tabuľka 2: COURSE_NO, COURSE_FEE

   Table 1     Table 2  STUD_NO COURSE_NO COURSE_NO COURSE_FEE  1 C1 C1 1000 2 C2 C2 1500 1 C4 C3 1000 4 C3 C4 2000 4 C1 C5 2000  2 C5>

Poznámka - 2NF sa snaží redukovať nadbytočné dáta, ktoré sa ukladajú do pamäte. Napríklad, ak je na kurze C1 100 študentov, nemusíme jeho poplatok uložiť ako 1 000 pre všetkých 100 záznamov, namiesto toho ho môžeme uložiť do druhej tabuľky, pretože poplatok za kurz C1 je 1 000.

Príklad-2: Zvážte nasledujúce funkčné závislosti vo vzťahu R (A, B, C, D )



pomenovanie podľa java konvencií
AB ->C [A a B spolu určujú C] BC -> D [B a C spolu určujú D]>

odpoveď:

Najprv môžeme skontrolovať, či existujú nejaké čiastočné závislosti. Čiastočná závislosť nastane, keď atribút, ktorý nie je prvočíslom (nie je súčasťou žiadneho kandidátskeho kľúča) závisí len od časti kandidátskeho kľúča.

Kandidátske kľúče pre vzťah R možno určiť nájdením uzáveru každého atribútu:

AB určuje všetky klávesy.

Teraz skontrolujme čiastočné závislosti:

V tomto vzťahu neexistujú žiadne čiastočné závislosti, pretože každý atribút, ktorý nie je prvočíslom (C a D), závisí od celého kandidátskeho kľúča (kľúčov), ktorého je súčasťou (AB a BC, v tomto poradí).

bool na reťazec java

Preto je vzťah R už v 3. normálnej forme (3NF), pretože spĺňa podmienky 1. normálnej formy (1NF) a 2. normálnej formy (2NF) a nemá žiadne tranzitívne závislosti.

Záver

Na záver, 2NF je základný koncept normalizácie databázy, ktorý pomáha odstrániť čiastočné závislosti vo vašej relačnej databáze. Dodržiavanie pravidiel 2NF pomáha organizovať vašu databázu, aby ste sa vyhli anomáliám a zabezpečili integritu údajov, čo uľahčuje ukladanie a získavanie údajov.