Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Relacyjny model danych - model E/R
Wykład 2
9.10.2007
Antoni Dydejczyk
http://www.ftj.agh.edu.pl/~antek
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Plan wyk
Plan wyk
ł
ł
adu
adu
Proces tworzenia baz danych
Wprowadzenie modelu E/R
Przykład analizy problemu – diagram ERD
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projektowanie baz danych
Projektowanie baz danych
Cel tworzenia bazy danych
Określamy powiązania pomiędzy danymi
Określamy sposób organizacji
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Perspektywy w modelowaniu poj
Perspektywy w modelowaniu poj
ę
ę
ciowym
ciowym
... ...
...
... ...
...
... ...
...
... ...
...
... ...
...
... ...
...
Percepcja
rzeczywistego
ś
wiata
Analityczny
model
rzeczywistości
Model
struktur danych
i procesów SI
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Proces tworzenia baz danych
Proces tworzenia baz danych
Ś
wiat
rzeczywisty
Ś
wiat
rzeczywisty
Analiza
wymagań
Modelowanie
logiczne
System bazy danych
System bazy danych
Modelowanie
koncepcyjne
Modelowanie
koncepcyjne
Modelowanie
schematów
Integracja
schematów
Modelowanie
fizyczne
Ilość danych,
Użycie, analiza
integralności
Decyzje
implementacyjne
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt logiczny bazy danych
Projekt logiczny bazy danych
Istniejąca
baza danych
Działalność
organizacyjna
Diagramy E-R
Normalizacja
Uzgodnienie
Schemat
logiczny
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Modele cyklu
Modele cyklu
ż
ż
ycia oprogramowania
ycia oprogramowania
Model kaskadowy (wodospadowy)
Model spiralny
Prototypowanie
Monta
ż
z gotowych komponentów
Okre
ś
lenie wymaga
ń
Projektowanie Implementacja Testowanie Konserwacja
Faza strategiczna Analiza
Instalacja
Dokumentacja
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Model kaskadowy
Model kaskadowy
Okre
ś
lenie
wymaga
ń
Okre
ś
lenie
wymaga
ń
Projektowanie
Projektowanie
Implementacja
Implementacja
Testowanie
Testowanie
Konserwacja
Konserwacja
Cele i szczegółowe wymagania wobec systemu.
Szczegółowy projekt
systemu uwzgl
ę
dniaj
ą
cy
wcze
ś
niejsze
wymagania.
Modyfikacje producenta -
usuni
ę
cie bł
ę
dów, zmiany i
rozszerzenia.
Analiza
Analiza
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Atestowanie (przez klienta).
Je
ż
eli ocena nie jest w pełni
pozytywna, rozpoczynany jest
kolejny cykl.
Planowanie: Ustalenie
celów produkcji
kolejnej wersji
systemu
Model spiralny
Model spiralny
Analiza ryzyka
(ew. budowa prototypu)
Konstrukcja
(model kaskadowy)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Implementacja
Implementacja
Model opisu
danych
(E/R, ODL)
Model opisu
danych
(E/R, ODL)
Problem
Problem
Baza
danych
Baza
danych
Diagram (E/R)
Tabele:
atrybuty, krotki
Organizacja
plików i
indeksów
Schemat
relacyjny
Schemat
relacyjny
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Model E/R
Model E/R
Model związków encji – najlepiej znany model danych, nazywanych
modelami „rozszerzonymi” lub semantycznymi.
Naszym celem jest przedstawienie danych w bazach danych jak
najbardziej oddających rzeczywistość.
Zasady modelowania semantycznego mogą stanowić użyteczną
pomoc w systematycznym projektowaniu baz danych, nawet jeśli
SZBD bezpośrednio nie wspiera takiego modelowania.
Metody projektowania oparte na zasadach modelowania nazywa się
często metodami „z góry w dół”, ponieważ zaczynają one wysokiego
poziomu abstrakcji obiektów „świata rzeczywistego” („encje”), a
kończą na stosunkowo niskim poziomie abstrakcji zawartym w
określonym projekcie bazy danych.
Model ERD (entity-relationship-diagrams) przedstawia konceptualną
reprezentację otaczającego świata, składającego się z obiektów i
relacji pomiędzy nimi.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
ERD
ERD
–
–
Diagramy zwi
Diagramy zwi
ą
ą
zk
zk
ó
ó
w
w
Encji
Encji
Diagramy związków encji przekształcają rzeczywisty świat
na zbiory entek oraz relacji zachodzących między nimi.
Znajdują one szerokie zastosowanie w projektowaniu baz
danych, zwłaszcza przy analizie zależności funkcyjnych,
usuwaniu problemów związanych z redundancją danych
oraz przy organizacji struktury bazy.
Technikę tą wykorzystuje się również przy projektowaniu i
specyfikacji oprogramowania nie tylko na etapie
dotyczącym projektu baz danych, ale i przy projekcie i
analizie poszczególnych modułów oprogramowania.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Definicja poj
Definicja poj
ęć
ęć
1. Określamy zbiór pojęć, opisujący dane świata
rzeczywistego
Jeżeli potrzeba przechować dane na temat wielu własności
jakiejś rzeczy, to taka rzecz jest encją.
2. Wyróżniamy typ encji, właściwości oraz szczególną
własność służącą do identyfikacji – tożsamość. W modelu
własności te nazywamy atrybutami.
3. Powiązania pomiędzy encjami nazywamy związkami.
Wyróżniamy związki jeden do jeden, jeden do wiele (można
też wiele do jeden), oraz wiele do wiele .
4. Wprowadzamy model E/R - encja/związek
(entity/relationship) – w oparciu o który budujemy
diagramy E/R.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Encja
Encja
Encja – pewien aspekt świata rzeczywistego, który można
odróżnić od innych aspektów świata rzeczywistego. Jest to
rzecz istniejąca niezależnie i jednoznacznie zidentyfikowana.
Przyjmuje się, że encja jest dalej nierozbieralna.
Przykłady zbiorów encji:
•
osoby,
•
samochody,
•
części zamienne,
Obiekt w zależności od poziomu abstrakcji traktujemy jako
encję lub zbiór encji. Encje mogą istnieć rzeczywiście, bądź są
wprowadzane jako obiekty abstrakcyjne.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Metody definiowania zbior
Metody definiowania zbior
ó
ó
w
w
encji
encji
• ekstencjonalnie - wyliczenie elementów np.:
{męski, żeński, nijaki}
{Pn, Wt, Śr, Czw, Pt, So, Ni}
{a, b, c,...,x,y, z}
{0, 1,..., 9}
• intencjonalnie - specyfikacja własności np.:
{x
∈
N: x jest podzielne przez 2}
• operacje algebry zbiorów
• operacje logiczne
• nie sprecyzowane np.: nazwisko
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Atrybuty
Atrybuty
encji
encji
Informacja o encji jest wyrażana przez zbiór par (atrybut,
wartość), np.:
kolor =‘blue’
waga = 45
cena = 120
ilość = 3
Dany zbiór atrybutów może być traktowany jako typ encji.
Zwykle w tabelach umieszcza się zbiory encji tego samego
typu.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Typy obiekt
Typy obiekt
ó
ó
w (
w (
encji
encji
)
)
1.
Każde wystąpienie musi być zdefiniowane unikatowo.
2.
Każde z nich pełni niezbędną rolę w budowanym systemie.
3.
Każde wystąpienie może być opisane przez jeden lub więcej
elementów (atrybutów), z których każdy ma swoją dziedzinę.
4.
Te same atrybuty opisują każde wystąpienie tego samego obiektu.
Wyróżniamy następujące typy obiektów:
Obiekt
Obiekt asocjacyjny
Obiekt słaby
(notacja Martina)
obiekt
obiekt
asocjacyjny
Obiekt słaby
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Klucz
Klucz
Pojedynczy atrybut lub ich zestaw pozwalający jednoznacznie
zidentyfikować encję. W danym zbiorze może być wiele
kluczy.
Powiązania między encjami (zb. encji) /relacje.
Założenia:
encje są rozróżnialne
musi istnieć klucz
istnienie klucza wśród atrybutów zależy od
interpretacji i zasięgu bazy danych
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Typy powi
Typy powi
ą
ą
za
za
ń
ń
(relacji, zwi
(relacji, zwi
ą
ą
zk
zk
ó
ó
w)
w)
1
2
3
a
b
c
d
1
2
3
a
b
c
d
1
2
3
a
b
c
d
powiązania typu 1 do 1
("1 - 1")
powiązania jednoznaczne
1 do n ("1 - n" )
powiązania wieloznaczne
n do m ("n - m")
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Mo
Mo
ż
ż
liwe relacje
liwe relacje
Możliwe relacje (notacja Martina)
Start
Koniec
brak
jeden (1:1)
brak lub jeden (0:1)
wiele (M:N)
zero lub wiele (0:M)
jeden lub wiele (1:M)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Przyk
Przyk
ł
ł
adowe diagramy ERD
adowe diagramy ERD
obiekt
obiekt
asocjacyjny
Obiekt słaby
obiekt
obiekt
obiekt
obiekt
obiekt
obiekt
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Przyk
Przyk
ł
ł
adowe diagramy ERD
adowe diagramy ERD
Filmy-obsada
Studio
Ludzie
Film
Filmy-plener
Plener
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Analiza wymaga
Analiza wymaga
ń
ń
i specyfikacja oprogramowania
i specyfikacja oprogramowania
Diagramy związków encji znajdują zastosowanie w
wielu dziedzinach w tym między innymi podczas
projektowania oprogramowania.
W zależności od poziomu abstrakcji ERD może
służyć do:
•
opisu położenia danych w systemie na wysokim
poziomie abstrakcji,
•
uniezależnienia danych od procesów na nich
operujących,
•
wyróżnienia związków pomiędzy zbiorami danych
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projektowanie baz danych
Projektowanie baz danych
W tym zastosowaniu ERD służy do analizy powiązań i
zależności pomiędzy poszczególnymi tabelami oraz do
usuwania problemów z tym związanych.
Wykorzystuje się je głównie przy:
analizie zależności funkcyjnych w bazie danych,
wykrywaniu i usuwaniu problemów z redundancją
(nadmiarowością) danych,
projektowaniu struktury bazy,
czytelnej i przejrzystej wizualizacji położenia atrybutów,
analizy powiązań przy definiowaniu i wykorzystywaniu
kluczy złożonych.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
Jakie dane będą zawarte w bazie?
Na początek wstawiamy do bazy następujące
informacje:
• dane o studentach
• dane o wykładowcach
• dane o kursach
• dane o wykładach
• dane o salach wykładowych
Dodatkowe informacje i warunki będą dodawane w
trakcie budowania schematu ERD.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
Tworzymy encje:
• Encja Student
• Encja Profesor
• Encja Kurs
• Encja Klasa
• Encja Sala
Student
Numer identyfikacyjny
Nazwisko
Imie
Pesel
Adres zamieszkania
Telefon domowy
Płeć
Adres tymczasowy
Przykładowe atrybuty encji: Student
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
KLASA
KURS
STUDENT
SALA
PROFESOR
Koncepcja schematu logicznego „Mała Uczelnia”
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
GRUPA
KURS
STUDENT
SALA
PROFESOR
Relacja:
Kurs – grupa (1:M)
Relacja:
Kurs – grupa (1:M)
Relacja:
Grupa – student (M:N)
Relacja:
Grupa – student (M:N)
Relacja:
Sala – grupa (1:M)
Relacja:
Sala – grupa (1:M)
Relacja:
Profesor – grupa (1:M)
Relacja:
Profesor – grupa (1:M)
?
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
GRUPA
STUDENT
Problem: rejestracja studenta na kurs
Do danej grupy może należeć określona
ilość studentów np. 35.
Student może się zapisać na kilka kursów
np. 5.
1
M
M
1
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
SALA
GRUPA
Problem: program zajęć
W danej sali mogą być prowadzone zajęcia
dla kilku grup, jednak grupa ma zajęcia w
tylko w jednej sali.
Profesor może prowadzić zajęcia dla kilku
grup (np. 3).
1
M
M
PROFESOR
1
Relacja Uczy
Relacja Wymaga
Dla danej grup zajęcia prowadzi tylko
jeden profesor.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
1.
„Mała Uczelnia” składa się z kilku wydziałów
administrowanych przez dziekanów. Relacja pomiędzy
wydziałem i dziekanem jest 1:1.
2.
Każdy dziekan należy do grupy Administrator. Jeżeli
Dziekan wykłada należy również do grupy Profesor.
Członkowie grup Administratorzy i Profesorowie należą
do grupy Pracownik.
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
PRACOWNIK
GRUPA
PROFESOR
WYDZIAŁ
ADMINISTRATOR
Jest szefem
Uczy
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
PRACOWNIK
GRUPA
PROFESOR
WYDZIAŁ
ADMINISTRATOR
Jest dziekanem
Uczy
PROFESOR
PRACOWNIK
Zatrudniony
(1,1)
(0,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
3.
Na wydziale jest kilka zakładów (katedr).
4.
Najmniejsza ilość zakładów (katedr) wynosi 1, natomiast
największa ilość zakładów (katedr) jest nielimitowana.
5.
Każdy zakład (katedra) należy tylko do jednego wydziału.
PROFESOR
WYDZIAŁ
Jest dziekanem
(0,1)
(1,1)
KATEDRA
Obsługuje
(1,N)
(1,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
6.
Każdy zakład (katedra) oferuje studentom kilka kursów.
KATEDRA
KURS
Oferuje
(1,N)
(1,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
7.
Każdy zakład (katedra) oferuje kilka oddzielnym grup dla
danego kursu.
8.
Zachodzi relacja 1:N pomiędzy encjami KURS i GRUPA
9.
Encja GRUPA jest opcjonalna dla encji KURS
KURS
GRUPA
Tworzy
(0,N)
(1,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
10.
Każdy zakład (katedra) posiada kilkunastu profesorów,
którzy należą do niego.
11.
Jeden z profesorów jest kierownikiem zakładu (katedry).
Tylko jeden z profesorów może być kierownikiem
zakładu.
12.
Encja WYDZIAŁ jest opcjonalna w relacji „Jest szefem”
dla opcji PROFESOR.
PROFESOR
WYDZIAL
Jest kierownikiem
(0,1)
(1,1)
Należy do
(1,1)
(1,N)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
13.
Każdy profesor może uczyć do czterech kursów, ale tylko
w jednej grupie dla danego kursu.
14.
Profesor może być zatrudniony na kontrakcie naukowym i
nie uczyć na żadnym kursie.
PROFESOR
GRUPA
Uczy
(0,4)
(1,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
15.
Student może się zapisać do kilku grup, ale tylko raz może
się zapisać do danej grupy.
16.
Każdy student może się zapisać np. do sześciu grup i
każda grupa może mieć np. po 35 studentów.
17.
Encja STUDENT jest opcjonalna dla encji GRUPA.
STUDENT
GRUPA
ZAPISANY
(1,1)
(0,35)
(1,6)
(1,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
18.
Każdy zakład (katedra) posiada kilku studentów którzy
realizują przedmioty kierunkowe w danym zakładzie
(katedrze).
19.
Każdy student może posiadać tylko jeden przedmiot
kierunkowy i jest on powiązany tylko z jednym zakładem
(katedrą).
KATEDRA
STUDENT
Posiada
(1,N)
(1,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
20.
Każdy student posiada opiekuna w swoim zakładzie
(katedrze), opiekun może posiadać kilku studentów.
21.
Opiekun jest również profesorem, jednak nie każdy
profesor opiekuje się studentami.
PROFESOR
STUDENT
Opiekuje się
(0,N)
(1,1)
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
Proponowane encje dla naszego projektu:
Wydział
Katedra
Pracownik
Profesor
Kurs
Grupa
Zapisany (łączy encje: Grupa, Student)
Student
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
GRUPA
N:M
ZAPISANY
STUDENT
KATEDRA
N:1
Należy do
PROFESOR
STUDENT
1:N
Opiekuje się
PROFESOR
GRUPA
1:N
Uczy
PROFESOR
KATEDRA
1:1
Jest kierownikiem
PROFESOR
WYDZIAŁ
1:1
Jest dziekanem
PROFESOR
PRACOWNIK
1:1
Zatrudniony
PROFESOR
GRUPA
1:N
Tworzy
KURS
KURS
1:N
Oferuje
KATEDRA
STUDENT
1:N
Posiada
KATEDRA
KATEDRA
1:N
Obsługuje
WYDZIAŁ
Encja
Stopień
Relacja
Encja
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Projekt
Projekt
„
„
Ma
Ma
ł
ł
a uczelnia
a uczelnia
”
”
Antoni Dydejczyk, Bazy danych, wykład 2
WFiIS, Katedra Informatyki Stosowanej, 2007
Pytania ...
Pytania ...