Nella definizione della struttura di una relazione (o tabella) occorre evitare la ripetizione e la ridondanza dei dati, per non creare problemi nella fase di trattamento della tabella, con operazioni di modifica o cancellazione delle righe.
Durante il processo di normalizzazione le tabelle sono trasformate in modo da eliminare la ridondanza delle informazioni ed evitare il rischio dell'incoerenza dei dati.
Esistono vari livelli di normalizzazione (forme normali) che certificano la qualità dello schema logico relazionale.
Prima forma normale (1FN)
Una relazione è in prima forma normale quando sono rispettati i requisiti fondamentali del modello relazionale e quindi la definizione è già inclusa nella definizione di relazione nel modello relazionale.
Tutte le righe della tabella contengono lo stesso numero di colonne.
Gli attributi rappresentano informazioni elementari.
I valori che compaiono in una colonna sono tutti dello stesso tipo, cioè appartengono allo stesso dominio.
Ogni riga è diversa da tutte le altre, cioè non ci possono essere due righe con gli stessi valori nelle colonne.
L’ordine con il quale le righe compaiono nella tabella è irrilevante.
Esempio di tabella che non è in prima forma normale (e quindi non è neanche una relazione nel modello relazionale):
Seconda forma normale (2FN)
Una relazione è in seconda forma normale (2FN) quando è in prima forma normale e tutti i suoi attributi non-chiave dipendono dall'intera chiave, cioè non possiede attributi che dipendono soltanto da una parte della chiave.
La seconda forma normale elimina la dipendenza parziale degli attributi dalla chiave e riguarda il caso di relazioni con chiavi composte, cioè formate da più attributi.
Esempio di normalizzazione:
Nella tabella sottostante la località del magazzino non dipende dall'attributo Codice, che fa parte della chiave primaria, ma solo dal Magazzino. Per questo motivo la relazione non è in 2FN.
L'anomalia è risolta creando una nuova tabella.
Terza forma normale (3FN)
Una relazione è in terza forma normale (3FN) quando è in seconda forma normale e tutti gli attributi non-chiave dipendono direttamente dalla chiave, cioè non possiede attributi non-chiave che dipendono da altri attributi non-chiave.
La terza forma normale elimina la dipendenza transitiva degli attributi dalla chiave.
Esempio di normalizzazione:
L'attributo TelefonoScuola dipende dall'attributo Scuola, che non è chiave. Per questo motivo la relazione non è in 3FN.
L'anomalia è risolta creando una nuova tabella.
Sito: 7ecnologie
Sezione: 11. Base di dati
Capitolo: 05. La progettazione logica
Paragrafo: 04. Normalizzazione delle relazioni
Indice dei capitoli: 00. Risorse - 01. Sistema informativo, informazione e dato - 02. Gli archivi - 03. Il progetto informatico - 04. La progettazione concettuale - 05. La progettazione logica - 06. La progettazione fisica - 07. Tutorial - 98. Esercizi
Indice dei paragrafi: 01. Il modello relazionale - 02. Algebra relazionale - 03. Regole di derivazione - 04. Normalizzazione delle relazioni - 05. Regole di nomenclatura - 06. Es. svolto: algebra relazionale (operatori) - 07. Es. svolto: algebra relazionale (query) - 08. Es. svolto: visite ambulatoriali