Diagram Związkw Encji

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

3

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ó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

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)




Wyszukiwarka

Podobne podstrony:
Diagram Związków Encji nowe
Wskazówki i przykłady tworzenia diagramów związków encji
psi, Modele związków encji
Wykład 3 Modelowanie danych Model związków encji(1)
DIAGRAM ENCJI
Plytka DIAGRAM ENCJI id 797920 Nieznany
Diagram Encji, Analiza systemów informatycznych
Diagram komunikacji
izomeria zwiazkow organicznych
Ostre Zatrucie Związkami Rtęci
3 ch org zwiazki funkcyjne
7 władza w bliskim związku
Sieć działań(diagram strzałkowy) v 2
zwiazki kompleksowe 2

więcej podobnych podstron