Rozdíl mezi 3NF a BCNF

Rozdíl mezi 3NF a BCNF
Rozdíl mezi 3NF a BCNF

Video: Rozdíl mezi 3NF a BCNF

Video: Rozdíl mezi 3NF a BCNF
Video: Тестировщик с нуля / Урок 7. Модели разработки ПО. Водопадная, итерационная и V-модель 2024, Červenec
Anonim

3NF vs BCNF

Normalizace je proces, který se provádí za účelem minimalizace redundance, která se vyskytuje v datech v relačních databázích. Tento proces rozdělí hlavně velké tabulky na menší tabulky s menším množstvím redundantností. Tyto menší tabulky budou vzájemně propojeny prostřednictvím dobře definovaných vztahů. V dobře normalizované databázi bude jakákoliv změna nebo úprava dat vyžadovat úpravu pouze jedné tabulky. Třetí normální forma (3NF) byla představena v roce 1971 Edgarem F. Coddem, který je také vynálezcem relačního modelu a konceptu normalizace. Boyce-Codd Normal Form (BCNF) byl představen v roce 1974 Coddem a Raymondem F. Boyce.

Co je 3NF?

3NF je třetí normální forma používaná při normalizaci relačních databází. Podle Coddovy definice se o tabulce říká, že je v 3NF, tehdy a jen tehdy, když je tato tabulka ve druhé normální formě (2NF), a každý atribut v tabulce, který nepatří do kandidátského klíče, by měl přímo záviset na každý kandidátský klíč této tabulky. V roce 1982 Carlo Zaniolo vytvořil odlišně vyjádřenou definici 3NF. Tabulky, které vyhovují 3NF, obecně neobsahují anomálie, ke kterým dochází při vkládání, mazání nebo aktualizaci záznamů v tabulce.

Co je BCNF?

BCNF (také známý jako 3.5NF) je další normální forma používaná při normalizaci relačních databází. Byl zaveden, aby zachytil některé anomálie, které 3NF neřeší. O tabulce se říká, že je v BCNF právě tehdy, když pro každou ze závislostí formy A → B, které jsou netriviální, A je superklíč. Rozložení tabulky, která není v normální formě BCNF, nezaručuje vytvoření tabulek ve formě BCNF (při zachování závislostí, které byly přítomny v původní tabulce).

Jaký je rozdíl mezi 3NF a BCNF?

Jak 3NF, tak BCNF jsou normální formy, které se používají v relačních databázích k minimalizaci redundance v tabulkách. V tabulce, která je v normální formě BCNF, je A pro každou netriviální funkční závislost formy A → B superklíč, zatímco tabulka, která vyhovuje 3NF, by měla být v 2NF a každá atribut by měl přímo záviset na každém kandidátním klíči této tabulky. BCNF je považován za silnější normální formu než 3NF a byl vyvinut k zachycení některých anomálií, které nebylo možné zachytit 3NF. Získání tabulky, která odpovídá formuláři BCNF, bude vyžadovat rozklad tabulky, která je v 3NF. Tento rozklad povede k dalším operacím spojení (nebo kartézským součinům) při provádění dotazů. Tím se prodlouží doba výpočtu. Na druhou stranu tabulky, které vyhovují BCNF, by měly méně nadbytečných než tabulky, které vyhovují pouze 3NF. Navíc je většinou možné získat tabulku, která vyhovuje 3NF, aniž by to bránilo zachování závislostí a bezztrátovému spojování. Ale to není vždy možné s BCNF.

Doporučuje: