166 3. RELACYJNY MODEL DANYCH m
166 3. RELACYJNY MODEL DANYCH m
Kompletny zbiór reguł wnioskowania
Algorytm obliczania domknięć, opisany w p. 3.6.3, zawsze może pomóc w rozstrzygnięciu, czy dana zależność funkcyjna wynika z innych danych zależności. Może się jednak okazać interesujące to, że istnieje zbiór reguł, nazywanych aksjomatami Armstronga, które umożliwiają wyprowadzenie z danego zbioru zależności wszystkich tych, które są od nich zależne funkcyjnie. A oto te aksjomaty:
1. Zwrotność (Reflexivity). Jeśli {2?h B2,...? B„} ę {A u A2,
to A]A2 — An —* B\B2 ... Bm. Nazywaliśmy to zależnościami trywialnymi.
2. Rozszerzenie (Augmentation). Jeśli A\A2... A„ —* BXB2... Bm, to AiA2 ...A„C]C2... Ck —*■ B]B2... BmC\C2— C* dla dowolnych C\C2 ...Ck.
3. Przechodniość (TransitMty). Jeśli /M2... ... Bm oraz
W tej relacji można wyodrębnić kilka baz minimalnych. Jedna z nich ma postać:
C, C -> B}
Inną zaś zapiszemy jako:
{A-+B,B->C,C->A}
Można w tej przykładowej relacji znaleźć jeszcze wiele baz, również minimalnych, ale pozostawimy to zadanie jako ćwiczenie.
□
f
*Ćwiczenie 3.6.1. Rozważmy relację o schemacie R(A, B, C, D) oraz zależności AB -*C,Ć—>DiD—>A.
a) Określić wszystkie zależności nietrywialne, które wynikają z tych zależności.
b) Określić wszystkie klucze R.
c) Określić wszystkie nadklucze w R, które nie są kluczami.
Ćwiczenie 3.6.2. Powtórzyć ćwiczenie 3.6.1 dla następujących schematów i zależności:
i) S(A, B, C, D) 7. zależnościami funkcyjnymi A —> B, B — C oraz B —* D.
ii) 1\A, B, C, D) z zależnościami funkcyjnymi AB —* C, BC — D, CD. —* A oraz AD -* B.
iii) U(A, B, C, D) z. zależnościami funkcyjnymi A-1B,B—>C,C-1D oraz D-1A.
Ćwiczenie 3.6.3. Korzystając z testu domknięcia, opisanego w p. 3.6.3, należy wykazać prawdziwość następujących reguł:
*a) Rozszerzenie lewej strony: Jeśli zachodzi zależność A\A2... A„ —» B. a C jest dowolnym atrybutem, to zachodzi zależność At/12- An C —1 B.
b) Rozszerzenie pełne: Jeśli zachodzi zależność A\A2... A„ —1 £, a C jest dowolnym atrybutem, to zachodzi zależność A\A2... AnC —1 BC. Uwaga: jeśli ta reguła jest prawdziwa, to stąd niemal bezpośrednio wynika aksjomat rozszerzenia Armstronga, który opisano w ramce w p. 3.6.5.
c) Pseudoprzechodniość: Załóżmy, że zachodzą zależności A\A2... An > B:B2... Bm oraz C-.C2... C\ £>, a wszystkie atrybuty tyrpu B znajdują się wśród C. Wówczas zachodzi również A{A2... A„EXE2... E; > D. gdzie £ pokrywają się z tymi z C, które nie są typu B.
d) Dodawania: Załóżmy, że zachodzą zależności A\A2... A„ > £,£;... B„ oraz C\C2... Ck - 1 D\D2... D,\ wówczas również zachodzi zależność:
A iA2... A„ C\C2... Ck —1 B[B2... Bm D[D2... D Należy usunąć po jednej kopii atrybutów' z A i z Club zB oraz z D.
!Ćw iczenic 3.6.4. Należy wykazać, ze żadna z poniższych reguł nie jest prawdziwa dla zależności funkcyjnych. W tym celu należy wskazać przykłady relacji, która spełnia przesłanki, ale nie spełnia wniosku.
*a) Jeśli A —> £. to £ —» A.
b) Jeśli AB — C i A — C, to B -1 C.
c) Jeśli AB —> C, to A —1► C lub £ —► C.
.'Ćwiczenie 3.6.5. Wykazać, 2e jeśli w' relacji nie występuje żaden atrybut, który zależy funkcyjnie od wszystkich innych atrybutów, to w tej relacji nie istnieje żadna zależność nictrywialna.
IĆwiczenic 3.6.6. Załóżmy, że X i Y są zbiorami atrybutów . Należy- wykazać, że jeśli X c: Y. to X1 ę Z1, gdzie domknięcia są obliczane względem tego samego zbioru zależności funkcyjnych.
!Ćwiczenie 3.6.7. Udowodnić, 2e (A-)’ - >C.
!IĆwiczenic 3.6.8. Mówimy, że zbiór atrybutów A" jest domknięty (ze względu na dany zbiór zależności funkcyjnych), jeśli X' = X. Trzeba rozważyć relację o schemacie R(A, By C\ D) oraz nieznanym zbiorze zależności funkcyjnych. Jeśli określimy który zbiór atrybutów jest domknięty, to odnajdziemy zbiór zależności funkcyjnych Jakie są te zależności, gdy:
a) Wszystkie podzbiory tych czterech atrybutów są domknięte.
b) Jedynymi zbiorami domkniętymi są zbiór pusty i cały zbiór {A, B, C, D}.
c) Domknięte zbiory to: zbiór pusty, {A, B) oraz {A, £. C, D}.