Model diagramu relacji encji (ER) z przykładem DBMS
⚡ Inteligentne podsumowanie
Model diagramu relacji encji (ER) z przykładem DBMS Ilustruje ustrukturyzowaną metodę wizualnej reprezentacji danych i ich powiązań w relacyjnych bazach danych. Zaproponowana przez Petera Chena, zapewnia koncepcyjną podstawę modelowania, umożliwiającą precyzyjne definiowanie encji, atrybutów, relacji i ich kardynalności.

Czym jest diagram ER?
Diagram relacji encji (ER) to potężne narzędzie wizualne do projektowania struktur relacyjnych baz danych. Zaproponowany po raz pierwszy przez Petera Chena w 1976 roku, stanowi on podstawę modelowania koncepcyjnego, która precyzyjnie definiuje encje, atrybuty, relacje i ich kardynalności. Ten samouczek obejmuje wszystko, od podstawowych pojęć po zaawansowane techniki, pomagając w opanowaniu projektowania schematów baz danych.
Diagramy ER zawierają różne symbole, w których prostokąty reprezentują jednostki, owale definiują atrybuty, a kształty rombów przedstawiają relacje.
Na pierwszy rzut oka diagram ER wygląda bardzo podobnie do schematu blokowego. Zawiera jednak wiele specjalistycznych symboli, a ich znaczenie czyni ten model wyjątkowym. Celem diagramu ER jest przedstawienie infrastruktury Entity Framework.

Historia modeli ER
Peter Chen zaproponował Diagram ER w 1976 roku w swoim przełomowym artykule „Model relacji encji: w kierunku ujednoliconego spojrzenia na dane”. Jego celem było stworzenie jednolitej konwencji, która mogłaby być stosowana zarówno w relacyjnych bazach danych, jak i w sieciach. Chen wyobrażał sobie Model ER jako koncepcyjne podejście do modelowania, które miałoby wypełnić lukę między rzeczywistymi wymaganiami a techniczną implementacją bazy danych.
Od tego czasu model ER ewoluował wraz z różnymi systemami notacji, w tym notacją Chena (oryginalną), notacją Crow's Foot (popularną we współczesnych narzędziach) oraz podejściami opartymi na UML. Pomimo tych różnic, podstawowe koncepcje pozostają spójne we wszystkich implementacjach.
Dlaczego warto korzystać z diagramów ER?
Diagramy ER zapewniają liczne korzyści w projektowaniu i rozwoju baz danych:
- Komunikacja wizualna: Stanowią przejrzystą reprezentację wizualną, zrozumiałą zarówno dla interesariuszy technicznych, jak i nietechnicznych.
- Plan rozwoju: Pokazują dokładnie, jak tabele powinny się łączyć i jakie pola będzie zawierać każda tabela.
- Tłumaczenie gotowe: Diagramy ER można bezpośrednio przetłumaczyć na tabele relacyjne, co pozwala na szybkie tworzenie baz danych.
- Zapobieganie błędom: Pomagają identyfikować wady i zbędne elementy projektu przed wdrożeniem, oszczędzając czas i zasoby.
- Dokumentacja: Stanowią trwałą dokumentację, która pomaga nowym członkom zespołu zrozumieć architekturę systemu.
- Analiza systemu: Pomagają identyfikować wszystkie elementy istniejące w systemie i powiązania między nimi.
Komponenty diagramu ER
Każdy diagram ER składa się z trzech podstawowych komponentów: encji, atrybutów i relacji. Zrozumienie każdego komponentu i ich interakcji jest kluczowe dla tworzenia efektywnych projektów baz danych.
Przykłady diagramów ER
Na przykład w bazie danych uniwersytetu możemy mieć encje dla studentów, kursów i wykładowców. Jednostka studenta może mieć atrybuty takie jak numer rolki, imię i nazwisko oraz identyfikator wydziału. Mogą one być powiązane z kursami i wykładowcami.
podmioty
Jednostka reprezentuje dowolny obiekt świata rzeczywistego – żywy lub nieożywiony – który można jednoznacznie zidentyfikować i o którym można przechowywać dane. Może to być obiekt fizyczny, fakt dotyczący przedsiębiorstwa lub zdarzenie mające miejsce w świecie rzeczywistym. Jednostkami mogą być osoby, miejsca, obiekty, zdarzenia lub koncepcje.
Przykłady jednostek według kategorii:
- Osoba: Pracownik, Student, Pacjent, Klient
- Miejsce: Sklep, Budynek, Biuro, Magazyn
- Obiekt: Maszyna, Produkt, Samochód, Książka
- Wydarzenie: Sprzedaż, Rejestracja, Odnowienie, Transakcja
- koncepcja: Konto, Kurs, Dział, Projekt
Zestaw jednostek
Zestaw encji to grupa podobnych encji o wspólnych atrybutach. Na przykład wszyscy studenci na uniwersytecie tworzą zestaw encji „Student”. Encje są reprezentowane na diagramach ER za pomocą prostokątów z nazwą encji zapisaną wewnątrz.
Encje są reprezentowane przez swoje właściwości, zwane również atrybutami. Wszystkie atrybuty mają swoje własne wartości. Na przykład encja studenta może mieć imię, wiek i klasę jako atrybuty.
Silne podmioty kontra słabe podmioty
Jednostki klasyfikuje się jako silne lub słabe na podstawie ich zdolności do niezależnego istnienia. Zrozumienie tego rozróżnienia jest kluczowe dla prawidłowego projektowania bazy danych.
Silna jednostka ma swój własny klucz podstawowy i może istnieć niezależnie. Na przykład jednostka „Student” może być jednoznacznie zidentyfikowana za pomocą identyfikatora Student_ID bez konieczności korzystania z żadnej innej jednostki.
Słaby byt nie posiada własnego klucza podstawowego i do identyfikacji potrzebuje silnego bytu (zwanego bytem właściciela). Aby osiągnąć unikalność, używa klucza częściowego (dyskryminatora) połączonego z kluczem podstawowym właściciela. Na przykład w systemie bankowym byt „Transakcja” zależy od bytu „Konto” – sam numer transakcji nie jest unikatowy w całej bazie danych, ale w połączeniu z numerem konta staje się unikatowy.
| Silny podmiot | Słaby podmiot |
|---|---|
| Ma swój własny klucz podstawowy | Nie posiada klucza podstawowego; używa klucza częściowego |
| Reprezentowane przez pojedynczy prostokąt | Reprezentowane przez podwójny prostokąt |
| Klucz podstawowy podkreślono linią ciągłą | Częściowy klucz podkreślono linią przerywaną |
| Może istnieć niezależnie | Istnienie zależy od podmiotu będącego właścicielem |
| Połączony z pojedynczym diamentowym związkiem | Połączony z podwójnym diamentem (identyfikującym relację) |
| Przykład: Student, Pracownik, Produkt | Przykład: Transakcja, Zależny, Pozycja zamówienia |
Relacja
Relacja reprezentuje powiązanie między dwoma lub więcej encjami. Relacje są zazwyczaj identyfikowane za pomocą czasowników lub fraz czasownikowych, które opisują interakcje między encjami. Na diagramach ER relacje są przedstawiane za pomocą kształtów rombów. Przykład: Tom pracuje na wydziale chemii.
Podmioty biorą udział w relacjach. Często możemy zidentyfikować powiązania z czasownikami lub wyrażeniami czasownikowymi.
Przykłady:
- Bierzesz udział w tym wykładzie
- Wygłaszam wykład
- Student uczestniczy w wykładzie
- Wykładowca wygłasza wykład
Atrybuty
Atrybut to właściwość lub cecha opisująca encję lub relację. Atrybuty dostarczają szczegółowych informacji, które sprawiają, że każda instancja encji jest unikatowa i znacząca. Na diagramach ER atrybuty są reprezentowane za pomocą owali (elip) połączonych linią z encją nadrzędną.
Na przykład jednostka Student może mieć atrybuty takie jak Student_ID, Imię i nazwisko, Data_urodzenia, Adres e-mail i Numer_telefonu.
Rodzaje atrybutów
| Typ atrybutu | OPIS | Przykład |
|---|---|---|
| Prosty (Atomic) | Nie można podzielić na mniejsze części | Numer telefonu, numer ubezpieczenia społecznego, adres e-mail |
| Kompozyt | Można podzielić na mniejsze podatrybuty | Imię i nazwisko (imię, drugie imię, nazwisko), adres (ulica, miasto, kod pocztowy) |
| Pochodny | Wartość jest obliczana na podstawie innych atrybutów i nie jest przechowywana bezpośrednio | Wiek (na podstawie daty urodzenia), cena całkowita |
| Wielowartościowy | Może przechowywać wiele wartości dla jednego bytu | Telefon Numbers, Adresy e-mail, Umiejętności |
| Kluczowy atrybut | Unikalnie identyfikuje każdą instancję encji (klucz podstawowy) | Identyfikator studenta, identyfikator pracownika, ISBN |
Kluczowa wskazówka: Na diagramach ER kluczowe atrybuty są wyświetlane z podkreślonymi nazwami. Atrybuty pochodne są wyświetlane w przerywanych owalach, a atrybuty wielowartościowe – w podwójnych owalach.
Kardynalność (typy relacji)
Kardynalność definiuje ograniczenia liczbowe relacji – a konkretnie, ile instancji jednej encji może być powiązanych z instancjami innej encji. Zrozumienie kardynalności jest niezbędne do projektowania wydajnych struktur baz danych.
1. Jeden na jeden (1:1)
Jeden byt ze zbioru A może być powiązany co najwyżej z jednym bytem ze zbioru B i odwrotnie.
Przykład: Jednemu uczniowi przypisano dokładnie jeden identyfikator studencki, a każdy identyfikator studencki należy do dokładnie jednego ucznia.
2. Jeden do wielu (1:N)
Jeden element ze zbioru A może być powiązany z wieloma elementami ze zbioru B, ale każdy element ze zbioru B jest powiązany tylko z jednym elementem ze zbioru A.
Przykład: Jedna klasa składa się z wielu uczniów.
3. Wiele do jednego (N:1)
Wiele obiektów ze zbioru A może być powiązanych z jednym obiektem ze zbioru B.
Na przykład wielu uczniów należy do tej samej klasy.
4. Wiele do wielu (M:N)
Wiele encji ze zbioru A może być powiązanych z wieloma encjami ze zbioru B i odwrotnie.
Na przykład Studenci jako grupa są powiązani z wieloma członkami wydziału, a członkowie wydziału mogą być powiązani z wieloma studentami.
Symbole i oznaczenia diagramu ER
Diagramy ER wykorzystują standardowe symbole do reprezentowania różnych komponentów. Chociaż istnieje kilka systemów notacji, dwa najpopularniejsze to notacja Chena i notacja „Crow's Foot”.
Notacja Chena
Notacja Chena, opracowana przez Petera Chena w 1976 roku, wykorzystuje kształty geometryczne do przedstawiania różnych elementów:
| symbol | Imię i nazwisko | reprezentuje |
|---|---|---|
| Prostokąt | Jednostka | Silny podmiot (np. Student, Produkt) |
| Double Prostokąt | Słaby podmiot | Podmiot zależny od innego (np. Transakcja) |
| Elipsa/Owal | Atrybut | Własność jednostki (np. nazwa, identyfikator) |
| Double Elipsa | Atrybut wielowartościowy | Atrybut z wieloma wartościami (np. Telefon) Numbers) |
| Przerywana elipsa | Atrybut pochodny | Wartość obliczona (np. wiek na podstawie daty urodzenia) |
| Diament | Relacja | Powiązanie między podmiotami (np. zapisy) |
| Double Diament | Identyfikacja relacji | Relacja ze słabym podmiotem |
| Linia | Połączyć | Łączy ze sobą komponenty |
| Podkreślony tekst | Główny klucz | Unikalny identyfikator podmiotu |
Notacja kurzej stopki
Notacja Crow's Foot (zwana również notacją IE) jest powszechnie stosowana w nowoczesnych narzędziach do projektowania baz danych. Wykorzystuje różne zakończenia wierszy do reprezentowania kardynalności i jest szczególnie skuteczna w prezentowaniu relacji „wiele”.
| symbol Descriptjon | Znaczenie |
|---|---|
| Pojedyncza pionowa linia (|) | Obowiązkowy Jeden (dokładnie jeden) |
| Okrąg z linią (O|) | Opcjonalny Jeden (zero lub jeden) |
| Kurza stopka z linią (>|) | Obowiązkowe Wiele (jeden lub więcej) |
| Kurza stopka z kółkiem (>O) | Opcjonalny Wiele (zero lub więcej) |
Notacja Chena a notacja „kurzej łapki”: kiedy stosować każdą z nich
| WYGLĄD | Notacja Chena | Notacja kurzej stopki |
|---|---|---|
| Najlepsze dla: | Modelowanie koncepcyjne, zastosowanie akademickie | Modelowanie fizyczne/logiczne, zastosowanie w przemyśle |
| Wyświetlanie atrybutów | Pokazuje wszystkie atrybuty wizualnie | Wyświetla atrybuty wewnątrz pola encji |
| Kardynalność | Używa liczb (1, N, M) | Używa symboli wizualnych |
| Złożoność | Może stać się zagracony | Bardziej kompaktowy i czystszy |
| Wsparcie narzędziowe | Ograniczone wsparcie nowoczesnych narzędzi | Szeroko wspierane w narzędziach |
Jak utworzyć diagram relacji encji (ERD)
W tym samouczku dotyczącym diagramu ER (ERD) nauczymy się, jak utworzyć diagram ER. Poniżej przedstawiono kroki tworzenia diagramu ER:
Przeanalizujmy je na przykładzie diagramu relacji encji:
Na uniwersytecie student zapisuje się na kursy. Student musi być przypisany do co najmniej jednego kursu. Każdy kurs prowadzi jeden profesor. Aby utrzymać jakość nauczania, profesor może prowadzić tylko jeden kurs.
Krok 1) Identyfikacja podmiotu
Mamy trzy podmioty:
- Student
- Kurs
- Profesor
Krok 2) Identyfikacja relacji
Mamy następujące dwa związki:
- Uczeń jest przydzielony kurs
- Profesor dostarcza kurs
Krok 3) Identyfikacja liczności
Ze sformułowania problemu wynika, że:
- Można przypisać ucznia wielokrotność kursy
- Profesor może jedynie dostarczyć pierwszej w kursie.
Krok 4) Zidentyfikuj atrybuty
Należy przeanalizować pliki, formularze, raporty i dane aktualnie przechowywane w organizacji, aby zidentyfikować atrybuty. Można również przeprowadzić wywiady z różnymi interesariuszami w celu zidentyfikowania jednostek. Na początku ważne jest, aby zidentyfikować atrybuty bez przypisywania ich do konkretnej jednostki.
Po utworzeniu listy atrybutów należy je zmapować do zidentyfikowanych encji. Upewnij się, że atrybut jest sparowany z dokładnie jedną encją. Jeśli uważasz, że atrybut powinien należeć do więcej niż jednej encji, użyj modyfikatora, aby go wyróżnić.
Po zakończeniu mapowania zidentyfikuj klucze podstawowe. Jeśli unikalny klucz nie jest łatwo dostępny, utwórz go.
| Jednostka | Główny klucz | Atrybut |
|---|---|---|
| Student | Legitymacja studencka | Imię ucznia |
| Profesor | Dowód pracownika | Imię profesora |
| Kurs | Identyfikator kursu | Nazwa kursu |
W przypadku jednostki kursu atrybutami mogą być Czas trwania, Punkty, Zadania itd. Dla ułatwienia wzięliśmy pod uwagę tylko jeden atrybut.
Krok 5) Utwórz ERD
Bardziej współczesna reprezentacja przykładu diagramu relacji encji:
Najlepsze praktyki dotyczące efektywnych diagramów ER
Aby tworzyć przejrzyste, łatwe w utrzymaniu i efektywne diagramy ER, postępuj zgodnie z poniższymi wskazówkami:
- Wyeliminuj redundancję: Usuń zduplikowane jednostki, atrybuty lub relacje.
- Stosuj jasne konwencje nazewnictwa: Używaj spójnych, opisowych nazw. Unikaj skrótów.
- Sprawdź zgodność z wymaganiami: Upewnij się, że diagram spełnia wszystkie wymagania dotyczące przechowywania danych.
- Nie komplikuj: Utwórz wiele diagramów na różnych poziomach zamiast jednego nieuporządkowanego diagramu.
- Używaj kolorów oszczędnie: Konsekwentnie stosuj kolory do wyróżniania kategorii.
- Założenia dokumentu: Dodaj notatki wyjaśniające założenia dotyczące reguł biznesowych.
- Revwidok z interesariuszami: Poproś użytkowników biznesowych i zespół techniczny o przejrzenie diagramu.
- Kontrola wersji: Utrzymuj wersje w miarę rozwoju projektu.
Diagramy ER kontra diagramy klas UML
Chociaż zarówno diagramy ER, jak i diagramy klas UML są wykorzystywane do modelowania danych, służą różnym celom i kontekstom. Zrozumienie, kiedy używać każdego z nich, jest ważne dla efektywnego projektowania systemu.
| WYGLĄD | Schemat ER | Diagram klas UML |
|---|---|---|
| Podstawowy cel | Projekt bazy danych | Projektowanie oprogramowania/obiektów |
| Skupiać | Dane i relacje | Obiekty, metody i zachowania |
| Metody/Operanych | Nie jest obsługiwany | W pełni obsługiwane |
| Dziedzictwo | Ograniczony (tylko w EER) | Pełne wsparcie |
| Zastosowanie w przemyśle | Administratorzy baz danych, analitycy danych | Programiści oprogramowania, architekci |















