(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 :

center

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