BD Wykład 2 2011

background image

Relacyjny model danych

Wykład 2

S. Kozielski

background image

Model danych

• struktury danych

• operacje na danych

• ograniczenia integralno

ś

ciowe

background image

Relacyjny model danych

• relacje

• operacje (operatory) algebry relacji

• wi

ę

zy referencyjne + ograniczenia dziedzin relacji

background image

Relacja (matematyka)

X, Y – zbiory,

Iloczyn kartezja

ń

ski X

×

Y = {(x,y): x

X

y

Y}

Dwucz

ł

onowa relacja w X

×

Y = {(x,y): x

X

y

Y

x

ρ

y}

X

×

Y

N – cz

ł

onowa relacja (relacja stopnia N):

podzbiór iloczynu kartezja

ń

skiego X

1

×

X

2

×

X

3

×

...

×

X

N

background image

Relacja – bazy danych

Atrybuty: A

1

, A

2

, A

3

, …

np.: nazwisko, nrp, kwota, adres

Dziedziny atrybutów: D

A1

, D

A2

, D

A3

,... (inaczej domeny: dom(A

1

), dom(A

2

))

– zbiory dopuszczalnych warto

ś

ci atrybutów (typy danych)

Schemat relacji: R = { A

1

, A

2

, ..., A

p

} – podzbiór zbioru atrybutów

Relacja r o schemacie R: r(R) - podzbiór iloczynu kartezja

ń

skiego dziedzin

atrybutów tworz

ą

cych schemat D

A1

×

D

A2

×

...

×

D

Ap

r(R)

D

A1

×

D

A2

×

...

×

D

Ap

background image

Przykład:

R = {nrp, nrt, kwota}

D

nrp

= {1, 2, 3}, D

nrt

= {1, 2, 3}, D

kwota

= {150, 200, 300}

D

nrp

×

D

nrt

×

D

kwota

= {1, 1, 150

2, 1, 150

3, 1, 150

3, 3, 150

3, 3, 200

3, 3, 300}

background image

Wypłaty

200

3

1

200

2

3

150

1

1

150

3

3

300

2

2

kwota

nrt

nrp

Wypłaty

D

nrp

×

D

nrt

×

D

kwota

background image

Relacja jako zbiór krotek

r(R) = {t

1

, t

2

, t

3

, …, t

k

}

Krotka t jest uporz

ą

dkowan

ą

list

ą

warto

ś

ci t = < v

1,

v

2

…v

p

>

gdzie v

i

D

Ai

lub jest specjaln

ą

warto

ś

ci

ą

pust

ą

NULL

(A, B, C)

————

a

1

b

1

c

1

- krotka t

1

a

2

b

2

c

2

- krotka t

2

a

3

b

3

c

3

- krotka t

3

a

4

b

4

c

4

- krotka t

4

n-ty element krotki t oznaczany jest przez t[A

n

] np. t

4

[B] = b

4

background image

Elementarne własno

ś

ci relacji

• Ka

ż

dy atrybut relacji ma unikaln

ą

nazw

ę

• Porz

ą

dek atrybutów w relacji nie jest istotny

• Porz

ą

dek krotek w relacji nie jest istotny

• Relacja nie zawiera krotek powtarzaj

ą

cych si

ę

(wszystkie krotki s

ą

unikalne)

background image

Unikalno

ść

krotek relacji a poj

ę

cie klucza

• Ka

ż

dy podzbiór S atrybutów schematu relacji R

(S

R), taki

ż

e dla ka

ż

dych dwóch krotek ze zbioru

r(R) zachodzi

t

i

[S]

t

j

[S] jest nazywany

superkluczem (super key) relacji

• Superkluczem jest m.in. cały schemat relacji R

• Superklucz mo

ż

e posiada

ć

nadmiarowe atrybuty

background image

Poj

ę

cie klucza relacji

• Kluczem K schematu relacji R nazywamy superklucz

schematu R o takiej własno

ś

ci,

ż

e usuni

ę

cie

dowolnego atrybutu A z K powoduje,

ż

e K’ = K - A nie

jest ju

ż

superkluczem

• Klucz jest minimalnym superkluczem (zachowuj

ą

cym

własno

ść

unikalno

ś

ci krotek relacji)

• Schemat relacji mo

ż

e posiada

ć

wi

ę

cej ni

ż

jeden klucz

• Wyró

ż

niony klucz: klucz główny (podstawowy)

• Pozostałe klucze: klucze kandyduj

ą

ce (wtórne)

background image

Inna definicja klucza

• Kluczem jest minimalny zestaw atrybutów schematu

relacji, którego warto

ś

ci jednoznacznie identyfikuj

ą

ka

ż

d

ą

krotk

ę

relacji

background image

Przykład

Pracownicy (nrp, imi

ę

, nazwisko, PESEL, NIP,

seria_i_nr_dowodu, data_urodzenia, imi

ę

_ojca,

imi

ę

_matki, adres, nazwisko_rodowe, tytuł, zawód,

nazwa_zakładu_pracy, adres_zp, sta

ż

)

Klucze kandyduj

ą

ce:

nrp

PESEL

NIP

seria_i_nr_dowodu

imi

ę

, nazwisko, imi

ę

_ojca

background image

ż

ne formy opisu stosowane w modelu relacyjnym

typ rekordu

nagłówek tablicy

schemat relacji

pole

kolumna

atrybut

rekord

wiersz

krotka

plik

tablica (tabela)

relacja

Opis fizyczny

(fizycznych struktur d.)

Opis tablicowy

Opis formalny

background image
background image

Algebra relacji

Dane relacje: r(R), s(S)

Podstawowe operacje: selekcja, projekcja, zł

ą

czenie,

iloczyn kartezja

ń

ski, dzielenie, operacje na zbiorach

Selekcja

w – warunek selekcji (wyra

ż

enie logiczne - predykat)

σ

w

(r) = {t : t

r

w(t) = True } = p(R)

background image

Przykład selekcji

A

B

C

2

1

2

σ

C=2

A

B

C

2

2

background image

Projekcja

Niech X

R

π

X

(r) = { u : t

r

u = t [X] } = q (X)

background image

Przykład projekcji

A

B

C

A

C

π

AC

background image

ą

czenie (naturalne)

r



s = { u :

t

r

∧ ∃

w

s

t [R

S] = w [R

S]

u[R] = t

u[S] = w}

= z (R

S)

background image

Przykład zł

ą

czenia naturalnego

r (A, B, C)

s (C, D)

z (A, B, C, D)

————  ———

=

—————

a

1

b

1

c

1

c

1

d

1

a

1

b

1

c

1

d

1

a

2

b

2

c

2

c

5

d

5

a

4

b

4

c

1

d

1

a

3

b

3

c

3

a

4

b

4

c

1

background image

Ogólna posta

ć

ą

czenia (

Θ

- zł

ą

czenie)

r



w

s =

σ

w

(r

×

s)

lub

r



A

Θ

B

s =

σ

A

Θ

B

(r

×

s) ,

gdzie A

R, B

S, dom(A) = dom(B)

background image

Dzielenie

Niech b

ę

d

ą

dane relacje: r(XY), s(Y)

r

÷

s = { u :

w

s

t

r t [Y] = w

t [X] = u }

background image

Przykład dzielenia

r (nrp, nrt)

s (nrt)

r

÷

s = z (nrp)

————

———

———

1

1

1

1

1 2

2

3

1

3

3

2 2

2 3
3 1
3 2
3

3

background image

Operatory mnogo

ś

ciowe

(operacje na zbiorach krotek)

Niech b

ę

d

ą

dane relacje: r(R), s(R)

Suma:

r

s

ż

nica:

r \ s

Iloczyn:

r

s

Powy

ż

sze operacje mog

ą

by

ć

rozszerzone na

przypadek relacji r(R), s(S), w których R i S s

ą

równoliczne, a odpowiadaj

ą

ce sobie atrybuty

schematów R i S maj

ą

identyczne dziedziny

background image

Pytanie Z1 jako wyra

ż

enie algebry relacji

Z1 =

π

nazwa

(

σ

nazwisko = ‘Jaworek’

(Pracownicy



Wyp

ł

aty



Tematy))

background image

ą

czenie tabel

Wypłaty

nrp

nrt

kwota

2

2

300

3

3

150

1

1

150

3

2

200

1

3

200

Pracownicy

nrp

nazwisko

adres

nrz

1

Lipowski

Ruda

2

2

Grabski

Zabrze

1

3

Jaworek

Gliwice

1

background image

Pracownicy



Wypłaty

200

3

2

Ruda

Lipowski

1

200

2

1

Gliwice

Jaworek

3

150

1

2

Ruda

Lipowski

1

150

3

1

Gliwice

Jaworek

3

300

2

1

Zabrze

Grabski

2

kwota

nrt

nrz

adres

nazwisko

nrp

background image

Pracownicy



Wypłaty



Tematy

2

Pr. reaktora

200

3

2

Ruda

Lipowski

1

1

Pr. przetwor.

200

2

1

Gliwice

Jaworek

3

2

Pr. zasilacza

150

1

2

Ruda

Lipowski

1

2

Pr. reaktora

150

3

1

Gliwice

Jaworek

3

1

Pr. przetwor.

300

2

1

Zabrze

Grabski

2

kier.

nazwa

kwota

nrt

nrz

adres

nazwisko

nrp

background image

σ

nazwisko = ‘Jaworek’

(

Pracownicy



Wypłaty



Tematy

)

1

Pr. przetwor.

200

2

1

Gliwice

Jaworek

3

2

Pr. reaktora

150

3

1

Gliwice

Jaworek

3

kier.

nazwa

kwota

nrt

nrz

adres

nazwisko

nrp

background image

π

nazwa

(

σ

nazwisko = ‘Jaworek’

(

Pracownicy



Wyp

ł

aty



Tematy

))

Pr. przetwor.

Pr. reaktora

nazwa

background image

Własno

ś

ci operatorów algebry relacji

r(R), s(S), z(Z) – dane relacje

1) Przemienno

ść

ą

cze

ń

: r



s = s



r

2) Ł

ą

czno

ść

ą

cze

ń

: (r



s)



z = r



(s



z)

background image

3) Przemienno

ść

selekcji i zł

ą

cze

ń

dla wyra

ż

enia

σ

w

(r



s)

Niech atr(w) – zbiór atrybutów wyst

ę

puj

ą

cych w w

Je

ś

li atr(w)

R, to

σ

w

(r



s) = (

σ

w

(r ))



s

Je

ś

li atr(w)

S, to

σ

w

(r



s) = r



(

σ

w

(s ))

Je

ś

li w= w1

w2 oraz atr(w1)

R i atr(w2)

S,

to

σ

w

(r



s) = (

σ

w1

(r ))



(

σ

w2

(s))

background image

Przykłady równowa

ż

nej postaci wyra

ż

e

ń

P1=

π

nazwisko

(

σ

nrz=3

kwota>2000

(

Pracownicy



Wyp

ł

aty))

P1=

π

nazwisko

((

σ

nrz=3

(

Pracownicy))



(

σ

kwota>2000

(Wyp

ł

aty)))

P2=

π

nazwisko

(

σ

nazwa = ‘Pr.gen.’

(

Pracownicy



Wyp

ł

aty



Tematy

))

P2=

π

nazwisko

(

Pracownicy



Wyp

ł

aty

(

σ

nazwa = ‘Pr.gen.’

(

Tematy

)))

background image

Drzewo rozbioru wyra

ż

enia algebry relacji – plan realizacji zapytania

Pracownicy(20)

Wypłaty(50)



+

σ

nrz = 3

kwota>2000

+

π

nazwisko

P1

background image

Optymalizacja wyra

ż

e

ń

algebry relacji

(wykorzystanie przemienno

ś

ci selekcji i zł

ą

cze

ń

)

Pracownicy(20)

Wypłaty(50)



+

π

nazwisko

P1

σ

nrz = 3

σ

kwota>2000

background image

P2=

π

nazwisko

(

σ

nazwa = ‘Pr.gen.’

(Pracownicy



Wyp

ł

aty



Tematy))

P2=

π

nazwisko

(Pracownicy



Wyp

ł

aty

(

σ

nazwa = ‘Pr.gen.’

(Tematy)))

background image

Optymalizacja wyra

ż

e

ń

algebry relacji

(dobór kolejno

ś

ci zł

ą

cze

ń

- 1)

Pracownicy(20)

Wypłaty(50)



+

π

nazwisko

P2

Tematy(10)

σ

nazwa =’Pr. gen.’



background image

Optymalizacja wyra

ż

e

ń

algebry relacji

(dobór kolejno

ś

ci zł

ą

cze

ń

- 2)

Pracownicy(20)

Wypłaty(50)



+

π

nazwisko

P2

Tematy(10)

σ

nazwa =’Pr. gen.’



background image

Proste reguły optymalizacji wyra

ż

e

ń

algebry relacji

Przenie

ść

selekcje (i projekcje) jak najwy

ż

ej w drzewie rozbioru

wyra

ż

enia

Wykona

ć

projekcje razem ze zł

ą

czeniami lub selekcjami

Dobra

ć

kolejno

ść

ą

cze

ń

według selekcji najsilniej

redukuj

ą

cych


Wyszukiwarka

Podobne podstrony:
BD Wykład 3 2011
BD Wykład 4 2011
BD Wykład 8 2011
BD Wykład 5 2011
BD Wykład 7 2011
BD Wyklad 1 2011
BD Wykład 6 2011
BD Wykład 3 2011
BD Wykład 4 2011
perswazja wykład2 2011 Zasady skutecznej perswazji Petty & Cacioppo

więcej podobnych podstron