96 ■ 2 MODRI.OWANIK BAZ DANYCH
Istnieją jeszcze inne, ważne kategorie więzów, których nic obejmują wspomniane w tym rozdziale rodzaje. Na przykład może istnieć ograniczenie stopnia związku, polegające na przykład na tym, że obiekt lub encja typu film nie może być objęta związkiem gwiazdy z więcej niż 10 obiektami lub en-cjami typu gwiazda. W modelu związków eneji możemy dopisać liczbę określającą wartość ograniczenia do krawędzi łączącej związek ze zbiorem encji, wskazując w ten sposób ograniczenie liczby encji, które mogą zostać połączone z pewnąencją ze zbioru powiązanego. Z kolei w modelu ODL możemy ograniczyć liczbę gwiazd w ten sposób, ze typ atrybutu gwiazdy w klasie Film określimy jako tablicę o długości 10. Nie ma jednak sposobu na to, aby określić, że zbiór może mieć co najwyżej 10 elementów.
PRZYKŁAD 2.29
Na rysunku 2.26 pokazano, jak można w modelu związków encji określić, że film nie może mieć przypisanych więcej niż 10 gwiazd. Jest to nowy sposób zapisu; o strzałce myślimy jako o wyrażeniu ,,< 10”, natomiast o strzałce zaokrąglonej z rys. 2.25 jako o synonimie wyrażenia „=1”.
RYSUNEK 2.26
Prezentacja więzów ograniczających liczbę gwiazd w filmie
□
Ćwiczenie 2.5.1. Należy wybrać oraz zdefiniować klucze w modelu ODL dla projektu /.:
*a) ćwiczenia 2.1.1,
b) ćwiczenia 2.1.3.
*c) ćwiczenia 2.1.5, d) ćwiczenia 2.4.1.
Ćwiczenie 2.5.2. W diagramach związków encji z:
a) ćwiczenia 2.2.1,
*b) ćwiczenia 2.2.3,
c) ćwiczenia 2.2.6,
d) ćwiczenia 2.4.3.
(i) wybierz i określ klucze oraz (ii) wskaż i określ właściwe więzy integralności referencyjnej.
IĆwiczenic 2.5.3. Dla związków w modelach związków encji można znajdować klucze podobnie jak dla zbiorów encji. Załóżmy, żc R jest związkiem między zbiorami encji Ei, Eh,..., E„ . Wówczas kluczem dla R jest zbiór K atrybutów wybranych z £], E2,.... E„ taki. że jeśli dwie różne krotki (c,, e2,.... a„) oraz (fufz, —,fr) należą do zbioru związku R, to nie wszystkie atrybuty, które należą do K. mają takie same wartości. A teraz załóżmy, że n = 2, tzn. że związek R jest binarny. Dla każdego /' niech Ki będzie zbiorem atrybutów tworzących klucz zbioru encji e.. Posługując się E-, i E2, należy określić najmniejszy możliwy klucz dla R przy założeniu, że:
a) R jest wiele do wiele.
*b) A’jest wiele do jeden z E\ do F
c) R jest wiele do jeden z E2 do E\.
d) R jest jeden do jeden.
MĆwiczenie 2.5.4. Należy ponownie rozważyć problem z ćwiczenia 2.5.3, lecz teraz gdy n jest dowolne, a nie 2. Korzystając tylko z informacji o tym, które krawędzie z R do F., są opatrzone strzałkami, należy pokazać sposób określenia najmniejszego możliwego klucza K dla R w terminach Kr
IĆwiczcnie 2.5.5. Podaj przykłady takich atrybutów ze świata rzeczywistego (inne niż 2.24), które zostały utworzone przede wszystkim po to, by pełnić funkcje kluczy.
Zdarzają się takie dziwne, ale prawdopodobne sytuacje, kiedy niektóre lub nawet wszystkie atrybuty klucza pewnego zbioru encji wybiera się z innego zbioru encji. l aki zbiór encji określamy mianem zbioru słabych encji.
Istnieją dwa zasadnicze źródła zbiorów słabych encji. Po pierwsze, czasami zbiory encji układają się hierarchicznie. Jeśli encjc zbioru £ są podzbiorami encji ze zbioru F, to może się okazać, że nazwy encji ze zbioru /:' nie są jednoznaczne, chyba że rozpatruje się je łącznie z nazwami z nadrzędnych encji zbioru F, którym są podporządkowane.
PRZYKŁAD 2.30
Oto przykłady pewnych hierarchii, które mogą doprowadzić do powstania zbiorów słabych encji.
1. W studio filmowym może być kilka zespołów filmowych. Wewnątrz studia mogą być one oznaczone numerami: I. 2 itd. Ale inne studio może używać tego samego sposobu oznaczania zespołów-, a zatem