background image

PROJEKTOWANIE BAZ DANYCH 

PROJEKTOWANIE BAZ DANYCH 

-

-

PODSTAWY

PODSTAWY

STUDIUM PODYPLOMOWE 

STUDIUM PODYPLOMOWE 

KOLEGIUM NAUK SPO

KOLEGIUM NAUK SPO

Ł

Ł

ECZNYCH I ADMINISTRACJI PW

ECZNYCH I ADMINISTRACJI PW

Dr inż. Krzysztof Urbaniak

background image

2

2

Baza danych

Baza danych





zbi

zbi

ó

ó

r wzajemnie 

r wzajemnie 

powi

powi

ą

ą

zanych

zanych

ze sob

ze sob

ą

ą

i

i

zintegrowanych

zintegrowanych

danych z dotycz

danych z dotycz

cych 

cych 

pewnej dziedziny 

pewnej dziedziny 





Potocznie (b

Potocznie (b

łę

łę

dnie) u

dnie) u

ż

ż

ywany w znaczeniach:

ywany w znaczeniach:

system bazy danych

system bazy danych

system zarz

system zarz

ą

ą

dzania baz

dzania baz

ą

ą

danych

danych

model bazy danych

model bazy danych

background image

3

3

Integralno

Integralno

ść

ść





stopie

stopie

ń

ń

dok

dok

ł

ł

adno

adno

ś

ś

ci odwzorowania 

ci odwzorowania 

rzeczywisto

rzeczywisto

ś

ś

ci

ci





zapewnia, 

zapewnia, 

ż

ż

e baza danych daje poprawne 

e baza danych daje poprawne 

odpowiedzi na pytania

odpowiedzi na pytania





Wi

Wi

ę

ę

zy (

zy (

warunki

warunki

)

)

integralno

integralno

ś

ś

ci

ci

regu

regu

ł

ł

poprawno

poprawno

ś

ś

ciowe wynikaj

ciowe wynikaj

ą

ą

ce z 

ce z 

rzeczywisto

rzeczywisto

ś

ś

ci 

ci 

pozwalaj

pozwalaj

ą

ą

zachowa

zachowa

ć

ć

poprawno

poprawno

ść

ść

i

i

sp

sp

ó

ó

jno

jno

ść

ść

danych 

danych 

background image

4

4

Rodzaje operacji na 

Rodzaje operacji na 

bazach danych

bazach danych





zapyta

zapyta

ń

ń

-

-

wyszukuj

wyszukuj

ą

ą

informacji 

informacji 

(czytaj

(czytaj

ą

ą

dane) w bazie danych

dane) w bazie danych





aktualizuj

aktualizuj

ą

ą

ce

ce

-

-

dokonuj

dokonuj

ą

ą

zmian w 

zmian w 

bazie danych

bazie danych

background image

5

5

System bazy danych

System bazy danych





model danych

model danych





system zarz

system zarz

ą

ą

dzania baz

dzania baz

ą

ą

danych

danych





baza danych

baza danych

background image

6

6

Modele danych

Modele danych

(rodzaje baz danych)

(rodzaje baz danych)





hierarchiczny

hierarchiczny





sieciowy

sieciowy





relacyjny

relacyjny





obiektowy 

obiektowy 

background image

7

7

Relacyjny model 

Relacyjny model 

bazy danych

bazy danych





przedstawiony w 1970

przedstawiony w 1970

roku

roku

przez E. F. 

przez E. F. 

Codda

Codda





zapisuje 

zapisuje 

dane w dwuwymiarowej 

dane w dwuwymiarowej 

tablicy 

tablicy 





baz

baz

ę

ę

danych stanowi wiele tablic 

danych stanowi wiele tablic 

mi

mi

ę

ę

dzy kt

dzy kt

ó

ó

rymi zachodz

rymi zachodz

ą

ą

zwi

zwi

ą

ą

zki

zki

background image

8

8

Cechy relacji (tabeli)

Cechy relacji (tabeli)





ka

ka

ż

ż

da relacja (tabela) w bazie danych ma 

da relacja (tabela) w bazie danych ma 

jednoznaczn

jednoznaczn

ą

ą

nazw

nazw

ę

ę





ka

ka

ż

ż

da kolumna w tabeli ma jednoznaczn

da kolumna w tabeli ma jednoznaczn

ą

ą

nazw

nazw

ę

ę

w ramach tej tabeli

w ramach tej tabeli





wszystkie warto

wszystkie warto

ś

ś

ci w kolumnie musz

ci w kolumnie musz

ą

ą

by

by

ć

ć

tego 

tego 

samego typu

samego typu





kolejno

kolejno

ść

ść

kolumn nie jest istotna

kolumn nie jest istotna





ka

ka

ż

ż

dy wiersz w tabeli musi si

dy wiersz w tabeli musi si

ę

ę

r

r

ó

ó

ż

ż

ni

ni

ć

ć





kolejno

kolejno

ść

ść

wierszy nie jest istotna

wierszy nie jest istotna





ka

ka

ż

ż

de pole zawiera pojedyncz

de pole zawiera pojedyncz

ą

ą

warto

warto

ść

ść

(atomow

(atomow

ą

ą

)

)

background image

9

9

Klucz g

Klucz g

ł

ł

ó

ó

wny

wny





jeden lub wi

jeden lub wi

ę

ę

cej atrybut

cej atrybut

ó

ó

w tabeli, kt

w tabeli, kt

ó

ó

rych 

rych 

warto

warto

ś

ś

ci jednoznacznie identyfikuj

ci jednoznacznie identyfikuj

ą

ą

ka

ka

ż

ż

dy 

dy 

rekord

rekord





warto

warto

ść

ść

klucza g

klucza g

ł

ł

ó

ó

wnego musi by

wnego musi by

ć

ć

okre

okre

ś

ś

lona w 

lona w 

ka

ka

ż

ż

dym wierszu, nie mo

dym wierszu, nie mo

ż

ż

e przyjmowa

e przyjmowa

ć

ć

warto

warto

ś

ś

ci 

ci 

null

null

(nieznana warto

(nieznana warto

ść

ść

)

)





warto

warto

ś

ś

ci klucza nie mog

ci klucza nie mog

ą

ą

si

si

ę

ę

powtarza

powtarza

ć

ć





mo

mo

ż

ż

e by

e by

ć

ć

wybrany z wielu kluczy kandyduj

wybrany z wielu kluczy kandyduj

ą

ą

cych

cych

background image

10

10

Klucz sztuczny

Klucz sztuczny





tworzony sztucznie atrybut, kt

tworzony sztucznie atrybut, kt

ó

ó

ry 

ry 

spe

spe

ł

ł

nia warunki dla klucza g

nia warunki dla klucza g

ł

ł

ó

ó

wnego

wnego





wykorzystywany, gdy naturalny 

wykorzystywany, gdy naturalny 

identyfikator nie ma cech klucza 

identyfikator nie ma cech klucza 

g

g

ł

ł

ó

ó

wnego lub musia

wnego lub musia

ł

ł

by si

by si

ę

ę

sk

sk

ł

ł

ada

ada

ć

ć

ze 

ze 

zbyt wielu atrybut

zbyt wielu atrybut

ó

ó

w

w





bywa wymuszony przez specyfikacj

bywa wymuszony przez specyfikacj

ę

ę

wymaga

wymaga

ń

ń

(staje si

(staje si

ę

ę

naturalnym)

naturalnym)

background image

11

11

Klucz obcy

Klucz obcy





atrybut (lub grupa atrybut

atrybut (lub grupa atrybut

ó

ó

w) odpowiadaj

w) odpowiadaj

ą

ą

cy 

cy 

kluczowi g

kluczowi g

ł

ł

ó

ó

wnemu w innej tabeli

wnemu w innej tabeli





s

s

ł

ł

u

u

ż

ż

y do reprezentowania powi

y do reprezentowania powi

ą

ą

za

za

ń

ń

mi

mi

ę

ę

dzy 

dzy 

tabelami

tabelami





wprowadzany po stronie N zwi

wprowadzany po stronie N zwi

ą

ą

zku 1

zku 1

-

-

N

N





powinien spe

powinien spe

ł

ł

nia

nia

ć

ć

warunki integralno

warunki integralno

ś

ś

ci 

ci 

referencyjnej 

referencyjnej 

-

-

musi mie

musi mie

ć

ć

warto

warto

ść

ść

wyst

wyst

ę

ę

puj

puj

ą

ą

c

c

ą

ą

w kluczy g

w kluczy g

ł

ł

ó

ó

wnym, z kt

wnym, z kt

ó

ó

rym jest powi

rym jest powi

ą

ą

zany (lub 

zany (lub 

warto

warto

ść

ść

null

null

)

)

background image

12

12

Wi

Wi

ę

ę

zy integralno

zy integralno

ś

ś

ci

ci





okre

okre

ś

ś

laj

laj

ą

ą

jak post

jak post

ę

ę

powa

powa

ć

ć

przy 

przy 

usuwaniu powi

usuwaniu powi

ą

ą

zanych rekord

zanych rekord

ó

ó

w

w





Rodzaje:

Rodzaje:





ograniczone usuwanie

ograniczone usuwanie





kaskadowe usuwanie

kaskadowe usuwanie





wstawianie 

wstawianie 

null

null

w miejsce klucza 

w miejsce klucza 

obcego przy usuwaniu

obcego przy usuwaniu

background image

13

13

Etapy modelowania baz 

Etapy modelowania baz 

danych

danych





modelowanie koncepcyjne

modelowanie koncepcyjne





modelowanie logiczne

modelowanie logiczne





modelowanie fizyczne

modelowanie fizyczne

background image

14

14

Koncepcyjne modelowanie 

Koncepcyjne modelowanie 

bazy danych

bazy danych

opisuje zale

opisuje zale

ż

ż

no

no

ś

ś

ci mi

ci mi

ę

ę

dzy danymi w 

dzy danymi w 

systemie informacyjnym

systemie informacyjnym

powinno by

powinno by

ć

ć

w postaci graficznej (np. 

w postaci graficznej (np. 

ERD)

ERD)

powinno posiada

powinno posiada

ć

ć

semantyk

semantyk

ę

ę

niezale

niezale

ż

ż

ne od SZBD 

ne od SZBD 

ł

ł

atwe w u

atwe w u

ż

ż

yciu i nauce 

yciu i nauce 

background image

15

15

Logiczny model bazy 

Logiczny model bazy 

danych

danych





Powstaje w wyniku przekszta

Powstaje w wyniku przekszta

ł

ł

cenia modelu 

cenia modelu 

koncepcyjnego wg zasad modelu danych 

koncepcyjnego wg zasad modelu danych 

-

-

dla modelu relacyjnego przekszta

dla modelu relacyjnego przekszta

ł

ł

ca ERD do 

ca ERD do 

postaci tabel i ich atrybut

postaci tabel i ich atrybut

ó

ó

w pod kontem 

w pod kontem 

konkretnego systemu zarz

konkretnego systemu zarz

ą

ą

dzania baz

dzania baz

ą

ą

danych

danych





Spe

Spe

ł

ł

nia warunki normalizacji baz danych

nia warunki normalizacji baz danych





Mo

Mo

ż

ż

e by

e by

ć

ć

zapisany w formie pisemnej lub w 

zapisany w formie pisemnej lub w 

formie opisu podstawowych struktur w 

formie opisu podstawowych struktur w 

systemie zarz

systemie zarz

ą

ą

dzania baz

dzania baz

ą

ą

danych 

danych 

background image

16

16

Fizyczny model bazy 

Fizyczny model bazy 

danych

danych





wyra

wyra

ż

ż

a model danych za pomoc

a model danych za pomoc

ą

ą

struktur danych i mechanizm

struktur danych i mechanizm

ó

ó

dost

dost

ę

ę

pu w konkretnym systemie 

pu w konkretnym systemie 

zarz

zarz

ą

ą

dzania baz

dzania baz

ą

ą

danych

danych

background image

17

17

Normalizacja danych

Normalizacja danych





pozwala wyeliminowa

pozwala wyeliminowa

ć

ć

redundancj

redundancj

ę

ę

danych, a 

danych, a 

przez to ich niesp

przez to ich niesp

ó

ó

jno

jno

ść

ść

lub anomalie

lub anomalie





realizowana jest poprzez osi

realizowana jest poprzez osi

ą

ą

ganie kolejnych tzw. 

ganie kolejnych tzw. 

postaci normalnych:

postaci normalnych:

pierwsza posta

pierwsza posta

ć

ć

normalna

normalna

druga posta

druga posta

ć

ć

normalna

normalna

trzecia posta

trzecia posta

ć

ć

normalna

normalna

posta

posta

ć

ć

normalna 

normalna 

Boyce

Boyce

a

a

-

-

Codda

Codda

czwarta posta

czwarta posta

ć

ć

normalna

normalna

pi

pi

ą

ą

ta posta

ta posta

ć

ć

normalna

normalna

background image

18

18

Pierwsza posta

Pierwsza posta

ć

ć

normalna

normalna





wszystkie dane s

wszystkie dane s

ą

ą

atomowe, np. adres 

atomowe, np. adres 

jest rozbity na atrybuty: ulica, 

jest rozbity na atrybuty: ulica, 

nr_domu, nr_mieszkania, 

nr_domu, nr_mieszkania, 

kod_pocztowy, miasto

kod_pocztowy, miasto





zdefiniowano klucz podstawowy

zdefiniowano klucz podstawowy





wszystkie atrybuty zale

wszystkie atrybuty zale

żą

żą

od klucza

od klucza





brak powtarzaj

brak powtarzaj

ą

ą

cych si

cych si

ę

ę

grup 

grup 

danych

danych

background image

19

19

Druga posta

Druga posta

ć

ć

normalna

normalna





spe

spe

ł

ł

nia warunki pierwszej postaci 

nia warunki pierwszej postaci 

normalnej

normalnej





ka

ka

ż

ż

dy atrybut niekluczowy jest zale

dy atrybut niekluczowy jest zale

ż

ż

ny 

ny 

od ca

od ca

ł

ł

ego klucza a nie od jego cz

ego klucza a nie od jego cz

ęś

ęś

ci

ci

background image

20

20

Trzecia posta

Trzecia posta

ć

ć

normalna

normalna





spe

spe

ł

ł

nia warunki drugiej postaci 

nia warunki drugiej postaci 

normalnej

normalnej





nie ma w tabeli atrybut

nie ma w tabeli atrybut

ó

ó

w zale

w zale

ż

ż

nych 

nych 

od atrybut

od atrybut

ó

ó

w nie nale

w nie nale

żą

żą

cych do klucza

cych do klucza

background image

21

21

Denormalizacja

Denormalizacja





celowe odst

celowe odst

ę

ę

pstwo od normalizacji ze 

pstwo od normalizacji ze 

wzgl

wzgl

ę

ę

du na przyspieszenie procesu 

du na przyspieszenie procesu 

przetwarzania danych

przetwarzania danych

background image

22

22

Przekszta

Przekszta

ł

ł

cenie ERD w 

cenie ERD w 

schemat relacyjny

schemat relacyjny





upraszczamy zwi

upraszczamy zwi

ą

ą

zki wiele

zki wiele

-

-

do

do

-

-

wielu

wielu





encja 

encja 

tabela (nazwy relacji w 

tabela (nazwy relacji w 

l.mn

l.mn

.)

.)





identyfikatory encji 

identyfikatory encji 

klucz g

klucz g

ł

ł

ó

ó

wny

wny





atrybut encji 

atrybut encji 

atrybut relacji

atrybut relacji





wprowadzamy klucz obcy do relacji 

wprowadzamy klucz obcy do relacji 

odpowiadaj

odpowiadaj

ą

ą

cej stronie wiele

cej stronie wiele

background image

23

23

Indeksowanie bazy 

Indeksowanie bazy 

danych

danych





Indeks

Indeks

zawiera informacje o fizycznym miejscu 

zawiera informacje o fizycznym miejscu 

rekordu w tabeli i miejscu na kt

rekordu w tabeli i miejscu na kt

ó

ó

rym si

rym si

ę

ę

rekord 

rekord 

znajduje w wyniku uporz

znajduje w wyniku uporz

ą

ą

dkowania rekord

dkowania rekord

ó

ó

wg indeksu

wg indeksu





poprawi

poprawi

a

a

efektywno

efektywno

ś

ś

ci bazy danych, wspomaga 

ci bazy danych, wspomaga 

szybko

szybko

ść

ść

przetwarzania danych, u

przetwarzania danych, u

ł

ł

atwia 

atwia 

wyszukiwanie danych

wyszukiwanie danych





powi

powi

ę

ę

ksza fizycznie baz

ksza fizycznie baz

ę

ę

danych, spowalnia 

danych, spowalnia 

dodawanie, kasowanie i aktualizacj

dodawanie, kasowanie i aktualizacj

ę

ę

danych ze 

danych ze 

wzgl

wzgl

ę

ę

du na konieczno

du na konieczno

ść

ść

aktualizacji

aktualizacji

indeksu

indeksu

background image

24

24

Notacja Martina

Notacja Martina





dok

dok

ł

ł

adnie jeden

adnie jeden





jeden lub zero

jeden lub zero





wiele

wiele





zero lub wiele

zero lub wiele





jeden lub wiele

jeden lub wiele

background image

25

25

R

R

ó

ó

ż

ż

ne notacje

ne notacje

1

N

1:1

0:N