142 3. RELACYJNY MODEL DANYCH
sy i broń, które pochodzą z pozostałych dwóch nadklas. Schemat tej relacji zawiera zatem osiem atrybutów:
Kreskówka-Kryminał(tytuł, rok, długość, typFilmu, na-zwaStudia, nazwiskoGwiazdy, głosy, broń)
□
Hierarchie typu isa w modelach związków encji są tworzone z encji połączonych pewnym związkiem isa. Dlatego naturalny sposób tworzenia schematu relacyjnego dla związku isa polega na utworzeniu osobnych relacji dla poszczególnych zbiorów encji, które uczestniczą w tym związku, i określeniu atrybutów relacji przez skopiowanie atrybutów oryginalnych zbiorów. Ale przecież jednoznaczna identyfikacja krotki wymaga umieszczenia w każdej relacji kluczy zbiorów' połączonych z nią przez związek isa. W rezultacie może okazać się, że dane o elementach niektórych podklas są umieszczane w różnych relacjach, ale to zjawisko występuje w prawie każdym przypadku, ponieważ każde przekształcenie od postaci związków encji do postaci relacyjnej powoduje rozmieszczenie atrybutów encji i zw iązków pomiędzy' różne relacje.
Dla związku typu isa nie tworzy się osobnego związku. Jest on niejawnie zdefiniowany przez to, że w powiązanych cncjach pojawiają się te same wartości klucza.
PRZYKŁAD 3.18
Spróbujmy rozpoznać hierarchię zdefiniowaną w modelu związków encji, który został przedstawiony na rys. 3.22; jest to kopia rys. 2.23 i zawiera fragment diagramu związków encji. l en fragment diagramu można przekształcić do następującej postaci:
1. Relacja Filmy (tytuł, rok, długość, typFilmu). Była już opisana w przykładzie 3.10.
2. Relacja Kryminały (tytuł, rek, oreń). Pierwsze dwa atrybuty tworzą klucz dla w szystkich filmów, a ostatni jest specyficzny dla odpowiadającego tej relacji zbioru encji.
3. Relacja Kreskówki (tytuł, rok). Ta relacja jest zbiorem kreskówek. Poza atrybutami klucza nie występują w niej żadne inne atrybuty, ale pewne dane o kreskówkach są zawarte w relacji Głosy.
4. Relacja Głosy (tytuł, rok, nazwisko) stanowi odpowiednik związku Głosy, który obejmuje Gwiazdy i Kreskówki. Atrybut nazwisko jest kluczem dla Gwiazd, a pierwsze dwa atrybuty są kluczem dla Kreskówek.
RYSUNKK 3.22 Hierarchia filmów
Zauważmy, że na rys. 3.22 nie ma zbioru encji odpowiadającego klasie Kreskówka-Kryminał. Dlatego leż tutaj, inaczej niż miało to miejsce w projekcie relacyjnym opisanym w przykładzie 3.17, nie tworzy się specjał ncj relacji dla filmów, które są jednocześnie i kreskówkami, i kryminałami Wartości atrybutów tych filmów, które są jednocześnie kreskówkami i krymi nałami można otrzymać kolejno: głosy z relacji Głosy, broń z relacji Kryminały, a wszystkie pozostałe dane z relacji Filmy lub z tej relacji, która zo stała określona dla pewnego związku, obejmującego zbiory Fi my. Kreskówki lub Kryminały.
Zauważmy ponadto, że schemat relacji Kreskówki stanowi podzbió schematu relacji Głosy. 2 wielu powodów byłoby dobrze, gdyby relacja Głosy całkiem usunąć ze schematu bazy, zwłaszcza że nie ma w niej żadnycl innych danych poza tymi, które występują również w relacji Głosy. Ali przecież w naszej bazie danych mogą pojawić się również kreskówki nieme a dla takich kreskówek nic można określić wartości atrybutu głosy. Ten pro blem występuje również w trochę innej postaci w relacji Kreskówka z przykładu 3.17. Tam, jeśli postaciom kreskówki nie udzielono głosów, to nic jes ona klasyfikowana w bazie jako kreskówka. Można tę usterkę projektu usuną w procesie normalizacji, o czym przekonamy się w podrozdziale 3.7.
c
Stosowanie dowolnej z metod, opisanych w punktach 3.4.1 i 3.4.2 moż powodować kłopoty. W tłumaczeniu z języka ODL wszystkie właściwość obiektu są przechowywane razem w jednej relacji. Jednak przy takim podcj«