BCNF vs. 3NF
La forma normale di Boyce Codd (anche nota come BCNF) è una forma normale, ovvero una forma che fornisce i criteri per determinare il grado di vulnerabilità di una tabella rispetto alle incoerenze e alle anomalie logiche. Questa forma normale viene utilizzata nella normalizzazione del database. È un po 'più forte del suo predecessore, la terza forma normale (nota anche come 3NF). Si pensa che una tabella sia in BCNF se e solo se per tutti se le sue dipendenze funzionali non banali -che è un limite che è impostato tra due insiemi di attributi in una relazione presa da un database- è un superkey (un insieme di attributi di una variabile relazionale che postula che in tutte le relazioni assegnate a quella specifica variabile non ci siano due righe distinte che contengono lo stesso valore per gli attributi in quel particolare insieme). BCNF postula che qualsiasi tabella che non soddisfa i criteri da attribuire come BNCF è vulnerabile alle incoerenze logiche.
3NF è una forma normale che viene anche utilizzata nella normalizzazione del database. Si pensa che una tabella sia in 3NF se e solo se 1) la tabella si trova in una seconda forma normale (o 2NF, che è un primo codice normale, o 1NF, che ha incontrato i criteri per diventare 2NF), e 2) ogni attributo non primo della tabella dipende in modo non transitivo da ogni chiave della tabella (il che significa che non dipende direttamente da ogni chiave). C'è un'altra postulazione di 3NF che viene anche utilizzata per definire le differenze tra 3NF e BCNF.
Questo teorema fu ideato da Carlo Zaniolo nel 1982. Si afferma che una tabella è in 3NF se e solo se per ogni dipendenza funzionale dove X â † 'A, almeno una delle tre condizioni deve contenere: o X â †' A, X è un superkey, o A è un attributo primo (il che significa che A è contenuto all'interno di una chiave candidata - o una superkey minima per quella relazione). Questa nuova definizione differisce dal teorema di un BCNF in quanto quest'ultimo modello eliminerebbe semplicemente l'ultima condizione. Anche se agisce come una versione più recente del teorema 3NF, c'è una derivazione del teorema di Zaniolo. Dichiara che X â † 'A non è banale. Se ciò è vero, sia A un attributo chiave di mezzogiorno e anche Y sia una chiave di R. Se questo contiene Y â † 'X. Ciò significa che A non dipende transitivamente da Y se e solo se X â † 'Y (o se X è un superkey.
Sommario:
1. BCNF è una forma normale in cui per ognuna delle dipendenze funzionali non banali di una tabella, è una superchiave; 3NF è una forma normale in cui la tabella è in 2NF e ogni attributo non primo è dipendente in modo non transitivo da ogni chiave nella tabella.