background image

Krzysztof Regulski
AGH, WIMiIP, ZIP

Bazy Danych i SQL

- Podstawowe zagadnienia algebry relacji

background image

2

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Model relacyjny:



Baza danych przedstawiona jest w postaci tablic dla encji, zwi

ą

zków i 

ich atrybutów. Tablice maj

ą

struktury: encje (wiersze) – atrybuty 

(kolumny) albo zwi

ą

zki – atrybuty.



Tablice, a tym samym cała baza danych, mog

ą

by

ć

interpretowane 

jako relacje w sensie matematycznym. Równie

Ŝ

operacje w bazie 

danych – jako operacje na relacjach.



Podstaw

ą

modelu jest algebra relacji opisuj

ą

ca te operacje i ich 

własno

ś

ci.



Algebra relacji stanowi równie

Ŝ

podstaw

ę

j

ę

zyków  DDL i DML w tym 

SQL.

background image

3

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Relacja (przypomnienie):



Dane s

ą

zbiory  A

1

A

2

, …. A

n

, relacj

ą

nazywamy 

dowolny podzbiór A

1

x  A

x … x A

n



Relacja jest zbiorem krotek (a

1

a

2

, …, a

n

), gdzie ka

Ŝ

de a

i

A

i

Np.  

customer-name = {Jones, Smith, Curry, Lindsay}
customer-street = {Main, North, Park}
customer-city = {Harrison, Rye, Pittsfield}

= {(Jones, Main, Harrison), (Smith, North, Rye), 

(Curry, North,Rye), (Lindsay, Park, Pittsfield)} 

jest relacj

ą

okre

ś

lon

ą

na

customer-name x customer-street x customer-city

background image

4

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Model relacyjny danych:



A

1

A

2

, …, A

n

oznaczaj

ą

atrybuty.



= (A

1

A

2

, …, A

n

) jest schematem relacji R.

Np. 

Customer-schema = (customer-name, customer-street,                                      

customer-city)



r(R) oznacza instancj

ę

relacji o schemacie R.

Np. 

customer (Customer-schema)



t = (a

1

a

2

, …, a

n

), t

r  oznacza krotk

ę

relacji r(R).

background image

5

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Model relacyjny danych (c.d.):



Aktualna warto

ść

relacji (

instancja relacji

) mo

Ŝ

e by

ć

przedstawiona w 

formie tabeli, której:

kolumny odpowiadaj

ą

atrybutom,

nagłówek odpowiada schematowi relacji.



Elementy relacji -

krotki

s

ą

reprezentowane przez wiersze tabeli.

Jones

Smith

Curry

Lindsay

customer-name

Main

North
North

Park

customer-street

Harrison

Rye
Rye

Pittsfield

customer-city

customer

background image

6

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Kategorie w algebrze relacji:



Zwyczajne działania algebry zbiorów: 

suma, przeci

ę

cie i 

Ŝ

nica



Operacje zaw

ęŜ

enia: 

selekcja

eliminuje pewne wiersze, a 

rzutowanie

pewne kolumny



Operacje komponowania krotek z ró

Ŝ

nych relacji: np. 

iloczyn kartezja

ń

ski



Operacje 

przemianowania

nie zmieniaj

ą

ce krotek ale 

schemat ich relacji

background image

7

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Działania teoriomnogo

ś

ciowe:



R

suma zbiorów

jest zbiorem krotek, z których 

ka

Ŝ

da nale

Ŝ

y do lub lub do obu razem; je

Ŝ

eli krotka 

wyst

ę

puje w obu relacjach to w ich sumie pojawia si

ę

tylko 

raz



R

przeci

ę

cie zbiorów

jest zbiorem krotek, które 

nale

Ŝą

zarówno do jak i S



R-S 

Ŝ

nica zbiorów

zawiera krotki nale

Ŝą

ce do 

nie nale

Ŝą

ce do S



Relacje musz

ą

mie

ć

identyczne schematy

background image

8

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

R

R:

2000

Fiesta

Ford

1990

Uno

Fiat

Rok 
produkcji

Model 
samochodu

Marka 
samochodu

1998

Mondeo

Ford

1004

Panda

Fiat

2000

Mondeo

Ford

1990

Uno

Fiat

Rok 
produkcji

Model 
samochodu

Marka 
samochodu

S

S:

R

R

S

S

:

:

2000

Fiesta

Ford

1998

Mondeo

Ford

1004

Panda

Fiat

2000

Mondeo

Ford

1990

Uno

Fiat

Rok 
produkcji

Model 
samochodu

Marka 
samochodu

Przykłady:

R

R

S

S

:

:

1990

Uno

Fiat

Rok 
produkcji

Model 
samochodu

Marka 
samochodu

R

R

-

-

S

S

:

:

2000

Fiesta

Ford

Rok 
produkcji

Model 
samochodu

Marka 
samochodu

background image

9

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Rzutowanie:



Tworzy now

ą

relacj

ę

z relacji przez usuni

ę

cie z niej 

pewnych kolumn

)

(

,...,

2

,

1

R

An

A

A

π

background image

10

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Selekcja:



nie zmieniaj

ą

c schematu relacji tworzy now

ą

relacj

ę

zawieraj

ą

cej 

podzbiór krotek spełniaj

ą

cych pewien logiczny warunek



gdzie to wyra

Ŝ

enie warunkowe na jednym lub wi

ę

cej atrybutach

)

(R

C

σ

background image

11

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Iloczyn kartezja

ń

ski:



(inaczej produkt) relacji to relacja wszystkich uporz

ą

dkowanych par krotek, z 

których pierwszy element pary nale

Ŝ

y do relacji a drugi do S



Schemat relacji R

××××

jest sum

ą

schematów relacji S, w której powtarzaj

ą

ce si

ę

atrybuty (kolumny) traktowane s

ą

jako odr

ę

bne elementy schematu, np. R.A S.A

niemiecki

Adam Kot

angielski

Adam Kot

J

ę

zyk

Student

R

R:

S

S:

fizyka

Adam Kot

matematyka

Adam Kot

J

ę

zyk

Student

R

R

××××

××××

S

S

:

:

matematyka

Adam Kot

niemiecki

Adam Kot

fizyka

Adam Kot

niemiecki

Adam Kot

Adam Kot

Adam Kot

R.Student

angielski

angielski

J

ę

zyk

fizyka

Adam Kot

matematyka

Adam Kot

Przedmiot

S.Student

background image

12

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

ą

czenie naturalne:



polega na poł

ą

czeniu w pary tych krotek z relacji S, które maj

ą

identyczne 

warto

ś

ci dla wszystkich wspólnych atrybutów i jest oznaczane R      S



w rezultacie powstaje relacja, której schemat zawiera atrybuty relacji i relacji 
S, przy czym wspólna cz

ęść

uwzgl

ę

dniana jest tylko raz

I

II

I

Semestr

2,0

Matematyka

Jan Pies

4,0

Fizyka

Adam Kot

3,0

Matematyka

Adam Kot

Ocena

Przedmiot

Student

Prof. Wilk

Prof. Zaj

ą

c

Prof. Wilk

Prowadz

ą

cy

I

II

I

Semestr

2,0

Matematyka

Jan Pies

4,0

Fizyka

Adam Kot

3,0

Matematyka

Adam Kot

Ocena

Przedmiot

Student

Prof. Kos

II

Matematyka

II

I

Semestr

Prof. Zaj

ą

c

Fizyka

Prof. Wilk

Matematyka

Prowadz

ą

cy

Przedmiot

background image

13

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Typy zł

ą

cze

ń

:



ą

czenie wewn

ę

trzne

(inner join) – w relacji wynikowej wyst

ę

puj

ą

wył

ą

cznie te krotki, które spełniaj

ą

warunek zł

ą

czenia



ą

czenie lewostronne zewn

ę

trzne

(left outer join) – zawiera wszystkie 

krotki uzupełnione krotkami spełniaj

ą

cymi warunek



ą

czenie prawostronne zewn

ę

trzne

(right outer join) - zawiera 

wszystkie krotki uzupełnione krotkami spełniaj

ą

cymi warunek



ą

czenie zewn

ę

trzne pełne

(full outer join) – zawiera wszystkie krotki 

oraz uzupełnione warto

ś

ciami typu NULL gdy do danej krotki nie 

pasuje 

Ŝ

adna krotka z drugiej relacji



ą

czenie zewn

ę

trzne typu union

- zawiera wszystkie krotki nie 

pasuj

ą

ce do 

Ŝ

adnej krotki uzupełnione krotkami nie pasuj

ą

cymi do 

Ŝ

adnej krotki R

background image

14

Kraków, 2006

str.

K. Regulski, ZIP,  v.1.0

Przemianowanie:



zmienia nazw

ę

relacji i ewentualnie nazwy atrybutów (kolumn) w relacji i 

jest oznaczane

w tym przypadku relacja zostanie przemianowana na a atrybuty otrzymaj

ą

nazwy 

A

1

, A

2

,...A

n

)

(

)

,...

,

(

2

1

R

n

A

A

A

S

ρ