Diagram ZwiÄ…zkw Encji


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 FAKTURA
* Adres
o e_mail
Atrybuty ZwiÄ…zek Encja
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.
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
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
Mat/123/04
# nr albumu
Jan
* imiÄ™ Kowalski
14-05-1990
* nazwisko
Dobre Miasto
* data urodzenia
* miejsce urodzenia
Mat/345/04
Anna
Nowak
21-05--1986
Dobre Miasto
Encja  SAMOCHÓD
WystÄ…pienia encji:
aa a aolx
OLX 2361
Nissan Almera
SAMOCHÓD 2000
55000
# nr rejestracyjny
Czerwony
* typ
1,6 m3
* rok produkcji
* cena
OM- 2388
* kolor
Renault
* pojemność silnika
2004
62000
ZÅ‚oty
1,4 m3
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
Przykład Znaczenie
Stopień
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 Wydział-Student Każde wystąpienie encji Wydział powiązane
1: wiele 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 Książka - Autor Każde wystąpienie encji Książka powiązane
Wiele : wiele 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.
Stopień związku Typ związku
(opcjonalność)
zwiÄ…zek
jeden - do - jednego
opcjonalny
jeden - do - wielu
zwiÄ…zek
wymagany
(obowiÄ…zkowy)
wiele - do - wielu
Rysunek 2. Cechy związków encji (notacja Martina)
Odczytywanie związku poprawia zrozumienie sytuacji i umożliwia weryfikację modelu
z użytkownikami końcowymi. Rysunek 26 przedstawia zasadę odczytywania związku.
musi być jeden lub wiele
lub lub
Każda Encja 1 nazwa związku Encja 2
może być jeden I tylko jeden
Przykład:
składa
Klient Zamówienia
jest zlecone
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.
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
Sprzęt
uczestnictwo w zwiÄ…zku)
Encja  obiekt asocjacyjny  przechowuje informacje
o związku pomiędzy dwiema encjami.
Wypożyczenie
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
SPRZT (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 SPRZT.
zwiÄ…zane jest
dotyczy określa
Pracownik Wypożyczenie Sprzęt Typ
należy
wypożycza rejestruje
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)
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
związek jest obowiązkowy czy opcjonalny. Więzy klucza obcego związane są
z kolumnÄ… klucza obcego.
Przekształcanie encji
Relacyjny model danych
Logiczny model danych
Encja Tabela
Klient Klienci
Kolumny
Atrybuty
nazwa nazwa
unikalny identyfikator klucz głowny
Klienci
Klient
# id_klient
# id_klient
* nazwa
* nazwa
* adres
* adres
Przekształcanie związków
Zamówienie
Klient
# id_zamówienia
# id_klient
* data zamówienia
* nazwa
&
* adres
Klienci Zamówienia
Not NULL
# id_zamowiania
# id_klient
* data-zamówienia
* nazwa
* id_klienta
* adres
...
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.
jest obsadzone
Stanowisko Pracownik
jest zatrudniony
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.
wytwarza
Producent Produkt
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.
posiada
Stowarzyszenie Osoba
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.
wykupuje
Szczepienia
Osoba
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
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Ä…dz 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ów. Towary 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
Towar musi pochodzić od jednego dostawcy.
c) Diagram ERD (notacja Martina):
Pracownik
przyjmuje
dotyczy
składa
Klient Zamówienie Towar
dostarcza
Dostawca
Rysunek 11. Diagram ogólny ERD systemu zamówień (notacja Martina)
d) Diagram ERD po usunięciu związku N:M (notacja Martina):
Pracownik
przyjmuje
składa się
składa
Pozycja
Klient Zamówienie
zamówienia
dotyczy
Dostawca Towar
dostarcza
Rysunek 12. Diagram szczegółowy ERD (notacja Martina)


Wyszukiwarka

Podobne podstrony:
Diagram Związków Encji
EasyCase Diagram Związków Encji
03 Modelowanie zwiazkow encji
Klucz Odpowiedzi Chemia Nowej Ery III Węgiel i jego związki z wodorem
ZwiÄ…zkowy gen konfliktu J Gardawski
07 Diagram sekwencji
Związki w trójkącie i bryły
zwiÄ…zki inicjujÄ…ce
Identyfikacja zwiazkow organicznych
ZwiÄ…zki azotowe
Astma wywołana przez związki chemiczne o małej masie cząsteczkowej część I
zwiazki polifenolowe w owocach iw arzywach
Hydroliza zwiazkow wielkoczasteczkowych 1
NIEBEZPIECZNE ZWIÄ„ZKI 1988
Phase Diagram of Ultrafine Carbon
Toyota Supra? Wiring Diagrams

więcej podobnych podstron