Skip to main content

Co je Boyce-Codd normální forma (BCNF)?

Normalization in DBMS (Červen 2026)

Normalization in DBMS (Červen 2026)
Anonim

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 <> >, , , a .

V této tabulce pole určuje jméno a příjmení . Podobně, n-tice ( , ) určuje .

ID zaměstnanceJménoPříjmeníTitul
13133EmilyKovářManažer
13134JimKovářSpolupracovník
13135EmilyJoneseSpolupracovník

Kandidátským klíčem pro tuto databázi je protože je to jediná hodnota, kterou nelze použít jiným řádkem.