KZ BD w02

background image

Bazy danych – wykład drugi

Konrad Zdanowski

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Algebra relacji - przypomnienie

Niech R(A

1

, . . . ,

A

k

)

i S(B

1

, . . . ,

B

n

)

relacje.

Podstawowe operacje na relacjach:

operacje teoriomnogo´sciowe:

suma – R S,
iloczyn – R S,
ró˙znica – R \ S,
iloczyn kartezja ´nski – R × S,
rzutowania – π

A

i1

,...,

A

ik

(

R),

przemianowanie – ρ

T (C

1

,...,

C

k

)

(

R).

selekcja – σ

W

(

R), gdzie σ warunek.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Algebra relacji - przypomnienie

Niech R(A

1

, . . . ,

A

k

)

i S(B

1

, . . . ,

B

n

)

relacje.

zł ˛

aczenie (naturalne) – R

1S,

zł ˛

aczenie warunkowe (theta) – R

1

W

S,

Uwaga. Zł ˛

aczenie warunkowe tworzymy przez wybranie z

iloczynu kartezja ´nskiego relacji tych krotek, które spełaniaj ˛

a

warunek W. Wynikowa relacja ma inny schemat ni˙z przy
zwykłym zł ˛

aczeniu.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Algebra relacji - przykład

Niech

R(mama, dziecko) =

mama

dziecko

Ala

Ela

Ela

Jan

Ola

null

S(tata, dziecko) =

tata

dziecko

Jan

Ela

Adam

Jan

Marian

null

Marian

Jan

Zł ˛

aczenie R

1S to

mama

dziecko

tata

Ala

Ela

Jan

Ela

Jan

Adam

Ela

Jan

Marian

Iloczyn kartezja ´nski R × S ma 12 krotek i cztery atrybuty:
R.mama, R.dziecko, S.tata, S.dziecko.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Algebra relacji - przykład

Zł ˛

aczenie warunkowe R

1

W

S,

dla warunku W=(R.dziecko=’Ela’ or S.tata=’Adam’), daje

R.mama

R.dziecko

S.tata

S.dziecko

Ala

Ela

Jan

Ela

Ala

Ela

Adam

Jan

Ala

Ela

Marian

null

Ala

Ela

Marian

Jan

Ala

Ela

Adam

Jan

Ela

Jan

Adam

Jan

Ola

null

Adam

Jan

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Algebra relacji - przykład

Niech Q relacja z poprzedniego przykładu, Q = R

1

W

S, dla

W = (R.dziecko =

0

Ela

0

or S.tata =

0

Adam

0

)

.

Rozpatrzmy

σ

B=’Ela’ and not C = ’Jan’

(ρ

T (A,B,C)

(π

R.mama,R.dziecko,S.tata

(

Q))).

A

B

C

Ala

Ela

Adam

Ala

Ela

Marian

Ala

Ela

Marian

Ala

Ela

Adam

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy w algebrze relacji

W algebrze relacji mo˙zemy wyra˙za´c ograniczenia, które
chcemy nało˙zy´c na relacje.

Warunki te b ˛ed ˛

a nam towarzyszy´c pó´zniej podczas

projektowania schematu bazy danych.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy w algebrze relacji

Napis R = wyra˙za, ˙ze relacja R nie zawiera krotek.

Napis R S wyra˙za, ˙ze ka˙zda krotka z R znajduje si ˛e te˙z
w S.

Fakt. R S wtedy i tylko wtedy, gdy R \ S = .

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy integralno´sci referencyjnej

Wi ˛ezy integralno´sci referencyjnej wyra˙zaj ˛

a, ˙ze warto´s´c,

któr ˛

a przyjmuje pewien atrybut danej relacji musi pojawi´c

si ˛e te˙z jako warto´s´c innego atrybutu w innej relacji.

Warunek taki mo˙zemy opisa´c jako π

A

(

R) ⊆ π

B

(

S).

Bardziej ogólnie mo˙zemy wyra˙za´c zawieranie pomi ˛edzy
zbiorami atrybutów: π

A,B,C

(

R) ⊆ π

D,E ,F

(

S).

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy integralno´sci referencyjnej

Ka˙zdy pracownik otrzymuje pensj ˛e:
π

pesel

(

Pracownicy) ⊆ π

pesel

(

Pensje).

Ka˙zdy ksi ˛

a˙zka ma autora, który wyst ˛epuje w relacji

Pisarze: π

nazwisko_autora

(

Ksiazki) ⊆ π

nazwisko

(

Pisarze).

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy zale˙zno´sci funkcyjnej

Wi ˛ezy zale˙zno´sci funkcyjnej wyra˙zaj ˛

a, ˙ze warto´s´c danej

grupy atrybutów jest jednoznacznie wyznaczona przez
inne atrybuty.
Przykłady:

Np. numer pesel wyznacza jednoznacznie inne atrybuty
osoby.
Atrybut wiek zale˙zy od daty urodzenia i aktualnej daty.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy zale˙zno´sci funkcyjnej

Niech R(A, B, C) b ˛edzie dan ˛

a relacj ˛

a.

Je´sli warto´s´c C zale˙zy funkcyjnie od A i B, to mo˙zemy
wyrazi´c to nast ˛epuj ˛

aco:

σ

S.A=R.AS.B=R.BS.C6=R.C

(

R × ρ

S

(

R)) = ∅.

Je˙zeli R1 i R2 to nazwy relacji R oraz C jest zale˙zy
funkcyjnie od A i B, to mo˙zemy wyra´zi´c to jako

σ

R1.A=R2.AR1.B=R2.BR1.C6=R2.C

(

R1 × R2) = ∅.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy klucza

Wi ˛ezy klucza wyra˙zaj ˛

a, ˙ze warto´s´c danej grupy atrybutów

nie mo˙zemy by´c taka sama w dwóch ró˙znych krotkach
relacji.
Przykłady:

Np. nie ma dwóch ró˙znych osób, które maj ˛

a ten sam numer

pesel.
Przy danej ulicy nie ma dwóch domów o tych samych
numerach.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy klucza

Niech R(A, B, C) b ˛edzie dan ˛

a relacj ˛

a.

Wi ˛ezy klucza dla atrybutu C mo˙zemy wyrazi´c nast ˛epuj ˛

aco:

σ

S.C=R.C(S.A6=R.AS.B6=R.B)

(

R × ρ

S

(

R)) = ∅.

Je˙zeli R1 R2 to nazwy relacji R oraz C jest kluczem to
mo˙zemy to wyra˙zi´c jako

σ

R1.C=R2.C(R1.A6=R2.AR1.B6=R2.B)

(

R1 × R2) = ∅.

Je˙zeli kluczem jest para atrybutów B i C to mo˙zemy to
wyrazi´c jako:

σ

R1.B=R2.BR1.C=R2.CR1.A6=R2.A

(

R1 × R2) = ∅.

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Wi ˛ezy dziedziny

Wi ˛ezy dziedziny wyra˙zaj ˛

a ograniczenia warto´sci atrybutów.

Np. osoba mo˙ze mie´c tylko płe´c ’m ˛e˙zczyzna’ lub ’kobieta’:

σ

plec6=

0

K

0

plec6=

0

M

0

(

Osoby ).

Wiek osoby nie mo˙ze przekroczy´c 150 lat:

σ

wiek¬150

(

Osoby ).

Konrad Zdanowski

Bazy danych – wykład drugi

background image

Koniec

Konrad Zdanowski

Bazy danych – wykład drugi


Wyszukiwarka

Podobne podstrony:
KZ BD w09 id 256667 Nieznany
KZ BD w04
KZ BD w05
KZ BD w07 id 256666 Nieznany
KZ BD w14 2 id 256670 Nieznany
KZ BD w08
KZ BD w12 id 256669 Nieznany
KZ BD w03 2 id 256664 Nieznany
KZ BD w11 2 id 256668 Nieznany
KZ BD w06
KZ BD w09 id 256667 Nieznany
aplikacje bd w02

więcej podobnych podstron