81317 ullman043 (2)

81317 ullman043 (2)



2. MODELOWANIE BAZ DANYCH

się przez podkreślanie ich nazw. Na rysunku 2.24 przedstawiono na przykład zbiór encji Filmy (z rys. 2.8), gdzie oznaczono, że atrybuty tytuł i rok razem tworząjeden klucz.

Filmy

RY.SUMHK 2.24

Zbiór encji Filmy z zaznaczonymi kluczami

Nie ma formalnego sposobu, aby w diagramach związków encji oznaczyć wszystkie klucze. Zazwyczaj wybiera się jeden z nich jako klucz główny (primary key) i wówczas zbiór atrybutów tworzących ten klucz traktuje się tak, jakby był to klucz jedyny w tym zbiorze encji. Klucz główny oznacza się w diagramie podkreśleniem jego atrybutów, a inne klucze, nazywane alternatywnymi (secondary keys), albo wcale nie są oznaczane, albo opisuje się je w komentarzu do diagramu.

Niezbyt często, ale jednak może się zdarzyć, że klucz zbioru encji sam do tego zbioru nic należy. Takie zjawisko, nazywane „zbiorem słabych encji'(„weak entity sets”) omówimy w podrozdziale 2.6.

2.5.4. Wiązy jednoznaczności

Przy projektowaniu baz danych często jest ważne to, że można wyróżnić co najwyżej jedną wartość odgrywającą określoną rolę. Zakładamy na przykład, że określony film ma swój własny, niepowtarzalny tytuł, rok produkcji, długość, kategorię oraz że należy' tylko do jednego studia. Nie ma problemu, aby to opisać w modelu ODL, ponieważ tain każdy atrybut ma określony typ. Jeśli typ nic jest kolekcją (tzn. zbiorem), to atrybutowi odpow iada tylko jedna wartość, a dla związku jest określony tylko jeden obiekt. Jednakże, jeśli ty p atrybutu lub związku jest kolekcją, jak np. dla związku gwiazdy w wierszu 6 na rys. 2.6 występuje typ Set<Gwiazda>, to oznacza, że jednemu filmowi można przyporządkować wiele gwiazd, l ego typu związek nazywa się wielowartościowym.

Musimy także odróżniać takie sytuacje, gdzie jeden atrybut lub związek może mieć co najwyżej jedną wartość, od takich sytuacji, gdy atrybut lub związek muszą mieć dokładnie jedną wartość. Jeśli związek zachodzi pornię-dzy obiektami pewnej klasy a jednym obiektem innej klasy i żąda się, aby ten jedyny obiekt istniał, to mamy do czy nienia / więzami określanymi jako „referencyjna integralność”; omówimy je w p. 2.5.5. Jeśli natomiast atrybut przyjmuje jedną wartość, to można rozważyć dwa przypadki:

1.    Wymaga się, aby ten atrybut zawsze miał określoną wartość.

2.    Dopuszcza się sytuacje, gdy wartość atry butu nie jest określona.

Jeżeli atrybut jest częścią klucza klasy, to w zasadzie stawia się żądanie, aby dla każdego obiektu wartość tego atrybutu była określona. W przypadku innych atrybutów wprowadza się wartość nuli (pusta), która jest wstawiana jako wartość atrybutu wówczas, gdy rzeczywista wartość atrybutu nie jest określona. Wówczas wartości not-null (niepuste) są opcjonalne.

PRZYKŁAD 2.27

Rozważmy klasę Film, dla której w przykładzie 2.23 określiliśmy klucz główny złożony z pary tytuł i rok. Nałożymy zatem naturalne wymaganie, aby wartości tych atrybutów' były określone we wszystkich obiektach. Skądinąd wiadomo, żc atrybut długość można opcjonalnie opuszczać. Moglibyśmy wartość pustą dla długość filmu określać jako -1, ponieważ żaden film nie może mieć ujemnej długości. Wówczas, gdy nie jest znana długość filmu, można by przypisać atrybutowi długość wartość—1. Analogicznie do zbioru wyliczenia wartości dla atrybutu typFilmu można dodać trzecią wartość. Do wartości kolor oraz czarno-biały można by wybrać wartość nuli lub nieznany, aby w ten sposób zapisywać wartości w sytuacjach, gdy nie ma się dostępu do rzeczywistej wartości typu filmu.

W modelu związków encji także istnieją mechanizmy, które umożliwiają określenie więzów jednoznaczności. Z założenia wartość każdego atrybutu w zbiorze encji jest pojedyncza. Jako regułę przyjmuje się, że wartość może być pusta. Zatem jeśli wartości atrybutu nie można określać jako pustej, to jest to ograniczenie, które trzeba oddzielnie zaznaczać.

Strzałki, które oznaczają związki typu wiele do jeden lub jeden do jeden, opisują zarazem więzy jednoznaczności. A więc, jeśli związek jest oznaczony strzałką skierowaną do zbioru encji E, to istnieje co najwyżej jedna encja w zbiorze E. która może być powiązana z cncjami należącymi do pozostałych zbiorów związku.

2.5.5. Integralność referencyjna

Więzy jednoznaczności zapewniają, że w danej roli może występować co najwyżej jedna wartość, natomiast więzy integralności referencyjnej sprawia-


Wyszukiwarka

Podobne podstrony:
ullman020 (2) Modelowanie baz danych Proces projektowania baz danych rozpoczyna się od analizy danyc
67184 ullman020 (2) Modelowanie baz danych Proces projektowania baz danych rozpoczyna się od analizy
ullman033 (2) 2 2. MODELOWANIE BAZ DANYCH IZYKLAD 2.13 ałóżmy, że zdefiniowano klasy: Gwiazda, Film
ullman033 (2) 2 2. MODELOWANIE BAZ DANYCH IZYKLAD 2.13 ałóżmy, że zdefiniowano klasy: Gwiazda, Film
ullman038 (2) 2. MODELOWANIE BAZ DANYCH itórych każda dziedziczy właściwości wszystkich swoich poprz
82892 ullman040 (2) 86 2 MODELOWANIE BAZ DANYCH mie z rys. 2.23. A nasza przykładowa cncja Królik Ro
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
Bazy danych 43Pojęcie encji, atrybutu i związku Przy modelowaniu baz danych można posłużyć się notac

więcej podobnych podstron