Le forme normali
Esistono diverse forme che garantiscono diverse proprietà:
1NF (prima forma normale)
Rappresenta il minimo necessario per una base di dati. Per essere in 1NF, un database deve rispettare le seguenti regole:
- Ciascun attributo è atomico.
- Per ogni relazione esiste una chiave primaria.
- Tutte le tuple di una medesima relazione hanno la stessa arità.
- Tutti i valori di uno stesso attributo sono dello stesso tipo.
2NF (seconda forma normale)
Una base di dati è in 2NF se anzitutto è in 1NF ed inoltre; per ogni relazione gli attributi non chiave dipendono funzionalmente dall'intera chiave composta e non da una sua sottoparte.
3NF (terza forma normale)
Una base di dati è in 3NF se anzitutto è in 2NF ed inoltre; ogni attributo non chiave dipende funzionalmente solo dalla chiave, ovvero: è verificata almeno una delle due condizioni per ogni d.f. \( X \rightarrow Y \):
- \( X \) contiene almeno una chiave di \( r \).
- Ogni attributo di \( Y \) appartiene ad almeno una chiave di \( r\).
BCNF (Forma Normale di Boyce e Codd)
La più usata ed apprezzata per le sue peculiarità. Una base di dati è in BCNF se anzitutto è in 1NF ed inoltre; per ogni d.f. \( X \rightarrow Y \), \(X\) è superchiave per \(R\).
[1] - Jeffrey D. Ullman, Basi di dati e basi di conoscenza,
Gruppo Editoriale Jackson S.p.a, Milano 1991, pagg. 430-481
[2] - R. Ramakrishnan - J. Gehrke, Sistemi di basi di dati,
McGraw Hill, Milano 2004, pagg. 157-165, 175.