2 2. MODELOWANIE BAZ DANYCH
IZYKLAD 2.13
ałóżmy, że zdefiniowano klasy: Gwiazda, Film i Studio, odpowiadające ^szczególnym zbiorom cnej i z rys. 2.12. Odpowiednikiem związku Kontrak-' niech będzie na przykład klasa Kontrakt. Nie ma w niej żadnych atrybu->w, ale istnieją cztery związki odpowiadające czterem elementom związku lodelu związków encji. Deklaracja w języku ODL jest ukazana na rys. 2.16, ominięto tam związki odwrotne. Każdej krotce ze związku Kontrakty mo-elu encji odpowiada pewien obiekt klasy Kontrakt w modelu ODT..
Interface Kontrakt!
relationship Studio właścicielGwiazy; relatior.ship Studio studioProducenta; relationship Gwiazda gwiazda; relationship Film film;
1
YSUNEK 2.16
eprczcntowanic kontraktów w języku ODL
□
Ćwiczenie 2.2.1. Zapisać bazę danych banku z. ćwiczenia 2.1.1 w modelu związków ncji. Koniecznie umieścić we właściwych miejscach sfrzałki, co wskazuje liczebność wiązku.
kwiczenie 2.2.2. Dostosować rozwiązanie ćwiczenia 2.2.1 do zmian dotyczących :ont, które sugerowano w ćwiczeniu 2.1.2:
a) Zmienić diagram tak, aby konto miało tylko jednego właściciela.
b) Potem zmienić diagram tak, aby klient mógł posiadać tylko jedno konto.
!c) Zmienić oryginalny diagram z ćwiczenia 2.2.1 tak, aby klient mógł mieć wiele adresów (mają to być trójki ulica-miasto-państwo) oraz wiele numerów telefonów. Trzeba pamiętać o tym, że w modelu związków encji typy atrybutów nie mogą być kolekcjami, a w modelach ODL w szczególnych okolicznościach mogą).
!d) Następnie należy zmienić diagram tak, aby klienci mogli mieć wiele adresów', a pod każdym z nich wiele numerów telefonów.
Ćwiczenie 2.2.3. Zapisać bazę danych druż.yny/gracze kibice z ćwiczenia 2.1.3 n modelu związków encji. Należy przy tym pamiętać, ze zbiór kolorów nie jest właściwym typem atrybutu drużyny. Jak uporać się z tym ograniczeniem?
IĆwiczenie 2.2.4. Załóżmy, żc chcemy do schematu z ćwiczenia 2.2.3 dołączyć związek Prowadzony-przez, który obejmuje dwóch zawodników i drużynę. W zamierzeniu zbiór związku ma składać się zatem z trójek typu:
(zawodniku zawodnik2, druhna)
gdzie zawodnik 1 grał w drużynie w tym samym czasie, gdy kapitanem był gracz2.
a) Narysować zmiany diagramu związków encji.
b) Zastąpić związek potrójny przez związki binarne i nowy zbiór encji.
!c) Czy nowe związki binarne są takie same jak te, które już istniały poprzednio? Założyliśmy, że dwaj zawodnicy muszą być różni, tzn. kapitan nie może być swoim kapitanem.
Ćwiczenie 2.2.5. Diagram związków encji z ćwiczenia 2.2.3 zmień tak. aby obejmował historię zawodnika, podobnie jak w ćwiczeniu 2.1.4.
JĆwiczenie 2.2.6. Utworzyć diagram związków encji dla bazy danych populacji z ćwiczeń 2.1.5 i 2.1.6. Do schematu należy dołączyć związki matki, ojca i dzieci; trzeba pamiętać o ty m, by zaznaczyć różne role tego samego zbioru encji w związku. Dołączyć także dane o tytułach uzyskanych przez poszczególne osoby, tak jak to miało miejsce w ćwiczeniu 2.1.6. Określić liczbę argumentów poszczególnych związków. Czy dla matki, ojca i dzieci są potrzebne oddzielne związki? Dlaczego tak albo dlaczego nie?
Ćwiczenie 2.2.7. Dane z ćwiczenia 2.1.5 można przedstawić również w postaci związku trzyargumentowego Rodzim. gdzie trójka zbioru związku
(osoba, matka, ojciec)
reprezentuje osobę, jej matkę i jej ojca: każda z nich należy do zbioru encji Osoby.
*a) Narysować diagram (bez uwzględnienia danych o wykształceniu). We właściwych miejscach należy umieścić strzałki, a) Zastąpić trzyargumentowy związek Rodzim zbiorem encji i związkami binarnymi. 1 tak jak poprzednio należy- umieścić strzałki w stosownych miejscach.
Ćwiczenie 2.2.8. Utworzyć model związków encji dla uniwersyteckiej bazy danych z ćwiczenia 2.1.7.
Co prawda pozostało jeszcze przed nami wiele nieznanych szczegółów dotyczących języka ODL i modeli związków encji, lecz już w tej chwili możemy zacząć poznawać istotę tego, co stanowi o dobrym projekcie, a takż.e dowiadywać się, czego powinniśmy unikać.