funzionali
Parte del materiale è tratto dal materiale preparato dalla prof.ssa Moscarini per il canale A-L
Introduciamo FA
• E le altre?
• Introduciamo FA 2
Assiomi di Armstrong
5
Prima di procedere …
• se X Y FA e X Z FA allora X YZ FA
(regola dell’unione)
• se X Y FA e Z Y allora X Z FA (regola
della decomposizione)
• se X Y FA e WY Z FA allora WX Z FA
(regola della pseudotransitività). 6
Dimostriamolo
Osserviamo che:
se e solo se
quindi
•X A1, …, Ai … An FA X Ai FA , i=1, …, n
• Definizione
Siano R uno schema di relazione, F un insieme di
dipendenze funzionali su R e X un sottoinsieme di R.
La chiusura di X rispetto ad F, denotata con X+F (o
semplicemente X+, se non sorgono ambiguità) è
definito nel modo seguente:
X+F =A|X A FA
• In pratica fanno parte della chiusura di un insieme
di attributi X tutti quelli che sono determinati
funzionalmente da X eventualmente applicando
gli assiomi di Armstrong
Banalmente … X X+F (riflessività!) 9
Lemma
•
Teorema: F+=FA
12
Teorema: F+=FA (segue)
13
Teorema: F+=FA (segue)
14
Teorema: F+=FA (segue)
1 1 … 1 1 1 … 1
r
1 1 … 1 0 0 … 0
L’istanza da solo due tuple, uguali sugli attributi in X+ e diverse in tutti gli altri
(R-X+)
• Mostriamo che:
•r è un’istanza legale di R. Sia VW una dipendenza funzionale in F e
supponiamo per assurdo che non sia soddisfatta da r (r non è legale). In
tal caso le due tuple di r devono avere gli stessi valori per V e differenti
valori per W; ciò implica che VX+ e W (R-X+). Poiché VX+, per il
Lemma, si ha che XVFA; pertanto, per l’assioma della transitività
(XV e VW), XWFA e, quindi, di nuovo per il Lemma , WX+ (che
contraddice W(R- X+)). Quindi VW è soddisfatta. Quindi siamo
arrivati ad una contraddizione. Poiché abbiamo considerato una
qualunque dipendenza in F, r le soddisfa tutte, quindi è legale.
per avere gli stessi valori sulle due tuple TUTTI gli attributi di V devono essere in X+
per avere valori diversi sulle due tuple ALMENO UN attributo di W deve stare fuori da X+
16
Teorema: F+=FA (segue)
• Mostriamo che:
XYF+ XY FA. Supponiamo per assurdo che XYF+ e XYFA.
Abbiamo mostrato che la nostra r è un’istanza legale. Poiché le
dipendenze in F+ sono soddisfatte da ogni istanza legale, allora r
soddisfa XY. Abbiamo due tuple uguali su X? Certo! Poiché XX+ (per
l’assioma della riflessività e il Lemma) le due tuple di r coincidono sugli
attributi X e quindi, poiché r soddisfa XY, devono coincidere anche
sugli attributi di Y. Questo implica che YX+ e, per il Lemma, che
XYFA, arrivando ad una contraddizione.
17
Teorema: F+=FA (Nota finale)
18
A cosa ci serve conoscere F+?
20