Seznámení s první normální formou (1NF): Než přejdete k druhé normální formě, je nezbytné pochopit první normální formu. Podle 1NF mohou mít atributy entity pouze atomické (nedělitelné) hodnoty. Jinými slovy, žádná vlastnost nesmí být složená z jiných vlastností nebo mít více než jednu hodnotu. Zaručením 1NF položíme pevnou platformu pro další normalizaci.
Převod entit na 1NF:
Abychom mohli převést entitu na 1NF, musíme se vypořádat se všemi vlastnostmi s více hodnotami. Řekněme, že máme entitu s názvem „Zaměstnanci“ s atributem s proměnnou hodnotou „Dovednosti“. Pro atribut s více hodnotami musíme vytvořit samostatnou tabulku, abychom vyhověli 1NF. Tabulka se bude jmenovat „Employee_Skills“ a bude mít atributy „Employee_ID“ a „Skill“. Zatímco atribut „Skill“ bude uchovávat hodnoty pro jednotlivé dovednosti, atribut „Employee_ID“ bude sloužit jako odkaz na původní tabulku „Employees“. Pravidla pro ukládání dat jsou porušena: Zásady normalizace jsou porušeny, pokud jsou data v databázi uložena na více než jednom místě. Kvůli této redundanci mohou operace s daty vést k anomáliím a nekonzistentním datům. Proto je pro vyřešení těchto problémů nutné databázi normalizovat. Seznámení s druhou normální formou (2NF): Myšlenku funkčních závislostí zavádí druhá normální forma (2NF), která rozšiřuje základy první normální formy. Entita musí být v 1NF a každá neklíčová charakteristika musí být podle 2NF funkčně závislá na plném klíči. Jinak řečeno, každý atribut by měl být zcela závislý na primárním klíči, nikoli jen na jeho malé části.
Shoda entity s 2NF:
Aby objekt odpovídal 2NF, musíme rozpoznat částečné závislosti a rozdělit je do dalších tabulek. Pokud je atribut závislý na primárním klíči pouze částečně, jedná se o tzv. částečnou závislost. Vezměme v úvahu entitu „Objednávky“, která má následující atributy: „ID objednávky“, „ID produktu“, „Název produktu“ a „Cena produktu“. Místo úplného primárního klíče jsou v tomto případě „Název produktu“ a „Cena produktu“ závislé na „ID produktu“. Abychom vyhověli požadavkům 2NF, vytvoříme novou tabulku s názvem „Produkty“, která bude mít atributy „ID produktu“, „Název produktu“ a „Cena produktu“. Z tabulky „Objednávky“ pak tyto vlastnosti vyčistíme a ponecháme pouze „ID objednávky“ a „ID výrobku“. Tím zajistíme, že každý neklíčový atribut bude pro svou funkci závislý na kompletním klíči.
Shrnutí:
Normalizace je pro databázovou architekturu nezbytná, protože zajišťuje integritu dat, odstraňuje duplicity a zvyšuje produktivitu. V tomto postupu je klíčovou fází druhá normální forma (2NF). Objekt můžeme přizpůsobit 2NF tak, že identifikujeme dílčí závislosti a rozdělíme je do samostatných tabulek. Abychom dále dosáhli dobře strukturované a normalizované databáze, je třeba převést entitu s vícehodnotovými charakteristikami do 1NF a vyhnout se četným místům uložení dat.
Pravidlo pro návrh relační databáze nazývané druhá normální forma (2NF) se snaží zbavit částečných závislostí. Toto pravidlo říká, že tabulka je v 2NF, pokud splňuje následující dvě podmínky: Tabulka musí být v první normální formě (1NF), která vyžaduje primární klíč a atomické hodnoty v každém sloupci (tj. žádné vícenásobné hodnoty nebo opakující se skupiny). 2. Každý neklíčový atribut musí být závislý na úplném primárním klíči, aby fungoval. Jinak řečeno, každý neklíčový atribut by měl být závislý na kompletním hlavním klíči, ne jen na jeho části.
Všechny vlastnosti, které jsou na primárním klíči závislé pouze částečně, by měly být převedeny do jiné tabulky, aby bylo dodrženo pravidlo 2NF. To zvyšuje integritu dat a efektivitu databázových operací tím, že každá položka dat je uložena pouze jednou a snižuje se redundance dat.
Druhá normální forma (2NF) je pravidlo nebo pokyn, který pomáhá při organizaci a strukturování dat v relační databázi v kontextu systémů pro správu databází (DBMS).
Pro pochopení 2NF je nezbytné nejprve pochopit myšlenku normalizace. Nadbytečná data a nekonzistence se z databází odstraňují prostřednictvím procesu „normalizace“, který rovněž zajišťuje integritu dat a zvyšuje efektivitu databáze. Zahrnuje rozklad databáze na menší, lépe spravovatelné tabulky a vytváření spojení mezi nimi.
Druhá normální forma (2NF), která vychází z první normální formy (1NF), je jednou z fází tohoto procesu normalizace. Data v 1NF jsou uspořádána v tabulkách s atomickými hodnotami v každém sloupci, což brání dalšímu rozkladu. V 1NF však stále mohou existovat nadbytečná data.
Aby se vyřešil problém redundance, 2NF stanoví, že tabulka musí splňovat dva požadavky: 1. Musí být v 1NF.
2. Celý primární klíč by měl být funkčně závislý na všech neklíčových vlastnostech (sloupcích) v tabulce.
Ve 2NF musí být každá neklíčová vlastnost závislá na celém primárním klíči, nikoli jen na jeho podmnožině, zjednodušeně řečeno. Tím se zamezí duplikaci dat a anomáliím, protože se zajistí, aby každý sloupec v databázi smysluplně a jednoznačně souvisel s primárním klíčem.
Databáze, které se řídí pravidlem 2NF, jsou efektivnější, jednodušší na údržbu a méně náchylné k nekonzistentním datům. Navíc zlepšuje integritu dat a umožňuje lepší optimalizaci dotazů.