BCNF vs 4NF (4a normalizzazione)
La normalizzazione del database è una tecnica che si occupa dei sistemi di gestione dei database relazionali. Gli errori di dati possono essere evitati in un database ben normalizzato. La normalizzazione viene utilizzata per ridurre la ridondanza dei dati del database. Ciò significa implementare le tabelle del database e le relative relazioni, eliminando la ridondanza e la dipendenza incoerente. Ci sono alcune regole predefinite impostate per la normalizzazione. Queste regole sono chiamate forme normali.
- Prima forma normale (1NF)
- Seconda forma normale (2NF)
- Terza forma normale (3NF)
- Boyce-Codd Normal Form (BCNF o 3.5NF)
- Quarta forma normale (4NF)
La prima forma normale è indicata come l'atomicità di una tabella. L'atomicità della tabella può essere raggiunta da due passaggi.
- Rimozione di colonne duplicate dalla stessa tabella.
- Creazione di tabelle separate per colonne duplicate correlate. (devono esserci chiavi primarie per identificare ogni riga di queste tabelle)
Nella seconda forma normale, il tentativo è di ridurre i dati ridondanti in una tabella estraendoli e posizionandoli in una tabella separata. Questo può essere ottenuto eseguendo i seguenti passaggi.
- Seleziona il set di dati, che si applica a più righe, e posizionali in tabelle separate.
- Crea le relazioni tra queste nuove tabelle e le tabelle padre usando chiavi esterne.
Per portare il database alla terza forma normale, il database deve essere già raggiunto alla prima e alla seconda forma normale. Quando il database si trova in 1NF e 2NF, non sono presenti colonne duplicate né sottoinsiemi di dati che si applicano a più righe. La terza forma normale può essere ottenuta rimuovendo le colonne delle tabelle, che non sono completamente dipendenti dalla chiave primaria.
Boyce-Codd Normal Form (BCNF o 3.5NF)
BCNF sta per "Boyce-Codd Normal Form". Questa forma normale è anche nota come 3.5 Forma normale di normalizzazione del database. Per ottenere BCNF, il database deve essere già raggiunto alla terza forma normale. Quindi è necessario eseguire i seguenti passaggi per ottenere il BCNF.
- Identifica tutte le chiavi candidate nelle relazioni
- Identifica tutte le dipendenze funzionali nelle relazioni.
- Se ci sono dipendenze funzionali nella relazione, in cui i loro determinanti non sono chiavi candidate per la relazione, rimuovi le dipendenze funzionali inserendole in una nuova relazione insieme a una copia del loro determinante.
Quarta forma normale
Il database deve essere nella terza forma normale, prima di normalizzarlo nella quarta forma normale. Se il database è già nella terza forma normale, il passaggio successivo dovrebbe essere rimuovere le dipendenze multivalore. (Se una o più righe implicano la presenza di una o più altre righe nella stessa tabella, si parla di dipendenza multivalore.)
Qual è la differenza tra BCNF e 4NF (quarta forma normale)?
• Il database deve essere già raggiunto a 3NF per portarlo a BCNF, ma il database deve essere in 3NF e BCNF, per raggiungere 4NF.
• Nella quarta forma normale, non ci sono dipendenze multivalore delle tabelle, ma in BCNF possono esserci dati di dipendenza multivalore nelle tabelle.