background image

Diagram Związków Encji 

Modelowanie  informacji  jest  techniką  organizacji  przechowywania  danych.  Modele 

danych można opracowywać na różnych poziomach szczegółowości wykorzystując technikę 

diagram  związków  encji  (ang.  Entity  Relationship  Diagram  –  ERD).  Podstawowymi 

pojęciami tego modelu są: encja, atrybut i związek (tabela 12). 

Tabela 1. Komponenty diagramu związków encji 

Komponent 

Opis 

Encja 

Rzecz mająca znaczenie, rzeczywista lub wymyślona, 
o której informacje należy znać lub przechowywać. 

Atrybut 

Element informacji służący do klasyfikowania, 
identyfikowania, kwalifikowania, określania ilości lub 
wyrażania stanu encji. 

Związek 

Znaczący sposób, w jaki mogą być ze sobą powiązane 
dwie rzeczy tego samego typu lub różnych typów. 

Przykład prostego 
diagramu 
związków encji 

 

KLIENT

*    Nazwa

*      Adres
o    e_mail

FAKTURA

Atrybuty

Encja

Zwi

ą

zek

 

 

 

Encja  (ang.  entity)  –  jest  to  jednoznacznie  identyfikowany  składnik  badanej 

rzeczywistości,  o którym  informacja  jest  lub  może  być  zbierana  i przechowywana. 

Przykładami  encji  są:  PRACOWNIK,  KLIENT,  DOSTAWCA,  ZAMÓWIENIE, 

MAGAZYN,  FAKTURA,  POZYCJA,  PRZECENA,  KONTO.  Encja  jest  urzeczywistniona 

poprzez  wystąpienie.  Przykładowo,  wystąpieniami  encji  KLIENT  są:  Nowak,  Dobrowolski, 

Kwiatkowski itd.  

Uwaga:  encje  opisuje  się  za  pomocą  rzeczowników  lub  wyrażeń  rzeczownikowych 

w liczbie pojedynczej. 

background image

Atrybut  –  jest  cechą,  elementem  charakteryzującym  encje  i związki  w badanej 

dziedzinie  przedmiotowej.  Atrybut  ma  jedno  z pięciu  zadań:  identyfikować,  opisywać, 

klasyfikować, określać ilość lub wyrażać stan encji (tabela 13). 

Tabela 2. Rodzaje atrybutów 

Przykład 

Przeznaczenie 

numer zamówienia 

identyfikacja 

opis towaru 

opis werbalny 

typ towaru 

klasyfikacja 

ilość towaru w magazynie 

określenie ilości 

status płatności za zamówienie 

wyrażenie stanu 

 

Zestaw  atrybutów,  który  jednoznacznie  opisuje  encję,  nazywa  się  wiązką  atrybutów

Wiązka  powinna  składać  się,  z co  najmniej  dwóch  atrybutów  opisujących  daną  encję. 

Szczególną  rolę  z zakresie  atrybutów  encji  pełni  klucz,  zwany  identyfikatorem.  Pozwala  on 

na jednoznaczne określenie wystąpienia encji. Jeśli używa się jednego atrybutu dla określenia 

encji, to mamy do czynienia z kluczem pojedynczym, a jeśli w tym celu używa się więcej niż 

jednego  atrybutu,  to  z kluczem  złożonym.  Znak  kratki  (#  -  hash)  z lewej  strony  atrybutu 

oznacza, że ten atrybut jest unikalnym identyfikatorem dla encji lub wchodzi w jego skład. 

Wymagania dla atrybutu można przedstawić następująco: 

 

nazwa atrybutu musi być unikalna w ramach encji; 

 

atrybut  musi  być  obowiązkowy  (tzn.,  że  wartość  atrybutu  musi  być  zawsze 

określona)  lub  opcjonalny  (tzn.,  że  atrybut  nie  musi  mieć  wartości).  Symbolu  „*” 

używa się dla atrybutu obowiązkowego, zaś symbolu „○” dla opcjonalnego; 

 

atrybut musi mieć format lub typ; 

Uwaga:  w danym  modelu  konceptualnym  należy  używać  różnych  nazw  dla  tych 

samych  lub  podobnych  atrybutów,  przypisanych  różnym  encjom.  Przykładowo  atrybut 

nazwisko  przypisany  encjom  NABYWCA,  PRACOWNIK,  ODBIORCA  można  nazwać  – 

n_nazwisko, p_nazwisko, o_nazwisko. 

Z każdym atrybutem związana jest dziedzina atrybutu, stanowiąca zbiór wartości, które 

są  jemu  podporządkowane  oraz  zbiór  reguł  walidacji.  Atrybut  jest,  więc  funkcją,  wiążącą 

encje lub związki z dziedzinami wartości. Dana dziedzina może przybrać postać wartości (np. 

z przedziału  liczb  naturalnych),  skończonego  zestawu  wartości  (np.  rodzaje  stawek  podatku 

VAT:  zw,  0%,  7%,  12%,  22%)  lub  wartości  binarnych  (np.  T lub  N,  O lub  1).  Każdemu 

background image

atrybutowi  w danym  wystąpieniu  encji  lub  związku  przyporządkowaną  jest  tylko  jedna 

wartość z jego dziedziny. 

Rysunek  24  przedstawia  ilustrację  graficzną  encji  wraz  z jej  atrybutami 

i przykładowymi wystąpieniami encji. 

Encja – STUDENT 

Wystąpienia encji: 

STUDENT
#  nr albumu
*  imi

ę

*  nazwisko
*  data urodzenia
*  miejsce urodzenia

  

 

 

 

 

Encja – SAMOCHÓD

 

Wystąpienia encji: 

 

SAMOCHÓD

#  nr rejestracyjny
*  typ
*  rok produkcji
*  cena
*  kolor
*  pojemno

ść

 silnika

 

 

aaaaolx 

 

Rysunek 1. Przykładowe atrybuty dla encji STUDENT i SAMOCHÓD 

Związek stanowi naturalne powiązanie pomiędzy dwoma lub więcej encjami w badanej 

dziedzinie przedmiotowej. W identyfikowaniu i modelowaniu związków  encji bierze się pod 

uwagę  następujące  cechy:  stopień  związku  (lub  liczebność  związku)  i opcjonalność  (lub 

uczestnictwo encji). 

Stopień  związku  –  oznacza  stosunek  ilościowy  między  liczebnością  wystąpień 

poszczególnych  encji,  uczestniczących  w danym  związku.  Stopień  związku  mówi  o tym,  ile 

wystąpień encji jednego rodzaju jest powiązanych z iloma wystąpieniami encji innego rodzaju 

(tabela 14). 

Tabela 3. Przykłady związków encji 

Stopień 

Przykład 

Znaczenie 

Mat/123/04 
Jan 
 Kowalski 
14-05-1990 
Dobre Miasto
 

Mat/345/04 
Anna 
Nowak 
21-05--1986 
Dobre Miasto
 

OLX 2361 
Nissan Almera 
2000 
55000 
Czerwony 
1,6 m

OM- 2388 
Renault  
2004 
62000 
Złoty 
1,4 m

3

 

background image

związku 

1:1 

 

Dziekan-Wydział 
 

Każde  wystąpienie  encji  Dziekan  jest 
powiązane tylko z jednym wystąpieniem encji 
Wydział.  Zatem  jeden  Dziekan  kieruje 
jednym Wydziałem 

1:M 

1: wiele 

Wydział-Student 
 

Każde  wystąpienie  encji  Wydział  powiązane 
jest  jednym  lub  wieloma  wystąpieniami  encji 
Student,  przy  czym  każde  wystąpienie  encji 
Student 

powiązane 

jest 

tylko 

jednym 

wystąpieniem encji Wydział
Zatem  Wydział  posiada  wielu  Studentów
natomiast  Student  studiuje  wyłącznie  na 
jednym Wydziale 
 

M:N 

Wiele : wiele 

Książka - Autor 

Każde  wystąpienie  encji  Książka  powiązane 
jest  z wieloma  wystąpieniami  encji  Autor 
i odwrotnie  każde  wystąpienie  encji  Autor 
powiązane jest z wieloma wystąpieniami encji 
Książka
Jest  to  sytuacja,  gdzie  Książka  może  być 
napisana  przez  jednego  lub  wielu  autorów 
i jeden  Autor  jest  podpisany  pod  jednym  lub 
wieloma tytułami Książek

 

Opcjonalność  dotyczy  zaangażowania  encji  w związek  (rysunek  25).  Z uwagi  na  tę 

cechę wyróżnia się dwa typy związków: 

 

wymagane (obowiązkowe) – zachodzi wówczas, jeśli wszystkie wystąpienia encji 

muszą uczestniczyć w związku; 

 

opcjonalne  -  zachodzi  wówczas,  jeśli  istnieje,  co  najmniej  jedno  wystąpienie 

encji, które nie uczestniczy w związku. 

 

Typ zwi

ą

zku

(opcjonalno

ść

)

Stopie

ń

 zwi

ą

zku

jeden - do - jednego

jeden - do - wielu

wiele - do - wielu

zwi

ą

zek

wymagany
(obowi

ą

zkowy)

zwi

ą

zek

opcjonalny

 

Rysunek 2. Cechy związków encji (notacja Martina) 

 

background image

Odczytywanie związku poprawia zrozumienie sytuacji i umożliwia weryfikację modelu 

z użytkownikami końcowymi. Rysunek 26 przedstawia zasadę odczytywania związku. 

 

Przykład:

Ka

ż

da Encja 1

musi by

ć

lub
mo

ż

e by

ć

nazwa zwi

ą

zku

jeden lub wiele
lub
jeden I tylko jeden

Encja 2

Ka

ż

dy Klient mo

ż

e zło

ż

y

ć

  jedno  lub wiele Zamówie

ń

.

Ka

ż

de Zamówienie musi by

ć

 zlecone przez jedngo i tylko jednego Klienta.

Zamówienia

Klient

jest zlecone

składa

 

Rysunek 3. Reguły czytania związków encji 

 

Tworzenie  diagramu  związków  encji  najlepiej  rozpocząć  od  wskazania  encji  oraz 

określić  związki  między  encjami  występującymi  w danej  dziedzinie  przedmiotowej.  Istnieje 

kilka  najbardziej  rozpowszechnionych  notacji  graficznych  diagramu  ERD.  Należą  do  nich 

notacje  Chena,  Bachmana,  Martina,  Shlaer_Mellora.  Ponieważ  w zasadzie  notacje  te  są 

równoważne  i różnią  się  jedynie  wyglądem  symboli  graficznych,  do  opisu  wybrano 

najbardziej  rozpowszechnioną  notację  Martina.  Rysunek  25  przedstawia  symbole  graficzne 

typów  związków  używane  w tej  notacji  natomiast  tabela  15  przedstawia  typy  encji 

wynikające z reguł istnienia encji w związku. 

Tabela 4. Typy encji ERD (notacja Martina) 

Typy encji 

Notacja Martina 

Encja regularna– oznacza dowolny znaczący element, 
o którym informacja powinna być znana albo 
utrzymywana (częściowe uczestnictwo w związku). 

 

Pracownik

 

Encja słaba – jest to encja, która może istnieć tylko 
wtedy, gdy jest związana z innymi encjami lub też nie 
posiada własnych atrybutów kluczowych (całkowite 
uczestnictwo w związku) 

 

Sprz

ę

t

 

 

Encja – obiekt asocjacyjny – przechowuje informacje 
o związku pomiędzy dwiema encjami. 

 

Wypo

ż

yczenie

 

background image

 

 

Uwaga:  Istnieją trzy metody klasyfikowania związków: jako całkowite lub częściowe, 

opcjonalne lub obowiązkowe oraz uzależnione od kategorii encji słabych lub regularnych. 

Rysunek  27  przedstawia  przykładowy  prosty  diagram  ERD  zawierający  różne  typy 

encji opisane w tabeli 15. Każda z encji PRACOWNIK (id_pracownik, imię, nazwisko) i TYP 

(id_typ,  nazwa)  jest  encją  regularną.  Zatem  stanowi  ona  obiekt  o cechach  w postaci 

atrybutów,  wśród,  których  wyróżniony  jest  klucz  główny  oraz  atrybuty  ją  opisujące.  Encja 

SPRZĘT (nr_ewidencyjny, nazwa, id_typ) jest encją słabą, ponieważ nie może samodzielnie 

istnieć  bez  zdefiniowania  obiektu  TYP  przechowującego  informacje  o typie  sprzętu. 

Natomiast  encja  WYPOŻYCZENIE  (id_pracownik,  id_sprzęt,  data_wypożyczenia)  jest 

obiektem  asocjacyjnym,  ponieważ  przechowuje  informacje  o związku  pomiędzy  encją 

PRACOWNIK i SPRZĘT. 

 

Pracownik

Sprz

ę

t

Typ

Wypo

ż

yczenie

wypo

ż

ycza

zwi

ą

zane jest

rejestruje

dotyczy

nale

ż

y

okre

ś

la

 

Rysunek 4. Diagram ERD z wyróżnionymi typami encji 

 

Diagramu  ERD  jest  narzędziem  do  komunikowania  za  pomocą,  którego  osiąga  się 

z użytkownikiem  końcowym  porozumienie,  co  do  wymagań  biznesowych.  Identyfikuje 

i opisuje on dane wymagane przez system oraz pokazuje jak w systemie powiązane są ze sobą 

elementy  danych.  Dodatkowo  należy  również  sformułować  ograniczenia  nałożone  na 

związek, które noszą nazwę reguł integralności. Stanowi on podstawę do projektowania bazy 

danych. 

Uwaga:  z innymi  metodami  projektowania  ERD  można  się  spotkać  np.  używając 

narzędzi Oracla. Rysunek 28 zawiera przykładowa notację związków. 

 

Rysunek 5. Typy połączeń encji (notacji Oracla) 

background image

Konceptualny  model  danych,  którego  odzwierciedleniem  są  diagramy  ERD, 

przekształcany jest w jeden z modeli baz danych: relacyjny, sieciowy, hierarchiczny. Nazywa 

się  to  projektowaniem  logicznym  danych.  W skrypcie  podamy  sposoby  przekształcania 

logicznego modelu danych w relacyjny model danych. 

Podstawową terminologię relacyjną zawiera tabela 16. 

Tabela 5. Terminologia relacyjna 

Pojęcie 

Opis 

Relacja 

Jest  to  podzbiór  iloczynu  kartezjańskiego  reprezentowany  przez 

zbiór krotek. Reprezentacją relacji jest tablica

Krotka 

Oznacza wiersz tablicy. Reprezentacją krotki w tablicy jest rekord

Atrybut 

Oznacza kolumnę tablicy (a dokładnie są to różne wystąpienia tego 

samego atrybutu). Reprezentacją atrybutu w tablicy jest pole

Stopień relacji 

Liczba typów atrybutów w relacji. 

Liczebność relacji 

Liczba krotek w relacji. 

Klucz główny 

Kolumna  lub  kombinacja  kolumn,  których  wartości  jednoznacznie 

identyfikują wiersze w tablicy. 

Klucz obcy 

Kolumna lub kombinacja kolumn, których wartości określają klucz 

główny innej tablicy. 

Dziedzina (atrybutu) 

Lista dostępnych wartości atrybutu, wszystkie tego samego typu. 

 

Stworzenie  relacyjnego  modelu  danych  polega  na  wykonaniu  następujących  kroków 

(rysunek 29): 

 

każda encja staje się tablicą, której nazwa jest nazwą encji w liczbie mnogiej; 

 

każdy  atrybut  staje  się  komuną,  a jego  nazwa  odpowiednio  nazwą  tej  kolumny. 

Natomiast  właściwości  atrybutu  stają  się  odpowiadającymi  im  właściwościami 

w projekcie  danych.  Atrybuty  obowiązkowe  stają  się  kolumnami  NOT  NULL  (co 

oznacza, że nie jest możliwe by wartość kolumny przyjmowała wartość NULL); 

 

unikalny identyfikator encji staje się kluczem głównym tabeli; 

 

każdy związek jest przekształcany w dwa obiekty. Kolumnę klucz obcego, zgodną 

z kluczem  głównym  (lub  unikalnym)  tabeli,  której  dotyczy.  Dziedziczy  ona  typ 

i rozmiar  danego  klucz  głównego.  Opcjonalność  kolumny  zależy  od  tego,  czy 

background image

związek  jest  obowiązkowy  czy  opcjonalny.  Więzy  klucza  obcego  związane  są 

z kolumną klucza obcego. 

Klienci

# id_klient

*  nazwa

*   adres

Klient

# id_klient

*    nazwa

*     adres

Logiczny model danych

Relacyjny model danych

Encja

Klient

Atrybuty

nazwa

unikalny identyfikator

Tabela

Klienci

Kolumny

nazwa

klucz głowny

Przekształcanie encji

Przekształcanie zwi

ą

zków

Klient

# id_klient

*    nazwa

*     adres

Klienci

# id_klient

*  nazwa

*   adres

Zamówienie

#    id_zamówienia

* data zamówienia

   …

Zamówienia

#    id_zamowiania
* data-zamówienia
*             id_klienta

...

Not NULL

 

Rysunek 6. Przekształcanie logicznego modelu danych w model relacyjny 

 

Przykład  1.  Zastosowanie  reguł  czytania  związków  do  budowy  logicznego  modelu 

danych 

Stosując omówioną wyżej regułę czytania związków narysuj odpowiedni model danych 

do przedstawionego kontekstu. 

a)  Kontekst:  Stanowisko  w firmie  musi  być  obsadzone  przez  jednego  lub  wielu 

pracowników. Pracownik musi być zatrudniony na dokładnie jednym stanowisku. Rysunek 

30 przedstawia konstrukcję modelu danych tej sytuacji. 

 

background image

Stanowisko

Pracownik

jest zatrudniony

jest obsadzone

 

Rysunek 7. Typ związku encji wymagane - wymagane (obligatoryjny) 

 

b)  Kontekst:  Producent  może  wytwarzać  wiele  produktów.  Produkt  musi  mieć 

ustalonego Producenta. Rysunek 31 przedstawia konstrukcję modelu danych tej sytuacji. 

Producent

Produkt

wytwarza

ma

 

Rysunek 8. Typ związku wymagane – opcjonalne 

 

c) Kontekst: Stowarzyszenie musi posiadać jednego lub wielu członków. Osoba może 

należeć do jednego Stowarzyszenia. Rysunek 32 przedstawia konstrukcję modelu danych tej 

sytuacji. 

Stowarzyszenie

Osoba

posiada

nale

ż

y

 

Rysunek 9. Typ związku opcjonalne - wymagane 

 

d)  Kontekst:  Osoba  może  wykupić  wiele  dodatkowych  szczepień.  Każde  szczepienie 

może dotyczyć wielu osób. Rysunek 33 przedstawia konstrukcję modelu danych tej sytuacji. 

Osoba

Szczepienia

wykupuje

dotyczy

 

Rysunek 10. Typ związku opcjonalne – opcjonalne 

 

Przykład 2. System Zamówień – budowa logicznego modelu danych 

Firma  LOS zajmuje się  sprzedażą towarów i posiada na obecną  chwile 2500 klientów. 

Zamówienie  towaru  odbywa  się  poprzez  wypełnienie  formularza  zamówienie  przez  klienta. 

Każdy klient może złożyć jedno lub wiele zamówień.  Zamówienie musi  zawierać potrzebne 

dane  o kliencie  i przyjmującym  to  zamówienie  pracowniku.  W dziale  obsługi  klienta 

background image

zatrudnionych  jest  wielu  pracowników.  Pojedyncze  zamówienie  musi  dotyczyć  jednego  lub 

wielu towarów. Towary dostarczane do firmy pochodzą od różnych dostawców. 

a)  Na  podstawie  analizy  tekstu  sporządź  listę  potrzebnych  encji  dla  systemu 

informatycznego ewidencjonującego zamówienia klienta. 

b) Zaproponuj związki między tymi encjami. 

c) Zaproponuj model związków encji w postaci ogólnego diagramu ERD. 

d)  Dla  ogólnego  diagramu  ERD  stwórz  diagram  szczegółowy  z określeniem  typów 

encji. 

Rozwiązanie: 

„Firma LOS zajmuje się sprzedażą towarów i posiada na obecną chwile 2500 klientów

Zamówienie  towaru  odbywa  się  poprzez  wypełnienie  formularza  zamówienie  przez  klienta

Każdy  klient  może  złożyć  jedno  lub  wiele  zamówień.  Zamówienie  musi  zawierać  potrzebne 

dane  o kliencie  i przyjmującym  to  zamówienie  pracowniku.  W dziale  obsługi  klienta 

zatrudnionych  jest  wielu  pracowników.  Pojedyncze  zamówienie  musi  dotyczyć  jednego  lub 

wielu towarówTowary dostarczane do firmy pochodzą od różnych dostawców.” 

 

a)  W analizowanym  tekście  zaznaczamy  (pogrubiona  czcionka)  rzeczowniki  jako 

potencjalne encje.  

Spośród  wyróżnionych  rzeczowników  ustalamy  kandydatów  na  encje  (czyli  obiekty 

o których  musimy  przechowywać  informację).  W związku  z tym  powstaje  następująca  lista 

encji: Klient, Pracownik, Zamówienie, Towar, Dostawca. 

b)  Natomiast  wyróżnione  (podkreślenie)  czasowniki  łączące  rzeczowniki  odpowiadać 

będą  związkom.  Spośród  zaznaczonych  czasowników  odszukujemy  te,  które  dotyczą  relacji 

między  wyróżnionymi  obiektami  (encjami)  oraz  wnioskujemy  z tekstu  ich  krotność 

i opcjonalność  (wyrazy  wyróżnione  falą).  W związku  z tym  powstaje  następująca  lista 

związków dotyczących relacji pomiędzy encjami:  

Każdy klient może złożyć jedno lub wiele zamówień. 

Każde Zamówienie musi być zlecone przez jednego i tylko jednego klienta. 

Pracownik może przyjąć zamówienie. 

Zamówienie musi być załatwione przez pracowniku. 

Zamówienie musi dotyczyć jednego lub wielu towarów. 

Towar może występować na zamówieniu. 

Dostawca musi posiadać w ofercie jeden lub wiele towarów 

background image

Towar musi pochodzić od jednego dostawcy. 

 

c) Diagram ERD (notacja Martina): 

 

Klient

Zamówienie

Towar

Dostawca

Pracownik

składa

przyjmuje

dotyczy

dostarcza

 

Rysunek 11. Diagram ogólny ERD systemu zamówień (notacja Martina) 

d) Diagram ERD po usunięciu związku N:M (notacja Martina): 

Klient

Zamówienie

Towar

Dostawca

Pracownik

składa

przyjmuje

składa si

ę

dostarcza

Pozycja

zamówienia

dotyczy

 

Rysunek 12. Diagram szczegółowy ERD (notacja Martina)