Rozdiel medzi BCNF a 3NF

BCNF vs. 3NF

Normálna forma Boyce Codd (tiež známa ako BCNF) je normálna forma - je to forma, ktorá poskytuje kritériá na určenie stupňa zraniteľnosti tabuľky voči logickým nekonzistentnostiam a anomáliám. Táto normálna forma sa používa pri normalizácii databázy. Je o niečo silnejšia ako jeho predchodca, tretia normálna forma (známa tiež ako 3NF). Predpokladá sa, že tabuľka je v BCNF, a iba vtedy, ak pre každú z nich, ak jej netriviálne funkčné závislosti - to je hranica, ktorá je nastavená medzi dvoma množinami atribútov vo vzťahu prevzatom z databázy - je superkey (množina atribúty relačnej premennej, ktorá predpokladá, že vo všetkých vzťahoch priradených k tejto špecifickej premennej neexistujú dva odlišné riadky obsahujúce rovnakú hodnotu pre atribúty v tejto konkrétnej množine). BCNF predpokladá, že akákoľvek tabuľka, ktorá nespĺňa kritériá, ktoré sa majú priradiť ako BNCF, je náchylná na logické nezrovnalosti..

3NF je normálna forma, ktorá sa používa aj pri normalizácii databázy. Predpokladá sa, že tabuľka je v 3NF iba vtedy, ak 1) je v druhej normálnej forme (alebo 2NF, čo je prvý normálny kód alebo 1NF, ktorý splnil kritériá na to, aby sa stal 2NF), a 2) každý neprimárny atribút tabuľky nie je tranzitne závislý od každého kľúča tabuľky (čo znamená, že nie je priamo závislý od každého kľúča). Existuje ďalšia postulácia 3NF, ktorá sa tiež používa na definovanie rozdielov medzi 3NF a BCNF.

Túto vetu navrhol Carlo Zaniolo v roku 1982. Uvádza sa v nej, že tabuľka je v 3NF vtedy a len vtedy, ak pre každú funkčnú závislosť, v ktorej X â † 'A musí byť dodržaná aspoň jedna z troch podmienok: buď X â †' A, X je superkey alebo A je hlavný atribút (čo znamená, že A je obsiahnutý v kandidátskom kľúči - alebo minimálny superkey pre tento vzťah). Táto novšia definícia sa líši od vety BCNF v tom, že posledne uvedený model by jednoducho odstránil poslednú podmienku. Aj keď funguje ako novšia verzia vety 3NF, existuje derivácia Zaniolovej vety. Uvádza sa v ňom, že X ´ ´A je netriviálne. Ak je to pravda, nech A je atribútom poludňajšieho kľúča a tiež nech Y je kľúčom R. Ak to platí, potom Y â † 'X. To znamená, že A nie je tranzitne závislé od Y iba vtedy, ak X â † „Y (alebo ak X je superkey.

Zhrnutie:

1. BCNF je normálna forma, v ktorej je pre každú z netriviálnych funkčných závislostí tabuľky superkey; 3NF je normálna forma, v ktorej je tabuľka v 2NF a každý neprimárny atribút nie je tranzitne závislý od každého kľúča v tabuľke..