ullman027 (2)

ullman027 (2)



• Typem związku może być albo interfejs, albo kolekcja tworzona z elementów typu interfejs.

Należy koniecznie pamiętać o tym, żc atrybut nic może mieć typu interfejs, a z kolei związek nie może mieć typu atomowego. Ten szczegół oddziela atrybuty i związki. Warto także zauważyć, żc sposób tworzenia typów złożonych dla atrybutów jest inny niż sposób tworzenia takich typów dla związków. W każdym z tych przypadków dopuszcza się możliwość stosowania na końcu operatora kolekcji, ale tylko dla atrybutów można korzystać ze struktur.

PRZYKŁAD 2.6

Poniżej przedstawiamy kilka przykładowych typów atrybutów:

1. integer

2.Struct N(string polel, integer pole2}

3. List<real>

4. Array<Struct N {string polel, integer pole2}>

W wierszu I występuje typ atomowy, w wierszu 2 struktura typów atomowych, w 3 kolekcja typów atomowych, a w 4 kolekcja struktur tworzonych z typów atomowych. I to są jedyne cztery możliwości tworzenia typów atrybutów.

A teraz przyjmijmy, żc wśród typów podstawowych są dostępne nazwy interfejsów Film oraz Gwiazda. Wówczas możemy zbudować typy związków jak Film lub Bag<Gwiazda>. Jednak następujące typy związków nie będą poprawne:

1.    Struct N (Film polel, Gwiazda pole2). Typy określające związki nie mogą zawierać struktur.

2.    Set<integer>. Typy atomowe nie mogą określać związków.

3.    5et<Array<Gwiazća». Typy określające związki nie mogą zawierać dwukrotnej operacji kolekcji (dla typów atrybutów również nie jest to dopuszczalne).

2.1.8. Ćwiczenia do podrozdziału 2.1

•(' wiczenic 2.1.1. Spróbujmy zaprojektować bazę danych dla banku zawierającą dane o klientach oraz ich kontach. Dane o kliencie obejmują ich nazwiska, imiona, adresy, telefony oraz numer polisy ubezpieczenia społecznego. Konta mają swoje numery, typy (np. oszczędnościowe, rozliczeniowe) oraz salda. Trzeba także zapisywać, którzy klienci posiadają które konta. Należy opisać schemat tej bazy danych w języku ODL. Użyć w tym celu odpowiednich typów atrybutów i związków.

Ćwiczenie 2.1.2. Zmodyfikuj projekt z przykładu 2.1.1 w sposób opisany poniżej; zmiany należy zaprojektować, bez pisania pełnego nowego schematu

a)    Tylko jeden klient może być właścicielem danego konta.

b)    Dodatkowo do opisu z. punktu (a) klient nie może posiadać więcej niż jednego konta.

c)    Adresy składają się z trzech elementów: ulicy, miasta i państwa Dodatkowo klient może mieć wiele adresów i telefonów.

*d) Klienci mogą mieć wiele adresów, złożonych z trzech elementów jak w (c). a poza tym z każdym adresem jest stowarzyszony zbiór numerów telefonów. Oznaczn to, że poza adresami klienta trzeba również przechowywać dane

0    tym. jakie telefony tam się znajdują. Uwaga: należy zachować ostrożność

1    pamiętać o ograniczeniach przy definiowaniu typów atrybutów oraz/lub związków.

Ćwiczenie 2.1.3. Zaprojektuj bazę danych przechowującą dane o drużynach sportowych. zawodnikach oraz ich kibicach, włączając w to:

1.    Dla każdej drużyny jej nazw ę, zawodników, kapitana drużyny (jeden z zawodników) oraz barwy klubowe.

2.    Dla każdego zawodnika lub zawodniczki jego jej nazwisko.

3.    Dla każdego kibica jego nazwisko, ulubione drużyny, ulubionych zawodni* ków oraz barwy.

Ćwiczenie 2.1.4. Zmodyfikuj ćwiczenie 2.1.3, wprowadzając do bazy dla każdego zawodnika historię przynależności do klubów, a w tym datę początku i końca przynależności (jeśli przechodzili do innych klubów).

‘K wiczenie 2.1.5. Przyjmijmy, żc naszym celem jest przechowywanie danych genealogicznych. Będziemy wówczas mieć jedna klasę Osoba. Dane o osobie, które chcemy przechowywać, obejmują ich nazwiska (atrybut) oraz następujące związki: matka, ojciec oraz dzieci. Zaprojektuj klasę Osoba w języku ODL. Nie zapomnij wskazać zw iązki odwrotne, jak matka i ojciec oraz dzieci, które są związkami klasy Osoba z nią samą. Czy związek dzieci jest związkiem odwrotnym do związku matka? Dlaczego tak albo dlaczego nie? Opisz wszystkie związki oraz ich odwrotności jako zbiory par

IĆwiczenie 2.1.6. Dodajmy teraz do projektu z Ćwiczenia 2.1.5 atrybut wykazt .»> eonie. Wartością tego atrybutu ma być kolekcja stopni uzyskanych przez daną osobę, opisanych przez nazwę stopnia (np. inź.), szkołę oraz datę. Ta kolekcja struktur może być zbiorem, wiclozbiorcm, listą lub tablicą. Jakie konsekwencje wynikają z wyboru poszczególnych czterech typów? Jakie dane można uzyskać dodatkowo, a jakie utracić w wyniku każdego z tych wyborów? Czy utracone dane w praktyce byłyby przydatne?

!Ćwleżenie 2.1.7. Zaprojektuj bazę danych przydatną w dziekanatach uczelni. Powinna ona zawierać dane o studentach, katedrach, profesorach, przedmiotach, uczestnictwie studentów w poszczególnych zajęciach, prowadzeniu przez profesora określonego wykładu, stopniach studentów, ofercie zajęć prowadzonych przez poszczę-


Wyszukiwarka

Podobne podstrony:
ullman027 (2) • Typem związku może być albo interfejs, albo kolekcja tworzona z elementów typu inter
Image54 ■1DACH OTWIERANYDach otwierany elektrycznie Dach może być albo podnoszony z tyłu do góry alb
page0312 304Separacyja — Separatyści ta może być albo dożywotnia, albo czasowa. Przyczyną separacyi
056 m Dach otwierany * Dach otwierany elektrycznie Dach może być albo podnoszony z tyłu do góry, alb
Schiller, Zbójcy Wyzwanie, rzucane światu przez jednostkę w imię jakichś wartości, może być albo czy
1. Osoby prawne. Osobą prawną - może być albo zespół osób (stowarzyszenie, korporacja) albo masa
może być albo permeat albo koncentrat lub oba strumienie. : ■ *     M a A d □
WSiP7 57 PODSTAWY BAZ DANYCHUczestnictwo w związku Uczestnictwo encji w związku może być opcjonalne
WSiP7 57 PODSTAWY BAZ DANYCHUczestnictwo w związku Uczestnictwo encji w związku może być opcjonalne
IMGg14 (2) Środowisko (przestrzeń zasiedlona przez organizmy o wzajemnych związkach) może być w 
23 ści, lecz z różnych miejscowości może być różne (ryc. 11). Zgodnie zB. Krygowskim [37, 38] należy
Wszystkie te elementy powinny być dostarczone do mnie drogą emailową. Elementy zaznaczone gwiazdką (

więcej podobnych podstron