83132 ullman082 (2)

83132 ullman082 (2)



170 3. RELACYJNY MODI-L DANYCH P

3.7.2. Dekompozycja relacji

Właściwym sposobem eliminowania wymienionych powyżej anomalii jest dekompozycja relacji. Sprowadza się on do podziału atrybutów relacji między dwa schematy nowych relacji. Reguła dekompozycji obejmuje również podział krotek relacji wejściowej R między nowe relacje, dzięki operacji rzutowania krotek R. Sposób eliminowania anomalii przez dekompozycję opiszemy zaraz po omówieniu procesu samej dekompozycji.

Relację R o schemacie {Au A2,...,A„} dekomponujemy między dwie relacje S i T o schematach odpowiednio {B\, B2,..., Bm) oraz {C\, Cj,..., Ck] według następujących zasad:

1.    {Au A2, ...» A„} - {B\, B2,..., Bm} u Cu C2,..., C*}.

2.    Krotki relacji S powstają przez rzutowanie wszystkich krotek relacji R

na zbiór atrybutów {Bu &2,    Oznacza to, że z każdej krotki l

z bieżącej instancji relacji R pobieramy wartości atrybutów {B\, Bi, ...,Bm) i tworzymy w len sposób krotkę relacji S, należącą do jej bieżącej instancji. Ponieważ relacje są zbiorami, więc taką sama krotkę S można uzyskać z rzutowania różnych krotek relacji R. W takich przypadkach w S umieszcza się tylko jedną kopię.

3.    W podobny sposób, z rzutowania krotek bieżącej instancji relacji R na zbiór atrybutów {Ci, C2,..., C*}, otrzymuje się krotki relacji T.

PRZYKł.AD 3.32

Spróbujmy dekomponować relację Film z rys. 3.30. Najpierw dekomponujemy schemat tej relacji. Wybór atrybutów do poszczególnych relacji został podyktowany motywami, które omówimy w p. 3.7.3; przedstawia się on następująco:

1.    Do relacji Filml dołączamy wszystkie atrybuty prócz atrybutu na-

zwiskoGwiazdy.

2.    Relacja Film2 obejmuje atrybuty' tytuł, rok oraz nazwisko-Gwi azdy.

Proces dekompozycji instancji relacji przedstawimy na krótkim przykładzie danych z rys. 3.30. Ale najpierw zbudujemy rzut schematu relacji Film!:

{tytuł, rok, długość, typFilmu, nazwaStudia-)

Na rysunku 3.30 pierwsze trzy krotki mają identyczne wartości tych pięciu atrybutów'.

(Gwiezdne Wojny, 1977, 124, kolor, Fox)

W czwartej krotce wartości tych pięciu atrybutów są inne, a krotki piąta i szósta mają jednakowe wartości tych pięciu atrybutów. Relację Fili?.! przedstawiono na rys. 3.31.

tytuł

rok

długość

typFiłmu

nazwaStudia

Gwiezdne Wojny

1977

124

kolor

Fox

Potężne Kaczory

1991

104

kolor

Disney

świat Wayne'a

1992

95

kolor

Paramount

RYSUNEK 3.31 Relacja Filml

A teraz rozważmy rzut danych z rys. 3.30 do schematu relacji Film2. Każda z sześciu krotek różni się albo wartością atrybutu tytuł, albo atrybutu rok, albo r.azwiskoGwiazdy, a zatem otrzymujemy w wyniku relację przedstawioną na rys. 3.32.

tytuł

rok

nazwiskoGwiazdy

Gwiezdne Wojny

1977

Carrie Fisher

Gwiezdne Wojny

1977

Mark Haiaill

Gwiezdne Wojny

1977

Harrison Ford

Potężne Kaczory

1991

F.milio Estcvez

Świat Wayne' a

1992

Dana Carvey

Świat Wayne'a

1992

Mikę Meyers

RYSUNEK 3.32 Relacja Fi lm2

Zauważmy, że dzięki dekompozycji udało się wyeliminować anomalie, które omawialiśmy wcześniej. Po pierwsze nie ma już redundancji: na przykład długość filmu w relacji Filml występuje tylko raz. Znika również ryzyko anomalii modyfikacji. Na przykład jeśli musimy zmienić długość filmu Gwiezdne Wojny, to nie powstanie już laka sytuacja, żeby ten film miał w bazie dwie różne w-artości tego atrybutu.

Ryzyko wystąpienia anomalii usunięć również znika. Jeśli usuniemy wszystkie gwiazdy filmu Potężne Kaczory, to zostaną w ten sposób usunięte wszystkie dane o tym filmie z relacji Fi Jn2. Ale wszystkie inne dane o nim będą nadal dostępne w relacji Filml.

Pozornie może się wydawać, że w dalszym ciągu w relacji Film2 występuje redundancja, ponieważ tytuł oraz rok produkcji filmu ukazują się kilka razy. Trzeba jednak pamiętać o tym. że te dwa atrybuty stanowią klucz dla filmu, a nie da sic tu już określić bardziej lapidarnego sposobu identyfikacji. Poza tym w relacji Filmż nie ma żadnych możliwości wystąpienia anomalii modyfikacji. Można mniemać, że gdy zmienimy rok w krotce / Carrie Fisher,


Wyszukiwarka

Podobne podstrony:
ullman082 (2) 170 3. RELACYJNY MODI-L DANYCH P3.7.2. Dekompozycja relacji Właściwym sposobem el
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