Assiomi di Armstrong

Da testwiki.
Vai alla navigazione Vai alla ricerca

Definizione

Nella teoria della progettazione di una base di dati gli Assiomi di Armstrong, formalizzati nel 1974, costituiscono un insieme di regole che permettono di comprendere le implicazioni logiche che intercorrono tra dipendenze funzionali. Gli assiomi di Armstrong sono di Riflessività, Aumento e Transitività. In tutti i casi si suppone di considerare uno schema di relazione con un insieme di attributi U, con U l'insieme universale di attributi, ed un insieme F di dipendenze funzionali che implichino solo attributi di U.

Assioma di Riflessività

Se YXU allora XY è logicamente implicato da F.

Assioma di Aumento

Se vale XY e Z è un qualunque sottoinsieme di U allora XZYZ.

Assioma di Transitività

Se XY e YZ allora XZ.

Regole di inferenza addizionali

Oltre agli Assiomi di Armstrong esistono altre regole di inferenza addizionali per derivazioni di una dipendenza funzionali:

  • Unione: {XY,XZ}XYZ
  • Pseudotransitività:{XY,WYZ}XWZ
  • Decomposizione:{XY,ZY}XZ

Chiusura di un insieme di attributi

Dato uno schema R(T),F e un insieme di attributi XT, la chiusura di X rispetto a F, denotata con X+, è l'insieme di attributi:

{AT|FXA}

Si arriva così al teorema fondamentale che per determinare se XA sia derivabile attraverso gli Assiomi di Armstrong, è risolvibile calcolando la chiusura dell'insieme X, formalmente:

Dato uno schema R(T),F, siano X e Y insieme di attributi contenuti in T:

FXAYX+

Algoritmo di chiusura lenta o Algoritmo X+

Algoritmo per il calcolo della chiusura di un insieme di attributi X rispetto ad F (X+).

  • Input: R(X),F, XT
  • Output: X+, chiusura di X rispetto F

Begin

X+ := X;

while X+ è cambiato do

for each WVF with WX+ and V⊄X+ do

X+:=X+V

End

Esempio

Sia dato uno schema R(X),F, con T={A,B,C,D,E,G,H,I} e F={ADGGI,ACHADG,BCAD,CEACH}. Inoltre, sia Xj+ il valore della variabile X+ alla fine della j-esima iterazione del ciclo while:

Sia X = BCE:

X0+(=X)=BCE

X1+=BCEADACH=ABCDEH

X2+=ABCDEHADG=ABCDEGH

X3+=ABCDEGHGI=ABCDEGHI(=T)

L'algoritmo termina con BCE+=T (BCE superchiave).

Correttezza e completezza degli Assiomi di Armstrong

Gli assiomi di Armstrong sono corretti quando ogni dipendenza funzionale derivata attraverso l'applicazione degli assiomi è implicata logicamente:

FfFf

Gli assiomi di Armstrong sono completi quando ogni dipendenza funzionale implicata logicamente è derivata attraverso l'applicazione degli assiomi:

FfFf

Bibliografia

  • Jeffrey D. Ullman, Basi di dati e basi di conoscenza, Jackson Libri, Milano, 1991, ISBN 8825602154.
  • Beneventano D. Bergamaschi S. Guerra F. Vincini M., Progetto di basi di dati relazionali, Pitagora Editrice, Bologna, 2007/2, ISBN 88-371-1680-2.

Voci correlate

Template:Portale