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ě:

  1. První normální forma by měla být dosažena.
  2. 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.
  3. 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'.

IdnázevPředměty
1289Ramesh SawantMatematika, věda
5678Shruti ShahAngličtina
1267Nikhil DasHistorie, sociální studia
3409Pooja SharmaEkonomika

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.

IdnázevPředměty
1289Ramesh SawantMatematika
1289Ramesh SawantVěda
5678Shruti ShahAngličtina
1267Nikhil DasDějiny
1267Nikhil DasSociologie
3409Pooja SharmaEkonomika

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:

Idnázev
1289Ramesh Sawant
5678Shruti Shah
1267Nikhil Das
3409Pooja Sharma

Tabulka Předmět_detaily, jak je uvedeno níže:

IdPředměty
1289Matematika
1289Věda
5678Angličtina
1267Dějiny
1267Sociologie
3409Ekonomika

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.

  1. Redundantní data se snižují efektivněji.
  2. Data jsou v databázi konzistentní.
  3. Zvyšuje flexibilitu při navrhování databáze.
  4. Zlepšuje také celkovou organizaci dat v databázi.
  5. 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 -

  1. Typy připojení na serveru SQL
  2. Co je SQL Injection?
  3. Dotazové otázky Oracle PL / SQL
  4. Kariéra v SQL
  5. Top 6 typů spojení v MySQL s příklady