1NF vs 2NF vs. 3NF
Normalizácia je proces, ktorý sa vykonáva s cieľom minimalizovať prepúšťanie, ktoré sa vyskytuje v údajoch v relačných databázach. Tento proces rozdelí hlavne veľké tabuľky na menšie tabuľky s menším počtom prepustených pracovníkov. Tieto menšie tabuľky budú navzájom prepojené prostredníctvom dobre definovaných vzťahov. V dobre normalizovanej databáze bude akákoľvek zmena alebo zmena údajov vyžadovať úpravu iba jednej tabuľky. Prvú normálnu formu (1NF), druhú normálnu formu (2NF) a tretiu normálnu formu (3NF) predstavil Edgar F. Codd, ktorý je tiež vynálezcom relačného modelu a koncepcie normalizácie..
Čo je to 1NF?
1NF je prvá normálna forma, ktorá poskytuje minimálny súbor požiadaviek na normalizáciu relačnej databázy. Tabuľka, ktorá je v súlade s 1NF, zaisťuje, že skutočne predstavuje vzťah (t. J. Neobsahuje žiadne záznamy, ktoré sa opakujú), ale neexistuje žiadna všeobecne akceptovaná definícia pre 1NF. Jednou dôležitou vlastnosťou je to, že tabuľka, ktorá je v súlade s 1NF, nemôže obsahovať žiadne atribúty, ktoré sú relačne hodnotené (t. J. Všetky atribúty by mali mať atómové hodnoty).
Čo je to 2NF?
2NF je druhá normálna forma používaná v relačných databázach. Aby tabuľka bola v súlade s 2NF, mala by byť v súlade s 1NF a akýkoľvek atribút, ktorý nie je súčasťou žiadneho kľúča kandidáta (t. J. Nie hlavné atribúty), by mal úplne závisieť od ktoréhokoľvek z kandidátskych kľúčov v tabuľke..
Čo je to 3NF?
3NF je tretia normálna forma používaná pri normalizácii relačných databáz. Podľa definície Codda sa uvádza, že tabuľka je v 3NF, iba vtedy, ak je táto tabuľka v druhej normálnej podobe (2NF) a každý atribút v tabuľke, ktorý nepatrí do kandidátskeho kľúča, by mal priamo závisieť. na každom kandidátskom kľúči tejto tabuľky. V roku 1982 Carlo Zaniolo vytvoril odlišne vyjadrenú definíciu pre 3NF. Tabuľky, ktoré sú v súlade s 3NF, vo všeobecnosti neobsahujú anomálie, ktoré sa vyskytnú pri vkladaní, vymazávaní alebo aktualizácii záznamov v tabuľke..
Aký je rozdiel medzi 1NF a 2NF a 3NF?
1NF, 2NF a 3NF sú bežné formy, ktoré sa používajú v relačných databázach na minimalizovanie prepúšťania v tabuľkách. 3NF sa považuje za silnejšiu normálnu formu ako 2NF a považuje sa za silnejšiu normálnu formu ako 1NF. Vo všeobecnosti preto získanie tabuľky, ktorá vyhovuje formuláru 3NF, bude vyžadovať rozklad tabuľky, ktorá je v 2NF. Podobne získanie tabuľky, ktorá vyhovuje 2NF, bude vyžadovať rozklad tabuľky, ktorá je v 1NF. Ak však tabuľka, ktorá vyhovuje 1NF, obsahuje kandidátske kľúče, ktoré sú tvorené iba jedným atribútom (t. J. Nekompozitné kandidátske kľúče), takáto tabuľka by automaticky vyhovovala 2NF. Rozklad tabuliek bude mať za následok ďalšie operácie spojenia (alebo karteziánske produkty) pri vykonávaní dotazov. Tým sa zvýši výpočtový čas. Na druhej strane by tabuľky, ktoré vyhovujú silnejším normálnym formám, mali menšie prepúšťanie ako tabuľky, ktoré vyhovujú len slabším normálnym formám..