Similar presentations:
Algebra relacyjna. Wprowadzenie do systemów baz danych
1. Algebra relacyjna
Wprowadzenie do systemów baz danych2. Algebra relacyjna
Algebra relacyjna to zbiór operatorów,których argumentami jest jedna relacja lub
więcej relacji, a wynikiem jest relacja
Podstawowymi operatorami algebry
relacyjnej są
Selekcja (ograniczanie) – restrict operation
Rzut (projekcja) – project operation
Złączenie – join operation
3. Selekcja
Selekcja bierze jedną relacje jako swójargument i produkuje w wyniku jedną relację
Selekcja wydobywa z wejściowej relacji
wiersze, które pasują do podanego warunku,
i przekazuje je do relacji wynikowej
Selekcja może być uważana za „poziomą
maszynę do cięcia”
4. Selekcja
dane_osobowenumer
nazwisko
imię
1
Kowalski
Jan
2
Kowalski
Andrzej
3
Nowak
Jan
4
Drozd
Krzysztof
Relacja wejściowa
dane_osobowe
RESTRICT dane_osobowe WHERE nazwisko = ’Kowalski’
numer
nazwisko
imię
Relacja wynikowa
1
Kowalski
Jan
2
Kowalski
Andrzej
5. Projekcja (Rzut)
Projekcja bierze jedną relacje jako swójargument i produkuje w wyniku jedną relację
Projekcja jest „pionową maszyną do cięcia”
Projekcja usuwa z wejściowej relacji kolumny,
a pozostałe umieszcza w relacji wyjściowej
6. Projekcja (Rzut)
dane_osobowenumer
nazwisko
imię
1
Kowalski
Jan
2
Kowalski
Andrzej
3
Nowak
Jan
4
Drozd
Krzysztof
Relacja wejściowa
dane_osobowe
PROJECT dane_osobowe(nazwisko, imię)
nazwisko
imię
Kowalski
Jan
Kowalski
Andrzej
Nowak
Jan
Drozd
Krzysztof
Relacja wynikowa
7. Iloczyn kartezjański
Argumentami są dwie relacje i produkowanajedna relacja wynikowa złożona ze
wszystkich możliwych kombinacji wierszy z
wejściowych tabel
Operator rzadko używany ze względu na
możliwość generowania „eksplozji
informacyjnej”
8. Iloczyn kartezjański
A×BA
dane osobowe
PID
1
2
3
4
B
samochody
nazwisko
Kowalski
Janiak
Nowak
Drozd
A.PID
nazwisko
B.PID
samochód
1
Kowalski
1
GA 12345
2
Janiak
1
GA 12345
3
Nowak
1
GA 12345
PID
samochód
4
Drozd
1
GA 12345
1
GA 12345
1
Kowalski
1
GA 45674
1
GA 45674
2
Janiak
1
GA 45674
3
GA 83900
3
Nowak
1
GA 45674
4
Drozd
1
GA 45674
1
Kowalski
3
GA 83900
2
Janiak
3
GA 83900
3
Nowak
3
GA 83900
4
Drozd
3
GA 83900
=
9. Równozłączenie
Operator złączenia bierze dwie relacje jakoswoje argumenty i produkuje jedną relację
wynikową
Równozłączenie jest iloczynem
kartezjańskim, po którym jest wykonywana
selekcja - zostają tylko te wiersze, których
wartości w kolumnach złączenia są takie
same
10. Równozłączenie
BA
PID
nazwisko
1
Kowalski
2
Janiak
3
4
Nowak
Drozd
PID
samochód
1
GA 12345
1
GA 45674
3
GA 83900
JOIN A WITH B
A.PID
nazwisko
B.PID
samochód
1
Kowalski
1
GA 12345
1
Kowalski
1
GA 45674
3
Nowak
3
GA 83900
11. Złączenia zewnętrzne
Lewostronne – zostają wszystkie wiersze ztabeli A (lewej) i pasujące z tabeli B (prawej)
Prawostronne – zostają wszystkie wiersze z
tabeli B (prawej) i pasujące z tabeli A (lewej)
Obustronne – kombinacja złączenia
lewostronnego i prawostronnego
12. Lewostronne złączenie zewnętrzne
APID
1
2
3
4
A NATURAL LEFT JOIN B
B
A.PID
nazwisko
B.PID
samochód
1
Kowalski
1
GA 12345
1
Kowalski
1
GA 45674
2
Janiak
null
null
3
Nowak
3
GA 83900
4
Drozd
null
null
nazwisko
PID
samochód
1
GA 12345
1
GA 45674
3
GA 83900
Kowalski
Janiak
Nowak
Drozd
13. Złączenie teta
Inny warunek złączenia niż w złączeniu naturalnymNp.: A.PID <= B.PID
A
B
PID
nazwisko
PID
1
2
3
4
nazwisko
B.PID
samochód
1
Kowalski
1
GA 12345
1
Kowalski
1
GA 45674
1
Kowalski
3
GA 83900
2
Janiak
3
GA 83900
3
Nowak
3
GA 83900
samochód
Kowalski
1
GA 12345
1
GA 45674
3
GA 83900
Janiak
Nowak
Drozd
A.PID
14. Operatory znane z teorii zbiorów
Suma – union operationPrzecięcie – intersection operation
część wspólna zbiorów
Różnica – difference operation
15. Suma, przecięcie, różnica
Argumentami operatorów są dwie zgodne relacje, wynikiemrelacja wynikowa
Relacje zgodne – to relacje, które mają taką samą strukturę – te
same kolumny określone na tych samych dziedzinach
W wyniku sumy otrzymujemy relację zawierającą wiersze
(krotki) z obu relacji
W wyniku przecięcia uzyskujemy wiersze wspólne dwóch relacji
W wyniku różnicy otrzymujemy wiersze należące do pierwszej
relacji i nie należące do drugiej
16. Rachunek relacyjny
Rachunek relacyjny jest alternatywą algebry relacyjnejRachunek relacyjny jest oparty na logicznym rachunku
predykatów (funkcji zdaniowych)
Algebra ma charakter proceduralny (algorytmiczny)
Rachunek ma charakter nieproceduralny (deklaracyjny)
Algebra i rachunek są równoważne, każde wyszukiwanie
danych określone w algebrze można wyrazić w rachunku i
odwrotnie
Rachunek na krotkach jest wykorzystywany w języku SQL
Rachunek na dziedzinach jest podstawą interfejsu QBE (Query
By Example)