1 - Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Transkrypt

1 - Zachodniopomorski Uniwersytet Technologiczny w Szczecinie
Zachodniopomorski Uniwersytet Technologiczny
w Szczecinie
Bazy danych
Wykład 4:
Model SERM
dr inż. Magdalena Krakowiak
[email protected]
Słabości modelu ERD




Wraz ze wzrostem złożoności obiektów odwzorowywanego
fragmentu świata rzeczywistego model ERD staje się coraz
mniej czytelny, co utrudnia jego analizę i ewentualny
rozwój.
W modelu ERD nie ma żadnych informacji o strukturze
problemu, która jest podstawą analizy modelu.
Warunki istnienia pomiędzy typami encji realizowane są
w modelu ERD za pomocą słabych typów encji. Posiadają
one w swoim kluczu głównym klucz typu, który warunkuje
ich istnienie. Brak możliwości identyfikacji warunków
istnienia opartych na kluczach obcych.
Trudność w identyfikacji cyklicznych warunków istnienia.
Bazy danych – Model SERM
Co to jest SERM?




SERM (ang. Structured Enity Relationship Model)
jest rozwinięciem modelu ER i po raz pierwszy został
zaprezentowany przez Prof. Sinza z Uniwersytetu
w Bambergu (Niemcy) w 1989 roku.
Ma za zadanie usunąć wszystkie słabości modelu
ERD.
W modelu wszystkie relacje pomiędzy typami encji
przedstawione są jako warunki istnienia typów encji
i typów relacji.
Typy obiektów SERM na diagramie uporządkowane
są hierarchicznie – obiekt zależny zawsze
przedstawiony jest po prawej stronie obiektu,
od którego zależy.
Bazy danych – Model SERM
Typy obiektów SERM
Na diagramie SERM występują trzy typy obiektów:

Typ obiektów rzeczywistych E
(ang. Entity)

Typ relacji R (ang. Relationship)

Typ pośredni ER (ang. Entity –
Relationship)
Bazy danych – Model SERM
Typ E
Typ R
Typ ER
Obiekt typu E



Obiekt typu E, zwany Encją, przedstawia w modelu
SERM obiekty świata rzeczywistego i stanowi
szczególny przypadek encji z modelu ER.
Istnienie obiektów typu E jest niezależne od istnienia
innych typów obiektów – występują tylko w roli
„obiektów rodziców”.
W związku z powyższym:


obiekty E są w pierwszym stopniu hierarchii dziedziczenia
i na diagramie umieszcza się je zawsze po lewej stronie
wszystkie atrybuty tych obiektów są atrybutami własnymi –
brak kluczy obcych
Bazy danych – Model SERM
Obiekt typu R



Obiekt typu R, zwany Relacją, przedstawia
w modelu SERM relację pomiędzy obiektami, której
złożoność jest określona jako „wiele do wielu”.
Stanowi zatem szczególny przypadek relacji z modelu
ER.
Istnienie obiektów typu R jest zależne od istnienia
innych typów obiektów – występują tylko w roli
„obiektów dzieci”.
W związku z powyższym:


obiekty R kończą hierarchię dziedziczenia i na diagramie
umieszcza się je tylko po prawej stronie innych obiektów
wszystkie atrybuty tych obiektów są kluczami obcymi – brak
atrybutów własnych
Bazy danych – Model SERM
Obiekt typu ER



Obiekt typu ER, zwany Encjorelacją, przedstawia
w modelu SERM połączenie zależnego obiektu świata
rzeczywistego z relację, której złożoność jest
określona jako „jeden do wielu” lub „jeden do
jednego”. Nie ma zatem odpowiednika w modelu ER.
Obiekty typu ER występują zarówno tylko w roli
„obiektów dzieci” jak i w obu rolach.
W związku z powyższym:


obiekty ER stanowią środek lub koniec hierarchii
dziedziczenia
atrybuty tych obiektów są zarówno kluczami obcymi
jak i atrybutami własnymi
Bazy danych – Model SERM
Sposoby dziedziczenia
W modelu SERM wyróżnia się dwa typy relacji:


relacja identyfikująca – sposób dziedziczenia PK –
obiekt „dziecko” jest identyfikowany przez „rodzica”
poprzez ustanowienie w nim klucza obcego kluczem
głównym
relacja określająca – sposób dziedziczenia FK –
obiekt „dziecko” jest tylko określany przez „rodzica”
zatem klucz obcy stanowi w nim atrybut lokalny
Bazy danych – Model SERM
Notacja (min;max)
W modelu SERM do określenia złożoności relacji stosuje
się notację (min;max). Jest to bardziej precyzyjna
notacja od notacji (1;M;N), ponieważ pozwala na
określenie wymuszenia wystąpienia relacji (warunków
istnienia). Polega na określeniu dwóch pozycji:
 minimalna liczba wystąpień relacji (min) –
oznaczenie, czy relacja jest obligatoryjna (1) czy
tylko opcjonalna (0)
 maksymalna liczba wystąpień relacji (max) –
w przypadku wystąpienia relacji oznaczenie, czy
relacja wystąpi tylko raz (1) czy wiele razy (*)
Bazy danych – Model SERM
Przypadki złożoności relacji
W związku z tym, że każdą z dwóch pozycji notacji
(min;max) określają dwa przypadki wyróżnia się cztery
rodzaje powiązań:




(0;1) –
(0;*) –
(1;1) –
(1;*) –
relacja
relacja
relacja
relacja
może wystąpić tylko jeden raz
może wystąpić wiele razy
musi wystąpić tylko jeden raz
musi wystąpić przynajmniej jeden raz
Bazy danych – Model SERM
Przypadki złożoności relacji
Na diagramie SERM relację oznaczane są w zależności
od przypadku jej złożoności. Wymuszenie wystąpienia
prezentuje podwójna linia, zaś jego brak pojedyncza.
W przypadku, gdy relacja może wystąpić wiele razy linia
zakończona jest grotem.




(0;1)
(0;*)
(1;1)
(1;*)
Bazy danych – Model SERM
Diagram SERM



W odróżnieniu od diagramu ER na diagramie SERM
obiekty mają ściśle określone miejsca tworząc
stopnie hierarchii dziedziczenia.
Dziedziczenia interpretowane jest kierunkowo – od
lewej strony do prawej. Obiekt „dziecko” zawsze stoi
po prawej stronie obiektu „rodzica”.
Każdy obiekt występujący na diagramie jest
podstawą do tworzenia tabeli.
Bazy danych – Model SERM
Diagram SERM
I
specjalność
II
III
specjalność
lekarza
lekarz
wizyta
pacjent
diagnoza
choroba
Bazy danych – Model SERM
Koniec
Dziękuję za uwagę!
Bazy danych – Model SERM