L'obiettivo di Boyce-Codd Normal Form (BCNF) è quello di aumentare l'integrità dei dati organizzando le colonne e le tabelle di un database relazionale al fine di ottenere la normalizzazione del database. La normalizzazione del database si verifica quando vi sono relazioni stabilite tra le tabelle e quando le tabelle hanno regole definite per rendere il database più flessibile e per conservare i dati.
Gli obiettivi della normalizzazione del database sono di eliminare i dati ridondanti e di garantire che le dipendenze dei dati abbiano senso.
Un database viene normalizzato quando gli stessi dati non sono memorizzati in più di una tabella e quando solo i dati correlati sono memorizzati in una tabella.
Origine della forma normale di Boyce-Codd
Seguendo una serie di linee guida assicuriamo che i database siano normalizzati. Queste linee guida sono indicate come forme normali e numerate da uno a cinque. Un database relazionale viene descritto come normalizzato se soddisfa i primi tre moduli: 1NF, 2NF e 3NF.
BCNF è stato creato come estensione alla terza forma normale, o 3NF, nel 1974 da Raymond Boyce e Edgar Codd. Gli uomini stavano lavorando per creare schemi di database che minimizzassero le ridondanze con l'obiettivo di ridurre il tempo di calcolo. Il terzo modulo normale rimuove le colonne che non dipendono dalla chiave primaria oltre a soddisfare le linee guida nel primo e nel secondo modulo normale. BCNF, che a volte viene definito come 3.5NF, soddisfa tutti i requisiti di 3NF e richiede che le chiavi candidate non abbiano alcuna dipendenza da altri attributi in una tabella.
Al momento della creazione di BCNF, Boyce è stato uno dei principali sviluppatori di Structured English Query Language (SQL), che ha migliorato il recupero dei dati utilizzando il modello relazionale di Codd. In questo modello, Codd ha postulato che la complessità strutturale dei database potrebbe essere ridotta, il che significava che le query potevano essere più potenti e flessibili.
Utilizzando le sue informazioni sul database relazionale, Codd ha definito le linee guida 1NF, 2NF e 3NF. Ha collaborato con Boyce per definire BCNF.
Candidate Keys e BCNF
Una chiave candidata è una colonna o una combinazione di colonne in una tabella che forma una chiave univoca nel database. La combinazione di attributi può essere utilizzata per identificare un record del database senza fare riferimento a nessun altro dato. Ogni tabella può contenere più chiavi candidate, ognuna delle quali può qualificarsi come chiave primaria. Una tabella contiene solo una chiave primaria.
Le chiavi candidate devono essere uniche.
Una relazione è in BCNF se ogni determinante è una chiave candidata. Prendi in considerazione una tabella di database che memorizza le informazioni sui dipendenti e ha gli attributi <> >,
In questa tabella, il campo
Numero Identità dell'impiegato | nome di battesimo | Cognome | Titolo |
13133 | Emily | fabbro | Manager |
13134 | Jim | fabbro | Socio |
13135 | Emily | Jones | Socio |
La chiave candidata per questo database è la