Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Parte del materiale è tratto dal materiale preparato dalla prof.ssa Moscarini per il canale A-L
Definizione!
2
Verifica
•Nota: per come è stato definito G in questo caso, sarà sicuramente F+G
•Infatti G=i=1k Ri (F), dove Ri (F) XY XY F+ XYRi
•Ogni proiezione di F che viene inclusa per definizione in G è un
sottoinsieme di F+, quindi F+ contiene G (che ovviamente può anche essere
scritto come G F+) e per il lemma sulle chiusure questo implica che G+F+
(che ovviamente può anche essere scritto come F+G+)
•Per il Lemma sulle chiusure è sufficiente quindi verificare che FG+ (che poi
implica F+G+ )
3
Verifica
5
Algoritmo
calcolo X+G a partire da F.
Algoritmo - X+G a partire da F.
•Input uno schema R, un insieme F di dipendenze funzionali su R, una
decomposizione R1, R2,…, Rk di R, un sottoinsieme X di R;
•Output la chiusura di X rispetto a Gi=1k Ri (F), (nella variabile Z);
begin Attenzione!!!
Z:X; L’intersezione ha priorità maggiore
S:; dell’unione, quindi Z Ri)+F Ri va
for i:1 to k calcolato prima dell’unione con S. Se si
inverte l’ordine delle operazioni
do S:S(Z Ri)+F Ri
da S potremmo eliminare ciò che non
while S Z rientra in Ri (perché è stato inserito in un
do passaggio precedente grazie alla
begin proiezione su un sottoschema senza
Z:ZS; intersezioni con Ri ) ma questo non
avrebbe senso perché in S stiamo
for i:1 to k
accumulando gli attributi che sono
do S: S (Z Ri) F Ri determinati funzionalmente da X anche se
+
7
Esempio 1
prima l’intersezione! X =
qualunque sia X!!!9
Esempio 1: svolgimento
12
Esempio 1: svolgimento
Cominciamo con AB C
Z = AB
S=
ciclo for esterno sui sottoschemi ABC e ABD
S = S (AB ABC)+F ABC = S (AB)+F ABC
Applicando l'algoritmo sulla chiusura di un insieme di attributi abbiamo
(AB)+F = ABC
S = S (AB)+F ABC = ABC ABC = ABC
S = S (AB ABD)+F ABD = ABC (AB)+F ABD = ABC ABC ABD
= ABC
13
•
Esempio 1: svolgimento
15
Esempio 1: svolgimento
16
Esempio 1: svolgimento
21
Esempi iniziali
25