Upload
andrea-petreri
View
675
Download
3
Embed Size (px)
Citation preview
Teoria della normalizzazione
Andrea Petreri
Universita degli Studi Roma Tre
Andrea Petreri Teoria della normalizzazione
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
α-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
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
β-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
β-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
β-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
β-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
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
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
γ-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
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
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
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
δ-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
δ-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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