Model podmiot-relacja - Entity–relationship model

Diagram związków encji (lub modelu ER ) opisuje powiązanych ze sobą rzeczy interesów w domenie określonej wiedzy. Podstawowy model ER składa się z typów jednostek (które klasyfikują interesujące elementy) i określa relacje, które mogą istnieć między jednostkami (wystąpieniami tych typów jednostek).

Diagram relacji encja-atrybut dla MMORPG przy użyciu notacji Chena.

W inżynierii oprogramowania model ER jest powszechnie tworzony w celu przedstawienia rzeczy, o których firma musi pamiętać, aby realizować procesy biznesowe . W konsekwencji model ER staje się abstrakcyjnym modelem danych , definiującym strukturę danych lub informacji, którą można zaimplementować w bazie danych , zazwyczaj relacyjnej bazie danych .

Modelowanie relacji między encjami zostało opracowane przez Petera Chena na potrzeby bazy danych i projektowania, a następnie opublikowane w artykule z 1976 r., z wariantami istniejącej wcześniej koncepcji. Niektóre modele ER pokazują encje nadtypowe i podtypy połączone relacjami uogólnienia-specjalizacji, a model ER może być również używany do specyfikacji ontologii specyficznych dla dziedziny .

Wstęp

Model ER jest zwykle wynikiem systematycznej analizy w celu zdefiniowania i opisania tego, co jest ważne dla procesów w obszarze przedsiębiorstwa. Nie definiuje procesów biznesowych; przedstawia jedynie schemat danych biznesowych w formie graficznej. Jest zwykle rysowany w formie graficznej jako pola ( byty ), które są połączone liniami ( relacjami ), które wyrażają powiązania i zależności między bytami. Model ER można również wyrazić w formie słownej, na przykład: jeden budynek może być podzielony na zero lub więcej mieszkań, ale jedno mieszkanie może znajdować się tylko w jednym budynku.

Encje mogą charakteryzować nie tylko relacje, ale także dodatkowe właściwości ( atrybuty ), które zawierają identyfikatory zwane „kluczami podstawowymi”. Diagramy tworzone w celu reprezentowania atrybutów oraz encji i relacji mogą być nazywane diagramami encja-atrybut-relacja, a nie modelami encja-relacja.

Model ER jest zazwyczaj implementowany jako baza danych . W prostej implementacji relacyjnej bazy danych każdy wiersz tabeli reprezentuje jedno wystąpienie typu jednostki, a każde pole w tabeli reprezentuje typ atrybutu. W relacyjnej bazie danych relacja między jednostkami jest realizowana poprzez przechowywanie klucza podstawowego jednej jednostki jako wskaźnika lub „klucza obcego” w tabeli innej jednostki.

Istnieje tradycja budowania modeli ER/danych na dwóch lub trzech poziomach abstrakcji. Należy zauważyć, że poniższa hierarchia koncepcyjno-logiczna-fizyczna jest używana w innych rodzajach specyfikacji i różni się od podejścia opartego na trzech schematach w inżynierii oprogramowania .

Koncepcyjny model danych
Jest to model ER najwyższego poziomu, ponieważ zawiera najmniej szczegółowe szczegóły, ale określa ogólny zakres tego, co ma być zawarte w zestawie modeli. Koncepcyjny model ER zwykle definiuje podstawowe jednostki danych referencyjnych, które są powszechnie używane przez organizację. Opracowywanie koncepcyjnego modelu ER dla całego przedsiębiorstwa jest przydatne do dokumentowania architektury danych dla organizacji.
Koncepcyjny model ER może być używany jako podstawa dla jednego lub więcej logicznych modeli danych (patrz poniżej). Celem koncepcyjnego modelu ER jest następnie ustalenie wspólności metadanych strukturalnych dla encji danych podstawowych między zestawem logicznych modeli ER. Koncepcyjny model danych może służyć do tworzenia relacji wspólności między modelami ER jako podstawy integracji modelu danych.
Logiczny model danych
Logiczny model ER nie wymaga koncepcyjnego modelu ER, zwłaszcza jeśli zakres logicznego modelu ER obejmuje tylko rozwój odrębnego systemu informacyjnego. Logiczny model ER zawiera więcej szczegółów niż koncepcyjny model ER. Oprócz encji danych podstawowych zdefiniowano teraz encje danych operacyjnych i transakcyjnych. Opracowywane są szczegóły każdej jednostki danych i ustalane są relacje między tymi jednostkami danych. Logiczny model ER jest jednak opracowywany niezależnie od konkretnego systemu zarządzania bazą danych, w którym może zostać zaimplementowany.
Fizyczny model danych
Z każdego logicznego modelu ER można opracować jeden lub więcej fizycznych modeli ER. Fizyczny model ER jest zwykle opracowywany w celu utworzenia instancji jako bazy danych. Dlatego każdy fizyczny model ER musi zawierać wystarczającą ilość szczegółów, aby utworzyć bazę danych, a każdy fizyczny model ER jest zależny od technologii, ponieważ każdy system zarządzania bazą danych jest nieco inny.
Model fizyczny jest zazwyczaj instancja w metadanych strukturalnych systemu zarządzania bazą danych jako relacyjnej bazy danych obiektów, takich jak tabele bazy danych , indeksów baz danych , takich jak unikalnych kluczowych indeksów i ograniczeń baz danych, takich jak klucz obcy lub ograniczenia wspólności. Model ER jest również zwykle używany do projektowania modyfikacji obiektów relacyjnej bazy danych oraz do utrzymywania strukturalnych metadanych bazy danych.

Pierwszy etap projektowania systemu informatycznego wykorzystuje te modele podczas analizy wymagań do opisania potrzeb informacyjnych lub rodzaju informacji, które mają być przechowywane w bazie danych . Modelowanie danych technika może być stosowany do opisania każdego ontologii (tj przegląd i klasyfikacje używanych terminów i ich relacji) przez pewien obszar zainteresowania . W przypadku projektowania systemu informacyjnego opartego na bazie danych, koncepcyjny model danych jest na późniejszym etapie (zwykle nazywany projektowaniem logicznym) mapowany na logiczny model danych , taki jak model relacyjny ; to z kolei jest mapowane na model fizyczny podczas projektowania fizycznego. Zauważ, że czasami obie te fazy są określane jako „projekt fizyczny”.

Model podmiot-relacja

Dwa powiązane podmioty
Podmiot z atrybutem
Związek z atrybutem

Jednostka może być zdefiniowana jako rzecz zdolnego do niezależnej egzystencji, który może być identyfikowany. Jednostka jest abstrakcją od złożoności domeny. Kiedy mówimy o bycie, zwykle mówimy o pewnym aspekcie świata rzeczywistego, który można odróżnić od innych aspektów świata rzeczywistego.

Istota to rzecz, która istnieje fizycznie lub logicznie. Jednostka może być obiektem fizycznym, takim jak dom lub samochód (istnieją one fizycznie), wydarzeniem, takim jak sprzedaż domu lub serwis samochodowy, lub pojęciem, takim jak transakcja lub zamówienie klienta (istnieją one logicznie – jako koncepcja). ). Chociaż termin encja jest najczęściej używany, za Chenem powinniśmy naprawdę rozróżnić między encją a typem encji. Typ encji to kategoria. Ściśle rzecz biorąc, encja jest instancją danego typu encji. Zazwyczaj istnieje wiele przykładów typu encji. Ponieważ termin encja-typ jest nieco nieporęczny, większość ludzi używa go jako synonimu tego terminu

Byty można traktować jako rzeczowniki . Przykłady: komputer, pracownik, piosenka, twierdzenie matematyczne itp.

Relacja przechwytuje, w jaki sposób jednostki są ze sobą powiązane. Związki można traktować jako czasowniki łączące dwa lub więcej rzeczowników. Przykłady: AN posiada relacji między firmą a komputerem, nadzoruje relacji między pracownikiem a dział, a wykonuje relacji pomiędzy artystą a piosenkę, udowadnia, relacje między matematyk i domysłów itp

Opisany powyżej aspekt lingwistyczny modelu jest wykorzystywany w deklaratywnym języku zapytań bazy danych ERROL, który naśladuje konstrukcje języka naturalnego . Semantyka i implementacja ERROL opiera się na przekształconej algebrze relacyjnej (RRA), algebrze relacyjnej, która jest dostosowana do modelu encja-relacja i oddaje jego aspekt językowy.

Zarówno encje, jak i relacje mogą mieć atrybuty. Przykłady: jednostka pracownicza może mieć atrybut numeru ubezpieczenia społecznego (SSN), podczas gdy udowodniony związek może mieć atrybut daty .

Wszystkie jednostki z wyjątkiem słabych jednostek muszą mieć minimalny zestaw jednoznacznie identyfikujących atrybutów, które mogą być używane jako klucz unikalny / podstawowy .

Diagramy encja-relacja nie pokazują pojedynczych encji ani pojedynczych wystąpień relacji. Zamiast tego pokazują zestawy jednostek (wszystkie jednostki tego samego typu jednostki) i zestawy relacji (wszystkie relacje tego samego typu relacji). Przykłady: konkretna piosenka jest jednostką; zbiór wszystkich utworów w bazie danych jest zbiorem encji; spożywane relacji między dzieckiem a jego obiad jest pojedynczy związek; zbiór wszystkich takich relacji dziecko-lunch w bazie danych jest zbiorem relacji. Innymi słowy, zbiór relacji odpowiada relacji w matematyce , podczas gdy relacja odpowiada członkowi relacji.

Można również wskazać pewne ograniczenia kardynalności w zestawach relacji.

Mapowanie języka naturalnego

Chen zaproponował następujące „zasady praktyczne” mapowania opisów języka naturalnego na diagramy ER: diagramy języka angielskiego, chińskiego i ER” Petera Chena.

Struktura gramatyki angielskiej Struktura ER
Rzeczownikiem pospolitym Typ encji
Odpowiedni rzeczownik Podmiot
Czasownik przechodni Typ związku
Czasownik nieprzechodni Typ atrybutu
Przymiotnik Atrybut podmiotu
Przysłówek Atrybut dla związku

Widok fizyczny pokazuje, w jaki sposób dane są faktycznie przechowywane.

Relacje, role i kardynałowie

W oryginalnym artykule Chena podaje przykład związku i jego role. Opisuje związek „małżeństwo” i jego dwie role „mąż” i „żona”.

Osoba pełni rolę męża w małżeństwie (związku), a inna osoba odgrywa rolę żony w (tym samym) małżeństwie. Te słowa są rzeczownikami. To nie jest niespodzianka; nazywanie rzeczy wymaga rzeczownika.

Terminologia Chena została również zastosowana do wcześniejszych pomysłów. Linie, strzałki i kurze łapki niektórych diagramów zawdzięczają więcej wcześniejszym diagramom Bachmana niż diagramom zależności Chena.

Innym powszechnym rozszerzeniem modelu Chena jest „nazywanie” relacji i ról jako czasowników lub fraz.

Nazewnictwo ról

Powszechne stało się również nazywanie ról za pomocą fraz, takich jak jest właścicielem i należy do . Prawidłowe rzeczowniki w tym przypadku to właściciel i posiadanie . Tak więc osoba pełni rolę właściciela, a samochód pełni rolę posiadania, a nie osoba pełni rolę , jest właścicielem , itd.

Użycie rzeczowników daje bezpośrednią korzyść przy generowaniu implementacji fizycznych z modeli semantycznych. Gdy dana osoba ma dwie relacje z samochodem , możliwe jest wygenerowanie nazw takich jak właściciel_osoba i kierowca_osoba , które mają natychmiastowe znaczenie.

Kardynalizacje

Modyfikacje oryginalnej specyfikacji mogą być korzystne. Chen opisał przekrojowe kardynałowie . Na marginesie, notacja Barker-Ellis , używana w Oracle Designer, używa tej samej strony dla minimalnej kardynalności (analogicznie do opcjonalności) i roli, ale patrz w poprzek dla maksymalnej kardynalności (kurza łapa).

W Merise , Elmasri & Navathe i innych preferuje się role po tej samej stronie oraz minimalną i maksymalną kardynalność. Niedawni badacze (Feinerer, Dullea i in.) wykazali, że jest to bardziej spójne, gdy stosuje się je do n-arnych relacji rzędu większego niż 2.

W Dullea i in. jeden brzmi: „Notacja „przejrzyj”, taka jak używana w UML , nie reprezentuje skutecznie semantyki ograniczeń uczestnictwa nałożonych na relacje, w których stopień jest wyższy niż binarny.

Feinerer mówi: „Problemy pojawiają się, gdy działamy zgodnie z semantyką typu look-across, używaną w przypadku skojarzeń UML. Hartmann bada tę sytuację i pokazuje, jak i dlaczego różne transformacje zawodzą”. (Chociaż wspomniana „redukcja” jest fałszywa, ponieważ dwa wykresy 3.4 i 3.5 są w rzeczywistości takie same) oraz „Jak zobaczymy na następnych kilku stronach, interpretacja przekrojowa wprowadza kilka trudności, które uniemożliwiają rozbudowę prostych mechanizmów od skojarzeń binarnych do n-argumentowych”.

Różne sposoby przedstawiania relacji jeden do wielu. W każdym przypadku diagram pokazuje relację między osobą a miejscem urodzenia: każda osoba musiała urodzić się w jednym i tylko jednym miejscu, ale w każdej lokalizacji mogło urodzić się zero lub więcej osób.
Dwie powiązane jednostki pokazane przy użyciu notacji Crow's Foot. W tym przykładzie pokazana jest opcjonalna relacja między wykonawcą a piosenką; symbole najbliższe jednostce utworu oznaczają „zero, jeden lub wiele”, podczas gdy utwór ma „jednego i tylko jednego” wykonawcę. Ten pierwszy jest zatem odczytywany jako Artysta (może) wykonać(-ą) „zero, jedną lub wiele” piosenkę(-i).

Notacja Chena dotycząca modelowania encja-relacja wykorzystuje prostokąty do reprezentowania zbiorów encji, a romby do reprezentowania relacji odpowiednich dla obiektów pierwszej klasy : mogą one mieć własne atrybuty i relacje. Jeśli zestaw encji uczestniczy w zestawie relacji, są one połączone linią.

Atrybuty są rysowane jako owale i są połączone linią z dokładnie jedną jednostką lub zestawem relacji.

Ograniczenia liczności są wyrażone w następujący sposób:

  • podwójna linia oznacza ograniczenie uczestnictwa , totalność lub suriektywizm : wszystkie podmioty w zbiorze encji muszą uczestniczyć w co najmniej jednej relacji w zbiorze relacji;
  • strzałka od zbioru encji do zbioru relacji wskazuje na kluczowe ograniczenie , tj. wstrzykiwanie : każda jednostka ze zbioru encji może uczestniczyć w co najwyżej jednej relacji w zbiorze relacji;
  • gruba linia oznacza oba, tj. bijektywność : każda jednostka w zbiorze encji jest zaangażowana w dokładnie jedną relację.
  • podkreślona nazwa atrybutu wskazuje, że jest to klucz : dwie różne jednostki lub relacje z tym atrybutem zawsze mają różne wartości dla tego atrybutu.

Atrybuty są często pomijane, ponieważ mogą zaśmiecać diagram; inne techniki diagramów często wyświetlają atrybuty encji w prostokątach narysowanych dla zestawów encji.

Powiązane techniki konwencji diagramów:

Notacja kurzej łapki

Notacja Crow's Foot, której początek sięga artykułu Gordona Everesta (1976), jest używana w notacji Barkera , Structured Systems Analysis and Design Method (SSADM) oraz inżynierii informatycznej . Diagramy kurzej łapki przedstawiają jednostki jako pola, a relacje jako linie między polami. Różne kształty na końcach tych linii reprezentują względną kardynalność związku.

Notacja kurzej łapki została wykorzystana w praktyce doradczej CACI . Wielu konsultantów CACI (w tym Richard Barker) przeniosło się następnie do Oracle UK, gdzie opracowali wczesne wersje narzędzi Oracle CASE , wprowadzając notację do szerszego grona odbiorców.

Przy takim zapisie relacje nie mogą mieć atrybutów. Tam, gdzie jest to konieczne, relacje są promowane do odrębnych podmiotów: na przykład, jeśli konieczne jest uchwycenie, gdzie i kiedy artysta wykonał piosenkę, wprowadzane jest nowe „wykonanie” podmiotu (z atrybutami odzwierciedlającymi czas i miejsce) oraz relacja artysty z piosenką staje się relacją pośrednią poprzez wykonanie (artysta-występuje-wykonanie, performans-cechy-piosenka).

Trzy symbole są używane do reprezentowania kardynalności:

  • pierścień oznacza „zero”
  • kreska oznacza „jeden”
  • na stopa kruka oznacza „wiele” lub „nieskończony”

Symbole te są używane w parach do reprezentowania czterech rodzajów kardynalności, jakie jednostka może mieć w związku. Wewnętrzny składnik notacji reprezentuje minimum, a zewnętrzny składnik reprezentuje maksimum.

  • pierścień i kreskaminimum zero, maksimum jeden (opcjonalnie)
  • kreska i kreskaminimum jeden, maksimum jeden (obowiązkowo)
  • pierścień i kurza łapkaminimum zero, maksimum wiele (opcjonalnie)
  • kreska i kurza łapkaminimum jeden, maksimum wiele (obowiązkowe)

Problemy z użytecznością modelu

Korzystając z modelowanej bazy danych, użytkownicy mogą napotkać dwa dobrze znane problemy, w których zwrócone wyniki oznaczają coś innego niż wyniki założone przez autora zapytania.

Pierwszą z nich jest „pułapka kibica”. Występuje w przypadku tabeli (głównej), która łączy się z wieloma tabelami w relacji jeden-do-wielu. Nazwa problemu wywodzi się od wyglądu modelu narysowanego na diagramie encja-relacja: połączone tabele „rozkładają się” z tabeli głównej. Ten typ modelu wygląda podobnie do schematu gwiaździstego , typu modelu używanego w hurtowniach danych . Podczas próby obliczenia sum dla agregatów przy użyciu standardowego kodu SQL dla tabeli głównej mogą wystąpić nieoczekiwane (i nieprawidłowe) wyniki. Rozwiązaniem jest dostosowanie modelu lub SQL. Ten problem występuje głównie w bazach danych systemów wspomagania decyzji, a oprogramowanie, które wysyła zapytania do takich systemów, czasami zawiera określone metody obsługi tego problemu.

Druga sprawa to „pułapka przepaści”. Pułapka na przepaść występuje, gdy model sugeruje istnienie relacji między typami encji, ale ścieżka nie istnieje między wystąpieniami pewnych encji. Na przykład budynek ma co najmniej jeden pokój, w którym znajduje się zero lub więcej komputerów. Można by oczekiwać, że będzie można przeszukać model, aby zobaczyć wszystkie komputery w budynku. Jednak komputery, które nie są aktualnie przypisane do pokoju (ponieważ są w naprawie lub gdzie indziej) nie są wyświetlane na liście. Do przechwycenia wszystkich komputerów w budynku potrzebna jest inna relacja między budynkiem a komputerami. Ten ostatni problem z modelowaniem jest wynikiem niepowodzenia w uchwyceniu w modelu wszystkich relacji istniejących w świecie rzeczywistym. Zobacz Modelowanie relacji encji 2, aby uzyskać szczegółowe informacje.

Entity-relacje i modelowanie semantyczne

Model semantyczny

Model semantyczny to model pojęć, czasami nazywany jest „modelem niezależnym od platformy”. Jest to model intensjonalny. Przynajmniej od czasów Carnapa wiadomo, że:

„...pełne znaczenie pojęcia konstytuują dwa aspekty, jego intencja i jego rozszerzenie. Pierwsza część to osadzenie pojęcia w świecie pojęć jako całości, czyli całokształt wszystkich relacji do innych pojęć. Druga część ustala znaczenie referencyjne pojęcia, czyli jego odpowiednik w świecie realnym lub możliwym”.

Model rozszerzenia

Model ekstensywny to taki, który odwzorowuje elementy określonej metodologii lub technologii, a zatem jest „modelem specyficznym dla platformy”. Specyfikacja UML wyraźnie stwierdza, że ​​skojarzenia w modelach klas są ekstensjonalne i jest to w rzeczywistości oczywiste, biorąc pod uwagę szeroki wachlarz dodatkowych „ozdobników” dostarczanych przez specyfikację ponad te dostarczane przez którykolwiek z wcześniejszych kandydatów na „języki modelowania semantycznego” . „UML jako notacja modelowania danych, część 2”

Początki podmiot-związek

Peter Chen, ojciec modelowania ER, powiedział w swoim przełomowym artykule:

Model encji i relacji przyjmuje bardziej naturalny pogląd, że świat rzeczywisty składa się z encji i relacji. Zawiera niektóre ważne informacje semantyczne dotyczące świata rzeczywistego ”.

W swoim oryginalnym artykule z 1976 roku Chen wyraźnie przeciwstawia diagramy podmiot-związek technikami modelowania zapisów:

Schemat struktury danych jest reprezentacją organizacji dokumentacji i nie jest dokładną reprezentacją podmiotów i relacji.

Kilku innych autorów również wspiera program Chena:

Filozoficzne wyrównanie

Chen jest zgodny z tradycjami filozoficznymi z czasów starożytnych filozofów greckich: Platona i Arystotelesa . Sam Platon kojarzy wiedzę z rozumieniem niezmiennych Form (czyli archetypów lub abstrakcyjnych reprezentacji wielu typów rzeczy i właściwości) i ich wzajemnych relacji.

Ograniczenia

  • Model ER jest przede wszystkim konceptualny, ontologią wyrażającą predykaty w dziedzinie wiedzy.
  • Modele ER są chętnie używane do reprezentowania struktur relacyjnych baz danych (po Codd i Date), ale nie tak często do reprezentowania innych rodzajów struktur danych (hurtownie danych, magazyny dokumentów itp.)
  • Niektóre notacje modelu ER zawierają symbole pokazujące relacje nadpodtypów i wzajemne wykluczanie między relacjami; niektórzy nie.
  • Model ER nie pokazuje historii życia jednostki (jak jej atrybuty i/lub relacje zmieniają się w czasie w odpowiedzi na wydarzenia). W przypadku wielu systemów takie zmiany stanu są nietrywialne i wystarczająco ważne, aby uzasadnić jednoznaczną specyfikację.
  • Niektórzy rozszerzyli modelowanie ER o konstrukcje reprezentujące zmiany stanu, podejście wspierane przez oryginalnego autora; przykładem jest modelowanie kotwic .
  • Inne modelują zmiany stanu oddzielnie, używając diagramów przejść stanów lub innej techniki modelowania procesów .
  • Wiele innych rodzajów diagramów jest rysowanych w celu modelowania innych aspektów systemów, w tym 14 typów diagramów oferowanych przez UML .
  • Obecnie, nawet tam, gdzie modelowanie ER może być przydatne, jest to rzadkością, ponieważ wiele z nich korzysta z narzędzi obsługujących podobne rodzaje modeli, w szczególności diagramy klas do programowania obiektowego i modele danych dla systemów zarządzania relacyjnymi bazami danych . Niektóre z tych narzędzi mogą generować kod z diagramów i diagramów inżynierii wstecznej z kodu.
  • W ankiecie Brodie i Liu nie mogli znaleźć ani jednego przykładu modelowania relacji między podmiotami w próbie dziesięciu firm z listy Fortune 100. Badia i Lemire obwiniają ten brak zastosowania za brak wytycznych, ale także za brak korzyści, takich jak brak wsparcia dla integracji danych.
  • Wzmocnione diagram związków encji (modelowanie EER) wprowadza kilka pojęć nie w modelowaniu ER, ale są ściśle związane z obiektowego projektowania, jak is-a relacje.
  • Do modelowania czasowych baz danych uwzględniono liczne rozszerzenia ER. Podobnie model ER okazał się nieodpowiedni dla wielowymiarowych baz danych (używanych w aplikacjach OLAP ); nie pojawił się jeszcze żaden dominujący model koncepcyjny w tej dziedzinie, chociaż generalnie obracają się one wokół koncepcji kostki OLAP (znanej również jako kostka danych w polu).

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki