Modele koncepcyjne Związki encji

advertisement
Modele koncepcyjne Związki encji
Modele koncepcyjne
Związki encji
Bazy danych (BD) zajmują się modelowaniem otaczającego nas świata. Dowolny fragment
rzeczywistości możemy próbować opisać. Dane w bazie traktowane są więc jako reprezentacja faktów,
wiedzy ze świata rzeczywistego. Mamy zatem pewien model za pomocą którego przedstawiamy w
komputerze wycinek świata. Każda dziedzina może być objęta bazą danych pod warunkiem, że da się
dobrze ustruktualizować czyli, że uda się opisać jej elementy, znaleźć między nimi związki itd.
ŚWIAT
MODEL
KOMPUTER
OBIEKTY
W BD przechowujemy wypowiedziane przez człowieka zdania, słowa o jakichś
obiektach. Ludzkie zdania w komputerze przechowujemy za pomocą rekordów.
Czy BD to dobra metoda reprezentacji świata? Świat zewnętrzny lepiej można
reprezentować za pomocą sztucznej inteligencji. Metody sztucznej inteligencji lepiej
wykorzystują wiedzę.
www.wkuwanko.pl
1
Modele koncepcyjne Związki encji
Rozróżniamy dwie metody reprezentacji wiedzy:
Baza danych
Baza wiedzy
W bazach danych informacje o obiektach przedstawiane są tylko w postaci faktów
(wyjątkiem są aktywne bazy danych). Możemy np. stworzyć BD dotyczącą studentów. Mogą
się w niej znajdować rekordy zawierające np. takie pola:
nazwisko studenta
data urodzenia
miejsce zamieszkania
itd.
Znajdują się tu wyłącznie informacje o studentach.
Natomiast w bazach wiedzy oprucz faktów przekazywane są mechanizmy
wnioskowania. Mamy tu zatem:
bazę faktów
bazę regół
Czyli z jednych faktów dzięki regułom możemy wnioskować o innych faktach.
Terminologia używana w BD pochodzi od Chena. Chen wprowadził pojęcie encji (ang.
entity). Encja mówi o jakimś obiekcie: o czymś co istnieje i co możemy rozróżnić. Jeśli nie
potrafimy rozróżnić jakichś obiektów to nie są to encje. Przykładami obiektów nie dających
się rozróżnić są np. cząsteczki wody, mrówki itd. – czyli obiekty przeważnie małe,
występujące w dużych ilościach. W sensie BD obiekty takie nas nie interesują.
Każda encja opisana jest zestawem atrybutów, a każdy atrybut należy do jakiejś dziedziny
(np. miesiąc ma dni). Atrybuty mogą być różnego typu np. tekstowe, liczbowe itd.
Gdyby interesowały nas same obiekty to taka baza byłaby bazą płaską, kartotekową.
Przykładem są chociażby katalogi biblioteczne. W takiej bazie kartotekowej mamy w zasadzie
informacje tylko o obiektach.
Pomiędzy elementami w zbiorach mogą zachodzić pewne zależności. Zależnościami w BD
nazywamy wszystkie możliwe rodzaje powiązań między rekordami. Z matematycznego
punktu widzenia są równoważne pojęciu odwzorowania jednego zbioru encji w inny.
Wyróżniamy trzy rodzaje związków:
jednoznaczne 1:1
jednoznaczne 1:N
wieloznaczne N:M
www.wkuwanko.pl
2
Modele koncepcyjne Związki encji
Przykład związku jednoznacznego 1:1 przedstawiony jest na poniższym rysunku:
ZBIÓR A
ZBIÓR B
Każdemu elementowi ze zbioru A przyporządkowany jest jeden element ze zbioru B i
odwrotnie. Elementami zbioru A mogą być np. nazwiska i PESEL w dowodzie osobistym. Nie
mogą dwie osoby mieć tego samego numeru i odwrotnie – każdy numer przyporządkowany
jest tylko jednej osobie.
Najczęściej stosuje się zależności jednoznaczne 1:N (rysunek poniżej).
Zamówienie
Klient 1
1
Klient 2
Zamówienie
2
Klient 3
www.wkuwanko.pl
Zamówienie
3
3
Modele koncepcyjne Związki encji
Klient może złożyć kilka zamówień (na rysunku Klient 1 składa Zamówienie 1 i 3). Natomiast
każde zamówienie przyporządkowane jest tylko jednemu klientowi.
Trzecim rodzajem związków są związki wieloznaczne N:M.
DOSTAWA
TOWAR
DOSTAWA 1
TOWAR 1
TOWAR 2
DOSTAWA 2
TOWAR 3
DOSTAWA 3
TOWAR 4
www.wkuwanko.pl
4
Modele koncepcyjne Związki encji
Każda dostawa może składać się z wielu towarów, a każdy towar może znaleźć się w różnych
dostawach.
W rzeczywistości bazy wieloznaczne zamieniane są na jednoznaczne typu 1:N poprzez
wprowadzenie dodatkowego obiektu. Na poniższym rysunku zastąpiono zależność N-M
dwiema zależnościami 1-N poprzez wstawienie dodatkowego obiektu FAKTURA.
DOSTAWA
FAKTURA
TOWAR
FAK.1
FAK.2
FAK.3
DOSTAWA
1
DOSTAWA
2
FAK.4
FAK.5
FAK.6
TOWAR 1
TOWAR 2
TOWAR 3
TOWAR 4
DOSTAWA
3
Każda dostawa może być wpisana na wiele faktur, ale faktura może dotyczyć tylko jednej
dostawy. Tak samo każda faktura może odnosić się tylko do jednego towaru, ale „Towar 3”
został wpisany do dwóch faktur: „Fak. 4 i 5”. Zatem otrzymaliśmy związki jednoznaczne.
www.wkuwanko.pl
5
Modele koncepcyjne Związki encji
Poprzednio pokazywaliśmy związki zachodzące między dwoma zbiorami encji. Takich
zbiorów może być więcej, a więc zależności mogą być bardziej skomplikowane. Mówimy
wówczas o stopniu zależności. Na poniższym rysunku stopień zależności k=3.
SKLEP
PRODUCENT
DOSTARCZA
SKLEP 1
PRODUCEN
T1
PRODUCEN
T2
PRODUCEN
T3
TOWAR
SKLEP 2
SKLEP 3
O
SKLEP 4
O
O
O
O
TOWAR 1
TOWAR 2
TOWAR 3
Z istnienia trzech zależności w rodzaju (Producent1,Towar1), (Producent1,Sklep1),
(Towar1,Sklep1) nie wynika bezpośrednio, iż istnieje zależność (Producent1,Towar1,Sklep1).
Zależności dowolnego stopnia można sprowadzić do kilku zależności binarnych,
wprowadzając nową tabelę. W naszym przykładzie może to być tabela o nazwie Dostawa
zawierająca co najmniej trzy atrybuty: identyfikator producenta, towaru oraz sklepu.
Zależność trzeciego stopnia (Producent,Towar,Skep) zastąpimy wówczas trzema
zależnościami binarnymi: (Producent,Dostawa), (Towar,Dostawa) oraz (Sklep,Dostawa):
www.wkuwanko.pl
6
Modele koncepcyjne Związki encji
PRODUCENT
NR PRODUCENTA
...
...
...
DOSTAWA
SKLEP
NR DOSTAWY
NR
PRODUCENTA
NR TOWARU
NR SKLEPU
...
...
TOWAR
NR SKLEPU
...
...
...
NR TOWARU
...
...
...
Podstawowym narzędziem do modelowania zależności między zbiorami encji jest
model ERD (ang. Entity Relationship Diagram).
Model zależności ERD to pewnego rodzaju graf, w którym występuje kilka rodzajów
elementów. W prostokątach występują encje, w owalach (elipsach) atrybuty opisujące te
encje, romby oznaczają zależności miedzy encjami. Linie (łuki, gałęzie) łączą poszczególne
elementy ze sobą, przy czym połączenia mogą być skierowane (strzałki) tzn że zależności
występują w kierunku strzałki, ale w drugą stronę nie. Poniżej podany został przykład bazy
danych Towarzystwa Ubezpieczeniowego.
PRAC
#
www.wkuwanko.pl
Nazwis
ko
Wynagrodze
nie
7
Modele koncepcyjne Związki encji
AGEN
T
PRACOWNI
CY
jest
KIERUJ
E
Sprzedan
e
POLIS
Y
P#
NAZW
A
BENEFICIA
NT
KWOT
A
Każdy pracownik opisany jest trzema atrybutami: #PRAC, NAZWISKO, WYNAGRODZENIE.
Wśród pracowników mogą być KIEROWNICY. Podobnie polisy mają swoje atrybuty: P#,
NAZWA, BENEFICIANT, KWOTA. Możemy poruszać się po tym modelu i wypowiadać pewne
zdania np.:
„Każdy pracownik ma swój numer”
„Agent jest pracownikiem”
W ten sposób dostajemy sieć, która pozwala nam wnioskować co z czego wynika.
Jeśli rzeczywistość jest bardziej skomplikowana to i model ulega komplikacji i składa
się z większej liczby elementów.
Z biegiem lat modele Chena zaczęto udoskonalać. Do grafu dodano nowe elementy:
KUPIONY PRZEZ
www.wkuwanko.pl
8
Modele koncepcyjne Związki encji
TOWAR
KLIENT
Nowe elementy to:
różne rodzaje linii:
>linia przerywana wskazuje na związek opcjonalny: „coś może być”
>linia ciągła oznacza że „coś musi być”
zakończenie linii:
>„kurza łapka” oznacza „jeden albo wiele”
> normalne zakończenie oznacza „dla jednego”
Zatem można tworzyć nowe zdania:
„Każdy klient może być nabywcą jednego lub wielu towarów”
„Każdy towar musi być kupiony przez jednego lub wielu klientów”
Zatem diagramy związków encji służą do modelowania danych i podają sposób
widzenia ich struktury.
W zależnościach takich też mogą występować związki wieloznaczne, które należy
wyeliminować dążąc do jednoznaczności. Wieloznaczność komplikuje BD. Powoduje, że
poruszanie się (nawigowanie) po bazie jest utrudnione. Zatem należy dążyć do
jednoznaczności, aby bez nieporozumień dojść do poszukiwanej informacji (istnieją specjalne
języki ułatwiające nawigacje).
Do reprezentacji zadań jakiejś organizacji, które reprezentujemy w BD służą
hierarchie funkcji. Funkcje najwyższego poziomu określają nam cel organizacji (czyli do
czego dana firma jest powołana). Funkcje niższego poziomu zawierają zadania, które są
potrzebne do spełnienia jakichś przedsięwzięć.
www.wkuwanko.pl
9
Modele koncepcyjne Związki encji
Diagramy przepływu danych (inaczej diagramy DFD) jest to model pokazujący w jaki
sposób dane przepływają między funkcjami i jak są przez nie używane. Model ten
przedstawiany jest w postaci grafu.
W grafie DFD mamy następujące elementy:
procesy odpowiadające funkcjom hierarchi – za ich pomocą przedstawia się sposób
przetwarzania danych wejściowych na wyjściowe
encje zewnętrzne – dostarczają systemowi danych wejściowych i odbierają dane wyjściowe
(czasami nazywane źródłami lub odpływami)
magazyny danych – służą one do czasowego przechowywania informacji (krótkotrwałe
pamięci)
przepływy (połączenia) czyli łuki gałęzie rysowane w postaci strzałek – pokazują ruch danych
Diagramy DFD buduje się poziomami. Najwyższy poziom zwany poziomem kontekstu mówi
do czego służą
Rozbicie procesu DFD odpowiada dekompozycji funkcji w hierarchii funkcji.
Istnieje oprogramowanie, które służy do zautomatyzowania tworzenia BD. Tworzy się model
zasadniczy, który składa się z czterech modeli:
model środowiska
model danych (ERD)
model zachowań (DFD)
hierarchia funkcji.
Podstawowe wzorce modelu środowiska, danych i zachowań obejmują następujące
czynności:
analiza i specyfikacja potrzeb użytkownika
szacowanie wielkości BD
dobór BD do potrzeb użytkownika
Pomiędzy ludźmi, którzy projektują a kierownictwem, które ma wiedzę i żądania o BD
wytwarza się współpraca. Mamy zatem sześć etapów projektowania i wdrażania systemu BD.
strategia
analiza
projektowanie
budowa – dokumentacja
www.wkuwanko.pl
10
Modele koncepcyjne Związki encji
wdrożenie
utrzymanie i rozwój.
www.wkuwanko.pl
11
Download