Algebra relacyjna
Algebra relacyjna
Selekcja
Selekcja
Projekcja (Rzut)
Projekcja (Rzut)
Iloczyn kartezjański
Iloczyn kartezjański
Równozłączenie
Równozłączenie
Złączenia zewnętrzne
Lewostronne złączenie zewnętrzne
Złączenie teta
Operatory znane z teorii zbiorów
Suma, przecięcie, różnica
Rachunek relacyjny
696.00K
Category: databasedatabase

Algebra relacyjna. Wprowadzenie do systemów baz danych

1. Algebra relacyjna

Wprowadzenie do systemów baz danych

2. 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ój
argument 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_osobowe
numer
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ój
argument 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_osobowe
numer
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 produkowana
jedna 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×B
A
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 jako
swoje 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

B
A
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 z
tabeli 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

A
PID
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 naturalnym
Np.: 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 operation
Przecię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, wynikiem
relacja 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 relacyjnej
Rachunek 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)
English     Русский Rules