LE BASI DI DATI
Seconda parte – La progettazione di database
Relazionali
LA NORMALIZZAZIONE DELLE TABELLE
Prima Parte
FORMA NORMALE
Una forma normale è una proprietà di uno schema
relazionale che ne garantisce la “qualità”, cioè
l’assenza di determinati difetti.
Una relazione non normalizzata:
•presenta ridondanze (ovvero la ripetizione di dati inutili),
•esibisce comportamenti poco desiderabili durante gli
aggiornamenti
L’attività che permette di trasformare schemi non
normalizzati in schemi che soddisfano una forma
normale è detta normalizzazione
2
ESEMPIO
Si consideri la seguente tabella relativa ai dati degli
impiegati.
È ottimale questa scelta?
Ci sono ridondanze?
3
ESEMPIO
Ridondanze : lo stipendio è ripetuto per ogni
dipendente
Da ciò deriva:
•Anomalia di modifica : se varia lo stipendio di un dipendente è
necessario modificarlo in tutte le righe in cui è presente
•Anomalia di cancellazione : se un dipendente resta senza
scuola si deve cancellarlo
•Anomalia di inserimento : non posso inserire un nuovo
dipendente che non è assegnato ad alcuna scuola
4
LA SOLUZIONE STA NEL
Suddividere la tabella in più relazioni (o tabelle). Ciò
deve avvenire senza perdita di dati.
SCOPO DELLA NORMALIZZAZIONE
Creare un insieme di tabelle che siano libere da dati
ridondanti e che possano essere modificate senza il rischio
di perdere la coerenza dei contenuti
5
DIPENDENZE FUNZIONALI
Consideriamo il seguente esempio:
Si osserva che:
i valori contenuti nelle colonne Nome, Cognome, Indirizzo,
Telefono sono associati con uno e uno solo valore della
colonna ID_Anag.
In questo caso si dice che le colonne Nome, Cognome,
Indirizzo, Telefono sono funzionalmente dipendenti dalla
colonna ID_Anag, mentre la colonna ID_Anag è detta
determinante per le colonne sopra citate.
6
DIPENDENZE FUNZIONALI
ID_Anag
Nome, Cognome, Indirizzo, Telefono
Non si può dire la stessa cosa per le colonne Località e CAP,
in quanto a valori diversi della colonna ID_Anag corrispondono
valori ripetuti nelle colonne Località e CAP .
Si osserva invece che il CAP dipende da Località.
Anagrafiche (ID_Anag, Cognome, Nome, Indirizzo, Località,CAP,Telefono)
7
DIPENDENZE FUNZIONALI
DIPENDENZA FUNZIONALE
Una colonna Y di una tabella R viene detta funzionalmente
dipendente dalla colonna X di R se ogni valore in R viene
associato con un solo valore di Y. La colonna X è detta
determinante per la colonna Y.
8
PRIMA FORMA NORMALE
Una tabella relazionale , per definizione è nella prima
forma normale poiché :
RELAZIONE IN PRIMA FORMA NORMALE
Una relazione si dice in prima forma normale (1NF) se e
solo se tutti i suoi attributi sono valori atomici: ciò implica
che né gli attributi né i valori da questi assunti possono
essere scomposti ulteriormente.
9
PRIMA FORMA NORMALE
Esempi
Le seguenti tabelle sono in prima forma normale ?
Tabella 1
Tabella 2
10
PRIMA FORMA NORMALE
Esempi - Soluzioni
No, in quanto nella tabella 1 il campo Generalità non è un
campo atomico, analogamente per la tabella 2
relativamente al campo Residenza. Esse vengono così
ridefinite :
Tabella 1
Tabella 2
11