Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Wykład III Modelowanie danych
Relacyjne Bazy Danych Wykład III Modelowanie danych opr. Lech Banachowski, Krzysztof Matejewski
2
Konwencje notacyjne dla diagramów związków encji
Część I Konwencje notacyjne dla diagramów związków encji opr. Lech Banachowski, Krzysztof Matejewski
3
Alternatywne notacje modelowania danych
Za chwilę zostaną przedstawione dwie kolejne konwencje notacyjne dla diagramów związków encji. Ilustruje to fakt, że w praktyce modelowania danych są używane rozmaite notacje i nie ma jednego, jedynie słusznego standardu. Wszystkie one obejmują te same pojęcia: encja – atrybut - związek. Wybór notacji jest naprawdę drugorzędny i jest często determinowany przez rodzaj narzędzia CASE, którego używa zespół projektowy. opr. Lech Banachowski, Krzysztof Matejewski
4
Notacja modelowania danych IDEF1X
Najpierw przedstawimy notację modelowania IDEF1X. Jest ona dostępna w MS Visio: "Database -> Options ->Document -> Zakładka General -> Symbol set = IDEF1X" (zamiast domyślnego "Relational") opr. Lech Banachowski, Krzysztof Matejewski
5
Notacja modelowania danych IDEF1X
Konwencje notacyjne IDEF1X: Związek identyfikujący – linia ciągła Związek nieidentyfikujący – linia przerywana Strona wiele związku – czarne kółko Związek opcjonalny – romb przy encji po stronie jeden Indeks - IE Prostokąt z zaokrąglonymi narożami - encja zależna (słaba) opr. Lech Banachowski, Krzysztof Matejewski
6
Notacja IDEF1X - notacja ErWin’a
Notacja IDEF1X jest stosowana w Erwinie - narzędziu CASE używanym dawniej w PJWSTK. Erwin modeluje też związki wieloznaczne: Jeden student uczęszcza na zajęcia z wielu przedmiotów. Na zajęcia z jednego przedmiotu uczęszcza wielu studentów. Należy pamiętać, że przedstawiony powyżej schemat, to tylko model związku, a nie rozwiązanie problemu, które, niezależnie od notacji, sprowadza się do rozłożenia związku niejednoznacznego na sumę związków jednoznacznych. opr. Lech Banachowski, Krzysztof Matejewski
7
Notacja modelowania danych Chena
Druga z prezentowanych notacji to notacja zaproponowana przez Petera Chena w 1976, jako pierwsza dla diagramów związków encji. Jest ona bardziej uniwersalna od poprzednich, bo umożliwia reprezentację związków wieloargumentowych i wieloznacznych. opr. Lech Banachowski, Krzysztof Matejewski
8
Notacja modelowania danych Chena
Konwencje notacyjne notacji Chena: Encja – prostokąt, Atrybut – koło, Związek – romb Powyższy diagram modeluje zależności: Dla każdej grupy studenckiej prowadzone są zajęcia z różnych przedmiotów przez różnych wykładowców. opr. Lech Banachowski, Krzysztof Matejewski
9
Notacja modelowania danych Chena
W MS Visio o tworzeniu modelu w notacji Chena decydujemy już na etapie otwierania nowego pliku: "File -> New -> Database -> Chen ERD” Dla notacji „Relational” i „IDEF1X: "File -> New -> Database -> Database Model Diagram"). opr. Lech Banachowski, Krzysztof Matejewski
10
Notacja modelowania danych Chena
Należy zwrócić uwagę na fakt, że tylko w notacji Chena przewidziany jest oddzielny symbol reprezentujący związek w taki sposób, który pozwala modelować istniejące niejednoznaczne zależności pomiędzy encjami, gdy liczba encji przekracza 2, bez konieczności wprowadzania do modelu encji asocjacyjnych. opr. Lech Banachowski, Krzysztof Matejewski
11
Model obiektowo - relacyjny
Część II Model obiektowo - relacyjny opr. Lech Banachowski, Krzysztof Matejewski
12
Model obiektowo – relacyjny w MS Visio
W obiektowej bazie danych obiekty są instancjami typów obiektowych (klas) z metodami i z dziedziczeniem. Obiekty są gromadzone w tabelach obiektowych. Tabela obiektowa - tabela, której elementami są obiekty ustalonego typu obiektowego (klasy). Przejście od tabeli relacyjnej do obiektowej odbywa się zgodnie z zasadą: wiersz -> obiekt. W wyniku transformacji, wiersz tabeli relacyjnej uzyskuje metody oraz tożsamość obiektową i staje się obiektem. Wartością atrybutu może być wartość złożona, jak np. lista wartości, zbiór wartości, rekord, referencja do innego obiektu. W MS Visio dostęp do narzędzi modelowania obiektowo - relacyjnego uzyskujemy przez włączenie szablonu (stencil) Database -> Object Relational. opr. Lech Banachowski, Krzysztof Matejewski
13
Model obiektowo – relacyjny w MS Visio
Tabela Osoby zawiera zbiór obiektów typu Typ_osoby. opr. Lech Banachowski, Krzysztof Matejewski
14
Model obiektowo – relacyjny w MS Visio
Wprowadzamy dwa typy obiektowe: Typ_adresowy i Typ_osoby. Każdy obiekt typu Typ_osoby ma: trzy atrybuty typu atomowego (nie - złożonego): Imie, Nazwisko oraz Data_ur oraz dwa atrybuty typu złożonego: adres – typu Typ_adresowy kierownik – referencja do obiektu typu Typ_osoby. opr. Lech Banachowski, Krzysztof Matejewski
15
Modelowanie zbiorów wartości
Kolekcja jest modelem zbioru wartości. Oprócz przynależności elementu do zbioru, rozważa się dodatkowe właściwości: ustawienie elementów zbioru w ciąg oraz wielokrotne wystąpienia tego samego elementu zbioru. Oto rodzaje kolekcji: zbiór - Set – nieuporządkowana kolekcja wartości bez powtórzeń. Np. {4,8,9,3}. Lista, kolejka - List - uporządkowana kolekcja wartości z powtórzeniami. Np. {1,2,1,5,6,7}. wielozbiór - MultiSet - nieuporządkowana kolekcja wartości z powtórzeniami. Np. {4,8,4,8,8,9}. W modelu obiektowo-relacyjnym przy pomocy kolekcji można w prosty sposób modelować pewne zjawiska, z którymi spotkaliśmy się już uprzednio, takie jak: atrybuty typów nieatomowych, oraz atrybuty, których wartości są zmienne w czasie. Można również modelować związki zmienne w czasie, ale pod warunkiem zastosowania typów referencyjnych i więzów spójności ograniczających zakres referencji. Sposoby te zostaną omówione na wykładzie „Systemy baz danych” przy przedstawianiu obiektowo - relacyjnych baz danych. opr. Lech Banachowski, Krzysztof Matejewski
16
Przykłady kolekcji osób: Grupa, Kolejka, Zapisy
Kolejne typy obiektowe modelujące odpowiednio: zbiór(set), kolejkę (List), wielozbiór (MultiSet) opr. Lech Banachowski, Krzysztof Matejewski
17
Kolekcja w modelu relacyjnym grupa
W ramach pojedynczej grupy osoby nie są uporządkowane i nie powtarzają się (Id_osoby i Id_grupy tworzą klucz główny). Dla podanego przykładu grupę możemy interpretować jako np. koło naukowe studentów PJWSTK – studenci mogą należeć do wielu kół (kolekcji). Kolejność tej przynależności nie jest istotna. opr. Lech Banachowski, Krzysztof Matejewski
18
Kolekcja w modelu relacyjnym kolejka
W ramach kolejki osoby są uporządkowane (przez wartość atrybutu Pozycja). W jednej kolejce ta sama osoba może wystąpić wielokrotnie. Gdybyśmy chcieli zapewnić, że w kolejce każda osoba może się pojawić co najwyżej jeden raz, należałoby określić jednoznaczny indeks na parze atrybutów: Id_kolejki i Id_osoby. Tutaj przykładem kolejki może być harmonogram referatów wygłaszanych na seminariach katedr. opr. Lech Banachowski, Krzysztof Matejewski
19
Kolekcja w modelu relacyjnym zapisy (wielozbiór)
W ramach pojedynczego zestawu zapisów (wielozbioru), jedna osoba może mieć więcej niż jedno wystąpienie. Uzyskujemy to przez wprowadzenie atrybutu "Wystąpienie" do klucza głównego encji Wpis. Kolejność wpisów jest nieistotna. opr. Lech Banachowski, Krzysztof Matejewski
20
Kolekcja w modelu relacyjnym zapisy (wielozbiór)
W zastosowaniach, w encji Wpis znalazłaby się prawdopodobnie dodatkowa informacja reprezentująca treść wpisu. Gdybyśmy nie potrzebowali takiej informacji, moglibyśmy model zapisów (wielozbioru) uprościć przesuwając atrybut Wystąpienie do części niekluczowej encji Wpis, interpretując go jako liczbę wystąpień osoby identyfikowanej przez wartość atrybutu Id_osoby. Przykładem wielozbioru może być lista cytowań prac naukowych. opr. Lech Banachowski, Krzysztof Matejewski
21
Słownik notacja Chena - notacja dla diagramów związków encji, w której encja jest rysowana jako prostokąt, atrybut jako kółko, związek jako romb. Umożliwia graficzną reprezentację diagramów ze związkami wieloznacznymi i związkami wielo-argumentowymi. hierarchia encji - ustawienie zbioru encji w hierarchię; w hierarchii encja podrzędna (podencja) stanowi rozszerzenie właściwości encji nadrzędnej (nadencji) – poprzez związek jednojednoznaczny. związek kategorii - związek encji nadrzędnej ze zbiorem encji podrzędnych rozszerzających jej właściwości. Kategoria może być pełna, gdy zbiór instancji encji podrzędnych jest równy zbiorowi instancji nadrzędnej; w przeciwnym razie niepełna. dane hierarchiczne - dane powiązane ze sobą hierarchicznymi powiązaniami takimi jak struktura organizacyjna firmy. czas - aspekt danych uwzględniający ich zmienność w czasie. Dotyczy zmienności wartości atrybutów, instancji encji i instancji związków. model obiektowo-relacyjny - model danych, w którym oprócz "płaskiej" struktury danych relacyjnego modelu danych – tabeli, używa się złożonych struktur danych definiowanych przez typy obiektowe bądź klasy jak w obiektowych jezykach programowania. opr. Lech Banachowski, Krzysztof Matejewski
22
Słownik c.d. tabela obiektowa - tabela, której elementami są obiekty ustalonego typu obiektowego (klasy). Przejście od tabeli relacyjnej do obiektowej odbywa się zgodnie z zasadą: wiersz -> obiekt tzn. wiersz tabeli relacyjnej uzyskuje metody i tożsamość obiektową i staje się obiektem typ obiektowy - definicja klasy obiektów, wzorzec dla obiektów obejmujący takie konstrukcje jak atrybuty typów złożonych i metody. kolekcja - model zbioru wartości. Oprócz przynależności elementu do zbioru rozważa się dodatkowe właściwości: ustawienie elementów zbioru w ciąg, wielokrotne wystąpienia tego samego elementu zbioru. ODL - język modelowania obiektowo-relacyjnego. związek odwrotny - związek reprezentujący odwrotną relację na zbiorach obiektów do danego związku. opr. Lech Banachowski, Krzysztof Matejewski
23
Do zobaczenia na wykładzie IV
Koniec wykładu III Do zobaczenia na wykładzie IV opr. Lech Banachowski, Krzysztof Matejewski
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.