BCNF a 3NF

Anonim

BCNF vs. 3NF

Boyce Codd normální forma (také známá jako BCNF) je normální forma - forma, která poskytuje kritéria pro určení stupně zranitelnosti tabulky vůči logickým nesrovnalostem a anomáliím. Tato normální forma je použita v normalizaci databáze. Je to trochu silnější než jeho předchůdce, třetí normální forma (také známá jako 3NF). Tabulka je myšlenka být v BCNF, pokud a jen pokud pro každého, jestliže jeho non-triviální funkční závislost - to je hranice, která je nastavena mezi dvěma sadami atributů v relaci převzatém z databáze - je superkey (soubor atributy relační proměnné, které předpokládají, že ve všech vztazích přiřazených této konkrétní proměnné neexistují dva odlišné řádky obsahující stejnou hodnotu pro atributy v dané množině). BCNF předpokládá, že každá tabulka, která nesplňuje kritéria, která mají být přiřazena jako BNCF, je zranitelná logickými nesrovnalostmi.

3NF je normální forma, která se také používá v normalizaci databáze. Předpokládá se, že tabulka je v 3NF pouze tehdy, když 1) tabulka je ve druhé normální podobě (nebo 2NF, což je první normální kód nebo 1NF, který splňuje kritéria pro získání 2NF) a 2) každý atribut typu "non-prime" tabulky je nepřechodně závislý na každém klíči tabulky (což znamená, že není přímo závislé na každém klíči). Existuje další postulát 3NF, který se také používá k definování rozdílů mezi 3NF a BCNF.

Tato věta byla koncipována Carlem Zanioloem v roce 1982. Uvádí, že stůl je v 3NF pouze tehdy, jestliže pro každou funkční závislost, kde X ∈ A, musí mít alespoň jedna ze tří podmínek: buď X, A, X je superklíč nebo A je primární atribut (což znamená, že A je obsažen v kandidátském klíči - nebo minimální superkey pro tento vztah). Tato novější definice se liší od věty BCNF v tom, že druhý model jednoduše odstraní poslední podmínku. I když se jedná o novější verzi věty 3NF, odvozuje se věta Zaniolo. Uvádí, že X â † 'A není triviální. Je-li to pravda, nechť A je atribut klíče poledne a také nechť Y být klíčem R. Pokud to platí potom Y â '' X. To znamená, že A není přechodně závislá na Y pokud a pouze pokud X † 'Y (nebo pokud X je superklíč.

Souhrn:

1. BCNF je normální forma, ve které pro každou z netriviálních funkčních závislostí tabulky je superklíč; 3NF je normální forma, ve které je tabulka v 2NF a každý atribut non-prime je nepřechodně závislý na každém klíči v tabulce.