35
Normalizzazione Le forme normali “certificano” che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti collaterali. La normalizzazione è una procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale; è utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati. Non costituisce una metodologia di progettazione Prima di definire le forme normali è necessario esaminare i diversi tipi di anomalia che si possono verificare a causa delle ridondanze.

Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Embed Size (px)

Citation preview

Page 1: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Normalizzazione

Le forme normali “certificano” che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti collaterali.

La normalizzazione è una procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale; è utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati.

Non costituisce una metodologia di progettazione

Prima di definire le forme normali è necessario esaminare i diversi tipi di anomalia che si possono verificare a causa delle ridondanze.

Page 2: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Una relazione con anomalie

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

Page 3: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

AnomalieSe si utilizza una sola relazione per rappresentare concetti disomogenei o indipendenti si possono verificare tre tipi di anomalie, oltre ad avere ridondanza nello schema (un dato è ripetuto in tutte le tuple relative al concetto cui si riferisce):

• anomalia di aggiornamento: se il dato ridondante varia va modificato in tutte le tuple

• anomalia di cancellazione: se non ci sono informazioni relative ad un elemento della chiave si perdono anche tutte le altre informazioni, anche se disponibili, riguardo ad altri concetti non inclusi nella chiave (a meno di ammettere valori nulli nella chiave).

• anomalia di inserimento: non è possibile inserire informazioni su un concetto non incluso nella chiave se manca l’informazione su un elemento della chiave.

Page 4: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Anomalie

Quindi in presenza di ridondanze:

• alcuni dati possono essere ripetuti, senza aggiunta di informazioni significative

• gli aggiornamenti (concettualmente atomici) devono essere ripetuti per ogni occorrenza dei dati relativi.

• La cancellazione di una tupla perché non è più valido l’insieme di concetti nel suo complesso può comportare l’eliminazione di tutti i concetti, anche quelli che restano validi

• Non è possibile inserire un solo concetto per una relazione se non esiste un intero insieme di concetti

Page 5: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

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

Page 6: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Dipendenze funzionali

Sono vincoli di integrità di tipo funzionale fra gli attributi di una relazione.

Formalmente: data una relazione r su uno schema R(X) e due sottoinsiemi non vuoti Z e Y di X, esiste per r una dipendenza funzionale tra Y e Z se per ogni coppia di tuple t1 e t2 di r aventi gli stessi valori su Y, t1 e t2 hanno anche gli stessi valori su Z.

Si indica con Y Z (es. Impiegato Stipendio)

Y Z è non banale se nessun attributo in Z appartiene a Y

Es. Impiegato Progetto Progetto è banale

Se K è una chiave esiste una dipendenza funzionale da K di tutti gli altri attributi. Il vincolo di dipendenza funzionale generalizza il vincolo di chiave.

Y -> Z su R(X) degenera nel vincolo di chiave se Y U Z = X

Page 7: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

• gli impiegati hanno un unico stipendio

Impiegato Stipendio• i progetti hanno un unico bilancio

Progetto Bilancio• In ciascun progetto, un impiegato svolge una sola funzione

Impiegato Progetto Funzione

Le prime due dipendenze funzionali causano anomalie, la terza no.

Tornando all’esempio…..

Page 8: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

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

Page 9: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Dipendenze funzionali e anomalie

• La parte sinistra della terza dipendenza funzionale corrisponde ad una chiave e non causa anomalie

• Le prime due non corrispondono a chiavi e causano anomalie• La relazione contiene alcune informazioni legate alla chiave e altre

ad attributi che non formano una chiave

• 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

Page 10: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Forma normale di Boyce e Codd

Le dipendenze funzionali X -> Y in cui X sia una superchiave NON possono creare anomalie o ridondanze, in quanto X di per sé implica l’unicità di ogni tupla definita su tale insieme.

Se X non è superchiave ciò può non accadere.

Una relazione r si definisce in forma normale di Boyce e Codd se per ogni dipendenza funzionale X->Y definita su di essa, X contiene una chiave K di r, cioè X è superchiave di r.

La forma normale di Boyce e Codd richiede che i concetti in una relazione siano omogenei (solo proprietà direttamente associate alla chiave)

Page 11: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Decomposizione in forma normale

In generale, se una relazione non è in forma normale, è possibile portarla in forma normale producendo tante relazioni quante sono le dipendenze funzionali.

Questo è possibile in molti casi in modo diretto e naturale se le dipendenze sono indipendenti (es. su insiemi disgiunti di attributi).

In altri casi la cosa può essere più complicata.

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

Page 12: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Decomposizione in forma normale

In generale, la progettazione concettuale fatta mediante il modello E-R tende a garantire che lo schema rappresenti in modo separato le entità fondamentali e le rispettive associazioni.

Quindi se la progettazione concettuale è stata fatta in modo corretto, la base di dati risultante dalla sua traduzione dovrebbe essere in forma normale.

Una buona decomposizione deve soddisfare le proprietà di essere senza perdita e di conservare le dipendenze.

Page 13: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Non sempre così facileImpiegato Progetto Sede

Rossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere Milano

Impiegato SedeProgetto Sede

Decomponendo in base alle dipendenze:

Impiegato SedeRossi RomaVerdi MilanoNeri Milano

Progetto SedeMarte RomaGiove Milano

Saturno MilanoVenere Milano

Page 14: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Ricomposizione della tabella

Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere MilanoVerdi Saturno MilanoNeri Giove Milano

La relazione ottenuta è diversa dalla relazione di partenza

Impiegato SedeRossi RomaVerdi MilanoNeri Milano

Progetto SedeMarte RomaGiove Milano

Saturno MilanoVenere Milano

Page 15: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Decomposizione senza perdita

Data una relazione r su X, se X1 e X2 sono due sottoinsiemi di X la cui unione è X stesso, allora il join delle due relazioni ottenute per proiezione di r su X1 e X2 è una relazione che contiene tutte le tuple di r più eventualmente alcune altre che si possono definire “spurie”.

La decomposizione di r su X1 e X2 è senza perdita se il join delle due proiezioni è uguale ad r stessa, cioè non contiene tuple spurie.

Se si deve fare una decomposizione ai fini della normalizzazione,è essenziale che sia senza perdita.

Sia r una relazione su X e X1 e X2 tali che X1 U X2 = X e

X0 = X1 X2 . Se r soddisfa la dipendenza funzionale X0->X1

oppure X0 -> X2 allora la decomposizione è senza perdita.

Cioè la decomposizione è senza perdita se gli attributi comuni sono superchiave per una delle relazioni decomposte.

Page 16: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Conservazione delle dipendenze

La decomposizione in più relazioni può creare casi in cui un inserimento di dati illecito per la relazione originaria (per la violazione di una dipendenza funzionale) possa non essere rilevato nel caso della relazione decomposta.

Una proprietà fondamentale delle decomposizioni deve essere quella di conservare le dipendenze.

Questo può essere garantito se ciascuna delle dipendenze funzionali dello schema originario coinvolge attributi che compaiono tutti insieme in uno degli schemi decomposti.

Page 17: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere Milano

Impiegato ProgettoRossi MarteVerdi GioveVerdi VenereNeri SaturnoNeri Venere

Impiegato SedeRossi RomaVerdi MilanoNeri Milano

Impiegato SedeProgetto Sede

Supponiamo di voler inserire una nuova tupla che specifica la partecipazione dell'impiegato Neri, che opera a Milano, al progetto Marte

Conservazione delle dipendenze

Page 18: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Impiegato ProgettoRossi MarteVerdi GioveVerdi VenereNeri SaturnoNeri Venere

Impiegato SedeRossi RomaVerdi MilanoNeri Milano

Neri MarteNeri Milano

Impiegato Progetto SedeRossi Marte RomaVerdi Giove MilanoVerdi Venere MilanoNeri Saturno MilanoNeri Venere MilanoNeri Marte Milano

Conservazione delle dipendenze

Progetto Sede non è conservata

Page 19: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Qualità di una decomposizione

Quindi, una decomposizione deve soddisfare le proprietà di decomposizione senza perdita e di conservazione delle dipendenze.

• La decomposizione senza perdita garantisce che le informazioni nella relazione originaria siano ricostruibili con precisione a partire da quelle decomposte. In questo caso la stessa interrogazione dà gli stessi risultati sulla relazione originaria e su quelle decomposte.

• La conservazione delle dipendenze garantisce che, nelle relazioni decomposte, i vincoli di integrità di quelle originarie siano ancora validi. Ogni aggiornamento (non) valido su quella originaria corrisponde a un aggiornamento (non) valido su quelle decomposte. Queste ultime possono accettare anche aggiornamenti leciti impossibili su quella originaria, a causa delle anomalie rimosse con la decomposizione.

Page 20: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Una relazione non-normalizzata

Dirigente Progetto Sede

Rossi Marte RomaVerdi Giove MilanoVerdi Marte MilanoNeri Saturno MilanoNeri Venere Milano

Progetto Sede DirigenteDirigente Sede

Page 21: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

La decomposizione è problematica

Progetto Sede Dirigente coinvolge tutti gli attributi e quindi nessuna

decomposizione può preservare tale dipendenza

Quindi in alcuni casi la forma normale di Boyce & Codd “non è

raggiungibile”

Page 22: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Terza forma normale

Esistono schemi che violano la forma normale di Boyce e Codd che non sono decomponibili ai fini della normalizzazione.

Es. se è presente una dipendenza funzionale in cui un membro sinistro non è superchiave o se una dipendenza funzionale coinvolge già tutti gli attributi e quindi non è decomponibile conservando le dipendenze.

In questi casi si ammette una condizione meno restrittiva, che a sua volta non ammette ridondanze o anomalie pur ammettendo situazioni come quelle viste sopra.

Tale condizione si chiama terza forma normale.

Page 23: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Terza forma normale

Si dice che una relazione r è in terza forma normale se, per ogni dipendenza funzionale X -> Y definita su di essa è verificata almeno una delle seguenti condizioni:

• X contiene una chiave K di r

• ogni attributo in Y è contenuto in almeno una chiave di r

La terza forma normale è meno forte della forma normale di Boyce e Codd ma è sempre ottenibile.

Page 24: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Uno schema non decomponibile in BCNF

Dirigente Progetto Sede

Rossi Marte RomaVerdi Giove MilanoVerdi Marte MilanoNeri Saturno MilanoNeri Venere Milano

Dirigente SedeProgetto Sede Dirigente

Page 25: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Una 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

Page 26: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Decomposizione 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

Page 27: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Progettazione 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

Page 28: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Prodotto

Nome prodotto

Prezzo

Nome fornitore

Indirizzo

PartitaIVA

Codice

PartitaIVA NomeFornitore Indirizzo

Page 29: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Analisi dell’entità

– L’entità viola la terza forma normale a causa della dipendenza:

PartitaIVA NomeFornitore Indirizzo

– Possiamo decomporre sulla base di questa dipendenza

Page 30: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Indirizzo

PartitaIVA

Nomefornitore

Nomeprodotto

Prezzo

Codice

FornituraProdotto Fornitore

(1,1) (0,N)

Page 31: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Professore Studente

Corso dilaurea

Tesi

(0,N) (0,1)

(0,N)

Dipartimento

(0,N)

Studente Corso di laureaStudente Professore

Professore Dipartimento

Page 32: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Analisi della relationship

• La relationship viola la terza forma normale a causa della

dipendenza:

Professore Dipartimento

• Possiamo decomporre sulla base di questa dipendenza

Page 33: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Professore Studente

Corso dilaurea

Tesi

(0,N) (0,1)

(0,N)

DipartimentoAfferenza

(1,1)

(0,N)

Page 34: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Ulteriore analisi sulla base delle dipendenze

• La relationship Tesi è in BCNF sulla base delle dipendenze

Studente CorsoDiLaurea

Studente Professore

• le due proprietà sono indipendenti

• questo suggerisce una ulteriore decomposizione

Page 35: Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti

Professore StudenteTesi

(0,N) (0,1)

Dipartimento

Afferenza

(0,N)

(1,1)

Corso dilaurea

(0,N)

Corso dilaurea

Iscrizione

(0,N)

(1,1)