giovedì 9 ottobre 2008

La Normalizzazione dei DataBase


La normalizzazione è una prassi finalizzata alla eliminazione della ridondanza e del rischio di inconsistenza dai database. Questo processo presenta differenti livelli, demominati forme normali che certificano la qualità dello schema del database. Si tratta di una procedura di tipo graduale, che realizza un’ottimizzazione progressiva a partire da relazioni non normalizzate fino a raggiungere un certo livello di normalizzazione. Si fonda su un assunto tanto semplice quanto basilare: 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 è purtroppo sempre applicabile in tutte le tabelle, dato che in taluni casi potrebbe comportare una perdita d'informazioni. Prima di passare al vaglio le diverse tipologie di normalizzazione, è bene precisare due concetti fondamentali, quello di ridondanza e di anomalia. La prima si riferisce alla situazione in cui gli stessi dati vengono memorizzati inutilmente più volte, mentre le anomalie si riscontrano nel momento in cui si verificano irregolarità dei dati. Tornando alle forme normali, possiamo affermare che esse sono una proprietà di una Base di Dati Relazione che ne garantisce la qualità. La decomposizione di una relazione dovrebbe sempre garantire che non avvenga una perdita, affinché possa esserci la ricostruzione delle informazioni originarie e che si conservino le dipendenze, per il mantenimento dei vincoli di integrità originari. Di seguito le forme normali:


Prima forma normale


Definizione: Si dice che una base dati è in 1NF (prima forma normale) se vale la seguente relazione per ogni relazione contenuta nella base dati:



  1. una relazione è in 1NF se e solo se:
    non presenta gruppi di attributi che si ripetono


  2. esiste una chiave primaria (ossia esiste un insieme di attributi, che identifica in modo univoco ogni tupla della relazione)

Seconda forma normale



Definizione: Una base dati è invece in 2NF (seconda forma normale) quando è in 1NF e per ogni tabella tutti i campi non chiave dipendono funzionalmente dall'intera chiave primaria e non da una parte di essa.

Terza forma normale



Definizione: Una base dati è in 3NF (terza forma normale) se è in 2NF e per ogni dipendenza funzionale è vera una delle seguenti condizioni:



  1. X è una superchiave della relazione

  2. Y è membro di una chiave della relazione

Teorema: Ogni relazione può essere portata in 3NF.

Quarta forma normale

Una base dati è detta invece essere in 4NF quando per ogni relazione di dipendenza funzionale molti a molti X Y, X sia una superchiave.


Quinta forma normale

Infine, una base dati si dice in 5NF se e solo se:



  1. è in 4NF;

  2. ogni relazione di dipendenza è implicata dalle chiavi candidate.

Nessun commento: