Algebra relacji - v5 - cz2, Klaudia Prywtne, K, III semestr, IiSBD, Bazy danych
[ Pobierz całość w formacie PDF ]
Matematyczne podstawy
relacyjnych baz danych
Operatory algebry relacji
Algebra relacji - założenia
• Operatory algebry relacji działają na relacjach i produkują relacje.
• Dwa wyniki działania operatora algebry relacji:
– Schemat
– zależny od argumentów relacji będących operandami (zbiór
atrybutów)
– Instancja
– zależna od instancji relacji będących operandami (zbiór krotek)
• Algebra relacji
– jest „ekwiwalentem” języka SQL,
– jej koncepcje pojawiają się w SQL,
– używana wewnątrz SZBD, np. do budowania planów wykonania zapytań do
bazy i ich optymalizacji.
Krzysztof Molenda, Bazy danych I
2013-01-10
Przegląd i klasyfikacja operatorów algebry relacji
• Operatory bazujące na teorii zbiorów
– suma “
∪
”, iloczyn “
∩
”, różnica “
”
• Operator zmiany nazwy
ρ
• Operatory relacyjne jednoargumentowe
– projekcja
π
, selekcja
σ
• Operatory relacyjne dwuargumentowe
– Iloczyn kartezjański “
×
”, złączenia “
⋈
”
• Operatory rozszerzające
– eliminacja duplikatów, grupowanie, agregacja, sortowanie, złączenia
zewnętrzne, itp.
Krzysztof Molenda, Bazy danych I
2013-01-10
Operatory algebry zbiorów – założenia
• Instancje relacji są
zbiorami
krotek, możemy zatem używać dla nich
operatorów algebry zbiorów.
• Wynikiem operatorów algebry relacji muszą być relacje (a więc schemat
i instancja)
– Czy jest sens używania tych operatorów w kontekście MULTIZBIORÓW
(zbiorów z duplikatami)?
• Operatory algebry zbiorów mogą być stosowane wyłącznie dla
relacji
zgodnych
, tzn.
– taka sama liczba atrybutów,
– te same nazwy,
– takie same dziedziny.
Krzysztof Molenda, Bazy danych I
2013-01-10
Suma relacji zgodnych
R
S
– suma dwóch relacji zgodnych
R
i
S
w wyniku daje relację zawierającą
zarówno krotki relacji
R
, jak i krotki
relacji
S
, przy czym duplikaty krotek
są eliminowane z relacji wynikowej.
• Własności:
– R
S = S
R
• Zastosowanie:
– Złączenie tabel
• Komentarze:
Domyślnie w operacji sumy nie są zwracane
powtarzające się rekordy. W języku SQL można
jednak dodać orzeczenie
ALL
, które spowoduje, że
będą zwracane wszystkie rekordy. Przyspiesza to
również działanie kwerendy. Ponadto wszystkie
kwerendy w operacji
UNION
muszą żądać tej
samej liczby pól.
SQL:
select
A, B, C
from
R
UNION
select
A, B, C
from
S;
Krzysztof Molenda, Bazy danych I
2013-01-10
[ Pobierz całość w formacie PDF ]