31783 ullman060 (2)

31783 ullman060 (2)



126 3 RELACYJNY MODEL DANYCH

szczególnych wartości. I tak jak w przypadku atrybutów o ty pie zbioru. przy tej technice zagadnienie redundancji pozostaje otwarte, ponieważ wartości innych atrybutów relacji muszą się powtarzać dla każdego elementu ze zbioru. Ten problem zostanie rozwiązany w podrozdziale 3.7, więc na razie pogodzimy się z takim stanem rzeczy.

PRZYKŁAD 3.7

Załóżmy, że nazwisko jest kluczem w klasie Gwiazda. Wówczas relację, zaprojektowaną dla klasy Film, możemy rozszerzyć, dołączając do niej atrybut o przykładowej nazwie nazwiskoGwiazdy, którego wartości będą odpowiadać nazwiskom poszczególnych gwiazd. Wówczas jeden film będzie Opisany przez tyle krotek, ile gwiazd występujących w danym filmie umieszczono w bazie danych. Pewne przykłady danych zamieszczono na rys. 3.13. Wyraźnie widać już redundancję, wszystkie pozostałe dane o filmie są powtarzane dla każdej gwiazdy występującej w tym filmie.

tytuł

rok

długość

lypFilmu

nazwaStudia

nazwisko-

Gwiazdy

Gwiezdne

Wojny

1977

124

kolor

~o X

Carie

Fischer

Gwi ezdne Woj ny

1977

124

kolor

FOX

Mark

Hamill

Gwiezdne

Wojny

1977

124

kolor

Fox

Harrisor.

Ford

Potężne

Kaczory

1991

104

kolor

Di sncv

Fmiiio

Estevez

Świat Wayne'a

1992

95

kolor

Paraffiount

Dana C« rvey

Świat Wayne'a

1992

95

kolor

Paramount

Mikę Meyers

RYSUNEK 3.13

Relacja Fi m z danymi gwiazd

Może się również zdarzyć, że w klasie wystąpi w ięcej niż jeden zw iązek wielowartościowy. Wówczas liczba powstałych krotek w relacji gwałtownie się zwiększa. Załóżmy, źc w klasie C określono związki wielowartościowe R\, R2,Rk. Wówczas relacja zaprojektowana dla klasy C ma atrybuty odpowiadające wszystkim atrybutom C oraz atrybuty odpowiadające atrybutom klucza wszystkich związków jedno wartościowych / C. Poza tym muszą wystąpić atrybuty reprezentujące klucze klas powiązanych związkami R\,

R?., Ry

Załóżmy, że pewien obiekt o z klasy C jest powiązany poprzez zw iązek R! z //, obiektami, poprzez związek AS z obiektami i tak dalej. Wówczas dla

wszystkich możliwych kombinacji tych obiektów tworzymy po jednej krotce, która odpowiada obiektowi o. A zatem, w wyniku otrzymamy n\ x n2 x ... x nkrotek, które tr/eba umieścić w relacji, jeśli chcemy reprezentować obiekt w tym modelu.

PRZYKŁAD 3.8

Załóżmy, że w klasie C zdefiniowano zbiór jednowartościowych atrybutów A' oraz dwa wielo wartościowe związki R i R2. "Niechaj te związki łączą klasę z. klasami, których kluczowe atrybuty tworzą odpowiednio zbiory Y i Z. A teraz rozważmy obiekt c klasy C, który poprzez związek R\ jest powiązany z obiektami o kluczach y\ i y2, a poprzez związek R2 z obiektami o kluczach Z\9 ~2 oraz r3. Niech x reprezentuje wartości obiektu c w zbiorze atrybutów X.

Wówczas obiekt c w relacji utworzonej do reprezentowania klasy C sam jest reprezentowany przez sześć krotek. Możemy je oznaczyć symbolicznie w następujący sposób:

(x>y\>z\) (xtyi,z2) {x, yx,z2)

(Y, y2, Z])    (x, >'2, z2)    (x, >’2, z3)

Klucze z Y zostały tu połączone w pary z. kluczami z Z na wszystkie możliwe sposoby.

3.2.6. A gdy nic ma klucza...

W modelu obiektowym, takim jak ODL. dopuszcza się występowanie dwóch obiektów tej samej klasy z identycznymi wartościami wszystkich właściwości. Musimy zatem przygotować się do rozwiązania problemów takich, jak na przykład istnienie dwóch gwiazd o dokładnie takich samych nazwiskach. Jeśli tak się zdarzy, to oznacza, że sam atrybut nazwisko nie wystarcza jako klucz klasy gwiazda, zatem nic możemy go w tym charakterze stosować w krotkach relacji Film. Przypuszczalnie, aby otrzymać klucz, moglibyśmy dołączyć inne atrybuty gwiazd, ale nigdy nie będziemy mieć gwarancji, że dwie różne gwiazdy filmowe nic mają takich samych nazwisk i imion, takich samych adresów, nie są urodzone tego samego dnia i lak dalej, bez względu na rodzaj właściwości gwiazdy, dołączonych do bazy danych.

Jedyne gwarantowane rozwiązanie polega na utworzeniu nowego atrybutu, który reprezentowałby „identyfikator obiektu” klasy odpowiadające relacji. Na przykład, jeśli nie bylibyśmy pewni, żc atrybut nazwisko moż* być kluczem gw iazd, to możemy utworzyć dla każdej gwiazdy jej „nurac certyfikatu”, który może stanow ić numer członkowski w Związku Aktorów Numery certyfikatów są jednoznaczne, ponieważ istnieje centrala, która je$ odpow iedzialna za ich obsługę oraz kontroluje, które numery są w użyciu.


Wyszukiwarka

Podobne podstrony:
ullman060 (2) 126 3 RELACYJNY MODEL DANYCH szczególnych wartości. I tak jak w przypadku atrybutów o
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

więcej podobnych podstron