Obsah:
- Definice - Co znamená třetí normální formulář (3NF)?
- Techopedia vysvětluje třetí normální formulář (3NF)
Definice - Co znamená třetí normální formulář (3NF)?
Třetí normální forma (3NF) je třetím krokem v normalizaci databáze a staví na první a druhé normální formě, 1NF a 2NF.
3NF uvádí, že by měla být odstraněna veškerá reference na sloupec v odkazovaných datech, která nezávisí na primárním klíči. Jiným způsobem je to, že k odkazování na jinou tabulku by měly být použity pouze sloupce cizího klíče a v odkazované tabulce by neměly existovat žádné další sloupce z nadřazené tabulky.
Techopedia vysvětluje třetí normální formulář (3NF)
Zvažte databázi banky, která obsahuje dvě tabulky: CUSTOMER_MASTER pro ukládání podrobností o zákaznících, a ACCOUNT_MASTER pro ukládání podrobností o bankovních účtech, včetně toho, který zákazník drží daný účet. V tomto případě musí existovat způsob, jak propojit tyto dvě tabulky, aby bylo možné svázat účet se zákazníkem, který jej vlastní. Způsob, jak toho dosáhnout, je přes cizí klíč. Toto je sloupec v tabulce ACCOUNT_MASTER, který odkazuje nebo odkazuje na odpovídající sloupec (nazývaný primární klíč) v nadřazené tabulce CUSTOMER_MASTER. Nazvěme tento sloupec CustID.
Předpokládejme, že zákazník Andrew Smith vytvoří účet v tabulce CUSTOMER_MASTER s CustID 20454. Pan Smith má spořicí účet s číslem S-200802-005, jehož podrobnosti jsou uloženy v tabulce ACCOUNT_MASTER. To znamená, že tabulka ACCOUNT_MASTER bude mít sloupec nazvaný CustID, což není původní část dat. Místo toho má také hodnotu 20454, která jednoduše odkazuje na stejné CustID v tabulce CUSTOMER_MASTER.
Nyní 3NF diktuje, že v naší tabulce ACCOUNT_MASTER by jediná informace, kterou máme o zákazníkovi, měla být CustID (20454) jako cizí klíč a odkazuje a identifikuje zákazníka, který vlastní stejné CustID v tabulce CUSTOMER_MASTER (Andrew Smith) ). V tabulce ACCOUNT_MASTER nebo ve skutečnosti jakékoli jiné tabulce by neměly být ukládány žádné další údaje o našem zákazníkovi (jako je jméno, datum narození, pohlaví atd.), Protože všechna tato data o něm jsou již uložena v CUSTOMER_MASTER. Tímto je jediným zákaznickým datem uloženým mimo tabulku CUSTOMER_MASTER CustID. Tím se vyplatí hezké dividendy zajištěním, že nedochází k duplicitě dat, což zase vede k mnohem efektivnějšímu zpracování dotazů a ke snížení potřebného úložiště.
