(due insiemi che hanno la stessa chiusura avranno le stesse istanze legali - perché la chiusura è l’insieme di dipendenze che viene soddisfatto da ogni istanza legale)
non vuol dire che , ma che i due hanno le stesse istanze legali (posso scambiarli).
assiomi di Armstrong
Denotiamo come l’insieme di dipendenze funzionali definito nel modo seguente:
- se rispetta l’assioma della riflessività
- se rispetta l’assioma dell’aumento
- se rispetta l’assioma della transitività
Dimostreremo che , ovvero che la chiusura di un insieme di dipendenze funzionali F () $può essere ottenuta a partire da F applicando ricorsivamente i tre assiomi di Armstrong.
assioma della riflessività
esempio
- ovviamente se due tuple hanno uguale la coppia allora sicuramente avranno uguale l’attributo (e ), quindi
- viene sempre soddisfatta
assioma dell’aumento
esempio
- è soddisfatta quando, se due tuple hanno uguale, allora hanno anche uguale.
- Se aggiungo l’attributo , avrò che se due tuple sono uguali su lo devono essere anche su
- Quindi se viene soddisfatta viene soddisfatta anche
assioma della transitività
esempio
è soddisfatta quando, se due tuple hanno uguale, allora hanno anche uguale.
è soddisfatta quando, se due tuple hanno uguale, allora hanno anche uguale.
Allora se entrambe le dipendenze sono soddisfatte, e due tuple hanno uguale, allora hanno anche uguale, ma questo implica che hanno anche uguale.
Quindi se entrambe le dipendenze sono soddisfatte, ogni volta che due tuple hanno uguale avranno anche uguale, e quindi viene soddisfatta anche
()
conseguenze degli assiomi di Armstrong
Ci sono altre tre regole che producono elementi di .
regola dell’unione
esempio
- Se
- e
- allora
dimostrazione
- Se , per l’assioma dell’aumento si ha (sono insiemi, )
- Analogamente se , per l’assioma dell’aumento si ha
- Quindi poiché e , per l’assioma della transitività si ha
regola della decomposizione
esempio
- Se
- (chiaramente )
- allora possiamo dedurre
dimostrazione
- Se , per l’assioma della riflessività, si ha
- Quindi poiché e , per l’assioma della transitività si ha
regola della pseudotransitività
esempio
- Se
- e
- allora
dimostrazione
- Se , per l’assioma dell’aumento si ha
- Quindi poiché e , per l’assioma della transitività si ha
osservazione
Osserviamo che:
- per la regola dell’unione, se , allora
- per la regola della decomposizione, se allora
- quindi
ovvero possiamo limitarci in generale a considerare le dipendenze con un dipendente singleton.
chiusura di un insieme di attributi
Sia R uno schema di relazione, F un insieme di dipendenze funzionali su R, e X un sottoinsieme di R. La chiusura di X rispetto a F, denotata con (o ), è definita come:
- essenzialmente, 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:
esempio
è diretta, mentre è indiretta
determinare la chiave di una relazione
La chiusura di un insieme di attributi ci può essere utile per determinare le chiavi di una relazione.
esempio
Le chiusure sono:
Il che ci fa capire che: (modello e cilindrata, insieme, determinano tutti gli altri)
lemma 1
Siano uno schema di relazione ed un insieme di dipendenze funzionali su . Si ha:
dimostrazione
Sia
- (dimostro )
Poiché , per ogni , si ha che . Pertanto per la regola dell’unione,
- (dimostro )
Poiché , per la regola della decomposizione si ha che, per ogni , , , cioè per ogni , e, quindi,
teorema:
Siano uno schema di relazione ed un insieme di dipendenze funzionali su . Si ha:
dimostrazione
Sia . Dimostriamo che per induzione su applicazioni di uno degli assiomi di Armstrong.
caso base: ():
- (se senza che abbiamo applicato nessun assioma di Armstrong, allora è in e quindi banalmente è in )
ipotesi induttiva (): è soddisfatto da ogni istanza legale
- (ogni dipendenza in ottenuta applicando fino a assiomi di Armstrong è in )
passo induttivo: consideriamo : ottenuto in passi. Dobbiamo dimostrare che appartiene anch’esso a
Ci sono tre casi (tre assiomi di Armstrong che potremmo aver applicato all’-esimo passo per ottenere ):
1: riflessività
Ho ottenuto perché .
In questo caso, .
(supponiamo che abbiano uguale: se hanno uguale e è un sottoinsieme di , logicamente anche sarà uguale)
2: aumento
Ho ottenuto per aumento su . Quindi è stata ottenuta in massimo passi e appartiene a per ipotesi induttiva.
Ci troviamo quindi nel caso in cui e per qualche .
Sia un’istanza legale e siano due tuple di tali che .
- visto che e , si ha che e
Per ipotesi induttiva ():
- da segue
- da segue (perché )
3: transitività
Ho ottenuto per transitività da e in .
- le due dipendenze sono state ottenute in massimo e appartengono a per ipotesi induttiva
Sia un’istanza legale di e siano tali che . Per ipotesi induttiva, da segue , da cui, sempre per ipotesi induttiva, segue .
Supponiamo per assurdo che esita una dipendenza funzionale tale che .
Consideriamo la seguente istanza di :
Ha due tuple uguali su tutti gli attributi di e diverse su tutti gli altri.
mostriamo che è un’istanza legale
Sia una dipendenza funzionale in .
- se le tuple sono diverse su (e quindi ), allora la dipendenza è soddisfatta ()
Se invece due tuple di hanno gli stessi valori per , allora sappiamo necessariamente che e quindi (Lemma 1) .
- sappiamo che , quindi , quindi
- per l’assioma della transitività () otteniamo che
- quindi, di nuovo per il Lemma 1, , ovvero le due tuple sono uguali anche su .
- quindi è soddisfatta.
visto che soddisfa in entrambi i casi, e è una dipendenza qualsiasi di , allora le rispetta tutte (ed è quindi un’istanza legale).
usiamo per dimostrare l’inclusione
Visto che è un’istanza legale, essa deve soddisfare ogni . Dobbiamo mostrare .
Sappiamo che , e quindi sappiamo che le tuple di corrispondono su . Poiché soddisfa , quindi, devono anche corrispondere su . Abbiamo quindi , e, per il Lemma 1, .
Abbiamo quindi mostrato che .
domande orale
possibili domande
- elencare gli assiomi di Armstrong
- elencare (e dimostrare) gli assiomi “conseguenze”
- cos’è la chiusura di un attributo rispetto a un insieme di dipendenze?
- cos’è ? si può calcolare?
- cosa c’è dentro se è vuoto? (le dipendenze banali)
- lemma 1 (e dimostrazione)
- dimostrare