BCNF minimalizuje redundance a zvyšuje integritu dat
Cílem modulu Boyce-Codd Normal Form (BCNF) je zvýšit celistvost dat organizováním sloupců a tabulek relační databáze s cílem dosáhnout normalizace databáze. Normalizace databáze nastane, pokud existují vztahy mezi tabulkami a tabulky mají definovaná pravidla, která zpřísní databázi a uchovávají data.
Cílem normalizace databáze je eliminovat redundantní data a zajistit, aby závislost dat měla smysl.
Databáze je normalizována, pokud stejné údaje nejsou uloženy ve více než jedné tabulce a pokud jsou v tabulce uloženy pouze související údaje .
Původ Boyce-Codd Normal Form
Po řadě pokynů zajistěte, aby byly databáze normalizovány. Tyto pokyny jsou označovány jako normální formy a jsou očíslovány od jednoho do pěti. Relační databáze je popsána jako normalizovaná, pokud splňuje první tři formy: 1NF, 2NF a 3NF.
BCNF byl vytvořen jako rozšíření třetího normálního tvaru, nebo 3NF, v roce 1974 Raymond Boyce a Edgar Codd. Muži pracovali na vytvoření databázových schémat, které minimalizují propouštění s cílem snížit výpočetní čas. Třetí normální formulář odstraňuje sloupce, které nejsou závislé na primárním klíči, kromě toho, že splňují pokyny v první a druhé normální formě. BCNF, který je někdy označován jako 3.5NF, splňuje všechny požadavky 3NF a vyžaduje, aby kandidátní klíče neměly závislost na jiných atributech v tabulce.
V době založení BCNF byl Boyce jedním z klíčových vývojářů Strukturovaného jazyka anglického dotazu (SQL), který zlepšil získávání dat pomocí relačního modelu Codd. V tomto modelu Codd usoudil, že strukturální složitost databází může být snížena, což znamenalo, že dotazy mohly být silnější a flexibilnější.
Pomocí statistických databázových statistik definoval Codd definice 1NF, 2NF a 3NF. On se spojil s Boycem definovat BCNF.
Kandidátské klíče a BCNF
Kandidátský klíč je sloupec nebo kombinace sloupců v tabulce, která tvoří jedinečný klíč v databázi. Kombinace atributů může být použita k identifikaci záznamu databáze bez odkazu na jiná data. Každá tabulka může obsahovat více kandidátských klíčů, z nichž každá může být kvalifikována jako primární klíč. Tabulka obsahuje pouze jeden primární klíč.
Kandidátské klíče musí být jedinečné.
Vztah je v BCNF, pokud je každý determinant kandidátským klíčem. Zvažte databázovou tabulku, která ukládá informace o zaměstnancích a má atributy
V této tabulce určí pole
ID zaměstnance | Jméno | Příjmení | Titul |
13133 | Emily | Kovář | Manažer |
13134 | Jim | Kovář | Spolupracovník |
13135 | Emily | Jonese | Spolupracovník |
Klíčovým kandidátem pro tuto databázi je