55
Teoria della normalizzazione Andrea Petreri Universit` a degli Studi Roma Tre Andrea Petreri Teoria della normalizzazione

Teoria della Normalizzazione di Schemi Relazionali

Embed Size (px)

Citation preview

Page 1: Teoria della Normalizzazione di Schemi Relazionali

Teoria della normalizzazione

Andrea Petreri

Universita degli Studi Roma Tre

Andrea Petreri Teoria della normalizzazione

Page 2: Teoria della Normalizzazione di Schemi Relazionali

Sommario

1 Nozioni preliminariIntroduzione alla normalizzazioneDipendenze funzionaliDipendenze multivalore

2 Adeguatezza delle trasformazioniAdeguatezza ed equivalenzaStudio formale dell’adeguatezzaalpha-adeguatezzabeta-adeguatezzagamma-adeguatezzadelta-adeguatezza

3 Forme normaliForma normale di Boyce-CoddTerza forma normale

4 Algoritmi per la normalizzazioneAnalisiSintesi

5 Altre forme normaliQuarta forma normaleQuinta forma normaleLa forma normale definitiva

Andrea Petreri Teoria della normalizzazione

Page 3: Teoria della Normalizzazione di Schemi Relazionali

Forme normali

Sono proprieta che “certificano” la qualita dello schema di una base di datirelazionale in termini di assenza di determinati difetti

Quando una relazione non soddisfa una forma normale presentaridondanze e si presta a comportamenti poco desiderabili durante leoperazioni di aggiornamento

Andrea Petreri Teoria della normalizzazione

Page 4: Teoria della Normalizzazione di Schemi Relazionali

Normalizzazione

Procedura che permette di trasformare schemi non normalizzati in schemi chesoddisfano una forma normale

La normalizzazione non e una metodologia di progettazione

Deve essere utilizzata come tecnica di verifica dei risultati dellaprogettazione

Le relazioni che non soddisfano la forma normale desiderata (target)devono essere rimpiazzate da un insieme di relazioni “normalizzate”

Si ottengono applicando opportune proiezioni alle relazioni originaliRappresentano “almeno” le stesse informazioni

Andrea Petreri Teoria della normalizzazione

Page 5: Teoria della Normalizzazione di Schemi Relazionali

Una relazione con anomalie

Impiegato Stipendio Progetto Bilancio Funzione

Rossi 20 Marte 2 tecnico

Verdi 35 Giove 15 progettista

Verdi 35 Venere 15 progettista

Neri 55 Venere 15 direttore

Neri 55 Giove 15 consulente

Neri 55 Marte 2 consulente

Mori 48 Marte 2 direttore

Mori 48 Venere 15 progettista

Bianchi 48 Venere 15 progettista

Bianchi 48 Giove 15 direttore

Andrea Petreri Teoria della normalizzazione

Page 6: Teoria della Normalizzazione di Schemi Relazionali

Anomalie

Dovute all’utilizzo di un’unica relazione per rappresentare informazionieterogenee

Lo stipendio di ciascun impiegato e ripetuto in piu ennupleridondanza

Se lo stipendio di un impiegato varia, e necessario andarne a modificare ilvalore in tutte le ennuple corrispondenti

anomalia di aggiornamento

Se un impiegato interrompe la partecipazione a tutti i progetti, non epossibile conservare traccia del suo nome e del suo stipendio

anomalia di cancellazione

Se si hanno informazioni su un nuovo impiegato, non e possibile inserirlefinche non partecipa a un progetto

anomalia di inserimento

Andrea Petreri Teoria della normalizzazione

Page 7: Teoria della Normalizzazione di Schemi Relazionali

Dipendenze funzionali (FD)

Sono vincoli di integrita che descrivono legami di tipo funzionale tra gliattributi di una relazione

Dato uno schema di relazione R(X) e due sottoinsiemi di attributi non vuoti Ye Z di X, si dice che esiste in R(X) la dipendenza funzionale Y → Z, se, perogni possibile istanza r di R(X) e per ogni coppia di tuple t1 e t2 di r aventigli stessi valori sugli attributi Y , risulta che t1 e t2 hanno gli stessi valori anchesugli attributi Z

Esempi

Impiegato → StipendioProgetto → Bilancio

Impiegato, Progetto → Funzione

Andrea Petreri Teoria della normalizzazione

Page 8: Teoria della Normalizzazione di Schemi Relazionali

Dipendenze funzionali banali e chiavi

Una dipendenza funzionale Y → Z e banale (sempre soddisfatta) se tuttigli attributi di Z appartengono ad Y , cioe se Z ⊆ Y

Sia dato lo schema di relazione R(U). Un insieme di attributi Xappartenente ad U si dice superchiave di (R, F ), o semplicementesuperchiave di R, se la dipendenza funzionale X → U e logicamenteimplicata da F , cioe se X → U ∈ F+.

Se nessun sottoinsieme proprio di X e superchiave di R, allora X si dicechiave di R

Andrea Petreri Teoria della normalizzazione

Page 9: Teoria della Normalizzazione di Schemi Relazionali

Dipendenze funzionali implicate e chiusura

Sia (R, F ) uno schema di relazione con dipendenze funzionali, con Rschema di relazione, ed F insieme delle dipendenze funzionali definite in R

Una dipendenza funzionale f si dice logicamente implicata da F se ogniistanza di R che soddisfa tutte le dipendenze funzionali in F soddisfaanche f

Chiusura di un insieme di dipendenze funzionali

Se F e un insieme di dipendenze funzionali, allora l’insieme delle dipendenzefunzionali logicamente implicate da F si indica con F+ e prende il nome dichiusura di F

Chiusura di un insieme di attributi rispetto ad F

Sia (R, F ) uno schema di relazione con dipendenze funzionali e sia X unsottoinsieme non vuoto dell’insieme U degli attributi di R. La chiusura di Xrispetto ad F , indicata con X+, e l’insieme di attributi {A|X → A ∈ F+}

Andrea Petreri Teoria della normalizzazione

Page 10: Teoria della Normalizzazione di Schemi Relazionali

Dipendenze multivalore (MVD)

Sono vincoli di integrita che descrivono legami di tipo funzionale tra gliattributi di una relazione

Sia dato uno schema di relazione R(U) e due sottoinsiemi di attributi non vuotiX ed Y di U . Sia inoltre Z = U −XY . Si dice che R(U) soddisfa ladipendenza multivalore X � Y , se, per ogni istanza r di R(U) e per ognicoppia di tuple t1 e t2 ∈ r tali che t1[X] = t2[X], esiste una tupla t ∈ r taleche t[XY ] = t1[XY ] e t[XZ] = t2[XZ]

Intuitivamente, se X � Y , in presenza di due tuple con identici valori suX e diversi valori su Y si possono scambiare i valori sull’attributo Yottenendo ancora tuple di r, indipendentemente dai valori assunti per gliattributi in Z

Le dipendenze funzionali sono un caso particolare di dipendenzemultivalore, in cui ad ogni valore per l’attributo X si puo associare un solovalore per l’attributo Y

Andrea Petreri Teoria della normalizzazione

Page 11: Teoria della Normalizzazione di Schemi Relazionali

Trasformazione di schemi relazionali

Normalizzazione

Procedura che permette di trasformare schemi non normalizzati in schemi chesoddisfano una forma normale

La trasformazione di uno schema di base di dati R in uno schema di basedi dati S richiede l’esistenza di opportune relazioni tra le informazionicontenute in R e quelle contenute in S

Tali relazioni dipendono dalle motivazioni che hanno indotto latrasformazione

La normalizzazione trasforma lo schema R, in modo tale che lo schema Sne sia una rappresentazione adeguata

Andrea Petreri Teoria della normalizzazione

Page 12: Teoria della Normalizzazione di Schemi Relazionali

Adeguatezza ed equivalenza

Il concetto di equivalenza fa riferimento al fatto che le istanze degli schemitrasformati corrispondono alle rispettive istanze degli schemi originali

E un concetto che assume rilevanza nell’ambito delle procedure didistribuzione di schemi relazionali

Equivalenza

Corrispondenza uno a uno tra istanze consistenti di R ed istanze consistenti di S

Adeguatezza

Corrispondenza uno a uno tra istanze consistenti di R ed un sottoinsieme delleistanze consistenti di S

Se vi fosse una corrispondenza uno a uno tra istanze di R ed istanze di S,anomalie di inserimento e cancellazione non sarebbero rimosse

Andrea Petreri Teoria della normalizzazione

Page 13: Teoria della Normalizzazione di Schemi Relazionali

Decomposizione

La trasformazione di istanze di uno schema relazionale R in istanze di unoschema relazionale S viene realizzata applicando tipicamente opportuneoperazioni di proiezione (π) e selezione (σ)

Col termine decomposizione si indica tale procedura di trasformazioneDecomposizione verticale e decomposizione orizzontale

Si parla di decomposizione adeguata per far riferimento alladecomposizione applicata per realizzare una procedura di normalizzazione

Andrea Petreri Teoria della normalizzazione

Page 14: Teoria della Normalizzazione di Schemi Relazionali

Adeguatezza ed equivalenza: un esempio (1)

R = {R (Impiegato, Categoria, PercentualeTempo, Stipendio)}c1 : if C ≤ 6, then P → S c2 : I → C, P , S

Impiegato Categoria PercentualeTempo Stipendio

001 1 40 3000

002 1 40 3000

003 5 50 3500

004 7 40 3700

005 7 40 4000

006 8 50 4500

007 8 60 4700

008 8 60 5000

Non e possibile rappresentare lo stipendio associato ad ogni valore diPercentualeTempo per le categorie comprese tra 1 e 6 a meno che nonesista un impiegato per ogni categoria (valori nulli sulla chiave?)

Andrea Petreri Teoria della normalizzazione

Page 15: Teoria della Normalizzazione di Schemi Relazionali

Adeguatezza ed equivalenza: un esempio (2)

Si consideri S = {R1, R2, R3}

R1 (I, C, P , S)d1 : C > 6d2 : I → C, P , S

I C P S

004 7 40 3700

005 7 40 4000

006 8 50 4500

007 8 60 4700

008 8 60 5000

R2 (I, C, P )d3 : C ≤ 6d4 : I → C, P

I C P

001 1 40

002 1 40

003 5 50

R3 (P , S)d5 : P → S

P S

40 3000

50 3500

Andrea Petreri Teoria della normalizzazione

Page 16: Teoria della Normalizzazione di Schemi Relazionali

Adeguatezza ed equivalenza: un esempio (3)

S e una rappresentazione adeguata di R ma non una rappresentazioneequivalente, poiche vi sono istanze di S che non corrispondono ad istanzedi R

Sono le istanze che eliminano le anomalie, consentendo valori perPercentualeTempo senza un impiegato corrispondente

I C P

001 1 40

002 1 40

003 5 50

P S

40 3000

50 3500

60 6500

Per garantire l’equivalenza tra gli schemi occorrerebbe imporre il vincolo didoppia inclusione πT (r2) = πT (r3), con r2 ed r3 istanze consistenti di R2

ed R3

Andrea Petreri Teoria della normalizzazione

Page 17: Teoria della Normalizzazione di Schemi Relazionali

Studio formale dell’adeguatezza - specifiche

Lo studio formale della nozione di adeguatezza richiede la definizione dispecifiche sugli schemi e sulle trasformazioni

R, S schemi di base di datiCR, CS insiemi dei vincoli di integrita per i due schemiI(R), I(S) insiemi delle istanze, consistenti e non, di R ed SL(R), L(S) insiemi delle istanze di R ed S consistenti con CR e CS

Una trasformazione da R ad S e una funzione h : I(R) → I(S)

Sia H(S) l’insieme delle istanze di S ottenute applicando h agli elementi diL(R). S e una rappresentazione adeguata di R se esiste una trasformazione hda R ad S, che sia una biiezione di L(R) in H(S) ∩ L(S)

Andrea Petreri Teoria della normalizzazione

Page 18: Teoria della Normalizzazione di Schemi Relazionali

Studio formale dell’adeguatezza - caratterizzazione di h

Si considerino gli schemi R = {R(U)} ed S = {R1(U1), ...Rn(Un)}

h = πS

Associa ad ogni istanza r = {r} ∈ I(R) un’istanza s = {r1, ...rn} ∈ I(S),essendo ri = πUi(r), con 1 ≤ i ≤ n

h−1 = ./S

Associa ad ogni istanza s = {r1, ...rn} ∈ I(S) un’istanza r = {r} ∈ I(R),essendo r = ./n

i=1 (ri)

Qui H(S) e l’insieme delle istanze di S che si ottengono grazie a unadecomposizione verticale di istanze non necessariamente consistenti di R

H(S) = {s | ∃ r ∈ I(R) : s = πS(r)}

Andrea Petreri Teoria della normalizzazione

Page 19: Teoria della Normalizzazione di Schemi Relazionali

α-adeguatezza

S e una decomposizione α-adeguata di R se πS e una biiezione di L(R) inL(S) ∩H(S)

Non sempre questa definizione di adeguatezza e soddisfacente. Nongarantisce l’impossibilita che si presenti la situazione indesiderabile in cuiistanze inconsistenti di R vengono mappate in istanze consistenti di S

Andrea Petreri Teoria della normalizzazione

Page 20: Teoria della Normalizzazione di Schemi Relazionali

Un problema per la α-adeguatezza

Si consideri la situazione

R = {R0(ABC)} CR = {A � B}S = {R1(AB), R2(AC)} CS = {}

Si puo dimostrare l’α-adeguatezza della trasformazione verificandoiniettivita e suriettivita di πS

Si assuma r = {r} ed s = {r1, r2}

r A B C

1 1 0

1 0 1

r1 A B

1 1

1 0

r2 A C

1 0

1 1

r ∈ I(R)− L(R) poiche viola la dipendenza A � B, ma πS(r) ∈ L(S)poiche CS e un insieme vuoto

Andrea Petreri Teoria della normalizzazione

Page 21: Teoria della Normalizzazione di Schemi Relazionali

β-adeguatezza

S e una decomposizione β-adeguata di R se e una decomposizione α-adeguatadi R e se πS mappa istanze di I(R)− L(R) in istanze di H(S)− L(S)

Cioe la β-adeguatezza richiede che πS mappi istanze inconsistenti di R inistanze inconsistenti di S

Andrea Petreri Teoria della normalizzazione

Page 22: Teoria della Normalizzazione di Schemi Relazionali

β-adeguatezza, decomposizione senza perdita e rappresentazione di vincoli (1)

E possibile fornire una caratterizzazione generale della β-adeguatezza,facendo riferimento alle nozioni di decomposizione senza perdita erappresentazione di vincoli

Decomposizione senza perdita di uno schema di relazione

La decomposizione di uno schema di relazione R in due schemi, rispettivamentecon attributi X ed Y , e una decomposizione senza perdita nel join se per ogniistanza consistente r di (R, F ), il join naturale di r[X] ed r[Y ] e uguale ad r

La decomposizione di (R, F ) in R1, R2 e senza perdita se e solo se:

R1 ∩R2 → R1 ∈ F+

oppureR1 ∩R2 → R2 ∈ F+

Andrea Petreri Teoria della normalizzazione

Page 23: Teoria della Normalizzazione di Schemi Relazionali

β-adeguatezza, decomposizione senza perdita e rappresentazione di vincoli (2)

Decomposizione senza perdita di uno schema di base di dati

S e una decomposizione senza perdita di R se, per ogni istanza consistenter= {r} ∈ L(R), la relazione r(U) ammette una decomposizione senza perditarispetto a U = U1, ...Un, per la quale r=./S (πS(r))

Rappresentazione di vincoli

CS rappresenta CR se per ogni r∈ I(R), πS(r) ∈ L(S) se e solo se r ∈ L(R)

Vale il seguente teorema

Teorema

S e una decomposizione verticale β-adeguata di R se e solo se CS rappresentaCR ed S e una decomposizione senza perdita di R

Andrea Petreri Teoria della normalizzazione

Page 24: Teoria della Normalizzazione di Schemi Relazionali

β-adeguatezza, decomposizione senza perdita e rappresentazione di vincoli (3)

Facciamo ora le seguenti assunzioni

CR e un insieme di sole dipendenze funzionali

CS e un insieme di insiemi di dipendenze funzionali, uno per ogni schemadi relazione in S

Fi e l’insieme delle dipendenze funzionali associate ad Ri(Ui)

L(S) contiene tutte istanze del tipo s = {r1, ...rn}, tali che ri soddisfil’insieme di dipendenze funzionali Fi (soddisfazione locale di dipendenzefunzionali)

Teorema

Sia CR = F e CS =Sn

i=1 Fi. Allora CR rappresenta CS se e solo seF+ = (

Sni=1 Fi)

+

Andrea Petreri Teoria della normalizzazione

Page 25: Teoria della Normalizzazione di Schemi Relazionali

Un problema per la β-adeguatezza (1)

La β-adeguatezza non garantisce che gli schemi risultato di unadecomposizione abbiano la medesima capacita degli schemi originali dirifiutare istanze inconsistenti

Si consideri la situazione

R = {R0(ABCD)} CR = {B → CD}S = {R1(ABC), R2(BCD)} CS = {B → CD (in R2)}

S e una rappresentazione β-adeguata di R, poiche la decomposizionesenza perdita e soddisfatta (BC → BCD ∈ F+, ovvero(ABC ∩BCD) → BCD ∈ F+) e risulta F+ = (F1 ∪ F2)

+ (cio derivadal fatto che F = F1 ∪ F2)

Andrea Petreri Teoria della normalizzazione

Page 26: Teoria della Normalizzazione di Schemi Relazionali

Un problema per la β-adeguatezza (2)

Si consideri s = {r1, r2}

r1 A B C

1 1 1

1 1 2

2 2 2

r2 B C D

1 1 1

2 2 2

La relazione r1 dell’istanza consistente s di S, viola la dipendenza B → C.Tale violazione non puo essere rilevata nel risultato dell’operazione ./S. Larelazione r2 soddisfa infatti B → C, quindi le tuple non consistentivengono filtrate

Andrea Petreri Teoria della normalizzazione

Page 27: Teoria della Normalizzazione di Schemi Relazionali

γ-adeguatezza

S e una decomposizione γ-adeguata di R se e una decomposizione α-adeguatadi R e per ogni i,j ∈ {1, ...n}, se X → A ∈ Fi e XA ⊆ Uj , allora X → A ∈ Fj

La γ-adeguatezza implica la β-adeguatezza ma il contrario non e vero ingenerale

La β-adeguatezza implica la γ-adeguatezza se per ogni X → A ∈ F+,esiste al piu uno schema di relazione Ri(Ui) tale che XA ⊆ Ui

Andrea Petreri Teoria della normalizzazione

Page 28: Teoria della Normalizzazione di Schemi Relazionali

Un problema per la γ-adeguatezza

Si consideri la situazione

R = {R0(ABCD)} CR = {B → CD}S = {R1(ABC), R2(BCD)} CS = {B → C (in R1), B → CD (in R2)}

S e una rappresentazione γ-adeguata di R, poiche la dipendenzafunzionale B → C viene soddisfatta sia da R1 che da R2

Si consideri tuttavia l’istanza s = {r1, r2} di S

r1 A B C

1 1 1

2 2 2

r2 B C D

1 2 1

2 1 1

I valori su C associati ai valori su B, non sono gli stessi nelle due relazioni

Andrea Petreri Teoria della normalizzazione

Page 29: Teoria della Normalizzazione di Schemi Relazionali

Introduzione alla δ-adeguatezza

Nel definire β-adeguatezza e γ-adeguatezza sono emerse alcuneproblematiche

L’analisi di tali problematiche ha permesso di stabilire che se unadipendenza funzionale risulta soddisfatta da almeno uno schema direlazione in S, questa debba essere soddisfatta da tutte le relazioni delmedesimo schema, e con i medesimi valori

Una definizione piu forte di adeguatezza che tenga conto di questi aspettisi puo ottenere introducendo per le relazioni in S il vincolo interrelazionaledell’esistenza di una istanza debole

Andrea Petreri Teoria della normalizzazione

Page 30: Teoria della Normalizzazione di Schemi Relazionali

Istanze deboli

Istanza contenitore

Sia data una istanza r per lo schema di base di dati R = {R1(X1), ...Rk(Xk)}.Una relazione u sull’insieme di attributi X = X1, ...Xk e una istanzacontenitore per r = {r1, ...rk} se ri ⊆ πXi(u), per 1 ≤ i ≤ k

Istanza debole rispetto ad un insieme di dipendenze

Sia dato un insieme F di dipendenze funzionali. Una base di dati r soddisfaglobalmente F se esiste una relazione w che sia un contenitore per r e soddisfiF . Tale relazione prende il nome di istanza debole per r rispetto ad F

Andrea Petreri Teoria della normalizzazione

Page 31: Teoria della Normalizzazione di Schemi Relazionali

δ-adeguatezza

Si introduce un ulteriore sottoinsieme W (S) di I(S)

W (S) = {{r1, ...rn}|∃r = {r} ∈ L(R) : ri ⊆ πUi(r), con i = 1, ...n}

W (S) e cioe l’insieme delle istanze di S per le quali esiste in L(R) unacorrispondente istanza debole

Tale istanza soddisfa CR

Risulta inoltre H(S) ⊆ W (S)

S e una decomposizione δ-adeguata di R se e una decomposizione β-adeguatadi R e W (S) = L(S)

Andrea Petreri Teoria della normalizzazione

Page 32: Teoria della Normalizzazione di Schemi Relazionali

δ-adeguatezza, indipendenza, decomposizione senza perdita e rappresentazione di vincoli

E possibile caratterizzare la δ-adeguatezza facendo riferimento alla nozionedi indipendenza

Indipendenza

Uno schema S = {R1(U1), ...Rn(Un)} tale che Ri soddisfi Fi si diceindipendente se ad ogni istanza s∈S corrisponde una istanza debole w rispettoa F1 ∪ ...Fn

Teorema

Con le assunzioni fatte, S e una decomposizione δ-adeguata di R se e solo serisultano soddisfatte le seguenti condizioni

CS rappresenta CR

S e indipendente

S e una decomposizione senza perdita di R

Andrea Petreri Teoria della normalizzazione

Page 33: Teoria della Normalizzazione di Schemi Relazionali

Forma normale di Boyce-Codd (BCNF)

Uno schema di relazione con dipendenze funzionali (R, F ) e in forma normaledi Boyce-Codd (BCNF) se per ogni dipendenza funzionale X → Y ∈ F everificata almeno una delle seguenti condizioni:

X → Y e banale

X e superchiave di R

La BCNF richiede cioe che i concetti rappresentati nella relazione (R, F )siano omogenei, ovvero che (R, F ) rappresenti solo proprieta direttamenteassociate alla chiave

Andrea Petreri Teoria della normalizzazione

Page 34: Teoria della Normalizzazione di Schemi Relazionali

Forma normale di Boyce-Codd: osservazioni

Se (R, F ) non e in BCNF allora in F c’e almeno una dipendenzafunzionale X → Y che non e banale e tale che X non e superchiave di R.Una tale dipendenza funzionale prende il nome di avversaria della BCNFed e causa di possibili anomalie

Teorema dell’avversaria sconfitta

Data (R, F ), se in F non c’e alcuna avversaria di BCNF, allora non c’e alcunaavversaria nemmeno in F+

Andrea Petreri Teoria della normalizzazione

Page 35: Teoria della Normalizzazione di Schemi Relazionali

Forma normale di Boyce-Codd e adeguatezza (1)

Sia (R, F ) uno schema di relazione con dipendenze funzionali

Se lo schema R non e in BCNF e lecito pensare di rimpiazzarlo con altrischemi che soddisfano la BCNF, ottenuti mediante una decomposizioneδ-adeguata di R, sulla base delle dipendenze funzionali in F (attenzionealla decomposizione con perdita nel join)

Si consideri tuttavia la situazione

R = (Studente, Professore,Corso)F = {SC → P, P → C}

R non e in BCNF poiche il primo membro della dipendenza P → C non esuperchiave

Occorre dunque individuare una decomposizione δ-adeguata (e quindianche γ-adeguata) di R

Andrea Petreri Teoria della normalizzazione

Page 36: Teoria della Normalizzazione di Schemi Relazionali

Forma normale di Boyce-Codd e adeguatezza (2)

La γ-adeguatezza garantisce la rappresentazione di vincoli

In particolare, la presenza in F della dipendenza SC → P implica lanecessita di definire, nella decomposizione, una relazione Ri(S, C, P ) chesoddisfi P → C

La γ-adeguatezza porta dunque ad una decomposizione di R in cui vi ealmeno una relazione non in BCNF

Si consideri dunque un approccio basato sulla β-adeguatezza

R1 = (Studente, Professore, Corso) F1 = {SC → P}R2 = (Professore, Corso) F2 = {P → C}

La decomposizione β-adeguata di R contiene solo schemi di relazione inBCNF, sembra dunque risolvere i nostri problemi

Tuttavia una qualunque istanza consistente di R1 dovra soddisfareinevitabilmente anche P → C, portando lo schema decomposto apresentare le medesime anomalie di R

Andrea Petreri Teoria della normalizzazione

Page 37: Teoria della Normalizzazione di Schemi Relazionali

Forma normale di Boyce-Codd e adeguatezza (3)

Abbiamo dunque individuato uno schema di relazione non in BCNF per ilquale non esiste alcuna decomposizione che conservi le dipendenze

La dipendenza SC → P coinvolge infatti tutti gli attributi della relazioneR di partenza, quindi nessuna decomposizione e in grado di conservarla

Non potendo raggiungere la BCNF, si puo pensare di far riferimento aduna forma normale che imponga condizioni meno restrittive, consentendosituazioni come quella descritta

Andrea Petreri Teoria della normalizzazione

Page 38: Teoria della Normalizzazione di Schemi Relazionali

Terza forma normale (3NF)

Uno schema di relazione con dipendenze funzionali (R, F ) e in terza formanormale (3NF) se per ogni dipendenza funzionale X → Y ∈ F e verificataalmeno una delle seguenti condizioni:

X → Y e banale

X e superchiave di R

Ogni attributo in Y e contenuto in almeno una chiave di R

La 3NF e meno restrittiva della BCNF (e ammette relazioni con alcuneanomalie)

Il problema di verificare se una relazione e in 3NF e NP-completo (legatoalla terza condizione)

Ha il vantaggio pero di essere sempre raggiungibile

Andrea Petreri Teoria della normalizzazione

Page 39: Teoria della Normalizzazione di Schemi Relazionali

Terza forma normale: osservazioni

Si consideri lo schema di relazione preso in esame per la BCNF

R = (Studente, Professore,Corso)F = {SC → P, P → C}

R soddisfa la 3NF

La dipendenza SC → P ha come primo membro una chiave di R

P → C, pur non contenendo una chiave al primo membro, ha un unicoattributo a secondo membro che fa parte della chiave SC

Andrea Petreri Teoria della normalizzazione

Page 40: Teoria della Normalizzazione di Schemi Relazionali

Algoritmi per la normalizzazione

Due tecniche principali per la normalizzazione di schemi relazionalimediante decomposizione: analisi e sintesi

Assumono entrambe come input uno schema di relazione ed un insieme didipendenze funzionali definite su di esso

Differiscono nella strategia seguita per ottenere lo schema normalizzato

Andrea Petreri Teoria della normalizzazione

Page 41: Teoria della Normalizzazione di Schemi Relazionali

Analisi

Si genera lo schema normalizzato rimuovendo la causa che determinal’assenza di normalizzazione

Se per la presenza di una dipendenza funzionale, uno schema di relazione nonsoddisfa la forma normale desiderata, questo viene decomposto in due o piuschemi di relazione sulla base di tale dipendenza. Ciascuna delle relazioniottenute eredita le dipendenze dello schema di partenza. Il procedimento vieneiterato sino a quando non si ottiene un insieme di schemi di relazionenormalizzati

Ad ogni passo dell’iterazione lo schema complessivo viene trasformato inun nuovo schema composto da un numero maggiore di schemi di relazione

Andrea Petreri Teoria della normalizzazione

Page 42: Teoria della Normalizzazione di Schemi Relazionali

Analisi: osservazioni

Vi sono due aspetti cruciali da considerare ad ogni passo di un algoritmobasato su analisi

Verifica del soddisfacimento della forma normale target

Ad ogni passo dell’algoritmo bisogna verificare la rispondenza degli schemi direlazione ottenuti con la forma normale desiderata. E una procedurapotenzialmente costosa. Si ricorda ad esempio che il problema di verificare seuna relazione e in 3NF e NP-completo

Calcolo di dipendenze

Ad ogni passo dell’algoritmo bisogna calcolare le dipendenze che devono esseredefinite su ciascuna relazione del nuovo schema, a partire dalle dipendenzedefinite sullo schema di relazione precedente. Anche la soluzione a questoproblema puo non essere banale, poiche puo comportare il calcolo dellachiusura di un insieme di dipendenze

Andrea Petreri Teoria della normalizzazione

Page 43: Teoria della Normalizzazione di Schemi Relazionali

Sintesi

Fa riferimento alla nozione di cover per un insieme di dipendenze funzionali

Intuitivamente, un cover per un insieme di dipendenze funzionali FD, e uninsieme (solitamente minimale) di dipendenze funzionali, mediante il qualee possibile rimpiazzare FD (“copre” cioe tutte le dipendenze in FD)

Si costruisce un cover dell’insieme di dipendenze funzionali associato alloschema di relazione non normalizzato. Il cover viene quindi opportunamentepartizionato. A ciascuna partizione viene fatto corrispondere uno schema direlazione normalizzato. Quest’ultimo presenta evidentemente tutti gli attributiche compaiono nelle dipendenze funzionali della corrispondente partizione delcover

Si parla di sintesi poiche lo schema normalizzato viene generatodirettamente, sintetizzando le informazioni di cui si dispone, dunque senzaprodurre schemi intermedi

Andrea Petreri Teoria della normalizzazione

Page 44: Teoria della Normalizzazione di Schemi Relazionali

Un algoritmo di sintesi: BCNF e β-adeguatezza

1 begin

2 Find G, minumum cover of F ;

3 Let S be the database scheme with one relation scheme

4 [Ri(XiYi), Xi → Yi] for each FD Xi → Yi ∈ Gi;

5 if there is no relation scheme Ri(Ui) ∈ S such that Ui → U ∈ G+

6 then add [RK(K), {}] to S, where K → U ∈ G+

7 while S contains a pair of distinct relation schemes

8 [R′(Z′), F ′] and [R′′(Z′′), F ′′] with Z′ = Z′′

9 do drop the two schemes from S and add [R′(Z′), F ′ ∪ F ′′]10 end

Andrea Petreri Teoria della normalizzazione

Page 45: Teoria della Normalizzazione di Schemi Relazionali

Quarta forma normale (4NF)

Uno schema di relazione con dipendenze funzionali e multivalore (R, F ) e inquarta forma normale (4NF) se per ogni dipendenza multivalore non banaleX � Y ∈ F+ l’insieme di attributi X e una superchiave per R

Qui entra in gioco il concetto di dipendenza multivalore, non consideratoin BCNF e 3NF

Intuitivamente possiamo dire che una relazione in 4NF se e in BCNF e noncontiene dipendenze multivalore

Andrea Petreri Teoria della normalizzazione

Page 46: Teoria della Normalizzazione di Schemi Relazionali

Esempio: BCNF e 4NF (1)

Si consideri la situazione

R= {R(Model, V ersion, Driver)}F = {M � V, M � D}

Lo schema e in BCNF, poiche non vi sono dipendenze funzionali, mapresenta comunque anomalie legate alle dipendenze multivalore

r M V D

Fiat Uno 55 Smith

Fiat Uno D Smith

Fiat Uno 55 Brown

Fiat Uno D Brown

VW Golf D Smith

t Fiat Uno Turbo Jones

t1 Fiat Uno Turbo Brown

t2 Fiat Uno Turbo Smith

t3 Fiat Uno 55 Jones

t4 Fiat Uno D Jones

Inserire t significa inserire anche t1, t2, t3 e t4

Andrea Petreri Teoria della normalizzazione

Page 47: Teoria della Normalizzazione di Schemi Relazionali

Esempio: BCNF e 4NF (2)

Si consideri ora lo schema decomposto

S= {R1(Model, V ersion), R2(Model, Driver)}F = {}

S e una decomposizione α-adeguata di R e le sue relazioni sono in 4NF

Facendo riferimento all’esempio precedente possiamo osservare come inquesto caso non si presentino anomalie nell’inserimento di nuove tuple

r1 M V

Fiat Uno 55

Fiat Uno D

VW Golf D

t Fiat Uno Turbo

r2 M D

Fiat Uno Smith

Fiat Uno Brown

VW Golf Smith

t Fiat Uno Jones

Andrea Petreri Teoria della normalizzazione

Page 48: Teoria della Normalizzazione di Schemi Relazionali

Dipendenze di join (1)

Esistono relazioni in 4NF che presentano ancora anomalie

Si consideri la relazione

Agente Prodotto Compagnia

Jones screw KKK

Jones bolt KKK

Jones bolt AAA

Smith hammer AAA

Sussiste il seguente vincolo: se un agente a vende un prodotto p, lacompagnia c produce p e a vende prodotti di c, allora a vende p comeprodotto di c

Tale vincolo non e ne una FD ne una MVD, ma una dipendenza di join(JD)

Andrea Petreri Teoria della normalizzazione

Page 49: Teoria della Normalizzazione di Schemi Relazionali

Dipendenze di join (2)

Una relazione R(X, Y, Z) soddisfa la dipendenza di join (JD) ./ [X, Y, Z] se esolo se R e uguale al join delle sue proiezioni su X, Y e Z, dove X, Y e Zcostituiscono sottoinsiemi degli attributi di R

La dipendenza di join e il tipo di dipendenza piu generale

FD e un caso particolare di MVD

MVD e un caso particolare di JD (e una dipendenza di join binaria)

Andrea Petreri Teoria della normalizzazione

Page 50: Teoria della Normalizzazione di Schemi Relazionali

Quinta forma normale (5NF o PJNF)

Uno schema di relazione con dipendenze di join (R, J) e in quinta formanormale (5NF) se, e solo se, per ogni j =./ [X1, ...Xn] ∈ J , vale almeno unadelle seguenti condizioni

j e una dipendenza banale, esiste cioe Xi = X con 1 ≤ i ≤ n

Xi e una chiave candidata per R per ogni 1 ≤ i ≤ n

Riprendendo l’esempio precedente

r1 A C

Jones KKK

Jones AAA

Smith AAA

r2 A P

Jones screw

Jones bolt

Smith hammer

r3 C P

KKK screw

KKK bolt

AAA bolt

AAA hammer

Andrea Petreri Teoria della normalizzazione

Page 51: Teoria della Normalizzazione di Schemi Relazionali

Forma normale Chiave-Dominio (DKNF)

E un tentativo di definire una forma normale definitiva, che prenda inconsiderazione tutti i tipi di dipendenze e vincoli possibili, e che forniscadunque una soluzione al problema di evitare tutte le possibili anomalie

Uno schema di relazione R e in forma normale chiave-dominio (DKNF) se ognivincolo e conseguenza logica della definizione delle chiavi e dei domini

Col termine chiave si indica una chiave candidata per R

Col termine dominio si indica l’insieme dei valori che puo assumere unattributo o colonna di R

Col termine vincolo si indica una qualsiasi regola per la quale si puostabilire se i dati in una istanza di R la rispettino o no

Andrea Petreri Teoria della normalizzazione

Page 52: Teoria della Normalizzazione di Schemi Relazionali

Una caratterizzazione per DKNF (1)

E possibile fornire una caratterizzazione di DKNF, bastata sullaformalizzazione del concetto di anomalia

Cio richiede alcune definizioni preliminari

Sia r una istanza di R(U), e sia t una tupla su U , non contenuta in r. Si diceche t e compatibile con r se sono verificate le seguenti due condizioni

Per ogni attributo A ∈ U , il valore di t appartiene al corrispondentedominio: t[A] ∈ dom(A)

Per ogni chiave K di R ed ogni tupla t′ ∈ r, si ha che t[K] 6= t′[K]

Cioe t e compatibile con r se r ∪ {t} non viola dipendenze di chiave evincoli di dominio

Andrea Petreri Teoria della normalizzazione

Page 53: Teoria della Normalizzazione di Schemi Relazionali

Una caratterizzazione per DKNF (2)

Anomalia di inserimento

Diciamo che uno schema di relazione [R, D] presenta una anomalia diinserimento, se esiste una istanza consistente r di R e una tupla t compatibilecon R tale che r ∪ {t} non sia una istanza consistente di R

Anomalia di cancellazione

Diciamo che uno schema di relazione [R, D] presenta una anomalia dicancellazione, se esiste una istanza consistente r di R e una tupla t compatibilecon Ro tale che r − {t} non sia una istanza consistente di R

Ne deriva

Uno schema di relazione e in DKNF se e solo se non presenta anomalie diinserimento e cancellazione

Andrea Petreri Teoria della normalizzazione

Page 54: Teoria della Normalizzazione di Schemi Relazionali

Esempio (1)

Si consideri la situazione

R(SSN, Age, Division, Manager)

Sussistono i seguenti vincoli

SSN → Age, Division, ManagerDivision → Manager

dom(SSN) = string(15)dom(Age) = integer

dom(Division) = string(2)dom(Manager) = string(20)

Andrea Petreri Teoria della normalizzazione

Page 55: Teoria della Normalizzazione di Schemi Relazionali

Esempio (2)

Lo schema non e in DKNF

Si consideri infatti la relazione r e la tupla t

r SSN Age Division Manager

564734327 35 CS Brown

467545763 37 EE Smith

t 264901223 32 CS Jones

t e compatibile con r, ma origina un’anomalia di inserimento, poicher ∪ {t} viola la dipendenza funzionale D → M

La dipendenza funzionale D → M non e implicata dai vincoli primitivi(chiave o dominio)

Andrea Petreri Teoria della normalizzazione