Related
Introduzione
Come abbiamo visto trovare la chiusura di l’insieme di dipendenze funzionali non è banale.
In questa sezione vedremo come calcolare un insieme di dipendenze funzionali utilizzando gli assiomi di Armstrong e in fine dimostreremo che .
Assiomi di Armstrong
Denotiamo con l’insieme di dipendenze funzionali definito nel modo seguente:
Assioma della Riflessività
Se allora
Esempio: Supponiamo di avere un insieme di attributi e un insieme di dipendenze funzionali definito come sopra.
Se consideriamo l’insieme e l’insieme , possiamo vedere che .
Secondo l’assioma della riflessività, questo significa che , ovvero .
Stessa cosa vale per e
Assioma dell'Aumento
Se allora , per ogni
Esempio: Supponiamo di avere un insieme di attributi e un insieme di dipendenze funzionali definito come sopra.
Se consideriamo l’insieme e l’insieme , possiamo vedere che , ovvero .
Secondo l’assioma dell’aumento, se aggiungiamo un nuovo attributo a e , allora la dipendenza funzionale è anche vera.
Assioma della Transitività
Se e allora
Esempio Supponiamo di avere un insieme di attributi e un insieme di dipendenze funzionali definito come sopra.
Se consideriamo l’insieme e l’insieme , possiamo vedere che , ovvero .
Inoltre, se consideriamo l’insieme e l’insieme , possiamo vedere che , ovvero .
Secondo l’assioma della transitività, se e , allora .
Regole derivate dagli Assiomi
Altre tre regole che sono conseguenza degli assiomi di Armstrong che consentono di derivare da dipendenze funzionali in altre dipendenze funzionali in .
Regola dell'Unione
Se e allora
Dim per assioma dell'aumento si ha .
oss:
Analogamente diventa .
Quindi per transitività abbiamo che .
Regola della Decomposizione
Se e allora
Dim allora per riflessività si ha che .
Quindi poiché e allora per transitività
Regola della Pseudo-Transitività
Se e allora
Dim per aumento si ha che .
Quindi dato che e allora per transitività abbiamo che .
Capire cosa significa
Chiusura di un insieme di attributi
Definizione
Siano:
- uno schema di relazione
- un insieme di dipendenze funzionali su
- un sottoinsieme di
La chiusura di rispetto ad denotata con è definita come:
Fanno parte della chiusura tutti gli attributi () che vengono determinati direttamente da (dipendenze funzionali in ), oppure direttamente (dipendenze funzionali in ). Quindi otteniamo che:
Quindi ogni stanza legale se due tuple sono uguali su allora sono uguali su tutti gli attributi della chiusura di , ovviamente se
oss la chiusura di non può essere mai vuota perché sicuramente determina se stesso ()
Esempio 1
Quindi indirettamente
Esempio 2
Auto
con quattro attributi:Siano date le seguenti dipendenze funzionali:
Modello → Marca
Modello → Colore
Chiusure degli attributi
Le chiusure degli attributi sono:
Osservazioni
- Non esiste un singolo attributo che possa essere una chiave.
- La coppia
(Modello, Cilindrata)
è una chiave.Chiusura della coppia (Modello, Cilindrata)
La chiusura della coppia
(Modello, Cilindrata)
è:Chiave minimale e super chiave
- La chiave minimale è
(Modello, Cilindrata)
, che è l’insieme più piccolo di attributi che può essere usato come chiave.- Una super chiave è
(Modello, Cilindrata, Marca)
, che contiene elementi superflui.
Lemma 1
Siano uno schema di relazione ed un insieme di dipendenze funzionali su si ha che:
Dim
Parte Se: Poiché per ogni , si ha che , pertanto per la regola dell’unione
Parte Se e Solo Se: Poiché per la regola della decomposizione si ha che per ogni , cioè per ogni , e quindi
Teorema =
oss:
Osservazione
Vuol dire che …
oss
Vuol dire che ogni dipendenza
Dimostrazione
Dimostrazione di (utilizzando metodo induttivo):
Base:
Ipotesi Induttiva:
Passo Induttivo:
in poche parole abbiamo dimostrato che indipendentemente dalla numero di applicazione di Armstrong otteniamo sempre è soddisfatta da ogni istanza legale
oss: ( rappresenta il munero di applicazioni di Armstrong)
- Riflessiva:
- se è ottenuta per proprietà riflessiva
- Aumento:
- ottenuto per aumento in passi
- oss: per ipotesi induttiva
- Transitività:
- ottenuto per transitività
Dimostrazione
Dimostrazione di (utilizzando metodo induttivo):
prendiamo un istanza di (almeno) due tuple (un istanza di una tupla è sempre legale)
x^+ R - x^+ 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 Se allora soddisfa la dipendenza Se
Prendiamo una qualunque dipendenza
- se allora la dipendenza è soddisfatta
- se (lemma 1 alla rovescia) e quindi la dipendenza è soddifatta
Quindi abbiamo dimostrato che questa è un istanza legale (ovvero soddisfa )
Se allora