Questo documento di concetto fornisce una breve descrizione sull'argomento normalizzazione dei dati relativamente al Prodotto di lavoro: Modello di dati. Non fornisce una
trattazione completa sulla normalizzazione poiché l'argomento è piuttosto vasto ed è stato documentato in molti testi
relativi alla progettazione di database. In [NBG01], la
normalizzazione viene definita come "una tecnica analitica utilizzata per produrre una corretta progettazione di
database relazionale." In pratica, la normalizzazione è una procedura per eliminare la ridondanza nel Modello di dati
per mezzo dell'applicazione di regole rigide. L'eliminazione della ridondanza dei dati nelle tabelle del modelli di
dati aiuta a rafforzare l'integrità referenziale dei dati nel database.
La normalizzazione in genere viene eseguita sul Modello di dati dopo che è stata sviluppata nel modello una versione
iniziale delle tabelle e delle loro relazioni. Il momento esatto in cui applicare la normalizzazione dipende
dalla situazione specifica del progetto e sta al Progettista di database deciderlo. Il processo di
normalizzazione viene applicato alle tabelle nel Modello di dati in serie di passi in cui ciascun passo applica delle
regole più rigide delle precedenti.
Livelli di normalizzazione
La normalizzazione viene classificata gerarchicamente in forme numeriche, con le più comuni indicate come primo formato
normale, secondo e terzo. Ogni livello di normalizzazione è più restrittivo del precedente. I primi tre livelli
gerarchici di normalizzazione sono:
-
Primo formato normale-I gruppi ripetitivi di colonne di dati nelle tabelle sono stati eliminati in modo che
i dati sono organizzati in unità atomiche.
-
Secondo formato normale-I dati sono nel primo formato normale e la ridondanza nei campi chiave primari è
stata eliminata in modo che i valori delle colonne sono completamente dipendenti dal campo chiave primario.
-
Terzo formato normale-I dati sono nel secondo formato normale ed ogni colonna non dipende da nessun altra
colonna non di chiave.
Sono possibili altri livelli di normalizzazione ma non vengono trattati in questa sezione. Ulteriori informazioni
sull'aggiunta di ulteriori livelli di normalizzazione sono reperibili in [DAT99]. Il
livello esatto di normalizzazione da applicare al Modello di dati è una decisione che il progettista di database deve
effettuare in base alle specifiche della situazione del progetto.
|