ERD

background image

Projektowanie bazy danych

Projektowanie bazy danych

Projektowanie bazy danych

Projektowanie bazy danych

Wyspecyfikowanie i analiza wymagań przyszłego
użytkownika.

Opracowanie modelu

koncepcyjnego

(konceptualnego).

Uzyskanie modelu

logicznego

(implementacyjnego).

Uzyskanie modelu

fizycznego

.

background image

Charakterystyka modeli

Charakterystyka modeli

Charakterystyka modeli

Charakterystyka modeli

Model koncepcyjny

opisuje model za pomocą

pojęć, z których korzystają użytkownicy.
Opis jest całkowicie niezależny od rozważań na
temat pamięci, efektywności i innych
szczegółów implementacyjnych.

Model implementacyjny

operuje pojęciami

zrozumiałymi dla użytkowników, ale bliżej
związanymi z konkretną strukturą (logiczną)
danych w pamięci komputera.

Model fizyczny

opisuje dane w kategoriach

sposobu ich przechowywania w pamięci
komputera i nie jest zrozumiały dla
użytkowników.

background image

Model koncepcyjny

Model koncepcyjny

Model koncepcyjny

Model koncepcyjny

1.

Powinien jednoznacznie określać wymagania
użytkowników.

2.

Powinien być czytelny dla użytkownika
końcowego.

3.

Powinien abstrahować od szczegółów
implementacyjnych.

Model koncepcyjny buduje się z
wykorzystaniem

diagramu modelowania związków encji (ang.
Entity Relationship Diagram
; ERD)

.

background image

Składniki diagramu ERD

Składniki diagramu ERD

Składniki diagramu ERD

Składniki diagramu ERD

1. Encji

(obiektów)

2. Atrybutów

3. Związków

Graficzny element koncepcyjnego modelu
danych, który służy do przedstawienia
struktury danych projektowanego systemu.
Złożony z:

background image

Encje

Encje

Encje

Encje

Coś, co istnieje, jest odróżnialne, o czym
informację trzeba znać lub przechowywać.
Może oznaczać zarówno obiekt rzeczywisty,
jak i pojęcie abstrakcyjne.

Encje o tych samych własnościach tworzą

typy

(zbiory) encji. Typ encji jest

kategorią

, a encja

jest

instancją

(wystąpieniem) typu. Przykłady:

Klient, Produkt, Rachunek.

Encje zwykle służą do definiowania logicznego
grupowania danych. Posiadają własności (cechy,
atrybuty).

background image

Atrybut

Atrybut

Atrybut

Atrybut

Atrybut

jest to własność encji danego typu,

reprezentowana przez pewną wartość, np.
nazwa, waga, cena. Encje różnych typów mają
różne atrybuty.

Dla każdej instancji encji każdy atrybut
powinien przyjmować

pojedynczą

atomową

wartość (ale w trakcie projektowania mogą
pojawić się atrybuty złożone).

Należy pomijać atrybuty

wyliczane

, tzn. takie,

które da się obliczyć na podstawie innych
atrybutów, np. wiek na podstawie daty
urodzenia.

background image

Atrybut

Atrybut

klucz główny

klucz główny

Atrybut

Atrybut

klucz główny

klucz główny

Klucz

– taki atrybut lub grupa atrybutów danej

encji, których wartości identyfikują każdą
instancję encji. Jedna encja może mieć wiele
takich kluczy. Jeden klucz jest

główny

, pozostałe

alternatywne

.

Klucz główny oznacza się symbolem PK

i / lub
podkreśleniem.

Klucz alternatywny określa się za pomocą

jednoznacznych
indeksów.

background image

Związki

Związki

Związki

Związki

Związek

określa relację między encjami

wchodzącymi
w skład związku (ich powiązanie w świecie
rzeczywistym).

Z (E

1

, E

2

, . . ., E

n

)

1.

Liczebność

Reguły definiowania związków:

2.

Uczestnictwo

Zbiór powiązań łączących encje należące do
określonych typów stanowi określony

typ

związku

.

background image

Związki

Związki

liczebność

liczebność

Związki

Związki

liczebność

liczebność

Liczebność (stopień)

dotyczy liczby instancji

biorących udział w związku.

1.

1 : 1 („jeden do jeden” – jedno-jednoznaczny).

Typy związków:

2.

1 : N („jeden do wielu” – związek jednoznaczny).

a)

identyfikujący

– do identyfikacji egzemplarza po

stronie N potrzebny jest egzemplarz po stronie 1;
encja po stronie N nazywana jest wtedy słabą

(wartość klucza obcego wchodzi w skład klucza
głównego encji słabej).

b)

nieidentyfikujący

– do zidentyfikowania encji po

stronie N nie jest potrzebny egzemplarz po stronie
1.

=>

background image

Związki

Związki

liczebność (2)

liczebność (2)

Związki

Związki

liczebność (2)

liczebność (2)

3. (I)

N : M („wiele do wielu”

– związek

niejednoznaczny

).

Dla niejednoznacznego związku

binarnego

(o

liczbie argumentów = 2):

Z (E

1

, E

2

)

wprowadzamy:

nową encję

E

0

i

2

związki jednoznaczne

Z (E

0

, E

1

),

Z (E

0

, E

2

)

łączące nową encję ze starymi.

Klucz

encji E

0

jest sumą kluczy encji

E

1

i

E

2

.

background image

Związki

Związki

liczebność (3)

liczebność (3)

Związki

Związki

liczebność (3)

liczebność (3)

3. (II)

N : M („wiele do wielu”

– związek

niejednoznaczny

).

Dla związku niejednoznacznego

o liczbie

argumentów większej niż 2:

Z (E

1

, . . . E

n

), n > 2

wprowadzamy:

nową encję

E

0

i

n

jednoznacznych związków binarnych

Z

(E

0

, E

i

)

łączących nową encję ze starymi.

Klucz

encji E

0

jest sumą kluczy encji

E

1

, . . . E

n

.

Encja

E

0

– encja asocjacyjna, słaba, zależna.

 

n

i

,

1

background image

Związki

Związki

uczestnictwo

uczestnictwo

Związki

Związki

uczestnictwo

uczestnictwo

Uczestnictwo (opcjonalność)

dotyczy udziału encji

w związku.

Uczestnictwo encji jest

opcjonalne

,

jeżeli

przynajmniej jedna jej instancja nie bierze udziału
w związku.

Uczestnictwo

opcjonalne

zaznacza się kółkiem.

Domyślnym uczestnictwem jest uczestnictwo

wymagane

.

W niektórych podejściach uczestnictwo modeluje się za
pomocą liczebności minimalnej i maksymalnej:
(1, M) lub (0, 1).

background image

ERD

ERD

notacje

notacje

ERD

ERD

notacje

notacje

Modelowanie związków encji cechuje się brakiem
jednolitego standardu. Dostępne są różnorodne
notacje:

1. Chen

(1976) – pierwsza notacja zaproponowana

dla diagramów związków encji.

2.

Martin

3. IDEF1X

(dostępna w ErWin, MS Visio)

4.

Bachman

background image

ERD

ERD

notacja Chena

notacja Chena

ERD

ERD

notacja Chena

notacja Chena

Konwencja notacyjna:

1. Encja

– prostokąt

2. Atrybut

– koło

3. Związek

– romb

Wykłady

Wykładowca

prowadzi

IdW

Nazwisko

Kod

N

1

background image

ERD

ERD

notacja IDEF1X

notacja IDEF1X

ERD

ERD

notacja IDEF1X

notacja IDEF1X

Konwencja notacyjna:

1. Encja

– prostokąt

2. Związek identyfikujący

– linia ciągła

3. Związek nieidentyfikujący

– linia przerywana

4. Strona „wiele” związku

– czarne kółko

5. Związek opcjonalny

– romb przy encji po stronie

„jeden”

background image

ERD

ERD

przykłady

przykłady

ERD

ERD

przykłady

przykłady

Pracownik

Zespol

należy

N

1

Tematy

wykonuje

N

M

Kwota

„wronie (kurze) łapki”

związek 1 : N

background image

ERD

ERD

przykłady (2)

przykłady (2)

ERD

ERD

przykłady (2)

przykłady (2)

Student

Kierunek

studiuje

N

1

Przedmiot

zalicza

N

M

Ocena

background image

ERD

ERD

przykłady (3)

przykłady (3)

ERD

ERD

przykłady (3)

przykłady (3)

Pacjent

Oddział

leży

N

1

Lekarstwo

zażywa

N

M

Dawka

background image

Atrybuty złożone

Atrybuty złożone

Atrybuty złożone

Atrybuty złożone

Atrybut jest

złożony

, gdy jego wartość dla

jednej instancji encji jest złożeniem kilku
bardziej elementarnych wartości, np. atrybut
Adres
encji Osoba składa się z nazwy
miejscowości, kodu pocztowego, nazwy ulicy,
numeru domu i numeru mieszkania.

W definicji encji umieszczamy tylko atrybuty
elementarne.

Atrybuty elementarne można w nieformalny
sposób grupować przez stosowanie
jednakowego przedrostka w ich nazwach,
np. Adres_Miasto, Adres_Kod, Adres_Ulica
itp.

background image

Atrybuty wielowartościowe

Atrybuty wielowartościowe

Atrybuty wielowartościowe

Atrybuty wielowartościowe

Pracownik

Języki

Imiona

Atrybut jest

wielowartościowy

, gdy posiada

wiele wartości dla jednej instancji encji.

background image

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

1.

Utwórz schemat relacji dla każdego typu encji;
do schematu wchodzą atrybuty
pojedyncze, kluczem relacji jest klucz
encji.

2.

Utwórz dodatkowy schemat relacji dla
każdego atrybutu wielowartościowego;
wchodzi do niego atrybut
wielowartościowy i klucz encji.

background image

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

3.

Utwórz schemat relacji dla każdego typu
związku; do schematu wchodzą klucze
encji, które należą do związku oraz atrybuty
związku.

4.

Scal schematy o identycznych kluczach.

1 : N – klucz encji wchodzącej przez
krawędź N

N : M – złożenie kluczy wszystkich encji
należących do związku

1 : 1 – dowolny z kluczy

Kluczem relacji jest dla

związku:

background image

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

1.

Krok 1: relacje dla typów encji

3.

Krok 3: relacje dla typów związków

Pracownik (nrp, nazwisko)
Zespol (nrz, nazwaZ)
Temat (nrt, nazwaT)

2.

Krok 2: relacje dla atrybutów
wielowartościowych

Jezyki (nrp, jezyk)

należy (nrp, nrz)
wykonuje (nrp, nrt, kwota)

background image

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

Przekształcenie do modelu

Przekształcenie do modelu

logicznego

logicznego

4.

Krok 4: scalenie schematów

Zespol (nrz, nazwaZ)
Temat (nrt, nazwaT)
wykonuje (nrp, nrt, kwota)

Pracownik (nrp,

nazwisko)

należy (nrp, nrz)

Pracownik (nrp, nazwisko,

nrz

)

background image

Związek 1 : 1

Związek 1 : 1

Związek 1 : 1

Związek 1 : 1

Szkoła

Dyrektor

ma

1

1

Szkoła ma jednego dyrektora, dyrektor może
kierować tylko jedną szkołą.

Szkoła (nrs, ...)

Dyrektor (nr_dyr, ...)

Ze względu na alternatywne klucze schematu ma
możliwe są 2 sposoby scalenia schematów:

ma (nrs, nr_dyr)

Szkoła (nrs, ...)
Dyrektor (nr_dyr, ...,

nrs

)

Szkoła (nrs, ...,

nr_dyr

)

Dyrektor (nr_dyr, ...)

background image

Wiele związków między dwoma

Wiele związków między dwoma

obiektami

obiektami

Wiele związków między dwoma

Wiele związków między dwoma

obiektami

obiektami

Szkoła

Nauczyciel

rządzi

1

1

Nauczyciel uczy w szkole, nauczyciel kieruje szkołą.

uczy

N

1

=>

background image

Wiele związków między dwoma

Wiele związków między dwoma

obiektami

obiektami

Wiele związków między dwoma

Wiele związków między dwoma

obiektami

obiektami

Szkoła (nrs, ...,

nrN

) Nauczyciel (nrN,

...,

nrs

)

Po scaleniu

schematów:

Szkoła (nrs, ...)

Nauczyciel (nrN, ...)

uczy (nrN, nrs)

rządzi (nrN, nrs)

background image

Związki hierarchiczne

Związki hierarchiczne

Związki hierarchiczne

Związki hierarchiczne

Nauczyciel

kieruje

1

Każdy nauczyciel, poza dyrektorem, ma przełożonego.

N

Nauczyciel (nrN, ...,

nrN_nadrz

)

Nauczyciel (nrN, ...)

kieruje (nrN, nrN_nadrz)

Po scaleniu:

background image

Modelowanie czasu

Modelowanie czasu

Modelowanie czasu

Modelowanie czasu

Uwzględnienie zmian danych w czasie –
dodatkowa encja „

temporalna

”, której zadaniem

jest reprezentowanie zmian w czasie dotyczących:

wartości atrybutów

związków z inną encją

N : 1

background image

Modelowanie czasu

Modelowanie czasu

Modelowanie czasu

Modelowanie czasu

zmiany w czasie dotyczące wartości

atrybutów,

np. wysokości zarobków i stanowiska

background image

Modelowanie czasu

Modelowanie czasu

Modelowanie czasu

Modelowanie czasu

zmiany w czasie dotyczące związków z inną

encją,

np. zmiany działu (departamentu)

background image

FAQ

FAQ

FAQ

FAQ

Czy dana rzecz lub cecha, nazwana za pomocą
rzeczownika, jest atrybutem encji, czy
samodzielną encją ?

Ten element traktujemy jako nową encję, gdy
sam jest opisany dodatkowymi informacjami.

background image

Ćwiczenia

Ćwiczenia

Ćwiczenia

Ćwiczenia

Klient składa zamówienie na towary. Klient
opisany jest przez: IDK
, nazwiskoK, adresK.
Klient może złożyć wiele zamówień, każde
zamówienie jest składane tylko przez 1
klienta. Zamówienie jest opisane przez IDZ

i datęZ
. Zamówienie może obejmować wiele
towarów, a każdy towar może znaleźć się w
wielu zamówieniach. Towar jest
charakteryzowany przez: IDT
, nazwęT i
opisT
. Dany towar na danym zamówieniu
występuje w określonej ilości.

Zamowienie(IDK, nazwiskoK, adresK, IDZ,
dataZ, IDT, nazwaT, opisT, iloscTwZ)

background image

Zadania

Zadania

Zadania

Zadania

Z1. Dana jest następująca rzeczywistość: pewna firma lotnicza
(która nie występuje jako obiekt w bazie danych) prowadzi
ewidencję samolotów, które posiadają unikalny numer
identyfikacyjny, i dla których podaje się rok ich produkcji. Dla
każdego typu samolotu charakteryzującego się unikalną nazwą
typu definiuje się zasięg i liczbę miejsc. Z każdym samolotem
związanych jest kilku pilotów. Pilot może pilotować tylko jeden
samolot. Pilot identyfikowany jest przez numer PESEL
i posiada dane personalne. Firma lotnicza prowadzi loty na
różnych trasach (bez międzylądowań), identyfikowanych
nazwami miast będących początkiem i końcem trasy. Dla
każdej trasy podaje się jej długość w kilometrach. Każda
trasa może być obsługiwana przez samoloty różnych typów. W
bazie danych należy zapamiętać czas, jaki potrzebują samoloty
poszczególnych typów na przelot danej trasy.

Zaprojektować diagram ER dla zbioru powyższych faktów, a
następnie utworzyć schemat relacyjnej bazy danych metodą
bezpośredniej transformacji diagramu ER w zbiór schematów
relacji.

background image

Zadania (2)

Zadania (2)

Zadania (2)

Zadania (2)

Z2. Dana jest następująca rzeczywistość: w miastach znajdują
się kina identyfikowane numerem i noszące swoje nazwy. W
bazie danych mają się znaleźć nazwy i liczby mieszkańców
miast. Każde kino ma kierownika o określonym
nazwisku. Kierownik odpowiada za pracę tylko jednego kina.
Baza danych powinna również zawierać informację o
dochodach, jakie w poszczególnych kinach przyniosły projekcje
poszczególnych filmów.

Zaprojektować diagram ER dla zbioru powyższych faktów, a
następnie utworzyć schemat relacyjnej bazy danych metodą
bezpośredniej transformacji diagramu ER w zbiór schematów
relacji.

background image

Zadania (3)

Zadania (3)

Zadania (3)

Zadania (3)

Z3. W bazie danych tworzonej dla spółdzielni lekarskiej
powinny znaleźć się informacje o wizytach pacjentów u
poszczególnych lekarzy obejmujące datę wizyty, rozpoznaną
jednostkę chorobową (może być ich kilka) oraz zaordynowane
medykamenty wraz z dawkami (jak często i ile). Dla pacjenta
przechować: nazwisko, imię i adres, dla lekarza: numer, imię
i nazwisko, dla lekarstwa: kod i nazwę, dla jednostki
chorobowej: identyfikator i krótki opis.

Zaprojektować diagram ER dla zbioru powyższych faktów, a
następnie utworzyć schemat relacyjnej bazy danych metodą
bezpośredniej transformacji diagramu ER w zbiór schematów
relacji.

background image

Zadania (4)

Zadania (4)

Zadania (4)

Zadania (4)

Z4. Dana jest następująca rzeczywistość: klienci składają w
hurtowni zamówienia na towary. Każdy klient ma identyfikator,
nazwisko i adres. Zamówienia dotyczą towarów, które są
opisane przez identyfikator i nazwę. Pojedyncze zamówienie
składane jest przez jednego klienta, ale może obejmować wiele
towarów. Na zamówieniu wyszczególniona jest data jego
złożenia i ilość poszczególnych towarów.

Zaprojektować diagram ER dla zbioru powyższych faktów, a
następnie utworzyć schemat relacyjnej bazy danych metodą
bezpośredniej transformacji diagramu ER w zbiór schematów
relacji.

background image

Zadania (5)

Zadania (5)

Zadania (5)

Zadania (5)

Z5. Dana jest następująca rzeczywistość: przedsiębiorstwa
będące klientami pewnej firmy informatycznej opisane są
przez identyfikator, nazwę, adres i numer telefonu. Ich
obsługą zajmują się pracownicy o określonym numerze i
nazwisku, zatrudnieni na określonym stanowisku i należący do
jednego z zespołów, którym przydzielono numer i nazwę.
Ponadto każdy pracownik charakteryzuje się pewnym
zestawem umiejętności (lista zagadnień, w których się
specjalizuje). Z danym klientem może współpracować wielu
pracowników. Dany pracownik może obsługiwać wielu
klientów. Istotne jest, aby zapamiętać liczbę godzin, które
pracownik poświęcił klientowi w określonym dniu.

Zaprojektować diagram ER dla zbioru powyższych faktów, a
następnie utworzyć schemat relacyjnej bazy danych metodą
bezpośredniej transformacji diagramu ER w zbiór schematów
relacji.


Document Outline


Wyszukiwarka

Podobne podstrony:
model ERD
Inżynieria oprogramowania Diagramy ERD
ERD
model ERD
bdemobld erd data diagr
ISI ERD
8 Diagram ERD
Modelowanie danych (ERD, WI, Semestr I N2, Modelowanie i analiza systemów, Poprawione wykłady
Blank ERD & Data Flow
Architektura ERD
PSI, ERD
ERD?zy czytelnicy
model ERD
Inżynieria oprogramowania Diagramy ERD
ERD
Instrukcja obsługi Electrolux ERD 2743
Instrukcja Electrolux ERD 1843
Electrolux ERD 3322 X Instrukcja obsługi

więcej podobnych podstron