Model związków encji
Model związków encji |
---|
Polecane artykuły |
Model związków encji, określany jest również jako: model ER lub ERD. Skróty te pochodzą od angielskiej nazwy Entity Relationship Diagram. Metoda zaprezentowana została po raz pierwszy przez Petera Chena w 1976 roku. Późniejszych, drobnych modyfikacji w diagramie dokonali między innymi Charles Bachman oraz James Martin. Jest to jedna z najpopularniejszych, dotychczas zaprojektowanych, metod modelowania danych.
Diagramy te pokazują pewnego rodzaju obiekty, nazywane również encjami, których cechy charakterystyczne, czyli atrybuty, a także relacje jakie między nimi zachodzą, przechowywane są w systemie informacyjnym. Warto zauważyć, że dla danego systemu tworzony jest jeden, spójny diagram. Nie przeprowadza się dekompozycji modelu na mniejsze części. Można dokonać jego podziału jedynie w sytuacji, kiedy dąży się do zaprezentowania i wydruku systemu.
Należy zauważyć, że wyróżnić można różne notacje diagramów. Obecnie wśród najpopularniejszych wymienia się między innymi notację: Chena, Bachmana, Crow’s Foot, Martina, czy też Barkera. W zależności od stosowanej notacji, odmienne mogą być na przykład oznaczenia poszczególnych związków, ich liczebności, czy też opcjonalności, jakie występują w ERD (D. Olczyk 2010, s. 93; K. Sacha 2010, s. 86; K. Polańska 2015, s. 24-25; S. Wrycza i in. 2019, s. 379).
TL;DR
Model związków encji (ER lub ERD) to metoda modelowania danych, która opisuje obiekty (encje), ich cechy (atrybuty) oraz relacje między nimi. Encje są przedstawiane jako prostokąty, a atrybuty jako owale. Związki są reprezentowane przez strzałki lub linie przerywane. Istnieją różne notacje ER, które różnią się oznaczeniami związków i atrybutów. W zależności od notacji, związki mogą mieć różne typy (jeden do jednego, jeden do wielu, wiele do wielu) i opcjonalność. Model ER jest używany do projektowania baz danych i systemów informacyjnych.
Elementy modelu
W skład modelu związków encji wchodzą elementy takie jak: encja, atrybut, związek.
Encja
Encja (ang. entity) wyraża różnego rodzaju obiekty, składniki rzeczywistości, czy też szeroko pojęty byt. W diagramie prezentowana jest najczęściej w formie prostokąta o ostrych, bądź zaokrąglonych rogach. Nazwa danej encji umiejscowiona jest zazwyczaj w pierwszym wersie, a dodatkowo oznaczana jest innym kolorem, bądź też rodzajem czcionki - tak, aby łatwo było ją dostrzec. Nazwą jest rzeczownik, który w przypadku jednej encji jest w liczbie pojedynczej, natomiast w przypadku magazynu danych jest w liczbie mnogiej. Przykładami pojedynczych obiektów mogą być: przedmiot, pojazd, osoba, książka, zamówienie, jak i również pojęcie. Natomiast magazynami danych nazwać można na przykład osoby, zdarzenia, faktury, zamówienia, itd..
Dwie podstawowe własności encji:
- obiekty wzajemnie się wkluczają, co oznacza, że dana encja może reprezentować jeden, konkretny składnik rzeczywistości,
- wszystkie obiekty muszą być wyraźnie identyfikowane, co oznacza, że dana instancja musi się jednoznacznie wyróżniać od pozostałych instancji tego typu.
Z tego też powodu, warto rozróżnić pojęcie encji / typu encji od wystąpienia / instancji encji. Konkretne obiekty, jakie pojawiają się w świecie, są określane mianem instancji. Przykładowo: encją będzie Uniwersytet, zaś jej instancją będzie jeden konkretny na przykład Uniwersytet Ekonomiczny w Krakowie (D. Olczyk 2010, s. 93; K. Sacha 2010, s. 85; J. Kisielnicki 2013, s. 130; K. Polańska 2015, s. 25; S. Wrycza i in. 2019, s. 379).
Atrybut
Atrybut (ang. attribute) to pewnego rodzaju cechy charakterystyczne dla danej encji, które są przechowywane w danym systemie. Jej zadaniem jest opisywanie, czy też określanie danego bytu. Każdy poszczególny obiekt musi zostać opisany przez minimum jeden atrybut, choć często jest to pewien ich zbiór. W diagramie prezentowane mogą być między innymi jako owal.
Pojedynczy byt musi mieć również wyraźnie określony tzw. identyfikator, nazywany również kluczem, którym może być zarówno pojedynczy atrybut, jak i również grupa atrybutów. Pozwala on na jednoznaczne odróżnienie danego obiektu od reszty występujących encji. Wśród identyfikatorów wyróżnić można zarówno te naturalne - numer dowodu, PESEL, numer rejestracyjny, jak i sztuczne - numer pozycji danego produktu w katalogu. Na przykład, na studiach może zdarzyć się, że kilku studentów posiadających takie samo imię i nazwisko - które są atrybutami, jednak jego identyfikatorem jest na przykład numer albumu - każdy student ma swój indywidualnie przypisany numer, który wyróżnia go z całej reszty studentów.
Mianem atrybutów deskrypcyjnych, czy też deskryptorów, określane są takie atrybuty, które nie są identyfikatorami. Wartości te mogą być, w zależności od potrzeb informacyjnych, obowiązkowe lub też opcjonalne (D. Olczyk 2010, K. Sacha 2010, s. 85; s. 93; J. Kisielnicki 2013, s. 131; K. Polańska 2015, s. 25).
Przykładami encji oraz ich atrybutów mogą być:
- Student mający między innymi takie atrybuty jak: Numer albumu, Rok urodzenia, Imię, Nazwisko, czy także Kierunek studiów.
- Osoba, której atrybutami mogą być na przykład Imię, Nazwisko, PESEL, czy też Adres zamieszkania.
- Pojazd, który ma swoje atrybuty, w tym między innymi: Marka, Rok produkcji, Model, Numer VIN, czy sam Numer rejestracyjny.
Zaprezentowane zostały one również na rysunku 1.
W przypadku dużych diagramów pomocne może okazać się zastosowanie słownika danych. Przykładowy zapis w takim słowniku może przyjąć na przykład taką formę:
- Osoba = *encja* PESEL + Imię + Nazwisko + Adres
- Student = *encja* Numer albumu + Imię + Nazwisko + Rok studiów + Adres
Zapisy takie odczytywać można jako: Encja Osoba złożona jest z takich atrybutów jak: PESEL, Imię, Nazwisko Adres. PESEL jest identyfikatorem encji Osoba (K. Polańska 2015, s. 25).
Związek
Związek, czy też relacja (ang. relationship) jest pewnego rodzaju logicznym powiązaniem lub też sprzężeniem, jakie występuje między poszczególnymi, istniejącymi encjami. Jest to informacja, którą należy przechowywać w danym systemie, ponieważ nie jest możliwe jej wywnioskowanie, pozyskanie, czy także obliczenie z wartości atrybutów danego bytu. Związek pozwala powiązać ze sobą - dwie lub więcej - występujące encje. Każda z relacji musi zostać właściwie nazwana tak, aby modele ER były czytelne i zrozumiałe dla ludzi. Ważnym aspektem związku jest jego liczebność - inaczej nazywana typami związku, a także opcjonalność. Związek w diagramach oznaczany jest najczęściej strzałką, bądź też linią przerywaną lub ciągłą, co jest zależne od cechy jaką jest opcjonalność. Dodatkowo do nich muszą zostać dopisane nazwy, a także określone zakończenia - zależne między innymi od wspomnianej już liczebności danego związku.
W literaturze, wyróżnić można kilka stopni związków, które zależne są od liczby encji, jakie biorą w nich udział. Są to między innymi relacje: dwuargumentowe, jednoargumentowe, trzyargumentowe, czy także wieloargumentowe. Najczęściej stosowanymi i rozważanymi są pierwsze związki, nazywane również binarnymi. Budowane są na bazie dwóch różnych obiektów, między którymi pojawia się pewna zależność. Dla odróżnienia, związki jednoargumentowe, nazywane również unarnymi lub rekurencyjnymi, mają wyłącznie jednego uczestnika, czyli także jedną relację. Powstają one w podobnie do związków binarnych, z taką różnicą, że encja jest tylko jedna - obiekt jest powiązany sam ze sobą. W takich powiązaniach występować mogą relacje jeden do wielu oraz wiele do wielu. Związki trzyargumentowe, czyli ternarne oraz ostatnie wymienione, nazywane również n-arnymi, prezentują powiązania jakie występują między więcej niż dwoma połączonymi ze sobą encjami. Nie mogą one być bezpośrednio wprowadzane do relacyjnych baz, ponieważ wymagają specjalnych przekształceń. Na rysunku 2 przedstawione zostały przykładowe graficzne prezentacje stopni związków (D. Olczyk 2010, s. 93-94; K. Polańska 2015, s. 25; S. Wrycza i in. 2019, s. 379-382).
Typy związków
Typy, czy też liczebność związku pozwala zdefiniować z iloma wystąpieniami danego bytu (encji) można połączyć występowanie innego obiektu. Wyróżnić można wiele typów relacji, jednak do trzech podstawowych, dwuargumentowych związków zalicza się (D. Olczyk 2010, s. 93-94; J. Kisielnicki 2013, s. 135; K. Polańska 2015, s. 25; S. Wrycza i in. 2019, s. 379-380):
- Jeden do jednego (1 : 1),
- Jeden do wielu (1 : N),
- Wiele do wielu (M : N).
Jeden do jednego
Związek ten określa, iż każde wystąpienie danego obiektu (encji) związane jest wyłącznie z pojedynczym wystąpieniem innego bytu. Jest to jedna z najprostszych relacji, jaką można wyróżnić między encjami. Reguła ta działa w dwie strony, jednak zawsze musi zostać spełniona. W praktyce ta forma związków występuje stosunkowo rzadko, dlatego też w momencie pojawienia się takiej relacji należy upewnić się, czy właściwie określono między innymi: atrybuty encji, czy też liczebność związku. Przykładem związku jeden do jednego może być relacja jaka zachodzi między Pracownikiem, a przydzielonym mu Miejscem parkingowym, czy także Kierownikiem a Działem. I tak na przykład: Pracownik w organizacji ma przypisane konkretne Miejsce, a to Miejsce jest przypisane do konkretnego Pracownika. Kierownik zarządza jednym Działem, a Dział zarządzany jest przez jednego Kierownika.
Jeden do wielu
Związek ten określa, iż jedno wystąpienie danego obiektu (encji) związane jest z większą ilością wystąpień innego bytu. Natomiast jedno wystąpienie innego bytu połączone jest wyłącznie z jednym wystąpieniem tego pierwszego obiektu. W praktyce, jest to najczęściej występujący rodzaj relacji jaka zachodzi między encjami. Jako przykłady związku jeden do wielu można podać relacje, jakie zachodzą na przykład między: Klientem za Zamówieniem, czy też Firmą a Działem. I tak na przykład: Klient składa wiele Zamówień. Konkretne Zamówienie jest składane przez danego Klienta. W Firmie istnieje wiele Działów. Konkretny Dział istnieje w danej Firmie.
Wiele do wielu
Związek ten określa, iż jedno wystąpienie danego obiektu (encji) związane jest z większą ilością wystąpień innego bytu, tak samo jak jedno wystąpienie innego bytu może być powiązane z większą ilością wystąpień tego pierwszego obiektu. Budowanie takich związków wydaje się być dla niektórych problematyczne, dlatego też w celu ułatwienia tego procesu wykorzystuje się ich rozbijanie na związki jeden do wielu. Wymagane jest wtedy utworzenie nowego obiektu, który będzie łącznikiem między pozostałymi dwoma, a jego atrybutami będą cechy łączące wcześniejsze encje. Przykładem takiego związku może być zależność jaka występuje pomiędzy Studentem oraz Wykładem. Student zapisany może być na wiele Wykładów, tak i na dany Wykład zapisanych może być wielu Studentów.
Na rysunku 3 przedstawione zostały przykładowe oznaczenia omówionych wyżej liczebności związków, w wybranych notacjach. Pierwszy przykład - poszczególny relacji - jest prezentowany w notacji Chana, drugi - w notacji Martina lub też Crow’s Foot. Jak można zauważyć, w zależności od stosowanej notacji, liczebność jednej ze stron w związku - a dokładniej strony "wielu" - można zaprezentować za pomocą litery np. M lub N lub także za pomocą tzw. kurzej łapki, czyli rozgałęzienia linii łączącej encje.
Opcjonalność relacji
Opcjonalność rozumiana może być jako minimalna liczebność relacji. Jest to element diagramu, który informuje o tym, czy każda instancja obiektu musi brać udział w konkretnej relacji. Opcjonalność, w zależności od stosowanej notacji, może być przedstawiana w postaci na przykład: kół oraz pionowych kresek lub też symboli: 0, 1 oraz N. Oznaczenia w postaci znaków, które umieszcza się nad lub pod linią relacji, stosowane są na przykład w notacji Chana. Natomiast oznaczenia w postaci koła oraz pionowych kresek, które znajdują się na linii, stosowane są między innymi przy notacjach Crow’s Foot, czy Martina, tam gdzie wykorzystuje się tzw. kurze łapki. W takiej sytuacji: koło oznacza brak obowiązku udziału obiektu w relacji, a prostopadła do linii kreska oznacza konieczność jego udziału w danej relacji. Dodatkowo można zaznaczyć, że zastosowanie dwóch pionowych kresek rozumieć można, jako konieczność wystąpienia encji, w danej relacji wyłącznie jeden raz. Rysunek przedstawia przykładowe zastosowanie oznaczenia opcjonalności w dwóch notacjach (K. Sacha 2010, s. 86; K. Polańska 2015, s. 30; S. Wrycza i in. 2019, s. 380).
Graficzna prezentacja modelu
Elementy graficzne poszczególnych diagramów różnić mogą się od siebie w zależności od przyjętej notacji. Na rysunku znajdują się graficzne prezentacje najważniejszych elementów z wybranych notacji.
Bibliografia
- Bojarski R. (2012), Modele związków encji w bazach danych systemów wspomagających zarządzanie wytwarzaniem, "Zeszyty Naukowe. Organizacja i Zarządzanie / Politechnika Śląska", Tom 61
- Chodkowska-Gyurics A. (2014), Hurtownie danych. Teoria i praktyka, Wydawnictwo Naukowe PWN, Warszawa
- Dudek A. (red.) (2011), Systemy informatyczne zarządzania Microsoft Business Solutions Navision, Wydawnictwo Uniwersytetu Ekonomicznego we Wrocławiu, Wrocław
- Kisielnicki J. (2013), Systemy informatyczne zarządzania, Placet, Warszawa
- Łecheciński S. (2012), Tworzenie Relacyjnych Modeli Danych, "Studia i Materiały Polskiego Stowarzyszenia Zarządzania Wiedzą", Nr 62
- Olczyk D. (2010), Modelowanie strukturalne - Definicje, notacja, techniki i narzędzia, "Zeszyty Naukowe Warszawskiej Wyższej Szkoły Informatyki", Nr 4
- Orłowski C., Lipski J., Loska A. (2012), Informatyka i komputerowe wspomaganie prac inżynierskich, Polskie Wydawnictwo Ekonomiczne, Warszawa
- Polańska K. (red.) (2015), Wstęp do informatyki gospodarczej. Zajęcia laboratoryjne, Szkoła Główna Handlowa w Warszawie, Warszawa
- Sacha K. (red.) (2012), Inżynieria oprogramowania, Wydawnictwo Naukowe PWN, Warszawa
- Szcześniak B., Bujanowska A. (2011), Koncepcja zastosowania arkusza kalkulacyjnego do wspomagania procesu przeglądów urządzeń w wybranym szpitalu, "Studia i Materiały Polskiego Stowarzyszenia Zarządzania Wiedzą", Nr 45
- Szczęśniak B. (2013), Koncepcja zastosowania arkusza kalkulacyjnego do wspomagania tworzenia dokumentów w procesie produkcji taśm blachy, "Systemy Wspomagania w Inżynierii Produkcji", Tom 2(4)
- Wrycza S., Maślankowski J. (red.) (2019), Informatyka ekonomiczna. Teoria i zastosowania, Wydawnictwo Naukowe PWN, Warszawa
Autor: Żaneta Golonka