La normalizzazione delle relazioni
PRIMA FORMA NORMALE
Una relazione è in prima forma normale (1FN) quando rispetta i requisiti fondamentali del modello relazionale che sono:
-
tutte le righe della tabella contengono lo stesso numero di colonne;
-
gli attributi rappresentano informazioni elementari;
-
i valori che compaiono in una colonna sono 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
nella relazione:
Dipendenti (Matricola, Nome, Indirizzo, FamiliariACarico)
L'attributo famigliare a carico non è elementare, in quanto è costituito da un gruppo di attributi ripetuti dello stesso tipo (i nomi dei famigliari). La relazione non è in prima forma normale.
La relazione può essere opportunamente convertita in due tabelle:
Dipendenti(Matricola, Nome, Indirizzo)
Familiari (CodiceFam, NomeFam, MatricolaDip)
Le forme normali superiori alla prima vengono introdotte per eliminare problemi durante le operazioni di aggiornamento o di cancellazione, evitando l'inconsistenza o la perdita indesiderata di dati.
SECONDA FORMA NORMALE
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 della chiave e riguarda il caso di relazioni con chiave composte, cioè formate da più attributi.
ESEMPIO
La relazione Inventario definita dallo schema:
Inventario(Prodotto,Magazzino,Quantità,IndirizzoMagazzino)
non è in seconda forma normale; infatti l'attributo IndirizzoMagazzino dipende funzionalmente dall'attributo magazzino, che rappresenta una porzione di chiave e non l'intera chiave.
La relazione deve essere convertita in:
R1(Magazzino, IndirizzoMagazzino)
R2(Prodotto, Magazzino, quantità)
TERZA FORMA NORMALE
Una relazione è in terza forma normale (3FN) quando è in seconda forma normale e tutti gli attributi non-chiave dipendono direttamente alla 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.
Le regole di derivazione
Dal modello concettuale dei dati è possibile ottenere il modello logico dei dati: in altre parole si può definire la struttura degli archivi adatti per organizzare i dati. Nel caso del modello relazionale le tabelle, che costituiscono il modello logico dei dati vengono ricavate dal modello E/R mediante alcune semplici regole di derivazione:
-
Ogni entità diventa una relazione;
-
Ogni attributo di un'entità diventa un attributo della relazione, cioè il nome di un colonna della tabella;
-
Ogni attributo della relazione eredita le caratteristiche dell'attributo dell'entità cui deriva;
-
L'identificatore univoco di un'entità diventa la chiave primaria della relazione derivata;
-
L'associazione uno a uno diventa un'unica relazione che contiene gli attributi della prima e della seconda entità;
-
L'associazione uno a molti viene rappresentata aggiungendo, agli attributi dell'entità che svolge il ruolo a molti, l'identificatore univoco dell'entità che svolge il ruolo a uno nell'associazione. Questo identificatore prende il nome di chiave esterna dell'entità associata.
-
L'associazione molti a molti diventa una nuova relazione composta dagli identificatori univoci delle due entità e degli eventuali attributi dell'associazione.