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