background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Relacyjny model danych 

definicja modelu

Wykład 3

16.10.2007

Antoni Dydejczyk

http://www.ftj.agh.edu.pl/~antek

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Plan wyk

Plan wyk

ł

ł

adu

adu



Klasyfikacja modeli baz danych



Model hierarchiczny - informacja



Model sieciowy - informacja



Relacyjny model danych



Definicja relacji, krotki, atrybutu



Powiązanie relacji 1-1, 1-n, n-m



Klucze: kandydujący, główny, obcy 



Algebra relacyjna

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

G

G

ł

ł

ó

ó

wne typy (generacje) baz danych

wne typy (generacje) baz danych

1. Proste modele danych. Dane zorganizowane są w strukturę rekordów 

zgrupowanych w plikach. Głównymi dostępnymi operacjami są
operacje na rekordach (ewentualnie na ich poszczególnych polach).

2. Klasyczne modele danych. NaleŜą do nich modele hierarchiczne, 

sieciowe i relacyjne. 

Modele relacyjne stanowią najbardziej popularną

obecnie podstawę architektur systemów baz danych

3. Semantyczne modele danych. Semantyka to inaczej znaczenie. 

Klasyczne modele danych nie dostarczają łatwego sposobu odczytania 
informacji o semantyce danych, stąd podejmuje się próby stworzenia 
innych modeli, uzupełniających ten brak. Przykładem częściowej 
realizacji tego programu są obiektowe modele danych.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Ewolucja modeli danych

Ewolucja modeli danych

System plików

Diagramy Bachmana

Model hierarchiczny

Model sieciowy

Płaski model relacyjny

Modele obiektów złoŜonych

ZagnieŜdŜony model relacyjny

Semantyczne modele danych 

Model związków encji

Model obiektowy

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

Teoretyczne podstawy:

- brak,
- model danych opracowany na podstawie istniejących 

aplikacji,

- SZBD realizujący załoŜenia modelu - system IMS

( Information Management System)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

ZAMÓWIENIA

Członkowie

Towary

Organizacja danych w bazie

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

Definicja danych:

- typy rekordów,
- związki nadrzędny - podrzędny.

Typ rekordów - jest struktura danych, złoŜoną ze zbioru 
nazwanych pól. KaŜde pole jest uŜywane do przechowywania 
prostego atrybutu i jest mu przyporządkowany typ danych.

Powiązanie nadrzędny - podrzędny - jest związkiem jeden - do 
- wielu między dwoma typami rekordów. 

Schemat hierarchiczny jest złoŜony z wielu typów rekordów, 
powiązanych ze sobą za pomocą związków nadrzędny-
podrzędny.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

Wirtualne

ZAMÓWIENIA

Towary

Członkowie

Organizacja danych w bazie

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

Wirtualne

ZAMÓWIENIA

Bezpośrednia implementacja związku wieloznacznego

Wirtualne

CZŁONKOWIE

Wirtualne

TOWARY

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

TOWARY

ZAMÓWIENIA

CZŁONKOWIE

Wirtualne

ZAMÓWIENIA

UŜycie wskaźnika do poprzednika

Wirtualne

CZŁONKOWIE

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

Przeszukiwanie bazy

a

b

c

d

e

f

g

j

i

h

a

b

c

d

e

f

g

j

i

h

Nanizany porządek poprzedzający

Wskaźniki do lewego
następnika / prawego
współnastępnika

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

Operowanie danymi:

W hierarchicznym modelu danych operowanie danymi jest 
wykonywane poprzez wbudowanie funkcji dostępu do bazy 
danych w wybranym języku programowania.

WHILE DB_status 0 DO

BEGIN 

WRITELN (moduł.NazwaModułu);
GET NEXT Moduł WHERE Poziom=1;

END;

Instrukcja ta jest procedurą - zbiorem instrukcji wyraŜonej w 
pewnej sekwencji. Hierarchiczne języki zapytań opisywane są
jako proceduralne języki zapytań.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model hierarchiczny

Model hierarchiczny

Integralność danych:
1) Nie mogą istnieć Ŝadne wystąpienia rekordów, z wyjątkiem 

rekordu korzenia ( najwyŜszego w hierarchii), bez  
powiązania z odpowiednim wystąpieniem rekordu 
nadrzędnego.

a) nie moŜna wstawić rekordu podrzędnego, dopóki nie 

zostanie powiązany z rekordem nadrzędnym,

b) usunięcie rekordu nadrzędnego powoduje 

automatyczne usunięcie wszystkich powiązanych z 
nim rekordów podrzędnych.

2)  JeŜeli podrzędny typ rekordu ma związane dwa lub więcej 

nadrzędnych typów rekordów, to rekord podrzędny musi 
zostać powielony dla kaŜdego rekordu nadrzędnego.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model sieciowy

Model sieciowy

Model sieciowy uwaŜany jest za następcę hierarchicznego 
modelu danych.

Rozwój sieciowego modelu danych:

1971 - Propozycje grupy DBTG na konferencji na temat 

systemów i języków programowania - CODASYL.

1984 - zarekomendowanie przez organizację ANSI języka 

definicji sieciowych (NDL).

DBTG – Data Base Task Group

CODASYL – Conference on Data System Languages

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model sieciowy

Model sieciowy

Struktury danych w modelu:

- typy rekordów
- typy kolekcji

Typ rekordów, pojęciowo zgodny z typem rekordów w modelu 
hierarchicznym, z tą róŜnicą, Ŝe pola mogą być uŜywane do 
przechowywania wielu wartości lub reprezentowania 
złoŜonych wartości, które się powtarzają.

Typ kolekcji jest opisem związku jeden - do - wielu między 
dwoma typami rekordów. KaŜdy typ kolekcji składa się z 
nazwy, typu rekordów właściciela i typu rekordów członka 
kolekcji.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model sieciowy

Model sieciowy

DOSTAWCY

Nazwa_dost

Adres_dost

CENY

Ilosc

TOWAR

ZAMÓWIENIA

CZŁONKOWIE

Nr. zamów.

Adres

Saldo

Nazwisko

Koszt

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model sieciowy

Model sieciowy

TOWARY

DOSTAWCY

CZŁONKOWIE

CENY

ZAMÓWIENIA

CenDost

CenTowar

ZamTowar

ZamCzlon

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model sieciowy

Model sieciowy

Operowanie danymi:

Operowanie na danych w bazie danych odbywa się w języku programowania 
gospodarza.
Operacje te moŜna podzielić na trzy grupy:
-

polecenia nawigacji po danych (ustawienia wskaźników bieŜących 
rekordów),

-

polecenie sprowadzenia zawartości bieŜących wartości,

-

polecenia modyfikujące zawartości wystąpień rekordów i kolekcji.

Język programowania i system bazy danych to dwa oddzielne systemy 
oprogramowania. Połączone są one poprzez wspólny interfejs.

Program napisany w języku programowania gospodarza uŜywa zbioru 
zmiennych lokalnych (obszar roboczy uŜytkownika), na których zapisane są
wartości sprowadzone z rekordów bazy danych.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Model sieciowy

Model sieciowy

Integralność danych:

Integralność dotyczy określenia członkostwa w kolekcji i trybu 

wstawienia.

Członkostwo w kolekcji moŜe być zdefiniowane jako wymagane 

lub opcjonalne.

Członkostwo kolekcji ma dwa tryby wstawiania:
 ręczny - programy uŜytkowe mają wstawiają rekordy według  

określonego schematu, 

 automatyczny - gdy tworzony jest rekord członka, jest on 

automatycznie wstawiany do bieŜącego wystąpienia kolekcji. 

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Relacyjny model danych

Relacyjny model danych

1970 – E.F. Codd – A relational model for large shared data 
banks – fundament relacyjnego modelu baz danych

1979 – E.F.Codd – rozszerzona wersja relacyjnego modelu 
baz danych RM/T – Extending the relational database model 
to capture more meaning.

1990 – E.F.Codd – ksiąŜka The Relational Model for 
Database Management: Version 2

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Relacja 

Relacja 

-

-

definicja

definicja

Relacja – zbiór dziedzin D1, ..., Dn – składający się z dwóch 

części: nagłówka i treści. W tabelarycznej reprezentacji 
powiemy, nagłówek – wiersz złoŜony z tytułów kolumn, treść
– zbiór wierszy z danymi.

1. Nagłówek – ustalony zbiór atrybutów, dokładniej par

<nazwa atrybutu:nazwa dziedziny>
{ <A1:D1>, <Aj:Dj>, ... ,<An:Dn> }

2. Treść składa się z krotek. KaŜda krotka jest zbiorem par

<nazwa atrybutu:wartość atrybutu>
{ <A1:vi1>, <Aj:vij>, ... , <An:vin> }

(j = 1,2, ... , n) stopień relacji R
(i = 1,2, ... ,m) liczebność relacji R

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Relacja 

Relacja 

-

-

definicja

definicja

Athens

30

Adams

S5

London

20

Clark

S4

Paris

30

Blake

S3

Paris

10

Jones

S2

London

20

Smith

S1

CITY

STATUS

SNAME

S#

S#

NAME

Klucz

główny

STATUS

CITY

Dziedziny

Atrybuty

Stopień tabeli

Liczebność

Krotki

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Poj

Poj

ę

ę

cia stosowane do opisu relacyjnego modelu

cia stosowane do opisu relacyjnego modelu

zbiór dopuszczalnych 
wartości

dziedzina

jednoznaczny identyfikator

klucz główny

liczba kolumn

stopień tabeli

kolumna lub pole

atrybut

liczba wierszy

liczebność tabeli

wiersz lub rekord

krotka

tabela

relacja

Nieformalny równowaŜnik

Formalny termin relacyjny

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Zbi

Zbi

ó

ó

r zasad opisuj

r zasad opisuj

ą

ą

cych relacj

cych relacj

ę

ę



KaŜda relacja w bazie danych ma jednoznaczną nazwę.



KaŜdy atrybut w relacji ma jednoznaczną nazwę w 
ramach jednej relacji.



Wszystkie wartości danego atrybutu muszą naleŜeć do tej 
samej dziedziny.



Porządek atrybutów w relacji nie jest istotny.



KaŜda krotka w relacji musi być róŜna.



Porządek krotek jest nie istotny.



KaŜde atrybut w relacji powinien zawierać wartość
atomową.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Schemat relacji

Schemat relacji

Nazwa relacji oraz zbiór jej atrybutów.



Relacja R ( atrybut_1, atrybut_2, ... , atrybut_n )



{ <S#           : S#       >,

<Sname

: name >,

<Status     : status >,
<CITY     : city>     }



( S1, Smith, 20, London )

( Smith, 20, London, S1 )

( London, Smith, 20, S1 )

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Dziedzina

Dziedzina

Dziedzina jest to zbiór wartości skalarnych. Wszystkie 

muszą być tego samego typu. Do dziedziny naleŜy 
najmniejsza semantyczna jednostka danych – pojedyncza 
wartość danych. Przez najmniejszą naleŜy rozumieć, Ŝe 
nie posiadają struktury wewnętrznej w ramach modelu 
relacyjnego.

Np.

• numer dostawcy
• pojedynczy cięŜar
• pojedyncza nazwa miasta
• liczba części w dostawie

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Integralno

Integralno

ść

ść

danych relacyjnych

danych relacyjnych

Baza danych zawiera konkretny układ wartości danych –

układ ten powinien odpowiadać rzeczywistości.

Klucz kandydujący w relacji R jest podzbiorem K zbioru 
atrybutów relacji R, mającym:

Własność jednoznaczności:
ś

adne dwie róŜne krotki R nie posiadają tej samej wartości dla K.

Własność nieredukowalności:
ś

aden właściwy podzbiór K nie ma własności jednoznaczności.

JeŜeli w relacji jest więcej niŜ jeden klucz kandydujący, naleŜy 
wybrać jeden z nich jako – klucz główny tej relacji, pozostałe 
nazywane są kluczami alternatywnymi.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Klucze obce

Klucze obce

Definicja:
R2 jest relacją podstawową. Klucz obcy relacji R2 jest to 
podzbiór FK zbioru atrybutów R2, taki Ŝe:

 Istnieje relacja podstawowa R1 z kluczem kandydującym Ck,
 W kaŜdej chwili kaŜda wartość FK w aktualnej wartości relacji R2 

jest taka sama, jak wartość Ck w pewnej krotce aktualnej wartości 
relacji R1.

Wartość klucza obcego stanowi referencję (odwołanie) do krotki 
zawierającej wartość odpowiadającego mu klucza kandydującego.
Integralność referencyjna – zapewnienie, aby baza nie zawierała 
niedopuszczalnych wartości klucza obcego.
Więzy referencyjne – zgodność klucza obcego z wartościami 
odpowiadającemu mu klucza kandydującego.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

Klucz obcy

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

Klucz główny

Klucz g

Klucz g

ł

ł

ó

ó

wny i obcy w relacjach

wny i obcy w relacjach

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Relacja jeden do jeden

Relacja jeden do jeden

AAA

A3

A2

A1

Tabela R1

Klucz

Właściwości:
- niepowtarzalny

AAA

B3

B2

B1

A1

Tabela R2

Klucz obcy

Właściwości:
- niepowtarzalny

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Relacja jeden do wielu

Relacja jeden do wielu

AAA

A3

A2

A1

Tabela R1

Klucz

Właściwości:
- niepowtarzalny

Tabela R2

AAA

AAA

AAA

B3

B2

B1

A1

Klucz obcy

Właściwości:
- powtarzalny

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Relacja jeden do wielu

Relacja jeden do wielu

AA2

AA1

A3

A2

A1

BB1

BB3

BB2

B4

B3

B2

B1

Tabela R1 (np. wykład)

Tabela R2 (np. prowadzący)

Klucz

Klucz

BB1

AA2

BB2

AA2

BB3

AA2

BB3

AA1

BB1

AA1

B2

A1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Operowanie danymi

Operowanie danymi

1. Jak wstawiamy dane do relacji ?
2. Jak usuwamy dane z relacji ?
3. Jak poprawiamy dane w relacji ?
4. Jak wyszukujemy dane w relacji ?

Zastosowanie dobrego projektu bazy danych prowadzi do konieczności 

korzystania z technik umoŜliwiających złoŜenie danych znajdujących 

się w kilku relacjach (tabelach) w jedną spójną całość.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Przyk

Przyk

ł

ł

ad

ad

Relacje:  

KsiąŜka (ISBN, tytul, WydID, Cena)
Wydawnictwo (WydID, WydNazwa, WydTel)

Pytanie: 

Podać wykaz nazw i telefonów wydawnictw 
wydaj
ących ksiąŜki w cenie poniŜej ceny A.

Algebra relacyjna:
1. połącz relacje ksiąŜka i wydawnictwo na atrybucie WydID
2. wyselekcjonuj wiersze w których warto
ść atrybutu Cena jest 

mniejsza niŜ A

3.

pokaŜ relację zawierającą atrybuty WydNazwa i WydTel

Rachunek relacyjny:

{(x,y) | Wydawnictwo(z,x,y) KsiąŜki (a,b,z,c) c<A }

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Algebra relacyjna i rachunek relacyjny

Algebra relacyjna i rachunek relacyjny

Algebra relacyjna.

Język proceduralny. WyraŜenia opisują
procedurę zwracającą wyniki.

Rachunek relacyjny.

Język nieproceduralny. Język uŜywa wyraŜeń
logicznych, opisujących warunki, które muszą
być spełnione, aby wiersz znalazł się w tabeli 
wynikowej, bez wyja
śnienia w jaki sposób 
otrzyma
ć ten wiersz. 

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Wyszukiwanie danych 

Wyszukiwanie danych 

algebra relacyjna

algebra relacyjna

Algebra relacyjna definiuje osiem operatorów, które działając 

na relacje, dają jedną relację jako wynik.

WyróŜniamy następujące operatory:

1. Selekcja (ograniczenie, restrykcja) 
2. Rzut (projekcja)
3. Złączenie
4. Iloczyn 
5. Suma
6. Przecięcie
7. RóŜnica
8. Iloraz

Algebra relacyjna – proceduralny język zapytań.

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Selekcja

Selekcja

Daje w wyniku relację składającą się ze wszystkich 
krotek, które w wskazanej relacji spełniają określone 
warunki.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

RESTRICT <nazwa relacji>
[ WHERE <warunek>]   

 <relacja wynikowa>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Selekcja 

Selekcja 

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

RESTRICT Moduły WHERE Poziom=1  







R1

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Rzut

Rzut

Daje w wyniku relację składającą się z tych wszystkich 
krotek, które pozostały jako krotki w danej relacji po 
usunięciu wskazanych atrybutów.

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

PROJECT <nazwa relacji> [<lista atrybutów>]   

 R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Rzut 

Rzut 

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

RESTRICT Moduły (NazwaModułu) 







R1

Projektowanie relacyjnych baz danych

...

Systemy relacyjnych baz danych

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Iloczyn

Iloczyn

Daje relację składającą się ze wszystkich moŜliwych krotek, 

będących kombinacjami dwóch krotek, po jednej z kaŜdej 

wskazanej relacji.

c

b

a

y

x

y

c

x

c

y

b

x

b

y

a

x

a



PRODUKT <relacja 1> WITH <relacja 2> 

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Suma

Suma

Daje w wyniku relację składającą się ze wszystkich krotek, 
występujących w jednej lub obu wskazanych relacjach.
Suma bierze dwie zgodne relacje (te same atrybuty i 
dziedziny) i produkuje relację wynikową.

<relacja 1> UNION <relacja2>  

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Suma 

Suma 

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

Adminstratorzy (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Suma 

Suma 

-

-

przyk

przyk

ł

ł

ad

ad

Wykładowcy UNION Administratorzy  







R1

L

Davies T

234

SL

Jones S

237

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

R1 (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Przeci

Przeci

ę

ę

cie

cie

Daje w wyniku relację składającą się ze wszystkich krotek, 
występujących w obu wskazanych relacjach.

Przecięcie bierze dwie zgodne relacje (te same atrybuty i 
dziedziny) i produkuje relację wynikową z krotkami wspólnymi 
dla obu relacji.

<relacja 1> INTERSECTION <relacja2>  

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Przeci

Przeci

ę

ę

cie 

cie 

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

PL

Evans

345

Starszy urzędnik

Jones S

1023

Status

NazwiskoPrac

NrPrac

Adminstratorzy (NrPrac,nazwiskoPrac,Status)

PL

Evans

345

Status

NazwiskoPrac

NrPrac

Wykładowcy INTERSECTION Administratorzy 







R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

R

R

ó

ó

Ŝ

Ŝ

nica

nica

Daje w wyniku relację składającą się ze wszystkich krotek, 
występujących w pierwszej i nie występujących drugiej 
wskazanej relacji.

W przypadku tego operatora istotna jest kolejność relacji.

<relacja 1> DIFFERENCE <relacja2>  

 <relacja>

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

R

R

ó

ó

Ŝ

Ŝ

nica 

nica 

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy DIFFERENCE Administratorzy 







R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

R

R

ó

ó

Ŝ

Ŝ

nica 

nica 

-

-

przyk

przyk

ł

ł

ad

ad

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

PL

Evans

345

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

Wykładowcy DIFFERENCE Wykładowcy 







R1

Starszy urzędnik

Jones S

1023

Urzędnik

Davies P

1001

Status

NazwiskoPrac

NrPrac

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Iloraz

Iloraz

Bierze dwie relacje, jedną binarną, a drugą unarną i daje w 
wyniku relację składająca się ze wszystkich wartości 
jednego atrybutu relacji binarnej, które zgadzają się ze 
wszystkimi wartościami relacji unarnej.

a

z

x

y

c

x

b

y

b

z

a

y

a

x

a



background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Z

Z

łą

łą

czenie

czenie

Daje w wyniku relację składającą się ze wszystkich 
moŜliwych krotek, które są kombinacjami dwu krotek, po 
jednej z kaŜdej ze wskazanych relacji, takich Ŝe mają tę samą
wartość wspólnego atrybutu. WyróŜniamy:

- równozłączenie
- złączenie naturalne
- złączenie zewnętrzne 

lewostronne złączenie zewnętrzne
prawostronne złączenie zewnętrzne 
obustronne złączenie zewnętrzne

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Z

Z

łą

łą

czenie 

czenie 

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

345

CSD

3

Obiektowe bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

PL

Evans

345

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

Wykładowcy (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

R

R

ó

ó

wnoz

wnoz

łą

łą

czenie

czenie

-

-

przyk

przyk

ł

ł

ad

ad

237

345

345

234

234

NrPrac

237

345

345

234

234

NrPrac

Jones S

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

SL

CSD

2

Rozproszone 
bazy danych

PL

CSD

3

Obiektowe bazy 
danych

PL

CSD

3

Dedukcyjne bazy 
danych

L

CSD

1

Projektowanie 
relacyjnych baz 
danych

L

CSD

1

Systemy 
relacyjnych baz 
danych

status

KodKursu

Poziom

NazwaModułu

EQUIJOIN <relacja1> WITH <relacja2> 







<relacja>

EQUIJOIN Wykładowcy WITH Moduły 

 R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Z

Z

łą

łą

czenie naturalne 

czenie naturalne 

-

-

przyk

przyk

ł

ł

ad

ad

237

345

345

234

234

NrPrac

Jones S

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

SL

CSD

2

Rozproszone 
bazy danych

PL

CSD

3

Obiektowe bazy 
danych

PL

CSD

3

Dedukcyjne bazy 
danych

L

CSD

1

Projektowanie 
relacyjnych baz 
danych

L

CSD

1

Systemy 
relacyjnych baz 
danych

status

KodKursu

Poziom

NazwaModułu

JOIN <relacja1> WITH <relacja2> 







<relacja>

JOIN Wykładowcy WITH Moduły 

 R1

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Z

Z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne 

trzne 

przyk

przyk

ł

ł

ad  

ad  

PL

Evans

345

L

Smith J

123

SL

Thomas P

145

SL

Jones S

237

L

Davies T

234

Status

NazwiskoPrac

NrPrac

Wykładowcy (NrPrac,nazwiskoPrac,Status)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Z

Z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne 

trzne 

-

-

przyk

przyk

ł

ł

ad

ad

237

CSD

2

Rozproszone bazy danych

null

CSD

2

Tworzenie baz danych

null

CSD

2

Administrowanie bazami danych

345

CSD

3

Obiektowe bazy danych

345

CSD

3

Dedukcyjne bazy danych

234

CSD

1

Projektowanie relacyjnych baz danych

234

CSD

1

Systemy relacyjnych baz danych

NrPrac

KodKursu

Poziom

NazwaModułu

Moduły (NazwaModułu,Poziom,KodKursu,NrPrac)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Lewostronne z

Lewostronne z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne 

trzne 

-

-

przyk

przyk

ł

ł

ad

ad

SL

Jones S

237

237

CSD

2

Rozproszone bazy 
danych

null

null

null

null

CSD

2

Tworzenie baz 
danych

null

null

null

null

CSD

2

Administrowanie 
bazami danych

345

345

234

234

NrPrac

345

345

234

234

NrPrac

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

PL

CSD

3

Obiektowe bazy 
danych

PL

CSD

3

Dedukcyjne bazy 
danych

L

CSD

1

Projektowanie 
relacyjnych baz 
danych

L

CSD

1

Systemy relacyjnych 
baz danych

status

KodKursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Prawostronne z

Prawostronne z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne 

trzne 

-

-

przyk

przyk

ł

ł

ad

ad

SL

Jones S

237

237

CSD

2

Rozproszone bazy 
danych

L

Smith J

123

123

null

null

null

SL

Thomas P

145

145

null

null

null

345

345

234

234

NrPrac

345

345

234

234

NrPrac

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

PL

CSD

3

Obiektowe bazy 
danych

PL

CSD

3

Dedukcyjne bazy 
danych

L

CSD

1

Projektowanie 
relacyjnych baz danych

L

CSD

1

Systemy relacyjnych 
baz danych

status

KodKursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Obustronne z

Obustronne z

łą

łą

czenie zewn

czenie zewn

ę

ę

trzne 

trzne 

-

-

przyk

przyk

ł

ł

ad

ad

SL

Thomas P

145

145

null

null

null

null

nul

null

null

CSD

2

Tworzenie baz danych

null

null

null

null

CSD

2

Administrowanie bazami 
danych

SL

Jones S

237

237

CSD

2

Rozproszone bazy danych

L

Smith J

123

123

null

null

null

345

345

234

234

NrPrac

345

345

234

234

NrPrac

Evans R

Evans R

Davies T

Davies T

NazwiskoPrac

PL

CSD

3

Obiektowe bazy danych

PL

CSD

3

Dedukcyjne bazy danych

L

CSD

1

Projektowanie relacyjnych 
baz danych

L

CSD

1

Systemy relacyjnych baz 
danych

status

KodK
ursu

Poziom

NazwaModułu

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Algebra relacyjna

Algebra relacyjna

UmoŜliwia stworzenie proceduralnego języka zapytań. Co to oznacza: 

W celu wydobycia informacji z bazy danych przy uŜyciu algebry relacyjnej 
okre
ślamy ciąg operatorów, w których wynik z kaŜdego kroku w ciągu 
tworzy relacj
ę, którą moŜna uŜyć jako argumentu wejściowego w 
nast
ępnych krokach.

Przykład:
RESTRICTED Wykładowcy WHERE NazwiskoPrac = ‘Davies T’

 R1

JOIN R1 WITH Moduły ON NrPrac

 R2

PROJECT R2 (NazwaModułu) 

 R3

Forma zagnieŜdŜona:
PROJECT ( JOIN Moduły WITH

( RESTRICT Wykładowcy WHERE NazwiskoPrac = ‘DaviesT’)

ON NrPrac )

(NazwaModułu)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Podstawowe operatory

Podstawowe operatory

WyróŜniamy operatory podstawowe:

selekcja, rzut, iloczyn, suma, róŜnica

Operatory pozostałe moŜna zdefiniować przy 
pomocy operatorów podstawowych:

ączenie, przecięcie, iloraz

Np. operator ączenia – rzut selekcji na iloczynie

A jak utworzymy operatory przecięcia i ilorazu ?

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Zastosowania wyra

Zastosowania wyra

Ŝ

Ŝ

e

e

ń

ń

algebry relacyjnej

algebry relacyjnej

Definiowanie zakresu wydobywania danych

(definiowanie zakresu danych jakie będą zwrócone w wyniku 
operacji wyszukiwania)

Definiowanie zakresu aktualizacji

(określenie danych, które mają być wstawione, zmodyfikowane 
bądź usunięte)

Definiowanie (nazwanych) relacji wirtualnych

(definiowanie danych dostępnych w perspektywach)

Definiowanie migawek

(definiowanie danych, które będą przechowywane w postaci 

relacji „migawkowych”)

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Zastosowania wyra

Zastosowania wyra

Ŝ

Ŝ

e

e

ń

ń

algebry relacyjnej

algebry relacyjnej

Definiowanie zasad bezpieczeństwa

(definiowanie zakresu danych, które odnoszą się poszczególne 

rodzaje autoryzacji)

Definiowanie wymagań stabilności

(definiowanie zakresu danych, które będą poddawane kontroli w 
czasie współbieŜnego przetwarzania)

Definiowanie reguł integralności

(określenie szczególnych reguł, które musi spełniać baza danych )

background image

Antoni Dydejczyk, Bazy danych, wykład 3

WFiIS, Katedra Informatyki Stosowanej, 2007 

Pytania ...

Pytania ...