background image

Krzysztof Regulski
AGH, WIMiIP, ZIP

Bazy Danych i SQL

- Projektowanie baz danych (1). E-R Model.

background image

2

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Etapy projektowania baz danych:

1.

Specyfikacja wymaga

ń

u

Ŝ

ytkownika

- okre

ś

lenie zjawisk, 

dost

ę

pno

ś

ci i u

Ŝ

yteczno

ś

ci danych, ich formatu i sposobów oblicze

ń

cele, zakres i kontekst systemu

2.

Projektowanie konceptualne

- projektowanie schematu E–R bazy. 

U

Ŝ

ycie modelu E–R wpływa równie

Ŝ

na realizacj

ę

pozostałych faz.

3.

Specyfikacja wymaga

ń

funkcjonalnych

- dokładny opis wymaga

ń

klienta i wszystkich przyszłych u

Ŝ

ytkowników systemu

4.

Projektowanie logiczne i fizyczne

5.

Implementacja

background image

3

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Projektowanie bazy danych:

Projektowanie logicznej struktury bazy:

Etap I:

okre

ś

lenie encji i zdefiniowanie atrybutów opisuj

ą

cych encje

przyporz

ą

dkowanie encji do zjawisk 

standaryzacja nazw i formatów 

identyfikacja 

ź

ródeł danych 

Etap II:

okre

ś

lenie zwi

ą

zków mi

ę

dzy encjami

identyfikacja typu zwi

ą

zków (relacji) (1-1, 1-M, N-M)

Etap III:

normalizacja relacji

obni

Ŝ

enie redundancji i wyeliminowanie anomalii (usuwania, wstawiania i 

aktualizacji)

Projektowanie fizycznej struktury bazy:

nało

Ŝ

enie struktury logicznej na fizyczne urz

ą

dzenia 

background image

4

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Projektowanie bazy danych:

(1)

(2)

(3)

(4)

(5)

FAKTY W 

Ś

WIECIE RZECZYWISTYM

PODZBIÓR J

Ę

ZYKA NATURALNEGO DO 

FORMUŁOWANIA WYPOWIEDZI O 

FAKTACH W 

Ś

WIECIE RZECZYWISTYM

ABSTRAKCYJNY MODEL 

Ś

WIATA RZECZYWISTEGO

KONCEPTUALNA BAZA DANYCH

LOGICZNA BAZA DANYCH

PRZEDSTAWIENIE 

ABSTRAKCYJNEGO MODELU 

ZA POMOC

Ą

DIAGRAMU E-R

background image

5

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Wybór schematu relacji:

Projekt bazy danych polega na znalezieniu wła

ś

ciwych schematów relacji 

tworz

ą

cych baz

ę

danych

Niewła

ś

ciwy projekt

(niewła

ś

ciwe schematy) mog

ą

prowadzi

ć

do

Redundancji (powtarzania informacji).

Niemo

Ŝ

liwo

ś

ci reprezentowania pewnych informacji.

Anomalii zwi

ą

zanych z operowaniem danymi (głównie modyfikacj

ą

danych)

Cele

:

Unikanie redundancji danych

Zapewnienie reprezentowania zwi

ą

zków mi

ę

dzy danymi

Zachowanie warunków integralno

ś

ci (umo

Ŝ

liwienie kontroli warunków integralno

ś

ci 

podczas modyfikacji danych).

background image

6

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Modelowanie konceptualne:

Model poj

ę

ciowy (konceptualny, podstawowy):

Zapis wymaga

ń

w postaci sformalizowanej, abstrahuj

ą

cy od 

problemów implementacyjnych („co” a nie „jak”)

Zawiera

modele graficzne

tekstowe (ale te

Ŝ

sformalizowane) uzupełnienia modeli graficznych

Jest wa

Ŝ

ny, poniewa

Ŝ

:

reprezentuje istot

ę

wymaga

ń

nie zale

Ŝ

y od zmiennych mo

Ŝ

liwo

ś

ci implementacji

jest dobr

ą

podstaw

ą

do projektowania systemów maj

ą

cych funkcjonowa

ć

przez 

wiele lat

background image

7

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Wymagania:

Spełnienie wymaga

ń

u

Ŝ

ytkownika jest naszym celem działania

Wymagania musz

ą

wi

ę

c by

ć

dokładnie znane

Poprawne i kompletne sformułowanie wymaga

ń

na ogół nie jest proste

Nale

Ŝ

y odró

Ŝ

nia

ć

funkcje

systemu od 

mechanizmów

, czyli sposobów 

implementacji funkcji

Modelowa

ć

dane niezale

Ŝ

nie od przyszłej implementacji -

modelowanie E/R

Tworz

ą

c model poj

ę

ciowy nie mo

Ŝ

na formułowa

ć

zastrze

Ŝ

e

ń

co do 

realizowalno

ś

ci wymaga

ń

Zaprojektowa

ć

dobry schemat -

normalizacja

background image

8

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Cel modelowania E-R:

Model 

E-R

słu

Ŝ

y do nieformalnego przedstawienia projektu bazy 

danych.

Projekt ma posta

ć

graficzn

ą

zwan

ą

diagramem 

E-R

(entity-relationship

diagram), diagramem 

jednostka-zwi

ą

zek

lub diagramem 

zwi

ą

zków 

encji

Istnieje procedura (pół)automatycznej transformacji diagramu 

E-R

do 

konkretnej implementacji, na przykład do relacyjnej bazy danych.

background image

9

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Encja (zbiory encji):

Encja (entity)

- model rzeczy, osób, zjawisk, poj

ęć

itp., o których chcemy przechowywa

ć

informacje,

które maj

ą

to

Ŝ

samo

ść

(s

ą

rozró

Ŝ

nialne)

Np. konkretna osoba, firma, zdarzenie

Zbiór encji (entity set)

– zbiór (klasa) obiektów, 

które s

ą

tego samego typu (maj

ą

wspólne 

własno

ś

ci), inaczej: zbiór wyst

ą

pie

ń

(instancji) tej 

klasy

Np. zbiór osób, zbiór firm, zbiór okre

ś

lonych zdarze

ń

Sło

ń

Adam

12347

Lis

Ewa

12346

Pies

Jan

12345

student

encja

zbiór encji

W diagramach E-R zbiory encji oznaczane s

ą

prostok

ą

tami

:

student

background image

10

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Atrybuty:

Zbiór encji (i ka

Ŝ

da z nich) jest opisywany przez 

zestaw atrybutów

które odpowiadaj

ą

własno

ś

ciom posiadanym przez wszystkie obiekty 

reprezentowane przez ten zbiór. Np.:

student = (nr_albumu, imie, nazwisko)

Dziedzina atrybutu

– zbór dopuszczalnych warto

ś

ci, jakie mo

Ŝ

przyjmowa

ć

dany atrybut na danym zbiorze encji. Dziedzina 

uzupełniona jest o warto

ść

NULL

oznaczaj

ą

c

ą

Ŝ

e encja nie posiada 

warto

ś

ci atrybutu lub jest on nieznany.

Atrybuty

:

proste vs. pochodne (mog

ą

by

ć

obliczone na podstawie innych informacji w bazie),

proste vs. zło

Ŝ

one.

background image

11

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Atrybuty proste vs. zło

Ŝ

one (przykład):

W diagramach atrybuty oznaczane s

ą

elipsami

:

Atrybuty zło

Ŝ

one 

elipsami z podwójn

ą

lini

ą

:

Atrybuty pochodne 

elipsami z przerywanej linii

:

nazwa

nazwa

nazwa

background image

12

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Zbiory zwi

ą

zków:

Zwi

ą

zek

(relationship) reprezentuje relacj

ę

pomi

ę

dzy pewnymi encjami 

(obiektami). Np.:

Jan Kowalski

encja: 

pracownik

B3 Betatrex

encja: 

oddzial

pracuje w

W diagramach E-R zbiory 

zwi

ą

zków oznaczane s

ą

rombami

background image

13

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Zbiór zwi

ą

zków (przykład):

student

oceny

ma

background image

14

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Diagramy E-R – symbole podstawowe:

Prostok

ą

ty

– zbiory encji

Elipsy

– atrybuty

Elipsy 

linia podwójna

– atrybuty zło

Ŝ

one

Elipsy 

linia przerywana

– atrybuty pochodne

Romby

– zbiory zwi

ą

zków

Linie

– ł

ą

cz

ą

zbiory encji ze zbiorami zwi

ą

zków oraz atrybuty ze 

zbiorami encji i zwi

ą

zków

background image

15

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Stopie

ń

zbioru zwi

ą

zków:

Stopie

ń

zbioru zwi

ą

zków

(degree of a relationship set) okre

ś

lony jest 

przez liczb

ę

zbiorów encji, które pozostaj

ą

w danym zwi

ą

zku.

Zwi

ą

zek dwóch zbiorów encji nazywany jest 

binarnym

(stopie

ń

= 2).

Wi

ę

kszo

ść

zwi

ą

zków obserwowanych  w 

ś

wiecie rzeczywistym to 

zwi

ą

zki binarne.

W zwi

ą

zku mo

Ŝ

e uczestniczy

ć

pewna, wi

ę

ksza od 2 ilo

ść

zbiorów encji 

zwi

ą

zek 

n-arny

(stopie

ń

n) – mówimy wtedy o zwi

ą

zku 

wieloargumentowym lub wieloczłonowym.

Np. zbiory encji: 

przedmiot, prowadzacy

oraz

student

mog

ą

by

ć

poł

ą

czone 

zwi

ą

zkiem o stopniu = 3.

prowadzacy

ma 

zaj

ę

cia

przedmiot

student

background image

16

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Stopie

ń

przyporz

ą

dkowania (krotno

ść

zwi

ą

zków):

Stopie

ń

przyporz

ą

dkowania

zbiorów encji do zwi

ą

zku (relacji) 

okre

ś

lony jest przez ilo

ść

encji z ka

Ŝ

dego zbioru, które s

ą

ze sob

ą

tym zwi

ą

zku powi

ą

zane.

Rodzaje zwi

ą

zków binarnych

ze wzgl

ę

du na stopie

ń

przyporz

ą

dkowania:

jeden do jeden

jeden do wielu 

wiele do wielu

W diagramie E-R

rodzaje zwi

ą

zków s

ą

oznaczane w nast

ę

puj

ą

cy 

sposób:

(grot strzałki) oznacza stopie

ń

przyporz

ą

dkowania jeden

— (brak grotu) – wielu

lub:

background image

17

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Stopie

ń

uczestnictwa:

Je

Ŝ

eli ka

Ŝ

da encja zbioru 

musi

bra

ć

udział w zwi

ą

zku, wówczas jest 

on całkowity (uczestnictwo obowi

ą

zkowe); w przeciwnym razie –

cz

ęś

ciowy (uczestnictwo opcjonalne).

W diagramie E-R linie podwójne

ł

ą

cz

ą

zbiory encji ze zbiorami 

zwi

ą

zków w przypadku całkowito

ś

ci.

Wyst

ę

powanie encji pewnego zbioru (istnienie obiektu w 

rzeczywisto

ś

ci) mo

Ŝ

e zale

Ŝ

e

ć

od wyst

ę

powania encji (obiektu) innego 

zbioru. 

Je

Ŝ

eli wyst

ę

powanie encji x zale

Ŝ

y od y (is existence dependent on), 

to:

jest encj

ą

nadrz

ę

dn

ą

(dominuj

ą

c

ą

)  (dominant entity)

jest encj

ą

podrz

ę

dn

ą

(subordinate entity)

Np. je

ś

li encja dominuj

ą

ca 

student

zostanie usuni

ę

ta z bazy, to 

wszystkie wyst

ą

pienia zwi

ą

zanych z ni

ą

encji

oceny

tak

Ŝ

e musz

ą

zosta

ć

usuni

ę

te.

background image

18

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Role:

Zbiory encji pozostaj

ą

ce  w zwi

ą

zku niekoniecznie musz

ą

by

ć

Ŝ

ne, 

wówczas encje takie wyst

ę

puj

ą

w ró

Ŝ

nych 

rolach

, a zwi

ą

zek taki 

nazywamy

zwi

ą

zkiem rekurencyjnym

.

W diagramie E-R

role oznaczane s

ą

przez etykiety przy liniach 

ł

ą

cz

ą

cych symbol encji (prostok

ą

t) i zwi

ą

zku (romb). Oznaczanie ról 

nie jest obowi

ą

zkowe, stosuje si

ę

je dla podkre

ś

lenia semantyki 

zwi

ą

zku.

prowadzacy

hierarchia

profesor

asystenci

background image

19

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Decyzje projektowe:

Zbiory encji czy atrybuty

Wybór jest zale

Ŝ

ny od rodzaju modelowanego przedsi

ę

wzi

ę

cia (fragmentu 

rzeczywisto

ś

ci) oraz od znaczenia poszczególnych atrybutów.

Zbiory encji czy zbiory zwi

ą

zków

Mo

Ŝ

liwa wskazówka: zwi

ą

zek wyznacza pewn

ą

akcj

ę

(zdarzenie), która 

zachodzi (zaszła) pomi

ę

dzy encjami (obiektami).

Zwi

ą

zki binarne czy zwi

ą

zki o wy

Ŝ

szym stopniu

Zwi

ą

zek o stopniu wi

ę

kszym ni

Ŝ

2 zawsze mo

Ŝ

e by

ć

zast

ą

piony przez pewn

ą

liczb

ę

zwi

ą

zków binarnych. Jednak zwi

ą

zki n-arne mog

ą

lepiej oddawa

ć

semantyk

ę

relacji (jawne okre

ś

lenie, 

Ŝ

e chodzi o zwi

ą

zek wi

ę

cej ni

Ŝ

obiektów).

Przykład:

1. Adres jako atrybut
Adres mo

Ŝ

e by

ć

traktowany jako atrybut (na przykład encji 

student

), wówczas jego warto

ś

ci

ą

jest tekst, np: "Pozna

ń

, ul. Kwiatowa 5 m. 12".

2. Adres jako jednostka
Adres mo

Ŝ

e by

ć

traktowany jako niezale

Ŝ

na jednostka o atrybutach: 

Miejscowo

ść

, Ulica, 

Nr Domu, Nr Lokalu.

background image

20

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Ograniczenia - warunki integralno

ś

ci

W ramach projektowania baz danych specyfikuje si

ę

pewne 

ograniczenia ilo

ś

ciowe i zale

Ŝ

no

ś

ci pomi

ę

dzy encjami lub zwi

ą

zkami, 

które maj

ą

zachodzi

ć

zawsze.

Ograniczenia te i zale

Ŝ

no

ś

ci okre

ś

laj

ą

warunki integralno

ś

ci

rozwa

Ŝ

nej bazy i s

ą

nast

ę

pnie sprawdzane i dotrzymywane.

Do najistotniejszych warunków ogólnych, specyfikowalnych w modelu 
E-R nale

Ŝą

:

stopie

ń

przyporz

ą

dkowania zbiorów encji do zwi

ą

zku,

zale

Ŝ

no

ść

wyst

ę

powania encji z ró

Ŝ

nych zbiorów,

całkowito

ść

vs. cz

ęś

ciowo

ść

udziału zbioru encji w zbiorze zwi

ą

zków.

background image

21

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Klucze w zbiorze encji:

Nadkluczem

(super key) jest ka

Ŝ

dy zbiór atrybutów, którego warto

ś

ci 

jednoznacznie identyfikuj

ą

encj

ę

w zbiorze encji. 

Kluczem kandyduj

ą

cym

(candidate key) nazywany jest nadklucz o 

minimalnej liczbie atrybutów w zbiorze encji. 

W danym zbiorze mo

Ŝ

e wyst

ę

powa

ć

kilka kluczy kandyduj

ą

cych, jeden 

z nich (dowolnie wybrany) nazywany jest 

kluczem głównym

(primary

key).

W diagramie E-R

klucze główne s

ą

oznaczane przez podkre

ś

lenie 

etykiety atrybutu.

background image

22

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Klucze w zbiorze zwi

ą

zków:

Je

Ŝ

eli zbiór zwi

ą

zków posiada atrybuty o odpowiednich własno

ś

ciach, 

na podstawie tych atrybutów mo

Ŝ

na zdefiniowa

ć

dla niego 

(jednoznacznie identyfikuj

ą

ce) 

klucze główne

tak, jak dla zbiorów 

encji.

Zło

Ŝ

enie

kluczy głównych zbiorów encji bior

ą

cych udział w zwi

ą

zku 

tworzy 

nadklucz

dla zbioru zwi

ą

zków.

Sposób zdefiniowania 

klucza głównego

zale

Ŝ

y od stopnia zwi

ą

zku 

oraz stopnia przyporz

ą

dkowania poszczególnych zbiorów encji.

Dla binarnego zwi

ą

zku 

jeden do jeden

ka

Ŝ

dy z kluczy  głównych (encji) mo

Ŝ

e by

ć

kluczem głównym.

Dla binarnego zwi

ą

zku 

wielu do wielu

para kluczy głównych encji jest kluczem 

głównym.

background image

23

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Zbiory słabe encji:

Zbiór encji, który nie posiada klucza głównego (nie ma odpowiednich 
atrybutów), jest nazywany 

zbiorem słabym encji

(weak entity set) w 

przeciwie

ń

stwie do zbioru silnego - (strong entity set).

Informacyjno

ść

zbioru słabych encji jest uwarunkowana istnieniem 

innego silnego zbioru encji, który pozostaje ze słabym w zwi

ą

zku 

jeden 

do wielu

. Encje tego zbioru silnego dominuj

ą

równie

Ŝ

nad encjami 

słabego w sensie zale

Ŝ

no

ś

ci wyst

ę

powania.

W zbiorze słabych encji wyst

ę

powa

ć

musi wówczas 

klucz cz

ęś

ciowy

(partial key), który pozwala na rozró

Ŝ

nienie (cz

ęś

ciowe) jego encji 

wzgl

ę

dem dominuj

ą

cego zbioru silnego.

Kluczem głównym

zbioru słabego encji jest kompozycja klucza 

głównego dominuj

ą

cego zbioru silnego encji i klucza cz

ęś

ciowego 

zbioru słabego.

background image

24

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Zbiory słabe encji (c.d.):

W diagramie E-R  

klucze cz

ęś

ciowe

oznaczane s

ą

przez 

podkre

ś

lenie

etykiety atrybutu 

lini

ą

przerywan

ą

Zwi

ą

zki mi

ę

dzy słab

ą

jednostk

ą

a jednostkami jej wła

ś

cicieli 

nazywamy 

zwi

ą

zkami identyfikuj

ą

cymi

.

W notacji graficznej zbiory słabe encji oraz zbiory zwi

ą

zków 

identyfikuj

ą

cych rysujemy 

podwójn

ą

lini

ą

.  

student

imie

nazwisko

nr_albumu

ocena

przedmiot

data

oceny

ma

background image

25

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Diagramy E-R 

tabele

Opis bazy danych za pomoc

ą

diagramu E-R mo

Ŝ

e by

ć

przekształcony 

w opis w postaci kolekcji tabel.

Istnienie kluczy głównych pozwala na jednoznaczne wyra

Ŝ

enie 

zbiorów encji i zbiorów zwi

ą

zków w formie tabel.

Zasady ogólne

Ka

Ŝ

demu zbiorowi encji odpowiada tabela (tabela przyjmuje nazw

ę

zbioru encji).

Ka

Ŝ

demu zbiorowi zwi

ą

zków (je

Ŝ

eli ten posiada atrybuty) odpowiada tabela (tabela

przyjmuje nazw

ę

zbioru zwi

ą

zków).

Kolumny tabel reprezentuj

ą

atrybuty opisuj

ą

ce odpowiednio encje lub zwi

ą

zki.

Wiersze tabel odpowiadaj

ą

encj

ą

lub zwi

ą

zkom

Zbiór silny encji

jest reprezentowany bezpo

ś

rednio

Dla 

zbioru słabego encji

tabela musi zawiera

ć

dodatkowo atrybuty 

stanowi

ą

ce klucz główny tabeli nadrz

ę

dnej.

background image

26

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Diagramy E-R 

tabele (przykład)

student

imie

nazwisko

nr_albumu

ocena

przedmiot

data

oceny

ma

background image

27

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Diagramy E-R 

tabele (c.d.)

Je

Ŝ

eli 

zbiór zwi

ą

zków

nie ma własnego klucza głównego, wówczas 

tabela musi dodatkowo zawiera

ć

odpowiedni

ą

do własno

ś

ci 

kombinacj

ę

kluczy głównych swoich zbiorów encji.

Np.  Zwi

ą

zek 

wielu do wielu

jest reprezentowany przy pomocy tabeli o dodatkowych 

kolumnach odpowiadaj

ą

cych kluczom głównym zbiorów encji bior

ą

cych udział w 

zwi

ą

zku.

ma 

zaj

ę

cia

przedmiot

student