Co to jest modelowanie ER?
Entity Relationship Model (ER Modeling) to graficzne podejście do projektowania bazy danych. Jest to wysokopoziomowy model danych, który definiuje elementy danych i ich relacje dla określonego systemu oprogramowania. Model ER jest używany do reprezentowania obiektów świata rzeczywistego.
Podmiot jest rzecz lub przedmiot w realnym świecie, który różni się od otaczającego środowiska. Na przykład każdy pracownik organizacji jest oddzielną jednostką. Oto niektóre z głównych cech jednostek.
- Jednostka ma zestaw właściwości.
- Właściwości jednostki mogą mieć wartości.
W tym samouczku nauczysz się:
- Model rozszerzonej relacji encji (EER)
- Dlaczego warto korzystać z modelu ER?
- Elementy w bibliotece „MyFlix”
- Definiowanie relacji między podmiotami
Rozważmy ponownie nasz pierwszy przykład. Pracownik organizacji to jednostka. Jeśli „Piotr” jest programistą ( pracownikiem ) w firmie Microsoft, może mieć atrybuty ( właściwości), takie jak imię i nazwisko, wiek, waga, wzrost itp. Jest oczywiste, że zawierają one istotne dla niego wartości.
Każdy atrybut może mieć wartości . W większości przypadków pojedynczy atrybut ma jedną wartość. Ale możliwe jest również, że atrybuty mają wiele wartości . Na przykład wiek Piotra ma jedną wartość. Jednak jego właściwość „numery telefonów” może mieć wiele wartości.
Podmioty mogą mieć ze sobą relacje . Rozważmy najprostszy przykład. Załóżmy, że każdy programista Microsoft ma komputer. Oczywiste jest, że komputer Petera jest również bytem. Piotr używa tego komputera, a ten sam komputer jest używany przez Petera. Innymi słowy, istnieje wzajemna relacja między Piotrem a jego komputerem.
W modelowaniu relacji encji modelujemy encje, ich atrybuty i relacje między encjami.
Model rozszerzonej relacji encji (EER)
Rozszerzony model relacji encji (EER) to wysokopoziomowy model danych, który zapewnia rozszerzenia do oryginalnego modelu relacji encji (ER). Modele EER obsługują bardziej szczegółowe projektowanie. Modelowanie EER pojawiło się jako rozwiązanie do modelowania bardzo złożonych baz danych.
EER używa notacji UML. UML to skrót od Unified Modeling Language; jest to język modelowania ogólnego przeznaczenia, używany podczas projektowania systemów obiektowych. Jednostki są reprezentowane jako diagramy klas. Relacje są reprezentowane jako skojarzenia między podmiotami. Diagram przedstawiony poniżej ilustruje diagram ER przy użyciu notacji UML.
Dlaczego warto korzystać z modelu ER?
Teraz możesz pomyśleć, po co używać modelowania ER, skoro możemy po prostu utworzyć bazę danych i wszystkie jej obiekty bez modelowania ER? Jednym z wyzwań stojących przed projektowaniem bazy danych jest fakt, że projektanci, programiści i użytkownicy końcowi mają tendencję do odmiennego przeglądania danych i ich wykorzystania. Jeśli ta sytuacja nie zostanie zaznaczona, możemy w końcu stworzyć system bazodanowy, który nie spełnia wymagań użytkowników.
Narzędzia komunikacyjne zrozumiałe dla wszystkich zainteresowanych stron (zarówno użytkowników technicznych, jak i nietechnicznych) mają kluczowe znaczenie w tworzeniu systemów baz danych, które spełniają wymagania użytkowników. Modele ER są przykładami takich narzędzi.
Diagramy ER zwiększają również produktywność użytkowników, ponieważ można je łatwo przełożyć na tabele relacyjne.
Studium przypadku: diagram ER dla biblioteki wideo „MyFlix”
Pracujmy teraz z systemem bazy danych MyFlix Video Library, aby pomóc zrozumieć koncepcję diagramów ER. W pozostałej części tego samouczka będziemy używać tej bazy danych do wszystkich czynności
MyFlix to podmiot gospodarczy, który wypożycza filmy swoim członkom. MyFlix przechowuje swoje rekordy ręcznie. Kierownictwo chce teraz przejść do DBMS
Spójrzmy na kroki, aby opracować diagram EER dla tej bazy danych:
- Zidentyfikuj byty i określ relacje, które istnieją między nimi.
- Każda jednostka, atrybut i relacja powinny mieć odpowiednie nazwy, które mogą być łatwo zrozumiałe również dla osób nietechnicznych.
- Związków nie należy łączyć bezpośrednio ze sobą. Relacje powinny łączyć jednostki.
- Każdy atrybut w danej encji powinien mieć unikalną nazwę.
Elementy w bibliotece „MyFlix”
Podmioty, które mają być uwzględnione w naszym diagramie ER, to;
- Członkowie - ten podmiot będzie przechowywać informacje o członkach.
- Filmy - ta jednostka będzie przechowywać informacje dotyczące filmów
- Kategorie - ta jednostka będzie przechowywać informacje, które przyporządkowują filmy do różnych kategorii, takich jak „Dramat”, „Akcja”, „Epicki” itp.
- Wypożyczalnie filmów - ten podmiot będzie przechowywać informacje o filmach wypożyczonych członkom.
- Płatności - ten podmiot będzie przechowywał informacje o wpłatach dokonanych przez członków.
Definiowanie relacji między podmiotami
Członkowie i filmy
Poniższe odnosi się do interakcji między tymi dwoma bytami.
- Członek może wypożyczyć więcej niż jeden film w danym okresie.
- Film może być wypożyczony przez więcej niż jednego członka w danym okresie.
Z powyższego scenariusza widać, że charakter relacji to wiele do wielu. Relacyjne bazy danych nie obsługują relacji wiele do wielu. Musimy wprowadzić jednostkę skrzyżowania . To jest rola, jaką odgrywa podmiot MovieRentals. Ma relację jeden do wielu ze stołem członków i inną relację jeden do wielu z tabelą filmów.
Filmy i kategorie
Poniższe informacje odnoszą się do filmów i kategorii.
- Film może należeć tylko do jednej kategorii, ale kategoria może mieć więcej niż jeden film.
Możemy z tego wywnioskować, że natura relacji między kategoriami a tabelą filmów jest jeden do wielu.
Członkowie i podmioty płatnicze
Poniższe informacje dotyczą członków i płatności
- Członek może mieć tylko jedno konto, ale może dokonywać wielu płatności.
Możemy z tego wywnioskować, że charakter relacji między członkami a podmiotami płatniczymi jest jeden do wielu.
Teraz stwórzmy model EER za pomocą MySQL Workbench
W środowisku roboczym MySQL kliknij przycisk „+”
Kliknij dwukrotnie przycisk Dodaj diagram, aby otworzyć obszar roboczy dla diagramów ER.
Pojawi się następujące okno
Spójrzmy na dwa obiekty, z którymi będziemy pracować.
- Obiekt table pozwala nam tworzyć encje i definiować atrybuty związane z daną jednostką.
- Przycisk umieszczania relacji pozwala nam definiować relacje między podmiotami.
Jednostka członkowska będzie miała następujące atrybuty
- Numer członkostwa
- Pełne nazwy
- Płeć
- Data urodzenia
- Adres fizyczny
- adres pocztowy
Stwórzmy teraz tabelę członków
1. Przeciągnij obiekt tabeli z panelu narzędzi
2. upuść go w obszarze roboczym. Pojawia się jednostka o nazwie tabela 1
3. Kliknij go dwukrotnie. Pojawi się okno właściwości pokazane poniżej
Kolejny ,
- Zmień tabelę 1 na Członkowie
- Zmień domyślną tabelę idtable1 na numer_członkostwa
- Kliknij następny wiersz, aby dodać następne pole
- Zrób to samo dla wszystkich atrybutów zidentyfikowanych w encji członków.
Twoje okno właściwości powinno teraz wyglądać tak.
Powtórz powyższe kroki dla wszystkich zidentyfikowanych podmiotów.
Twój obszar roboczy diagramu powinien teraz wyglądać tak, jak pokazano poniżej.
Umożliwia tworzenie relacji między członkami a wypożyczalniami filmów
- Wybierz relację miejsca, korzystając również z istniejących kolumn
- Kliknij numer członkostwa w tabeli Członkowie
- Kliknij numer referencyjny w tabeli MovieRentals
Powtórz powyższe kroki dla innych relacji. Twój diagram ER powinien teraz wyglądać następująco -
Podsumowanie
- Pełna forma ER to Diagramy encji i powiązań. Odgrywają bardzo ważną rolę w procesie projektowania baz danych. Służą jako nietechniczne narzędzie komunikacji dla osób technicznych i nietechnicznych.
- Jednostki reprezentują rzeczy ze świata rzeczywistego; mogą być koncepcyjne jako zamówienie sprzedaży lub fizyczne, takie jak klient.
- Wszystkim podmiotom należy nadać unikalne nazwy.
- Modele ER umożliwiają również projektantom baz danych identyfikowanie i definiowanie relacji, które istnieją między jednostkami.
Cały Model ER jest załączony poniżej. Możesz po prostu zaimportować go do MySQL Workbench
Kliknij tutaj, aby pobrać model ER