Definizione e Differenza tra Prima, Seconda, Terza Forma Normale
La normalizzazione nei database
In informatica, la normalizzazione dei database (o in inglese database normalization) è un procedimento volto all’eliminazione delle ridondanze e del rischio di incoerenza del database. Questo concetto può essere utilizzato per effettuare controlli di qualità di basi di dati e costituisce per questo un utile strumento di analisi nell’ambito dell’attività di progettazione.
Il processo si fonda su un semplice criterio: se una relazione presenta più concetti tra loro indipendenti, la si decompone in relazioni più piccole, una per ogni concetto. Questo tipo di processo non è sempre applicabile in tutte le tabelle, dato che in alcuni casi potrebbe comportare una perdita d’informazioni.
L’obiettivo è sempre quello di raggiungere, attraverso raffinamenti del modello relazionale, una forma normale che sottostando ad una serie di vincoli, riduca o, meglio, elimini la possibilità di anomalie.
Dipendenze funzionali
Le dipendenze funzionali sono un particolare vincolo di integrità per il modello relazionale che descrive legami di tipo funzionale tra gli attributi e una relazione.
Forme normali
Le forme normali “certificano” la qualità dello schema di una base di dati relazionale. Le forme normali sono le seguenti.
Prima Forma Normale
Una base dati è in prima forma normale se vale il seguente vincolo per ogni relazione contenuta nella base dati. Una relazione è in 1NF se e solo se:
- non presenta gruppi di attributi che si ripetono (ossia ciascun attributo è definito su un dominio con valori atomici).
- esiste una chiave primaria (ossia esiste un insieme di attributi, che identifica in modo univoco ogni tupla della relazione)
Seconda Forma Normale
Una base dati è invece in seconda forma normale quando è in 1NF e per ogni tabella tutti i campi non chiave dipendono funzionalmente dall’intera chiave composta e non da una parte di essa.
Terza Forma Normale
Una base dati è in terza forma normale se è in 2NF e per ogni dipendenza funzionale è vera una delle seguenti condizioni:
- X è una superchiave della relazione
- Y è membro di una chiave della relazione
Quindi, una relazione si dice in terza forma normale quando è innanzitutto in seconda forma normale e tutti gli attributi non-chiave dipendono soltanto dalla chiave, ossia non esistono attributi che dipendono da altri attributi non-chiave.
Forma Normale di Boyce e Codd
Una relazione R è in forma normale di Boyce e Codd se e solo se è in terza forma normale e, per ogni dipendenza funzionale non banale, X è una superchiave per R. Quindi, dato un insieme di relazioni, non è possibile garantire sempre il raggiungimento di questa forma normale; in particolare il mancato raggiungimento di questo obiettivo è indice che la base dati è affetta da un’anomalia di cancellazione (ossia è possibile perdere dati a seguito di un’operazione di cancellazione).