MODELOWANIE
DANYCH
/ DIAGRAMOWANIE STRUKTUR DANYCH
/ DIAGRMOWANIE ZWIĄZKÓW ENCJI
/ MODELOWANIE LOGICZNE
CYKL ŻYCIA SYSTEMU
INFORMATYCZNEGO
STRATEGIA
ANALIZA
PROJEKTOWANIE
IMPLEMENTACJA
WDRAŻANIE
EKSPLOATACJA
Analiza wymagań
Modele konceptualne opisujące
wymagania odnośnie:
• Danych oraz
• Funkcjonalności aplikacji
Transformacja modeli
pojęciowych do fizycznych
Implementowanie bazy
danych i aplikacji,
dokumentacja użytkowa
Modelowanie
1. Definiowanie projektu logicznego – ERD (Entity
Relationship Diagram)
Wstępna selekcja encji
Wykrywanie związków bezpośrednich oraz
wielokrotnych
Określanie natury związków i ich opisywanie
Konwersja związków wieloznacznych do postaci
związków prostych
Racjonalizacja modelu, Wyliczanie atrybutów
2. Definiowanie projektu fizycznego (Physical Data
Model)
ENCJA
Encja to OBIEKT, który można jednoznacznie
odróżnić od innych, byt materialny lub
niematerialny, o którym informacja ma być
pamiętana w systemie.
Może być obiektem fizycznym jak czytelnik lub
książka, jak też zdarzeniem lub pojęciem, jak
wypożyczenie książki czy też zamówienie na jej
wypożyczenie.
Typ encji jest kategorią, do której zaliczają się
wszystkie wystąpienia encji danego typu (min 2
wystąpienia, każde wystąpienie identyfikowalne,
czyli rozróżniane).
Encja posiada
unikalną nazwę
zbiór cech (atrybutów)
Encje wchodzą w związki z innymi encjami
(wyjątkiem są encje reprezentujące dane
słownikowe i konfiguracyjne).
Dowolna rzecz lub obiekt musi być
reprezentowana tylko przez jedną encję.
Nazwa encji powinna być rzeczownikiem liczby
pojedynczej.
Atrybut encji
Nazwa
Dziedzina
Typ danych, maksymalny rozmiar
Zbiór dozwolonych wartości
Zakres dozwolonych wartości
Dozwolone/niedozwolone wartości
puste
Opcjonalnie unikalność wartości
Atrybuty encji – identyfikator
Atrybut lub zbiór atrybutów jednoznacznie
identyfikujący wystąpienie encji
Zbiór atrybutów + związki
Związki
Naturalne identyfikatory – PESEL, NIP, REGON…
Sztuczne identyfikatory – Numer osoby, Nr
pozycji..
Atrybuty encji - deskryptory
Wszystkie inne atrybuty poza
deskryptorami
Reprezentują podstawowe
cechy/własności encji
Mogą mieć wartości opcjonalne lub
obligatoryjne
Związki
Związek reprezentuje powiązania pomiędzy
obiektami świata rzeczywistego,
Zawiera pewną informację np. Klient składa
Zamówienie, Student zalicza Przedmiot,
Obywatel posiada Dowód osobisty…itp..
ZWIĄZKI
Związek odzwierciedla zależności pomiędzy encjami,
przy czym rozpatrywane są jedynie zależności
bezpośrednie. Pomiędzy dwoma encjami może
zachodzić więcej niż jeden związek.
Związek oznacza się na diagramie jako linię łączącą
encje.
Związek posiada opis przybliżający znaczenie
związku:
- Liczebność (typ lub kardynalność),
- Uczestnictwo
(istnienie lub opcjonalność)
- Rola.
Liczebność określa ilość instancji danego typu encji
biorących udział w związku.
Uczestnictwo określa status encji w danym związku.
Uczestnictwo w związku może być wymagane lub
opcjonalne.
Rola, to słowny opis znaczenia związku.
ZWIĄZKI
Każdy związek posiada również cechę, zwaną
stopniem związku.
Stopień związku określa liczbę encji
połączonych związkiem.
Wyróżnia się związki:
unarne (łączące encję samą z sobą),
binarne (łączące dwie encje),
ternarne (łączące trzy encje)
i n-arne (łączące n encji).
Możliwe określenia liczebności to:
Jeden do jednego oznaczana jako 1:1.
Jeden do wielu oznaczana jako 1:N.
Wiele do wielu oznaczana jako M:N.
Dwa pierwsze typy związków (1:1 i 1:N) to związki
proste, związek N:M to związek złożony lub
wieloznaczny, traktowany w informatyce jako
nieimplementowalny.
Związek 1:1 to związek jedno-jednoznaczny,
związek 1:N to związek jednoznaczny.
Zakończenia linii związku odzwierciedlają liczebność
związku.
Linia zakończona jest normalnie jeśli liczebność
związku po stronie danej encji wynosi jeden.
Linia jest rozdzielona na trzy linie wychodzące z
jednego punktu i kończące się na krawędzi prostokąta
oznaczającego encje jeśli liczebność związku po
stronie tej encji wynosi wiele.
Oznaczenia uzależnione od przyjętej notacji.
Zakończenie linii zawiera również symbol
oznaczający uczestnictwo. W przypadku
uczestnictwa opcjonalnego rysowane jest kółko po
przeciwnej stronie danej encji, zaś w przypadku
uczestnictwa wymaganego poprzeczna kreska.
Uczestnictwo opcjonalne oznaczone jest linią
przerywaną, obligatoryjne – linią ciągła.
Notacja CASE*Method (Oracle)
Notacja IEM (Information
Engineering Method) (Sybase)
Pracownik
Dziecko pracownika
Pracownik
Dziecko pracownika
Pesel
imie nazwisko
telefon
74120414953 Jan
Kowalski 123456789
80110934648 Anna Nowak
234567891
14082534525 Jan
Kowalski
NULL
38062143676 Anna Nowak
234567891
Każdej Encji (z projektu logicznego) odpowiada tablica (w projekcie
fizycznym)
Dane w komórce encji muszą być wartościami atomowymi
pesel
imie
nazwisko
telefon
12345678912
Adam
Nowak
123456785
23456789123
Jan
Kowalski
434353592
555434343
34567891234
Ala
Kot
556435433
45678912345
Jak
Nowakowski
NULL
W modelu fizycznym
Identyfikatorowi encji odpowiada - Klucz główny tablicy.
Encja
Tabela
P – atrybut wchodzący w skład klucza głównego
– klucz główny (primary key)
Model fizyczny. Klucz złożony.
Encja
Tabela
P – atrybut wchodzący w skład klucza głównego
– klucz główny (primary key)
Implementacja związków –1:1
model konceptualny
F – klucz obcy (foreign key)
– relacja
model fizyczny
Model fizyczny – relacja 1:N
model konceptualny
– relacja
F – klucz obcy (foreign key)
model fizyczny
Model fizyczny – relacja N:M
P Id_zachorowania
F Id_osoby
F Id_choroby
1
1
1
2
1
3
3
1
1
P Id_osoby
Imie
Nazwisko
1
Jan
Nowak
2
Ola
Kot
3
Adam
Los
P Id_choroby
nazwa
1
Grypa
2
Ospa
3
Angina
Model fizyczny danych jest podstawa implementacji
projektu w konkretnym systemie zarządzania
relacyjnymi bazami danych. Może to być:
ADABAS
IBM DB2
INFORMIX
INTERBASE
MICROSOFT ACCESS
MICROSOFT SQL SERWER
MySQL
ORACLE
POSTGRESQL
SYBASE