Diagram Encji, Analiza systemów informatycznych


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

0x01 graphic

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:

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:

0x01 graphic
0x01 graphic

0x08 graphic

0x08 graphic

Encja - SAMOCHÓD

Wystąpienia encji:

0x01 graphic
0x01 graphic

aaaaolx

0x08 graphic
0x08 graphic

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ń związku

Przykład

Znaczenie

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:

0x01 graphic

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.

0x01 graphic

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).

0x01 graphic

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)

0x01 graphic

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

0x01 graphic

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.

0x01 graphic

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.

0x01 graphic

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):

0x01 graphic

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.

0x01 graphic

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.

0x01 graphic

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.

0x01 graphic

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.

0x01 graphic

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ą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ówposiada 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):

0x01 graphic

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

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

0x01 graphic

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

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 m3

OM- 2388

Renault

2004

62000

Złoty

1,4 m3



Wyszukiwarka

Podobne podstrony:
analiza systemow informatycznych, Egzamin z PSI, Egzamin składa się z 30 pytań i modelu UML do zapro
analiza systemu informatycznego biura pośrednictwa pracy, Pomoce naukowe, studia, informatyka
Analiza systemów informatycznych, wykl2
Analiza systemów informatycznych, AnalSysInf 1
Analiza systemów informatycznych, AnalSysInf 4
analiza systemów informacyjnych w zarządzaniu
Analiza systemów informatycznych, WYKL4UML
Analiza systemów informatycznych, AnalSysInf 3
cw4a, Uczelniane, Semestr 1, Modelowanie i analiza systemów informatycznych, Materiały - Uniwersytet
Analiza systemów informatycznych, wykl1
baza serwisu4, Analiza systemów informatycznych
Analiza systemów informatycznych, AnalSysInf 5
Analiza systemów informatycznych, AnalSysInf 2
analiza systemów informatycznych, 3 rok, Zastosowanie informatyki w turystyce i rekreacji (Madridist
analiza systemów informacyjnych CXY6M2IOYAYGJ7PJXV56YTSNCCF55ORJFPCQUOY
Analiza systemów informacyjnych zarządzaniaa
cz 1a modelowanie i analiza systemow informatycznych
analiza systemów informacyjnych 2 2FEKUTFW4W7PZTNV5LCVZBGQ3QRZP7GL5WEGLWA

więcej podobnych podstron