Professional Documents
Culture Documents
01 Modelowanie
01 Modelowanie
2023
WPROWADZENIE DO MODELOWANIA
DIAGRAM ERD, RDB
Aktualizacja: 2023-10-02
1
17.10.2023
2
17.10.2023
Dane a informacje
5
Istota danych
6
3
17.10.2023
Istota danych
7
4
17.10.2023
Modelowanie danych
9
Modelowanie danych
10
5
17.10.2023
12
6
17.10.2023
7
17.10.2023
8
17.10.2023
Modelowanie „w skrócie”
17
9
17.10.2023
Modele - przykłady
20
10
17.10.2023
Model związków-encji
21
Encja
22
11
17.10.2023
Modelowanie encji
23
Przykład
Firma zatrudnia pracowników. Chcemy przechowywać informacje nt. danych
personalnych pracowników (imię, nazwisko, adres i numer telefonu).
Model
Ponieważ wszyscy pracownicy firmy mają takie same cechy, więc encja
będzie posiadała 4 atrybuty: imię, nazwisko, adres, nr_telefonu
Modelowanie encji
24
Przykład
Parking firmy jest przeznaczony do parkowania wielu różnych samochodów.
Chcemy przechowywać informacje o samochodach (marka, model, numer
rejestracyjny), które mogą parkować na parkingu firmy
Model
Najważniejszym obiektem modelu w opisie jest samochód opisany marką,
modelem i numerem rejestracyjnym. Każdy samochód będzie więc
reprezentowany za pomocą encji o nazwie Samochód z 3 atrybutami: marka,
model, nr_rejestracyjny.
12
17.10.2023
Atrybuty
25
Atrybut cd.
26
Atrybut musi spełniać określone zadanie, tzn. identyfikować, opisywać, klasyfikować, określać
ilość lub wyrażać stan encji.
Atrybuty można podzielić na atrybuty identyfikacyjne i opisowe.
Identyfikator to atrybut lub zbiór atrybutów jednoznacznie identyfikujący wystąpienie encji.
Mogą być identyfikatory naturalne, pochodzące z rzeczywistości, zweryfikowane już w innych
systemach — np. w opisie pracownika będą to PESEL, NIP, REGON czy nr dowodu osobistego.
Identyfikatorem sztucznym jest atrybut numeryczny dodany do opisu w celu numerowania
kolejnego wystąpienia encji, np. Nr pracownika, Nr katalogowy itp.
Deskryptor - atrybut opisowy (deskrypcyjny) to każdy atrybut poza identyfikatorem.
Reprezentuje podstawowe własności encji przechowywane w bazie.
Wartości deskryptorów mogą być opcjonalne
lub obowiązkowe.
W notacji Barkera stosuje się następujące znaki
dla oznaczenia rodzaju atrybutu:
# — oznacza identyfikator, atrybut taki ma unikalne
i obligatoryjne wartości,
* — oznacza atrybut z wartościami obligatoryjnymi,
o — oznacza atrybut z wartościami opcjonalnymi.
13
17.10.2023
Atrybuty
28
Przykład
Pracownicy firmy są opisani imieniem i nazwiskiem, numerem PESEL,
adresem zamieszkania, pensją i opcjonalnie numerem telefonu
Model
Identyfikator encji
Atrybuty z wartościami
obowiązkowymi
14
17.10.2023
Atrybuty
29
Przykład
Pracownicy firmy są opisani imieniem i nazwiskiem, numerem PESEL,
adresem zamieszkania, pensją i opcjonalnie numerem telefonu
Model
Identyfikator encji
Atrybuty z wartościami
obowiązkowymi
Uwaga1 - PESEL – dana wrażliwa, teraz jest identyfikatorem, jeżeli tak pozostanie to w bazie relacyjnej
jako klucz główny będzie w zdecydowanej większości 99% zapytań i jako klucz obcy
Uwaga2 – adres, zgodnie z zasadami normalizacji powinien być bardziej szczegółowy; na diagramie
encji może pozostać, jednak później w diagramie relacyjnym powinien być rozbudowany
Typy związków
30
15
17.10.2023
Typy związków
31
Modelowanie związków
32
Przykład
Pracownicy firmy posiadają różne samochody. Chcemy przechować
informację na temat faktu posiadania samochodu przez pracownika.
związek
opis związku
16
17.10.2023
Przykład
33
Przykład
Pracownicy firmy posiadają samochody. W celu udostępnienia miejsca
parkingowego należy zarejestrować pracownika i jego samochód. Każdy
pracownik ma prawo parkować tylko jeden konkretny samochód. Nie każdy
pracownik ma samochód. Zarejestrowany w rejestrze parkingowym
samochód na pewno jest własnością jednego pracownika.
Wiemy, że istnieje związek pomiędzy pracownikami a
samochodami i potrafimy to zamodelować, ale ….
…. z modelu chcielibyśmy wiedzieć:
Ile samochodów może posiadać pracownik?
Ilu pracowników może posiadać ten sam samochód?
Czy każdy samochód musi do kogoś należeć?
Czy każdy pracownik musi posiadać samochód?
Przykład cd.
34
17
17.10.2023
Przykład cd.
35
Związek Pracownik-Samochód
Typ asocjacji
Stopień związku: binarny
Pracownik (1):Samochód (1)
Przykład
Każdy dział musi mieć kierownika, natomiast pracownik może być
kierownikiem co najwyżej jednego działu.
18
17.10.2023
Przykład
Każdy pracownik pracuje dokładnie w jednym dziale. Dział może zatrudniać
(ale nie koniecznie) wielu pracowników.
Przykład
Drużyna piłkarska musi być złożona z zawodników
nie ma drużyny bez zawodników
Każdy piłkarz należy do dokładnie jednej drużyny
piłkarz, który nie należy do drużyny (nie gra) nie jest piłkarzem
19
17.10.2023
Przykład
Z każdym rachunkiem bankowym musi być związana historia operacji na nim
istniejąca operacja została wykonana na konkretnym rachunku
Nie istnieją operacje nie związanych z rachunkiem
Przykład
Pracownik może brać udział w jednym lub wielu projektach; może też nie
brać udziału w żadnym projekcie. Każdy projekt realizuje przynajmniej jeden
pracownik.
20
17.10.2023
Przykład
każdy student może należeć do jednej lub wielu organizacji studenckich
mogą istnieć studenci nie należący do żadnej organizacji
dana organizacja może zrzeszać jednego lub wielu studentów
mogą istnieć organizacje, które nie zrzeszają żadnego studenta
Atrybuty związku
42
Przykład
Związek binarny typu wiele-do-wiele (M:N)
Pracownik może brać udział w jednym lub wielu projektach; może też nie
brać udziału w żadnym projekcie. Każdy projekt realizuje przynajmniej jeden
pracownik. Dla pracowników, którzy biorą udział w projektach należy
zapamiętać ich funkcję, wynagrodzenie oraz daty początku i końca ich udziału
w projekcie.
21
17.10.2023
Atrybuty związku
43
Encja słaba
44
22
17.10.2023
23
17.10.2023
Związki ternarne
48
24
17.10.2023
Związki ternarne
49
25
17.10.2023
Związki wyłączne
51
Związek generalizacji
określa, że pewne encje o wspólnym zbiorze atrybutów można uogólnić i
stworzyć encję wyższego poziomu tj. encję generalizacji, , zwaną często
nadencją
Encje niższego poziomu w hierarchii generalizacji to encje specjalizacji, ,
zwane również podencjami
Relacja opisująca związki typu generalizacja/specjalizacja pomiędzy encjami
to hierarchia generalizacji/specjalizacji lub hierarchia encji
26
17.10.2023
Hierarchia encji
53
Dziedziczenie atrybutów
Przykład
Firma zatrudnia pracowników kontraktowych i godzinowych. Wszyscy pracownicy
posiadają pewien zbiór wspólnych atrybutów (PESEL, imię, nazwisko, adres).
Pracownicy kontraktowi i godzinowi posiadają specyficzne dla siebie atrybuty. Dla
pracowników kontraktowych jest to numer kontraktu, a dla pracowników
godzinowych są to: liczba godzin pracy w tygodniu i stawka godzinowa.
Hierarchia encji
54
Interpretacja
podencje dziedziczą wszystkie atrybuty swojej
nadencji
każde wystąpienie nadencji jest zawsze
wystąpieniem jednej podencji
semantyka związku generalizacji oznacza, że każde
wystąpienie podencji JEST wystąpieniem nadencji
pracownik kontraktowy JEST pracownikiem
pracownik godzinowy JEST pracownikiem
identyfikator nadencji jest wspólny dla wszystkich jej
podencji
podencje nie posiadają swoich identyfikatorów
27
17.10.2023
Hierarchia encji
55
Oprócz atrybutów, nadencja może posiadać związki wspólne dla wszystkich jej podencji.
Związek encji KLIENT z encją DYSPONENT dotyczy zarówno klientów osoby fizyczne jak i klientów
osoby prawne.
Podobnie jest w przypadku związku encji RACHUNEK z encją DYSPONENT.
Podencje mogą wchodzić w związki specyficzne wyłącznie dla siebie.
Związek podencji ROR z encją HIST_OPERACJI jest związkiem specyficznym dla ROR, tj. obowiązuje tylko dla tej
podencji.
Związki niedozwolone
56
28
17.10.2023
29
17.10.2023
30
17.10.2023
Pojęcia podstawowe
61
Pracownicy (
PESEL PRIMARY KEY,
adres NOT NULL,
pensja NOT NULL,
telefon NULL )
31
17.10.2023
32
17.10.2023
Uwagi
66
Przypadek 2
został
omówiony na
poprzednim
slajdzie
33
17.10.2023
34
17.10.2023
Przykład
70
35
17.10.2023
Związek unarny
71
36
17.10.2023
Przykład
73
Związki ternarne
74
37
17.10.2023
Hierarchia encji
75
38
17.10.2023
39
17.10.2023
CD.
79
40
17.10.2023
Literatura
82
41