32882 ullman058 (2)

32882 ullman058 (2)



122

3 RP.I-ACYJNYMODEL DANYCH

nazwisko

ulica

miasto

data Urodzenia

Carrie Fischer

123 Map_e St.

Hollywood

9/9/99

Carrie Fischer

5 Locus Ln.

Malibu

9/9/99

Mark Hanili

>5 56 Ocik Rd.

Brentwood

8/8/88

RYSUNEK 3.10 Dołączenie dat urodzenia

\'a rysunku 3.10 znajdują się dwa niekorzystne elementy. Po pierwsze data urodzenia Carrie Fischer powtarza się w każdej krotce. A zatem relacja zawiera redundancję. Jej nazwisko jest co prawda również powtórzone, ale nie wytwarza to redundancji, ponieważ bez. tego nazwiska nie wiedzielibyśmy, że oba adresy należy wiązać z Carrie Fischer. Różnica polega tu na tym, że nazwisko, powtarzające się w każdej krotce, jest kluczem obiektu reprezentowanego w relacji i dlatego musi wystąpić we wszystkich krotkach dotyczących tej gwiazdy. W przeciwieństwie do tego data urodzenia jest daną o gwieździe i nic stanowi części klucza reprezentowanego obiektu, a zatem powtórzenie tej daty jest redundancją.

Drugi problem polega na tym, że ponieważ stowarzyszony z Harrisoncm Fordem zbiór adresów jest pusty, więc utraciliśmy o nim wszelkie dane. W szczególności jego data urodzenia nic pojawi się w relacji, nawet jeśli istnieje obiekt Ford w klasie Gwiazda. Trzeba pamiętać, że żaden z tych dwóch problemów nie dyskwalifikuje naszej metodologii przekształcania schematów ODI. do postaci relacyjnej. Jednak trzeba dostrzegać zagrażające niebezpieczeństwa i poprawiać schematy relacyjne za pomocą technik normalizacji, opisanych w podrozdziale 3.7.

Jeśli w definicji klasy kilka atrybutów zdefiniowano jako kolekcje (będziemy je nazywać atrybutami wielowartościowymi), to liczba krotek reprezentujących jeden obiekt będzie się mnożyć. Trzeba bowiem tworzyć osobne krotki dla każdej kombinacji wartości atrybutów wiclowartościowych. Powrócimy do tego zagadnienia w p. 3.2.5 w kontekście związków między zbiorami.

3.2.3. Reprezentowanie konstruktorów innych typów

Poza strukturami rekordów oraz zbiorami w definicji klasy w języku ODL można stosować konstruktory P.og, Array oraz List. Przy reprezentowaniu wielozbioru (bag), w którym dana wartość może występować n razy, nie możemy po prostu wprowadzić do relacji n identycznych krotek’. Zamiast

’ Ściślej, w abstrakcyjnym modelu relacyjnym, który opisujemy w bieżącym ro/dzialc. nic jest dopuszczalne, aby w relacji występowały identyczne krotki. Jednak w relacyjnych

tego proponujemy dołączyć do schematu relacji nowy atrybut licznik, okre ślający, ile razy dany element występuje w wielozbiorzc. Przyjmijmy n; przykład, że adres z rys. 3.7 jest wielozbiorcm, a nie zbiorem. Wóweza można by określić, żc 123 Mapie $t., Hollywood jest adresem Carrie Fische dwukrotnie, a z kolei 5 Locust Ln., Malibu jest jej adresem trzykrotnie, sto sując następujący zapis:

nazwisko

ulica

miasto

licznik

Carrie Fischer

123 Mapie Sr.

Hollywood

2

Carrie Fischer

5 Locus Ln.

Malibu

3

Lista adresów może być reprezentowana przez nowy atrybut pozycja wskazujący pozycję w obrębie listy'. Na przykład możemy przedstawić list adresów Carrie Fischer, z adresem w Hollywood na pierwszym miejsci w postaci następującej relacji:

nazwisko

ulica

miasto

pozycja

Carrie Fischer

123 Mapie St.

Hollywood

1

Carrie Fischer

5 Locus Ln.

Malibu

2

W końcu macierz adresów, która ma ustaloną długość, może być reprt zentowana przez atrybuty utworzone dla każdej pozycji w macierzy. Jeś zatem adres miałby być tablicą zawierającą dwie struktury miasto-ulica, t jeden obiekt typu Gwiazda byłby przedstawiony jako:

nazwisko

ulica1

miasto I

u!ica2

miasto2

Carrie Fischor

123 Mapie St.

Hollywood

b Locus Ln.

Malibu

3.2.4. Reprezentowanie relacji jednowartościowycł

Zdarza się często, że definicja pewnej klasy w ODL zawiera związl z innymi klasami w tym modelu. Jako przykład rozważmy pełną definic klasy Film z rys. 2.6, którą powtarzamy na rys. 3.11.

Najpierw skoncentrujmy uwagę na związku na leży Do, wiążącym każ( film zc studiem, które go wyprodukowało. Pierwsza myśl, jaka się nasuwa, potraktowanie związku tak samo jak atrybutu. Moglibyśmy w relacji określ atrybut lub zbiór atrybutów, aby reprezentować atrybuty obiektów powiązań klasy, podobnie jak to czyniliśmy w przypadku, gdy atrybuty w modelu OD

systemach wyposażonych w $QL dopuszcza się powtarzanie się krotek, tzn. w języku SC relacje są wielozbiorami. a nie zbiorami (patrz podrozdz. 4.6 i 5.4). Jeśli liczba krotek zaczy być znacząca, to jednak doradzamy korzystanie ze schematów opisywanych w bieżącym rc dziale, nawet jeśli rzeczywisty DBMS dopuszcza powtarzanie się krotek.


Wyszukiwarka

Podobne podstrony:
ullman058 (2) 122 3 RP.I-ACYJNYMODEL DANYCH nazwisko ulica miasto data Urodzenia Carrie Fischer 1
0310 Formularz danych Nazwisko: Imię: Miasto: Adres: Zakupy: Dodaj nowy
Curriculum Vitae Imię i nazwisko: Jakub Muńko Data urodzenia: 1.06.1989 Miejsce urodzenia: Gorz
CCF20090403000 Lp. Nazwisko i imię Grupa Data urodzenia** Adres zamieszkania Nr telefonu do rodzicó
CV File011 IMIĘ I NAZWISKO Dane Personalne Data urodzenia:MfSX- Telefon: Edukacja: III 2011 — do chw
CV File011 IMIĘ I NAZWISKO Dane Personalne Data urodzenia:MfSX- Telefon: Edukacja: III 2011 — do chw
CV File011 IMIĘ I NAZWISKO Dane Personalne Data urodzenia:MfSX- Telefon: Edukacja: III 2011 — do chw
Eksportuj wieleFiltruj Nazwisko i Imię PESEL Data urodzenia Cis Data utworzenia Status Kto
Curriculum YitaeDane osobowe Imię i Nazwisko: Kamil Klimkowski Data urodzenia: 14 październik
Curriculum Yitae Imię i nazwisko:    Kamila Krzemińska Data urodzenia:
Curriculum YitahDane osobowe Imię i Nazwisko: Kamil Klimkowski Data urodzenia: 14 październik
ullman061 (2) 128 3. RHI.ACYJNY MODEL DANYCH PRZYKŁAD 3.9 Jeśli wprowadzimy jednoznaczne numery cert
ullman086 (2) 178 3 RF.I ACYJNY MODEL DANYCH nazwaStudia adresSrudia Fox Disney Paramount Holywood B
ullman066 (2) 138 3 RR1.ACYJNY MODEL DANYCH Kontrakty(nażwaGwiazdy, nazwaStudia, tytuł, rok, wynagro

więcej podobnych podstron