82892 ullman040 (2)

82892 ullman040 (2)



86 2 MODELOWANIE BAZ DANYCH

mie z rys. 2.23. A nasza przykładowa cncja Królik Roger składałaby się z czterech składowych wchodzących w skład Kreskówko-Kryminał, a oprócz tego byłyby dla niej określone specyficzne właściwości Królika Rogera.

2.4.5. Ćwiczenia do podrozdziału 2.4

♦Ćwiczenie 2.4.1. Rozważmy bazę danych okrętów wojennych i jej model w języku ODL. Każdy okręt wojenny ma określone wartości następujących danych:

1.    Nazwę

2.    Wyporność (wagę), w tonach.

3.    Typ, np. okręt liniowy, niszczyciel.

Dodatkowo istnieją różne rodzaje okrętów-, dla których określa się inne właściwości:

1.    Okręty artyleryjskie, takie jak okręty liniowe lub krążowniki, są wyposażone w ciężkie działa. Dla tych okrętów należy rejestrować liczbę i kaliber głównych dział.

2.    Lotniskowce służą do transportu samolotów. Trzeba rejestrować dane o długości pokładu pokładowca oraz. grupach lotnictwa przy pisanych do poszczególnych okrętów.

3.    Okręty podwodne, mogą przemieszczać się pod wodą. Trzeba rejestrować dane o ich maksymalnej bezpiecznej głębokości zanurzenia. Można założyć, ze żaden okręt artyleryjski ani lotniskowiec nie jest okrętem podwodnym.

4.    Okręty bojowe to okręty artyleryjskie i lotniskowce, wszystkie dane są też z nimi związane1.

Należy odpowiedzieć na następujące pytania:

a)    Utworzyć projekt hierarchii klas w języku ODL.

b)    Pokazać, w jaki sposób byłby reprezentowany okręt bojowy Ise. Miał on 36 000 ton wyporności, zamontowane 8 czternastocalowych dział, pokład do lądowania 200 stóp długości oraz miał zaokrętowane dywizjony „1 i 2”.

MĆwiczenie 2.4.2. W niektórych podklasach, np. dla okrętów bojowych, typ można określić tylko w jeden sposób, natomiast w; innych, np. dla okrętów- artyleryjskich, może być określona wartość typu jako okręt liniowy lub krążownik. Czy prowadzi to do redundancji? Jeśli tak, to w jaki sposób można ją wyeliminować?

♦Ćwiczenie 2.4.3. Należy wykonać ćwiczenie 2.4.1 tym razem w modelu związków-encji.

'Ćwiczenie 2.4.4. Należy zmienić projekt bazy danych populacji z ćwiczenia 2.1.5 w ten sposób, aby można było rozróżniać następujące typy ludzi:

1.    Kobiety.

2.    Mężczyźni.

3.    Ludzie, którzy są rodzicami.

Można oczywiście dodać jeszcze inne typy ludzi, tak aby powstały związki między podklasami. Projekt zapisać w postaci:

a)    Modelu ODL.

b)    Modelu E/R.

2.5. Modelowanie więzów

Dotychczas uczyliśmy się, w jaki sposób modeluje się kawałki świata rzeczywistego za pomocą aparatu pojęciowego ODL: klas i ich właściwości -zarówno atrybutów, jak związków - a także stosując mechanizmy zbiorów cncji i zw iązków z modelu E/R. Duża część tych struktur, które są interesujące pod względem modelowania, może być opisana wr obu tych notacjach. Jednakże istnieją pewne ważne aspekty świata rzeczywistego, których nie da sic modelować żadnym z narzędzi, o których była mowa do tej pory. Tc inne dane często przybierają postać wiązów, których nie w;idać w strukturze typów i ograniczeń wynikających z definicji klas, atrybutów i związków.

Przedstawiamy teraz uproszczoną klasyfikację powszechnie stosowanych więzów. Nie wszystkie z nich omówimy w tym miejscu. Dodatkowe informacje na temat więzów znajdują się w podrozdziale 4.5 przy omawianiu algebry relacji oraz w rozdziale 6 dotyczącym programowania w języku SQL.

1.    Klucza (kcys) są takimi atrybutami lub zbiorami atrybutów', które jednoznacznie identyfikują obiekt wewnątrz klasy lub encję wewnątrz zbioru encji. W danej klasie nie występują takie dwa obiekty, które miałyby identyczne wartości atrybutów tworzących klucz.

2.    Wiązy jednoznaczności (single-value comtrainls) polegają na wymaganiu, aby wartości w danym polu różniły się. Podstawowym przykładem więzów jednoznaczności są klucze, ponieważ wartości atrybutów- stanowiących klucz muszą jednoznacznie wyróżniać poszczególne encje w zbiorze encji lub obiekty w ramach klasy. Poza tym. jak zobaczymy dalej, istnieją jeszcze inne źródła dla więzów- jednoznaczności.

3.    Więzy integralności referencyjnej (referential integrity constrainls) narzucają wymaganie, aby wartość, którą wskazuje jakiś obiekt faktycznie znajdowała się w bazie. Integralność referencyjna ma w pro-

1

Jeżeli ktoś by się dziwił, taka rzecz, się zdarzyła naprawdę. Ise i Hyuga były' to dwa japońskie okręty liniowe, które przebudowano w 1943 r. w ten sposób, 2c rufowa część miała pokład do lądowania i hangar dla samolotów.


Wyszukiwarka

Podobne podstrony:
ullman050 (2) 106 2. MODELOWANIE BAZ DANYCH RYSUNEK 2.31 Schemat hierarchiczny przykładu filmów RYSU
53975 ullman039 (2) 84 2. MODELOWANIE BAZ DANYCH Warto zauważyć, że już w przykładzie 2.19 wystąpił
66852 ullman041 (2) 88 2. MODELOWANIE BAZ DANYCH gramowaniu konwencjonalnym swój odpowiednik w posta
42593 ullman031 (2) 68 2. MODELOWANIE BAZ DANYCH RYSUNEK 2.12 /.wiązek czteroargumentowy może być zw
46418 ullman030 (2) 66 2. MODELOWANIE BAZ DANYCH rysunek 2.10 Związek trzyargumentowy mcncie z pozos
47796 ullman034 (2) 74 2. MODELOWANIE BAZ DANYCH2.3.1. Dokładność Przede wszystkim projekt powinien

więcej podobnych podstron