Normalizzazione di Basi di Dati
Post on 21-Jan-2016
64 Views
Preview:
DESCRIPTION
Transcript
Normalizzazione di Basi di DatiNormalizzazione di Basi di Dati
Corso di Basi di Dati
DMI, Univ. Di Catania
Prof. Giovanni Giuffrida
• Queste slides sono state modificate a partire da quelle fornite dagli autori del nostro libro di testo
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
2
Forme normaliForme normali
• Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la “qualità”, cioè l'assenza di determinati difetti
• Quando una relazione non è normalizzata: • presenta ridondanze,• si presta a comportamenti poco
desiderabili durante gli aggiornamenti• Le forme normali sono di solito definite sul
modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
3
NormalizzazioneNormalizzazione
• Procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale (i.e., normalizzati)
• La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati
• Non costituisce una metodologia di progettazione
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
4
Una relazione con Una relazione con anomalieanomalie
Impiegato Stipendio Progetto Bilancio Funzione
Rossi 20 Marte 2 tecnicoVerdi 35 Giove 15 progettistaVerdi 35 Venere 15 progettistaNeri 55 Venere 15 direttoreNeri 55 Giove 15 consulenteNeri 55 Marte 2 consulenteMori 48 Marte 2 direttoreMori 48 Venere 15 progettista
Bianchi 48 Venere 15 progettistaBianchi 48 Giove 15 direttore
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
5
AnomalieAnomalie
• Lo stipendio di ciascun impiegato è ripetuto in tutte le ennuple relative
• ridondanza• Se lo stipendio di un impiegato varia, è necessario
andarne a modificare il valore in diverse ennuple • anomalia di aggiornamento
• Se un impiegato interrompe la partecipazione a tutti i progetti, dobbiamo cancellarlo
• anomalia di cancellazione• Un nuovo impiegato senza progetto non può essere
inserito• anomalia di inserimento
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
6
Perché questi fenomeni indesiderabili?Perché questi fenomeni indesiderabili?
• abbiamo usato un'unica relazione per rappresentare informazioni eterogenee • gli impiegati con i relativi stipendi• i progetti con i relativi bilanci • le partecipazioni degli impiegati ai progetti
con le relative funzioni
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
7
Per studiare in maniera sistematica questi Per studiare in maniera sistematica questi aspetti, è necessario introdurre un vincolo aspetti, è necessario introdurre un vincolo
di integrità:di integrità: la dipendenza funzionalela dipendenza funzionale
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
8
Proprietà nell’applicazione di esempioProprietà nell’applicazione di esempio
• Ogni impiegato ha un solo stipendio (anche se partecipa a più progetti)
• Ogni progetto ha un unico bilancio • Ogni impiegato in ciascun progetto ha una
sola funzione (anche se può avere funzioni diverse in progetti diversi)
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
9
Dipendenza funzionaleDipendenza funzionale
• relazione r su R(X) • due sottoinsiemi non vuoti Y e Z di X• esiste in r una dipendenza funzionale (FD) da Y a Z se,
per ogni coppia di ennuple t1 e t2 di r con gli stessi valori su Y, risulta che t1 e t2 hanno gli stessi valori anche su Z
• E’ “funzionale” in quanto si comporta come una funzione FD : Y Z
• per ogni elemento del dominio viene identificato uno ed un solo elemento del co-dominio
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
10
Identificazione delle dipendenze funzionali Identificazione delle dipendenze funzionali
• Le dipendenze funzionali devono essere identificate semanticamente in fase di progettazione
• Non basta guardare un’istanza del database per derivare le FD
• In genere sono ben chiare a chi conosce il problema
• In fase di progettazione e’ molto utile per l’implementatore identificarle e formalizzarle al meglio
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
11
La stessa relazione con La stessa relazione con anomalieanomalie
Impiegato Stipendio Progetto Bilancio Funzione
Rossi 20 Marte 2 tecnicoVerdi 35 Giove 15 progettistaVerdi 35 Venere 15 progettistaNeri 55 Venere 15 direttoreNeri 55 Giove 15 consulenteNeri 55 Marte 2 consulenteMori 48 Marte 2 direttoreMori 48 Venere 15 progettista
Bianchi 48 Venere 15 progettistaBianchi 48 Giove 15 direttore
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
12
Notazione delle FDNotazione delle FD
XY
• Esempi del DB precedente:
Impiegato Stipendio
Progetto Bilancio
Impiegato Progetto Funzione
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
13
Significato delle FDSignificato delle FD
• Impiegato Stipendio• Ogni impiegato ha un suo stipendio
indipendentemente dai progetti a cui lavora
• Progetto Bilancio• Ogni progetto ha un suo bilancio a prescindere
dal numero delle persone coinvolte in esso
• Impiegato Progetto Funzione• Un impiegato svolge una (ed una sola) funzione
all’interno di un progetto. Lo stesso impiegato puo’ essere coinvolto in piu’ progetti
• Nota che (Impiegato Progetto) e’ chiave nella relazione precedente
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
14
Altre FDAltre FD
• Impiegato Progetto Progetto
• Si tratta però di una FD “banale” (sempre soddisfatta)
• Y A è non banale se A non appartiene a Y• Y Z è non banale se nessun attributo in Z
appartiene a Y• In genere le FD banali non vengono
considerate
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
15
Le anomalie sono legate ad alcune FDLe anomalie sono legate ad alcune FD
• gli impiegati hanno un unico stipendio
Impiegato Stipendio• i progetti hanno un unico bilancio
Progetto Bilancio
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
16
Non tutte le FD causano anomalieNon tutte le FD causano anomalie
• In ciascun progetto, un impiegato svolge una sola funzione
Impiegato Progetto Funzione
• Il soddisfacimento è più "semplice"
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
17
Una differenza fra FD Una differenza fra FD
Impiegato Stipendio
Progetto Bilancio• causano anomalie
Impiegato Progetto Funzione• non causa anomalie• Perché?
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
18
Impiegato Stipendio Progetto Bilancio Funzione
Rossi 20 Marte 2 tecnicoVerdi 35 Giove 15 progettistaVerdi 35 Venere 15 progettistaNeri 55 Venere 15 direttoreNeri 55 Giove 15 consulenteNeri 55 Marte 2 consulenteMori 48 Marte 2 direttoreMori 48 Venere 15 progettista
Bianchi 48 Venere 15 progettistaBianchi 48 Giove 15 direttore
Impiegato StipendioProgetto Bilancio
Impiegato Progetto Funzione
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
19
FD e anomalieFD e anomalie
• La parte sinistra della terza FD corrisponde ad una chiave e non causa anomalie
• Le prime due FD non corrispondono a chiavi e causano anomalie
• La relazione contiene alcune informazioni legate alla chiave e altre ad attributi che non formano una chiave
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
20
Quindi, il problema e’…Quindi, il problema e’…
• che abbiamo usato un'unica relazione per rappresentare informazioni eterogenee:• gli impiegati con i relativi stipendi• i progetti con i relativi bilanci • le partecipazioni degli impiegati ai progetti
con le relative funzioni
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
21
Impiegato StipendioProgetto Bilancio
Impiegato Progetto Funzione• Impiegato Progetto è chiave• Impiegato solo no• Progetto solo no• Le anomalie sono causate dalla presenza di
concetti eterogenei:• proprietà degli impiegati (lo stipendio)• proprietà di progetti (il bilancio)• proprietà della chiave Impiegato Progetto
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
22
Forma normale di Boyce e Codd (BCNF)Forma normale di Boyce e Codd (BCNF)
• Una relazione r è in forma normale di Boyce e Codd se, per ogni dipendenza funzionale (non banale) X Y definita su di essa, X contiene una chiave K di r
• In sostanza: la forma normale BCNF richiede che i concetti in una relazione siano omogenei (solo proprietà direttamente associate alla chiave)
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
23
Che facciamo se una relazione non Che facciamo se una relazione non soddisfa la BCNF?soddisfa la BCNF?
• La rimpiazziamo con altre relazioni che soddisfano la BCNF
Come?• Decomponendo sulla base delle dipendenze
funzionali, al fine di separare i concetti
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
24
Impiegato Stipendio Progetto Bilancio Funzione
Rossi 20 Marte 2 tecnicoVerdi 35 Giove 15 progettistaVerdi 35 Venere 15 progettistaNeri 55 Venere 15 direttoreNeri 55 Giove 15 consulenteNeri 55 Marte 2 consulenteMori 48 Marte 2 direttoreMori 48 Venere 15 progettista
Bianchi 48 Venere 15 progettistaBianchi 48 Giove 15 direttore
Impiegato StipendioRossi 20Verdi 35Neri 55Mori 48
Bianchi 48
Impiegato Progetto Funzione Rossi Marte tecnico Verdi Giove progettista Verdi Venere progettista Neri Venere direttore Neri Giove consulente Neri Marte consulente Mori Marte direttore Mori Venere progettista
Bianchi Venere progettista Bianchi Giove direttore
Progetto BilancioMarte 2Giove 15Venere 15
• Ogni concetto (i.e., FD) e’ adesso rappresentato da una propria relazione
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
25
Non sempre così facileNon sempre così facile
Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere Milano
Impiegato SedeProgetto Sede
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
26
Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere Milano
Decomponiamo sulla base Decomponiamo sulla base delle dipendenzedelle dipendenze
Impiegato SedeRossi RomaVerdi MilanoNeri Milano
Progetto SedeMarte RomaGiove Milano
Saturno MilanoVenere Milano
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
27
Proviamo a ricostruireProviamo a ricostruire
Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere MilanoVerdi Saturno MilanoNeri Giove Milano
Diversa dalla relazione di partenza!
Impiegato SedeRossi RomaVerdi MilanoNeri Milano
Progetto SedeMarte RomaGiove Milano
Saturno MilanoVenere Milano
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
28
Cos’e’ successo?Cos’e’ successo?
• Abbiamo tralasciato qualche informazione?• Un impiegato e’ assegnato ad uno o piu’ progetti• Dal JOIN naturale della due relazioni finali si assume che ogni
impiegato lavora a tutti i progetti svolti nella sua sede… sbagliato!
Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere Milano
Impiegato SedeRossi RomaVerdi MilanoNeri Milano
Progetto SedeMarte RomaGiove Milano
Saturno MilanoVenere Milano
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
29
Decomposizione senza perdita Decomposizione senza perdita
• Una relazione r si decompone senza perdita su X1 e X2 se il join delle proiezioni di r su X1 e X2 è uguale a r stessa (cioè non contiene ennuple spurie)
• La decomposizione senza perdita è garantita se gli attributi comuni tra X1 e X2 contengono una chiave in almeno una delle relazioni decomposte
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
30
Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere Milano
Proviamo a decomporre senza perditaProviamo a decomporre senza perdita
Impiegato ProgettoRossi MarteVerdi GioveVerdi VenereNeri SaturnoNeri Venere
Impiegato SedeRossi RomaVerdi MilanoNeri Milano
Impiegato SedeProgetto Sede
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
31
Un altro problemaUn altro problema
• Supponiamo di voler inserire una nuova ennupla che specifichi la partecipazione dell'impiegato Neri, che opera a Milano, al progetto Marte
Impiegato ProgettoRossi MarteVerdi GioveVerdi VenereNeri SaturnoNeri Venere
Impiegato SedeRossi RomaVerdi MilanoNeri Milano
Impiegato SedeProgetto Sede
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
32
Impiegato ProgettoRossi MarteVerdi GioveVerdi VenereNeri SaturnoNeri Venere
Impiegato SedeRossi RomaVerdi MilanoNeri Milano
Neri Marte
Neri Milano
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
33
Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere MilanoNeri Marte Milano
Violato un principio di integrita’…Violato un principio di integrita’…
• Adesso, il progetto Marte viene svolto sia a Roma che a Milano, abbiamo quindi violato la FD:
• Progetto Sede• Questa FD non l’abbiamo mantenuta nella
decomposizione
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
34
Conservazione delle dipendenzeConservazione delle dipendenze
• Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali dello schema originario coinvolge attributi che compaiono tutti insieme in uno degli schemi decomposti
• Progetto Sede non è conservata
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
35
Qualità delle decomposizioniQualità delle decomposizioni
• Una decomposizione dovrebbe sempre soddisfare:• la decomposizione senza perdita, che
garantisce la ricostruzione delle informazioni originarie
• la conservazione delle dipendenze, che garantisce il mantenimento dei vincoli di integrità originari
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
36
Una relazione non-normalizzataUna relazione non-normalizzata
Dirigente Progetto Sede
Rossi Marte RomaVerdi Giove MilanoVerdi Marte MilanoNeri Saturno MilanoNeri Venere Milano
Progetto Sede DirigenteDirigente Sede
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
37
La decomposizione è problematicaLa decomposizione è problematica
• Progetto Sede Dirigente coinvolge
tutti gli attributi e quindi nessuna
decomposizione può preservare tale
dipendenza
• quindi in alcuni casi la BCNF “non è
raggiungibile”
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
38
Un’altra forma normaleUn’altra forma normale
• Una relazione r è in terza forma normale se, per ogni FD (non banale) X Y definita su r, è verificata almeno una delle seguenti condizioni:• X contiene una chiave K di r• ogni attributo in Y è contenuto in almeno
una chiave di r
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
39
BCNF e terza forma normaleBCNF e terza forma normale
• la terza forma normale è meno restrittiva della forma normale di Boyce e Codd (e ammette relazioni con alcune anomalie)
• ha il vantaggio però di essere sempre “raggiungibile”• Cio’ si puo’ provare
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
40
Decomposizione in terza forma normaleDecomposizione in terza forma normale
• si crea una relazione per ogni gruppo di attributi coinvolti in una dipendenza funzionale
• si verifica che alla fine una relazione contenga una chiave della relazione originaria
• Dipende dalle dipendenze individuate
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
41
Una possibile strategiaUna possibile strategia
• se la relazione non è normalizzata si
decompone in terza forma normale
• alla fine si verifica se lo schema ottenuto è
anche in BCNF
• Se una relazione ha una sola chiave allora le
due forme normali coincidono
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
42
Uno schema non decomponibile in BCNFUno schema non decomponibile in BCNF
Dirigente Progetto Sede
Rossi Marte RomaVerdi Giove MilanoVerdi Marte MilanoNeri Saturno MilanoNeri Venere Milano
Dirigente SedeProgetto Sede Dirigente
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
43
Una possibile riorganizzazioneUna possibile riorganizzazione
Dirigente Progetto Sede Reparto
Rossi Marte Roma 1Verdi Giove Milano 1Verdi Marte Milano 1Neri Saturno Milano 2Neri Venere Milano 2
Dirigente Sede RepartoSede Reparto DirigenteProgetto Sede Reparto
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
44
Decomposizione in BCNFDecomposizione in BCNF
Progetto Sede Reparto
Marte Roma 1Giove Milano 1Marte Milano 1
Saturno Milano 2Venere Milano 2
Dirigente Sede Reparto
Rossi Roma 1Verdi Milano 1Neri Milano 2
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
45
Progettazione e normalizzazioneProgettazione e normalizzazione
• la teoria della normalizzazione può essere usata nella progettazione logica per verificare lo schema relazionale finale
• si può usare anche durante la progettazione concettuale per verificare la qualità dello schema concettuale
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
46
Prodotto
Nome prodotto
Prezzo
Nome fornitore
Indirizzo
PartitaIVA
Codice
PartitaIVA NomeFornitore Indirizzo
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
47
Analisi dell’entitàAnalisi dell’entità
• L’entità viola la terza forma normale a
causa della dipendenza:
PartitaIVA NomeFornitore Indirizzo
• Possiamo decomporre sulla base di
questa dipendenza
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
48
Indirizzo
PartitaIVA
Nomefornitore
Nomeprodotto
Prezzo
Codice
FornituraProdotto Fornitore
(1,1) (0,N)
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
49
Professore Studente
Corso dilaurea
Tesi
(0,N) (0,1)
(0,N)
Dipartimento
(0,N)
Studente Corso di laureaStudente Professore
Professore Dipartimento
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
50
Analisi della relationshipAnalisi della relationship
• La relationship viola la terza forma
normale a causa della dipendenza:
Professore Dipartimento
• Possiamo decomporre sulla base di
questa dipendenza
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
51
Professore Studente
Corso dilaurea
Tesi
(0,N) (0,1)
(0,N)
DipartimentoAfferenza
(1,1)
(0,N)
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
52
Ulteriore analisi sulla base delle Ulteriore analisi sulla base delle dipendenzedipendenze
• La relationship Tesi è in BCNF sulla base
delle dipendenze
Studente CorsoDiLaurea
Studente Professore• le due proprietà sono indipendenti• questo suggerisce una ulteriore
decomposizione
07/05/2005 Basi di Dati, DMI Univ. di Catania, 2004-2005
53
Professore StudenteTesi
(0,N) (0,1)
Dipartimento
Afferenza
(0,N)
(1,1)
Corso dilaurea
(0,N)
Corso dilaurea
Iscrizione
(0,N)
(1,1)
top related