ullman084 (2)

ullman084 (2)



174 3. RELACYJNY MODEL DANYCH

re po lewej stronie mają jeden atrybut. Nie ma tu zbyt dużo przypadków, więc możemy jc po kolei prześledzić. Załóżmy, żc atrybuty tej binarnej relacji nazywają się A i B.

1.    W relacji nic istnieje żadna zależność nietrywialna. Wówczas warunek BCNF musi być spełniony, ponieważ tylko zależności nietrywial-ne mogą go naruszyć. Zauważmy przy okazji, żc para {A, B) jest w tym przypadku jedynym kluczem.

2.    Zachodzi zależność A —* B, ale zależność B —* A nie zachodzi. W tym przypadku jedynym kluczem jest atrybut A, a zatem w każdej zależności nictrywialnej atrybut A musi występować po lewej stronie (a lewa strona może zawierać tylko A). A zatem warunek BCNF nie jest naruszony.

3. Zachodzi zależność B* A. ale zależność A —» B nie zachodzi. Jest to przypadek symetryczny do przypadku 2.

4.    Zachodzą obie zależności: A —> B oraz B —* A. A zatem A i B są kluczami. Każda zależność musi mieć po lewej stronic albo A, albo B, więc nie da się naruszyć warunku BCNF.

Przypadek (4) przekonuje nas, że w relacji może istnieć więcej niż jeden klucz. Z warunku BCNF wynika, że po lewej stronie zależności nietrywialnej musi występować jakikolwiek klucz, a nie wszystkie klucze naraz. Zauważmy ponadto, że relacja z dwoma atrybutami, z których oba są od siebie wzajemnie funkcjonalnie zależne, jest całkiem wiarygodna. Na przykład Firma może swoim pracownikom nadawać identyfikatory, ale również przechowywać numery ich ubezpieczenia społecznego. Jeśli te dwa atrybuty- znajdą się w jednej relacji, to będą od siebie wzajemnie zależne funkcyjnie. Inaczej mówiąc, każdy atrybut jest kluczem, a więc nie ma takich dwóch krotek, które byłyby zgodne dla wszystkich atry butów.

3.7.4. Dekompozycja do postaci BCNF

Jeśli proces dekompozycji będziemy powtarzać dostatecznie długo, to każdą relację zapiszemy w końcu w postaci kolekcji podzbiorów atrybutów, które spełnią następujące w arunki:

1.    Podzbiory tc będą schematami relacji w postaci BCNF.

2.    Dane z pierwotnej relacji są wiernie reprezentowane w relacjach powstałych w wyniku dekompozycji, a sposób przemieszczenia ich przedstawimy w p. 3.7.6. Krótko mówiąc, trzeba mieć możliwość dokładnego odtworzenia pierwotnej relacji na podstawie relacji utworzonych przez w ielokrotne dekompozycje.

Z przykładu 3.35 mogłoby wynikać, że zadanie dekompozycji polega na podziale relacji na podzbiory dwuatrybutowe i w ten sposób otrzymamy postać BCNF. Jednakże w p. 3.7.6 przekonamy się, że takie arbitralne postępowanie może doprowadzić do wyniku, który nie spełnia warunku (2). Musimy zatem być ostrożniejsi i kontrolować dekompozycje, stosując właściwe zależności funkcyjne.

Strategia dekompozycji polega na odnalezieniu pewnej nielrywialnej zależności funkcyjnej A\A2... A„ —> B\B2... Bm> która narusza warunek BCNF. ten. że {.4j Ai, ...,An} nie jest nadkluczcm. Nasza heurystyka polega na dodaniu do prawej strony tej zależności tych atrybutów, które są zależne funkcyjnie od:

{Ai, A2,..., A,.}

Na rysunku 3.33 przedstawiono dwa, powstałe w ten sposób, przecinające się schematy relacji. Do jednego z nich należą wszystkie atrybuty uczestniczące w zależności naruszającej BCNF, a drugi zbiór obejmuje wszystkie atrybuty znajdujące się po lewej stronic tej zależności oraz te wszystkie atrybuty, które nie są objęte tą zależnością, tzn. wszystkie atrybuty poza tymi B, które są różne od A.

RYSUNEK 3.33

Dekompozycja schematu relacji na podstawie naruszenia warunku BCNF

PRZYKŁAD 3.36

Rozważmy naszą przykładową relację ?i ;m z rys. 3.30. W przykładzie 3.33 wykazaliśmy, że zależność

tytuł rok —> długość typFilmu nazwaStudia

narusza warunek BCNF. W tym przypadku prawa strona zawiera już wszystkie atrybuty zależne funkcyjnie od tytuł i rok, a wiec możemy ją zastosować bezpośrednio do dekompozycji relacji Fi lir. na:

1. Schemat zawierający wszystkie atrybuty zależności, tzn.:

(tytuł, rok, długość, typFilmu, nazwaStudia}


Wyszukiwarka

Podobne podstrony:
ullman084 (2) 174 3. RELACYJNY MODEL DANYCH re po lewej stronie mają jeden atrybut. Nie ma tu zbyt d
62517 ullman077 (2) 160 3. RELACYJNY MODEL DANYCH Atrybuty, które występują równocześnie z prawej i
34844 ullman087 (2) 180 3. RELACYJNY MODEL DANYCH T3.7.5. Projektowanie zależności funkcyjnych
16212 ullman068 (2) 142 3. RELACYJNY MODEL DANYCH sy i broń, które pochodzą z pozostałych dwóch nadk
18968 ullman090 (2) 186 3. RELACYJNY MODEL DANYCH spełniają zadane zależności funkcyjne. Natomiast p
28640 ullman078 (2) 162 3. RELACYJNY MODEL DANYCH PRZYKŁAD 3.28 Rozważmy relację z atrybutami: A, B,
70840 ullman074 (2) 04 i. RELACYJNY MODEL DANYCH będzie oczywiste, co jest kluczem relacji bez wnika
ullman059 (2) 124 .1 RELACYJNY MODEL DANYCH miały strukturę złożoną zbioru lub zbioru struktur. W pr
ullman060 (2) 126 3 RELACYJNY MODEL DANYCH szczególnych wartości. I tak jak w przypadku atrybutów o

więcej podobnych podstron