03 Modelowanie zwiazkow encjiid Nieznany

background image

1

Modelowanie związków encji

2

Plan rozdziału

• Przykładowy opis miniświata
• Encje
• Związki

– stopień związku
– typ asocjacji

• Notacje diagramów ER
• Hierarchie encji

3

Etapy budowy systemu

informatycznego przedsiębiorstwa (1/4)

4

Etapy budowy systemu

informatycznego przedsiębiorstwa (2/4)

background image

5

Etapy budowy systemu

informatycznego przedsiębiorstwa (3/4)

6

Etapy budowy systemu

informatycznego przedsiębiorstwa (4/4)

7

Fazy projektowania bazy danych

miniświat

zebranie

wymagań

zebranie

wymagań

analiza

funkcjonalna

analiza

funkcjonalna

projekt

pojęciowy

projekt

pojęciowy

projekt

logiczny

projekt

logiczny

projekt

fizyczny

projekt

fizyczny

projekt

aplikacji

projekt

aplikacji

implementacja

transakcji

implementacja

transakcji

niezależne od SZBD

zależne od SZBD

8

Przykład

Baza danych pewnego przedsiębiorstwa zawiera informacje o

pracownikach, departamentach i projektach. Faza zbierania wymagań

zaowocowała następującym opisem miniświata:

– Przedsiębiorstwo składa się z departamentów, każdy departament posiada

unikalną nazwę, unikalny numer oraz pracownika będącego kierownikiem.

Konieczne jest przechowywanie daty, od której dany pracownik zaczął kierować

departamentem. Każdy departament może posiadać wiele lokalizacji.

– Lokalizacja posiada nazwę i adres (miasto, kod, ulica, nr domu).
– Departamenty kontrolują wykonanie projektów. Każdy projekt posiada unikalną

nazwę, numer, oraz pojedynczą lokalizację.

– Każdy pracownik posiada imię, nazwisko, numer PESEL, adres, pensję, płeć,

oraz datę urodzenia. Każdy pracownik jest przypisany do jednego

departamentu, ale może jednocześnie pracować nad wieloma projektami

(niekoniecznie w ramach własnego departamentu). Dla każdego pracownika

chcemy pamiętać liczbę godzin, które pracownik przepracował nad każdym

projektem. Każdy pracownik posiada przełożonego (innego pracownika).

– Dla każdego pracownika zapamiętujemy informacje o członkach rodziny (na

potrzeby polisy ubezpieczeniowej). Należy pamiętać imię, płeć, datę urodzenia i

stopień pokrewieństwa każdego członka rodziny

background image

9

Encja

• Cechy encji:

– każda encja posiada cechy zwane atrybutami,
– każda encja posiada unikalny identyfikator,
– obiekt rzeczywisty może być reprezentowany w modelu przez co

najwyżej jedną encję,

– reprezentacje konkretnych obiektów miniświata stanowią instancje

(wystąpienia) encji.

Encja (ang.

entity) to "rzecz" w modelowanym miniświecie, która

posiada niezależne istnienie i o której chcemy przechowywać

informacje. Encja może być obiektem materialnym, obiektem

niematerialnym, zdarzeniem lub faktem.

Encja (ang.

entity) to "rzecz" w modelowanym miniświecie, która

posiada niezależne istnienie i o której chcemy przechowywać

informacje. Encja może być obiektem materialnym, obiektem

niematerialnym, zdarzeniem lub faktem.

10

1012

Zielony

Spec.ds.logistyki

17.01.1974

5 200

...

1012

Zielony

Spec.ds.logistyki

17.01.1974

5 200

...

Co może reprezentować encja?

• Obiekt materialny:

– pracownik, książka, samochód, towar

• Obiekt niematerialny:

– faktura, projekt, konto, zamówienie, grupa pracowników

• Zdarzenie:

– choroba pracownika, przyznanie nagrody, kontrola

• Fakt:

– znajomość języka obcego, stan magazynowy produktu

Pracownik

id_pracownika

nazwisko

stanowisko

data_urodzenia

pensja

...

Pracownik

id_pracownika

nazwisko

stanowisko

data_urodzenia

pensja

...

encja

encja

1004

Czerwony

Z-ca dyrektora

8.02.1969

7 500

...

1004

Czerwony

Z-ca dyrektora

8.02.1969

7 500

...

1001

Niebieski

Dyrektor

12.05.1949

12 000

...

1001

Niebieski

Dyrektor

12.05.1949

12 000

...

instancje encji

11

Typy atrybutów

• Proste i złożone

– atrybut prosty/atomowy (ang.

simple

/

atomic

): atrybut niepodzielny,

np. imię, nazwisko, pensja, etat

– atrybut złożony (ang.

composite

): może być podzielony na atrybuty

proste, np. adres

• Jedno- i wielowartościowe

– atrybut jednowartościowy (ang.

single-valued

): w dowolnej chwili

atrybut posiada tylko jedną wartość, np. wiek, nazwisko

– atrybut wielowartościowy (ang.

multi-valued

): atrybut może

posiadać wiele wartości (możliwe ograniczenia), np. języki obce

• Oryginalne i wywiedzione

– atrybut oryginalny (ang.

stored

): wartość atrybutu zapisana w bd

– atrybut wywiedziony (ang.

derived

): wartość atrybutu została

wyliczona na podstawie innego atrybutu, np. wiek

12

Atrybuty kluczowe

• Przykłady unikalnych identyfikatorów encji

– identyfikatory proste naturalne: PESEL, NIP, ISBN
– identyfikatory proste sztuczne: ID_PRACOWNIKA, ID_ZAMOWIENIA
– identyfikatory złożone: NR_REJESTRACYJNY, INDEKS

Każda encja posiada atrybut (lub zbiór atrybutów) będących

unikalnym identyfikatorem encji. Wartości unikalnego

identyfikatora są unikalne w ramach wszystkich wystąpień encji.

Każda encja posiada atrybut (lub zbiór atrybutów) będących

unikalnym identyfikatorem encji. Wartości unikalnego

identyfikatora są unikalne w ramach wszystkich wystąpień encji.

background image

13

Związki

• Definicje

– związek R między encjami E

1

, E

2

,..., E

n

definiuje zbiór asocjacji między

instancjami tych encji. Związek R jest matematyczną relacją

składającą się z instancji związku r

i

, gdzie r

i

wiąże n instancji encji

(e

1

,e

2

,..., e

n

) i każda instancja e

j

, 1

≤j≤n jest wystąpieniem encji E

j

.

– związek R między encjami E

1

, E

2

,..., E

n

jest podzbiorem iloczynu

kartezjańskiego E

1

× E

2

× ... × E

n

Pracownik

Departament

Pracuje W

p

1

p

2

p

3

p

4

d

1

d

2

d

3

r

1

r

2

r

3

r

4

14

Stopień związku (1/3)

• Stopień związku to liczba encji uczestniczących w związku

związki unarne: wiążą jedną encję, najczęściej reprezentują

rekurencyjne powiązanie hierarchiczne między obiektami określonego

typu, przykłady takich związków to "jest przełożonym", "jest częścią",

"wchodzi w skład". Dla związków unarnych konieczne jest określenie

roli, jaką gra każda instancja encji w związku.

Pracownik

Jest przełożonym

p

1

p

2

p

3

p

5

r

1

r

2

p

4

szef

szef

podwładny

podwładny

podwładny

15

Stopień związku (2/3)

• Stopień związku to liczba encji uczestniczących w związku

związki binarne: wiążą instancje dwóch encji, są to

najpopularniejsze i najczęściej spotykane rodzaje związków

Pracownik

Samochód

Posiada

p

1

p

2

p

3

p

4

s

1

s

2

s

3

r

1

r

2

r

3

16

Stopień związku (3/3)

• Stopień związku to liczba encji uczestniczących w związku

związki ternarne: wiążą instancje trzech encji

UWAGA: związku ternarnego R(A,B,C) nie wolno mylić z trzema

związkami binarnymi R

1

(A,B) R

2

(A,C) R

3

(B,C)

Pracownik

Projekt

Pracuje Nad

p

1

p

2

p

3

t

1

t

2

t

3

r

1

r

2

r

3

Rola

l

1

l

2

l

3

background image

17

Typ asocjacji związku (1/3)

Typ asocjacji określa liczbę instancji związku w których

może brać udział instancja encji

związki typu 1:1 każda instancja encji może brać udział w co

najwyżej jednej instancji związku

Pracownik

Departament

Jest Kierownikiem

p

1

p

2

p

3

p

4

d

1

d

2

d

3

r

1

r

2

r

3

Pracownik może być kierownikiem co najwyżej jednego

departamentu, departament ma co najwyżej jednego kierownika

Pracownik może być kierownikiem co najwyżej jednego

departamentu, departament ma co najwyżej jednego kierownika

18

Typ asocjacji związku (2/3)

Typ asocjacji określa liczbę instancji związku w których

może brać udział instancja encji

związki typu 1:N instancje jednej encji mogą brać udział w co

najwyżej jednej instancji związku, instancje drugiej encji mogą brać

udział w dowolnej liczbie instancji związku

Producent

Część

Produkuje

p

1

p

2

c

1

c

2

c

3

r

1

r

2

r

3

Producent może produkować wiele części, każda część jest

produkowana przez co najwyżej jednego producenta

Producent może produkować wiele części, każda część jest

produkowana przez co najwyżej jednego producenta

19

Typ asocjacji związku (3/3)

Typ asocjacji określa liczbę instancji związku w których

może brać udział instancja encji

związki typu N:M instancje każdej encji mogą brać udział w

dowolnej liczbie instancji związku

Dostawca

Towar

Dostarcza

d

1

d

2

t

1

t

2

t

3

r

1

r

2

r

3

Każdy dostawca może dostarczać wielu towarów, każdy

towar może być dostarczany przez wielu dostawców

Każdy dostawca może dostarczać wielu towarów, każdy

towar może być dostarczany przez wielu dostawców

t

4

20

Przynależność do związku

• Istnieją dwa rodzaje ograniczeń na przynależność

totalna przynależność (ang.

total participation

) encji w związku

oznacza, że każda instancja encji musi brać udział w jakiejś instancji

związku (związek jest obligatoryjny),

częściowa przynależność (ang.

partial participation

) encji w

związku oznacza, że mogą istnieć instancje encji nie biorące udziału w

żadnej instancji związku (związek jest opcjonalny)

Wykładowca

Przedmiot

Wykłada

w

1

w

2

w

3

w

4

p

1

p

2

p

3

r

1

r

2

r

3

background image

21

Encje słabe

• Definicja

encje słabe (ang. weak entities) nie posiadają własnego unikalnego

identyfikatora, lecz są identyfikowane poprzez związek z encją

nadrzędną (encją identyfikującą). Mówimy wówczas, że związek jest

częścią unikalnego identyfikatora encji słabej. Encja słaba posiada

częściowy unikalny identyfikator rozróżniający instancje należące do

tej samej encji identyfikującej

Pracownik

Dziecko

Posiada Dziecko

p

1

p

2

p

3

d

1

d

2

d

3

r

1

r

2

r

3

Anna

Jan

Anna

22

Notacja (1/3)

Pracownik

Dziecko

Pracuje Nad

Należy Do

nazwisko

PESEL

języki

adres

ulica

dom

kod

wiek

E

1

E

2

R

E

1

E

2

R

E

R

1

N

(min,max)

encja

encja słaba

związek

związek

identyfikujący

atrybut

unikalny

identyfikator

atrybut

wielowartościowy

atrybut

złożony

atrybut

wywiedziony

totalne

uczestnictwo

liczność

związku

ograniczenia

liczności

23

Notacja (Chen) (2/3)

Pracownik

Dziecko

Pracuje Nad

Należy Do

nazwisko

PESEL

języki

adres

ulica

dom

kod

wiek

E

1

E

2

R

E

1

E

2

E

R

(min,max)

encja

encja słaba

związek

związek

identyfikujący

atrybut

unikalny

identyfikator

atrybut

wielowartościowy

atrybut

złożony

atrybut

wywiedziony

uczestnictwo

liczność

związku

ograniczenia

liczności

24

Notacja (Oracle) (3/3)

Pracownik

# PESEL

* Nazwisko

° Data ur

encja

związek 1:1

związek identyfikujący

atrybut wymagany

unikalny identyfikator

atrybut opcjonalny

E

1

E

2

R

E

1

E

2

R

związek wymagany/opcjonalny

E

1

E

2

R

związek 1:N

E

1

E

2

R

background image

25

Hierarchia encji (1/3)

• Nadklasy i podklasy

– podobne encje o wspólnym zbiorze atrybutów można generalizować

za pomocą encji nadklasy (ang.

superclass

), zwaną też encją

generalizacji,

– każda instancja encji podklasy jest jednocześnie wystąpieniem encji

nadklasy, encje podklas mogą być rozłączne lub nakładające się,

– encja podklasy dziedziczy wszystkie atrybuty oraz związki encji

nadklasy

1001

Niebieski

Dyrektor

nr dow: DD 12345

...

1001

Niebieski

Dyrektor

nr dow: DD 12345

...

encje

podklasy

1004

Brown

CFO

pass: AB 001122

...

1004

Brown

CFO

pass: AB 001122

...

Pracownik

id_pracownika

nazwisko

stanowisko

Pracownik

id_pracownika

nazwisko

stanowisko

Pracownik krajowy

nr_dowodu_osobistego
Pracownik zagraniczny

nr_paszportu

encja generalizacji

26

Hierarchia encji (2/3)

• Związki w hierarchii encji

– związki dotyczące encji nadklasy
– związki dotyczące encji podklasy
– związki wykluczające się

Departament

Stanowisko

Jednostka

Organizacyjna

Pracownik

Pracownik

kontraktowy

Pracownik

tymczasowy

Projekt

27

Hierarchia encji (3/3)

Pracownik

Pr.techniczny

Pr.administracyjny

Pr.inżynieryjny

D

encje podklasy są

rozłączne (D) lub

nakładają się (O)

czy każda instancja

encji nadklasy musi

być instancją którejś

z encji podklasy?

PESEL

Nazwisko

Data Ur.

Kategoria

Uprawnienia

28

Specjalizacja i generalizacja

• Specjalizacja

– definiowanie zbioru encji podklas na podstawie encji nadklasy

• Generalizacja

– definiowanie ogólnej encji nadklasy na podstawie istniejącego zbioru

encji, które automatycznie stają się encjami podklas

• Cechy specjalizacji/generalizacji

– definiowane przez predykat, atrybut lub użytkownika
– specjalizacja może być rozłączna lub nakładająca się
– specjalizacja może być pełna lub częściowa

background image

29

Kategorie

• Kategoria

– kolekcja obiektów wystąpień różnych encji powiązanych w jeden typ

nadklasy (typ połączeniowy, ang.

union type

)

– kategoria może mieć charakter pełny lub częściowy
– w przypadku kategorii następuje selektywne dziedziczenie atrybutów

Osoba

Firma

Bank

Nazwisko

Nazwa

Nazwa

U

Właściciel

Samochód

30

Ograniczenia integralnościowe

• Dziedzina wartości

– typ i przedział wartości dla atrybutu: NAZWA VARCHAR2(100)

• Obligatoryjność

– wartość dla każdego wystąpienia encji: * NAZWISKO,

° IMIE

• Unikalność

– unikalna wartość dla każdego wystąpienia encji: # PESEL

• Zawężenie dziedziny wartości

– złożone reguły poprawności atrybutu: CHECK (PLEC IN ('K','M'))

• Dynamika wartości

– kolejność poprawnych wartości: kawaler

→żonaty→wdowiec

31

Podsumowanie

• Encje reprezentują obiekty modelowanego miniświata.

Atrybuty encji dzielimy na:

– proste (atomowe),
– złożone,
– wielowartościowe.

• Związki między encjami charakteryzują się:

– stopniem: związki unarne, binarne, ternarne,
– typem asocjacji: 1:1, 1:N, N:M,
– przynależnością: opcjonalna i obowiązkowa

• Istnieje wiele notacji dla diagramów ER: notacja

podstawowa, notacja Chena, notacje Oracle

• Hierarchie encji

– encje nadklasy i podklasy
– związki wykluczające się, związki nadklas i podklas

32

Pytania

• Zdefiniuj poniższe pojęcia:

– encja, atrybut, instancja związku, atrybut złożony, atrybut

wielowartościowy, atrybut wywiedziony, unikalny identyfikator encji,

stopień związku, typ asocjacji związku, przynależność do związku,

encja słaba, specjalizacja, generalizacja, kategoria

• Odpowiedz na poniższe pytania:

– jaka jest różnica między związkiem i instancją związku?
– kiedy konieczne jest użycie ról w związkach?
– jaka jest różnica między encją i encją słabą?
– jaka jest różnica między związkiem ternarnym i odpowiadającym mu

trzem związkom binarnym?

– jaki rodzaj związku (1:1, 1:N, N:M, opcjonalny/obligatoryjny) jest

logicznie niemożliwy do spełnienia?

background image

33

Zadanie

Malarze malują obrazy, które są prezentowane podczas wystaw. Każdy malarz

posiada unikalny sztuczny identyfikator, imię, nazwisko, narodowość, datę

urodzenia i datę śmierci. Z każdym malarzem może być związana jedna lub więcej

not biograficznych. Każda nota biograficzna posiada swojego autora i określoną

treść. Każdy autor noty biograficznej (opisany przez imię i nazwisko) może

napisać co najwyżej jedną notę o danym malarzu, przy czym jeden autor może

napisać wiele not o różnych malarzach. Nie ma sensu przechowywać noty

biograficznej o malarzu który nie został wprowadzony do bazy danych. Każdy

obraz posiada swój unikalny sztuczny identyfikator, tytuł, oraz datę powstania.

Każdy obraz reprezentuje określony styl malarski. Dla stylu malarskiego należy

pamiętać jego nazwę (nazwa stylu jest unikalna), datę początku i datę końca

występowania danego stylu. Każdy obraz zaliczany jest do jednego i tylko

jednego stylu. Każdy styl posiada malarza, który jest sztandarowym

przedstawicielem tego stylu. Każdy malarz może być sztandarowym

reprezentantem co najwyżej jednego stylu. Obrazy są prezentowane podczas

wystaw. Każda wystawa ma unikalny sztuczny identyfikator, nazwę, datę

rozpoczęcia, datę zakończenia oraz adres. Adres składa się z nazwy obiektu

ekspozycyjnego, ulicy, numeru kodu i nazwy miasta. Każdy obraz może być

prezentowany w ramach wielu wystaw, na każdej wystawie prezentowanych jest

wiele obrazów. W trakcie każdej wystawy dany obraz może być prezentowany

jako własny lub wypożyczony.

34

Zadanie

Należy zbudować system informatyczny wspomagający pracę agencji

organizującej koncerty i festiwale muzyczne.

– Każdy koncert posiada datę, lokalizację (opis miejsca odbywania się koncertu), czas

trwania koncertu (wyrażony w minutach) oraz rodzaj (np. sala koncertowa, klub,

otwarty stadion)

– Każdy koncert odbywa się w określonym mieście. Dla każdego miasta należy pamiętać

nazwę miasta i nazwę kraju

– Koncert może się odbywać jako samodzielne wydarzenie albo może być częścią

większego festiwalu. W ramach festiwalu zawsze odbywa się co najmniej jeden koncert.

Każdy festiwal posiada swoją nazwę, lokalizację oraz rok odbycia. Każdy festiwal

odbywa się w dokładnie jednym mieście (nie ma festiwali które odbywają się

jednocześnie w wielu miastach)

– Na każdy koncert sprzedawane są bilety. Każdy bilet posiada unikalny numer w ramach

koncertu na który został wystawiony. Bilet poza numerem posiada cenę i rodzaj (np.

ulgowy, VIP)

– Koncerty są wykonywane przez wykonawców. Każdy wykonawca reprezentuje jakiś typ

muzyki (np. rock, pop, jazz). Wykonawcą może być solista lub zespół. Dla solisty należy

pamiętać jego nazwisko i datę urodzenia, dla zespołu należy pamiętać nazwę zespołu i

datę założenia zespołu.

– Każdy zespół musi się składać z jednego bądź wielu muzyków, przy czym każdy muzyk

może grać w dowolnej liczbie zespołów. Dla każdego muzyka należy zapamiętać jego

nazwisko, datę urodzenia i instrument na którym gra muzyk.


Wyszukiwarka

Podobne podstrony:
03 przewody kableid 4457 Nieznany (2)
,Modelowanie i symulacja system Nieznany (3)
03 lokalne strategie zapewnieni Nieznany (2)
cw1 modelowanie id 122786 Nieznany
2009 03 26 prezentacja pochodne Nieznany
2010 03 Urazy sportoweid 26986 Nieznany (2)
03 stale i staliwa niestopoweid Nieznany (2)
ei 2005 03 s024 id 154147 Nieznany
17 03 2014 Jaskowskaid 17194 Nieznany (2)
03 Stosowanie norm w produkcji Nieznany (2)
03 Stosowanie przepisow bezpiec Nieznany
Notatki 03 PRODUKT id 322319 Nieznany
Lab 03 Analiza obwodu elektrycz Nieznany
modelowanie ukladow przelaczaja Nieznany
10 03 2013 Wid 10701 Nieznany
22 03 2011 CAid 29468 Nieznany (2)

więcej podobnych podstron