Rozdíl mezi BCNF a 3NF

BCNF vs. 3NF

Normální forma Boyce Codd (známá také jako BCNF) je normální forma - jedná se o formu, která poskytuje kritéria pro určení stupně zranitelnosti tabulky vůči logickým nekonzistencím a anomáliím. Tato normální forma se používá při normalizaci databáze. Je o něco silnější než jeho předchůdce, třetí normální forma (známá také jako 3NF). Tabulka je považována za BCNF, a to pouze tehdy, pokud pro každou z nich, pokud její netriviální funkční závislosti - to je hranice, která je nastavena mezi dvěma sadami atributů ve vztahu převzatém z databáze - je superkey (sada atributy relační proměnné, která předpokládá, že ve všech relacích přiřazených této konkrétní proměnné neexistují žádné dva odlišné řádky obsahující stejnou hodnotu pro atributy v dané konkrétní sadě). BCNF předpokládá, že každá tabulka, která nesplňuje kritéria, která mají být přiřazena jako BNCF, je zranitelná vůči logickým nekonzistentnostem.

3NF je normální forma, která se také používá při normalizaci databáze. Má se za to, že tabulka je ve 3NF, a pouze pokud 1) je v druhé normální formě (nebo 2NF, což je první normální kód, nebo 1NF, který splnil kritéria, aby se stal 2NF), a 2) každý nepřímý atribut tabulky je netranzitivně 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ší postulace 3NF, která se také používá k definování rozdílů mezi 3NF a BCNF.

Tato věta byla koncipována Carlem Zaniolem v roce 1982. Uvádí se v ní, že tabulka je ve 3NF tehdy a jen tehdy, pokud pro každou funkční závislost, kde X â † 'A, musí platit alespoň jedna ze tří podmínek: buď X â †' A, X je superkey nebo A je hlavní atribut (což znamená, že A je obsažen v kandidátním klíči - nebo minimální superkey pro tento vztah). Tato novější definice se liší od věty BCNF v tom, že posledně uvedený model jednoduše odstraní poslední podmínku. I když funguje jako novější verze věty 3NF, existuje odvození Zaniolo věty. Říká se, že X - A je netriviální. Pokud je to pravda, nechť A je atribut poledne-klíč a také nechť Y je klíčem R. Pokud to platí, pak Y â † 'X. To znamená, že A není tranzitně závislá na Y, a pouze pokud X â † „Y (nebo je-li X superkey.

Souhrn:

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