Co je druhá normální forma?
- V systému správy relačních databází je nanejvýš důležitá konzistence dat a závislost. Obecně se používají normální formuláře, aby se zabránilo nadbytečnosti dat. Redundance dat vede k anomáliím, jako je aktualizace, vkládání a mazání. V anomálii aktualizace, pokud má tabulka redundantní data, pak při aktualizaci záznamů nejsou správně aktualizovány, což má za následek nekonzistentnost dat.
- V případě anomálie vložení to můžeme lépe pochopit na příkladu sloupce, který nelze aktualizovat hodnotami null, pokud tabulka nepovoluje hodnoty null. Odstranění anomálie přichází na obrázek, pokud potřebujeme odstranit určitý záznam a pokud je tento záznam přítomen v jiných řádcích tabulky, pak smazání tohoto konkrétního záznamu odstraní i záznam z ostatních řádků.
- K překonání aktualizace, vložení a odstranění anomálií je třeba data normalizovat. Normalizace eliminuje nadbytečná data a také zajišťuje závislost dat. Normalizace také pomáhá logicky ukládat data a zmenšuje prostor pro ukládání databáze.
- Různé normální formuláře, které se běžně používají v systému správy relačních databází, jsou první normální formulář, druhý normální formulář, třetí normální formulář, normální formulář Boyce-Codd (BCNF) atd. Aby se dosáhlo druhého normálního formuláře, měl by první normální formulář být dosažen první, což je jedno z kritérií pro vytvoření tabulky nebo dat ve druhé normální formě. Pravidlo pro první normální formulář (1NF) je, že atribut sloupce nemůže obsahovat více hodnot, spíše by měl obsahovat atomové hodnoty.
Jak funguje druhý normální formulář?
Než se pustíme do konceptu normalizace, zaměřme se na několik základních prvků zapojených do databázových tabulek a vztahů. Klíč v RDBMS se používá k jedinečné identifikaci záznamů v tabulce a klíčem může být jeden sloupec nebo více sloupců. Primární klíč je jediný sloupec, který se používá k jedinečné identifikaci záznamů. Kompozitní primární klíč se skládá z několika sloupců, které se také používají k identifikaci jedinečných záznamů. Ve druhém normálním formuláři musíme dosáhnout primárního klíče s jedním sloupcem. Cizí klíč v jedné tabulce se používá k jedinečné identifikaci záznamů v jiné tabulce. Ve druhém normálním formuláři musí každý atribut v jiné relaci ve vztahu funkčně záviset na primárním klíči.
Níže uvádíme několik kroků k zajištění toho, aby byla data ve druhé normální formě:
- První normální forma by měla být dosažena.
- Odstranění podmnožin dat, které lze použít pro více řádků v tabulce, a jejich umístění do různých tabulek.
- Použití cizích klíčů k zajištění vztahů mezi vytvořenými tabulkami.
Příklady
Abychom lépe porozuměli normálním formulářům, vezměme si příklad z níže uvedené tabulky a poté kroky k dosažení druhého normálního formuláře.
Vezměme si příklad níže uvedené tabulky 'teacher_details'.
Id | název | Předměty |
1289 | Ramesh Sawant | Matematika, věda |
5678 | Shruti Shah | Angličtina |
1267 | Nikhil Das | Historie, sociální studia |
3409 | Pooja Sharma | Ekonomika |
Výše uvedená tabulka obsahuje konkrétní předměty vyučované každým učitelem. Zde sloupce „Subjekty“ neobsahují atomové hodnoty a pro Id 1289 a 1267 je ve sloupci „Subjekty“ více než jeden subjekt. Jak vidíme, že sloupec „Subjekty“ nemá atomové hodnoty, musíme nejprve udělat tabulku v souladu s prvním normálním formulářem podle níže uvedeného.
Id | název | Předměty |
1289 | Ramesh Sawant | Matematika |
1289 | Ramesh Sawant | Věda |
5678 | Shruti Shah | Angličtina |
1267 | Nikhil Das | Dějiny |
1267 | Nikhil Das | Sociologie |
3409 | Pooja Sharma | Ekonomika |
Výše uvedená tabulka je nyní v první normální podobě, protože všechny atributy mají atomovou hodnotu.
Zde jsou složené primární klíče 'Id ' a 'Name'. Sloupec „Předměty“ je atributem non-prime. Také zde sloupec „Předměty“ závisí pouze na sloupci „ Název “, který je součástí složeného primárního klíče. Tabulka tedy nesplňuje podmínku druhého normálního formuláře.
Aby byla tabulka kompatibilní s druhým normálním formulářem, musíme rozdělit výše uvedenou tabulku do dvou tabulek, jak je ukázáno níže.
Tabulka teacher_info, jak je ukázáno níže:
Id | název |
1289 | Ramesh Sawant |
5678 | Shruti Shah |
1267 | Nikhil Das |
3409 | Pooja Sharma |
Tabulka Předmět_detaily, jak je uvedeno níže:
Id | Předměty |
1289 | Matematika |
1289 | Věda |
5678 | Angličtina |
1267 | Dějiny |
1267 | Sociologie |
3409 | Ekonomika |
Z tabulky jsme odstranili počáteční funkční závislost. Takže v tabulce Subject_details je sloupec 'Subjekty' zcela závislý na primárním klíči tabulky, tj. 'Id'.
Výhody druhého normálního formuláře
Níže uvádíme několik výhod použití druhého normálního formuláře.
- Redundantní data se snižují efektivněji.
- Data jsou v databázi konzistentní.
- Zvyšuje flexibilitu při navrhování databáze.
- Zlepšuje také celkovou organizaci dat v databázi.
- Zlepšuje také zabezpečení databáze.
Závěr
- Pro úspěšnou implementaci systému správy databází, který splňuje požadavky na data podnikového systému, je návrh databáze kritický. Normalizace pomáhá při dosahování návrhu a údržby systému správy databází zajištěním konzistence a závislosti dat.
- Ačkoli druhý normální formulář odstraní podmnožiny dat, které jsou použitelné pro více řádků v tabulce, a zajišťuje vztah mezi tabulkami pomocí cizího klíče, stále je třeba odstranit přechodnou funkční závislost non-prvočísla na jakémkoli super klíči dává vzniknout použití třetího normálního formuláře. Použití druhého normálního formuláře tedy závisí na požadavcích stanovených společností a při návrhu systému správy databází by mělo být vybráno pečlivě.
Doporučené články
Toto byl průvodce druhou normální formou. Zde diskutujeme o tom, co je druhá normální forma? Jak funguje druhá normální forma? spolu s vhodným příkladem. Další informace naleznete také v dalších navrhovaných článcích -
- Typy připojení na serveru SQL
- Co je SQL Injection?
- Dotazové otázky Oracle PL / SQL
- Kariéra v SQL
- Top 6 typů spojení v MySQL s příklady