Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 4: Model SERM dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl
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.
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.
Typy obiektów SERM Na diagramie SERM występują trzy typy obiektów: Typ obiektów rzeczywistych E (ang. Entity) Typ E Typ relacji R (ang. Relationship) Typ R Typ pośredni ER (ang. Entity Relationship) 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
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
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
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
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 (*)
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) relacja może wystąpić tylko jeden raz (0;*) relacja może wystąpić wiele razy (1;1) relacja musi wystąpić tylko jeden raz (1;*) relacja musi wystąpić przynajmniej jeden raz
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;*)
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.
Diagram SERM I II III specjalność lekarz pacjent choroba specjalność lekarza wizyta diagnoza
Koniec Dziękuję za uwagę!