84 2. MODELOWANIE BAZ DANYCH
Warto zauważyć, że już w przykładzie 2.19 wystąpił konflikt nazw: Kre-skówka-Kryminał dziedziczy bowiem wszystkie 6 cech, takich jak tytuł i gwiazdy, z bezpośrednich nadklas (Kreskówka i Kryminał), które z kolei dziedziczą te właściwości z klasy Film. Ponieważ jednak zarówno w nadklasie Kreskówka, jak i Kryminał definicje właściwości takich jak tytuł są identyczne, więc nie ma znaczenia, z której nadklasy nastąpi dziedziczenie.
Przypomnijmy tu, że klasy w języku ODL są odpowiednikami zbiorów' encji w modelu związków encji. Załóżmy, żc klasa C jest podklasą klasy D. Aby odzwierciedlić tę zależność w modelu związków encji, wprowadza się między zbiorami encji C i D specjalny typ związku nazywany isa. Najpierw rysujemy prostokąty' oznaczające zbiory encji C i D. Wszystkie atrybuty i związki, które odnoszą się wyłącznie do encji C, są doczepione do prostokąta oznaczającego C. Atrybuty, które opisują zarówno C, jak i D, są doczepione do prostokąta oznaczającego D.
Zw iązek isa jest reprezentowany przez krawędź między' D i C, na której umieszcza się znak trójkąta. Można także wewnątrz trójkąta umieścić napis „isa”.
PRZYKŁAD 2.21
Na rysunku 2.23 uwidoczniono zbiór encji Filmy oraz jego dwie podklasy Kreskówka i Kryminał. Struktura podklas jest podobna do struktury' wynikającej z zapisu w języku ODL z przykładu 2.19. Trójkąty z etykietami isa wskazują kierunek od podklas Kreskówki i Kreskówka-Kryminal do klasy Filmy. Omaw iany diagram nie zawiera związków' Gwiazdy-w i Posiada, wiążących
RYSUNEK 2.23
Związek typu isa na diagramie E /R
Filmy / Gwiazdami i Studiami. Związek Głosy, łączący Kreskówki z Gwiazdami został natomiast tu tylko zaznaczony.
□
Między dziedziczeniem w modelach obiektowych typu ODL a modelach związków encji istnieje subtelna różnica. W języku ODL obiekt musi należeć do dokładnie jednej klasy. Z tego właśnie powodu w przykładzie 2.19 trzeba było wprowadzić osobną klasę Kreskówka-Kryminał, aby opisać obiekty mające cechy zarówno z klasy Kreskówka, jak i Kryminał. Nie można umieścić takiego na przykład obiektu jak Królik Roger w obu tych klasach.
W modelu związków encji natomiast encje można oglądać jako złożone ze składowych, które należą do różnych zbiorów encji, stanowiących części hierarchii isa. Składowe te są powiązane w całość związkiem isa. Encja ma te wszystkie atrybuty, które należą do którejkolwiek składowej, oraz wchodzi we wszystkie zw iązki, w które są w łączone jej składow e.
W zasadzie efekt dziedziczenia jest taki sam jak w przypadku modelowania w- ODL - w obu przypadkach powoduje ono. że obiekt w ODL otrzymuje takie same atrybuty i związki, jakie odpowiadająca mu encja otrzymuje poprzez swoje składowe. Są jednak pewne różnice. Jedną z nich omawiamy w przykładzie 2.22, następna zostanie omówiona w podrozdziale 3.4 po przekształceniu projektów' ODL i związków encji do postaci modelu relacyjnego.
PRZYKŁAD 2.22
Z rysunku 2.23 wynika, że nie potrzeba oddzielnego zbioru encji odpowiadającego kresków'ce-kryminałowi. Wynika to z faktu, że encje takie jak np. Królik Roger mają trzy składowe, które należą do wszystkich trzech zbiorów encji: Filmy, Kreskówki i Kryminały. Całość złożona z tych trzech składowych powstaje przez zastosowanie związku isa. W ten sposób encja taka jak Królik Roger ma wszystkie cztery atrybuty Filmów (i dwa związki z tego zbioru, których nie wiączono do schematu na rys. 2.23) oraz atrybut broń ze zbioru encji Kryminały\ a także związek Głosy dziedziczony ze zbioru encji Kreskówki. 1 to są dokładnie te wszystkie cechy, które ma obiekt Królik Roger, należący do klasy Kreskówka-Krymir.ał, dziedzicząc je z nadklas Film, Kreskówka i Kryminał, jak to opisano w przykładzie 2.19.
□
Trzeba jednak zdaw'ać sobie sprawę z tego, że jeśli istniałyby jakieś właściwości charakterystyczne dla kreskówek-kryminałów, ale które nie przysługują ani kryminałom, ani kresków kom osobno, to wówczas musiałby pow stać nowy zbiór encji Kj-eskówki-Kryminały, obejmujący te specyficzne atrybuty i związki. Wówczas prostokąt oznaczający ten fakt pojawiłby się na diagra-