Algebra relacyjna w DBMS: Operaz przykładami
Algebra relacyjna
ALGEBRA RELACYJNA jest szeroko stosowanym językiem zapytań proceduralnych. Gromadzi wystąpienia relacji jako dane wejściowe i podaje wystąpienia relacji jako dane wyjściowe. Używa różnych operacji do wykonania tej czynności. Operacje zapytań algebry relacyjnej SQL są wykonywane rekurencyjnie na relacji. Wynikiem tych operacji jest nowa relacja, która może zostać utworzona z jednej lub więcej relacji wejściowych.
Podstawowa algebra relacyjna SQL Operanych
Algebra relacyjna podzielona na różne grupy
Jednoargumentowy relacyjny Operanych
- WYBIERZ (symbol: σ)
- PROJEKT (symbol: π)
- ZMIEŃ NAZWĘ (symbol: ρ)
Algebra relacyjna Operaz teorii mnogości
- UNIA (υ)
- SKRZYŻOWANIE ( ),
- RÓŻNICA (-)
- Iloczyn kartezjański ( x )
Binarna relacja Operanych
- DOŁĄCZ
- PODZIAŁ
Przeanalizujmy je szczegółowo za pomocą rozwiązań:
WYBIERZ (σ)
Operacja SELECT służy do wybierania podzbioru krotek zgodnie z danym warunkiem wyboru. Oznacza ją symbol Sigma(σ). Jest ona używana jako wyrażenie do wybierania krotek spełniających warunek wyboru. Operator Select wybiera krotki spełniające dany predykat.
σp(r)
σ
jest orzeczeniem
r
oznacza relację, która jest nazwą tabeli
p
jest logiką przyimkową
1 przykład
σ topic = "Database" (Tutorials)
Wydajność – Wybiera krotki z Poradników, gdzie temat = „Baza danych”.
2 przykład
σ topic = "Database" and author = "guru99"( Tutorials)
Wydajność – Wybiera krotki z tutoriali, których tematem jest „Baza danych”, a „autorem” jest guru99.
3 przykład
σ sales > 50000 (Customers)
Wydajność – Wybiera krotki od Klientów, których sprzedaż przekracza 50000
Projekcja (π)
Projekcja eliminuje wszystkie atrybuty relacji wejściowej poza tymi wymienionymi na liście projekcji. Metoda projekcji definiuje relację zawierającą pionowy podzbiór Relacji.
Pomaga to wyodrębnić wartości określonych atrybutów, aby wyeliminować duplikaty wartości. Symbol (pi) jest używany do wybierania atrybutów z relacji. Ten operator pomaga zachować określone kolumny z relacji i odrzucić inne kolumny.
Przykład projekcji:
Rozważ poniższą tabelę
Identyfikator klienta | Nazwa klienta | Status |
---|---|---|
1 | Aktywna | |
2 | Amazon | Aktywna |
3 | Apple | Nieaktywny |
4 | Alibaba | Aktywna |
Tutaj wyświetli się projekcja nazwy klienta i statusu
Π CustomerName, Status (Customers)
Nazwa klienta | Status |
---|---|
Aktywna | |
Amazon | Aktywna |
Apple | Nieaktywny |
Alibaba | Aktywna |
Zmień nazwę (ρ)
Zmiana nazwy jest operacją jednoargumentową służącą do zmiany nazw atrybutów relacji.
ρ (a/b)R zmieni nazwę atrybutu „b” relacji na „a”.
Operacja związkowa (υ)
UNIA jest symbolizowana przez symbol ∪. Obejmuje wszystkie krotki znajdujące się w tabelach A lub B. Eliminuje także zduplikowane krotki. Zatem zbiór A UNION zbiór B zostanie wyrażony jako:
Wynik <- A ∪ B
Aby operacja związkowa była ważna, muszą być spełnione następujące warunki:
- R i S muszą mieć tę samą liczbę atrybutów.
- Domeny atrybutów muszą być kompatybilne.
- Zduplikowane krotki powinny zostać automatycznie usunięte.
Przykład
Przyjrzyj się poniższym tabelom.
kolumna 1 | kolumna 2 | kolumna 1 | kolumna 2 | |
---|---|---|---|---|
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
A ∪ B daje
kolumna 1 | kolumna 2 |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
Ustaw różnicę (-)
– Symbol to oznacza. Wynikiem A – B jest relacja obejmująca wszystkie krotki znajdujące się w A, ale nie w B.
- Nazwa atrybutu A musi być zgodna z nazwą atrybutu w B.
- Relacje dwuoperandowe A i B powinny być albo zgodne, albo zgodne z Unią.
- Należy zdefiniować relację składającą się z krotek znajdujących się w relacji A, ale nie w B.
Przykład
A-B
kolumna 1 | kolumna 2 |
---|---|
1 | 2 |
Skrzyżowanie
Przecięcie jest oznaczone symbolem ∩
A ∩ B
Definiuje relację składającą się ze zbioru wszystkich krotek znajdujących się zarówno w A, jak i B. Jednak A i B muszą być zgodne z unią.
Przykład:
A ∩ B
kolumna 1 | kolumna 2 |
---|---|
1 | 1 |
Produkt kartezjański (X) w systemie DBMS
Produkt kartezjański w DBMS jest operacją używaną do scalania kolumn z dwóch relacji. Generalnie, iloczyn kartezjański nigdy nie jest sensowną operacją, gdy wykonuje się go samodzielnie. Jednak staje się sensowny, gdy następują po nim inne operacje. Jest również nazywany iloczynem wektorowym lub połączeniem krzyżowym.
Przykład – iloczyn kartezjański
σ kolumna 2 = "1" (AXB)
Dane wyjściowe – powyższy przykład pokazuje wszystkie wiersze relacji A i B, których kolumna 2 ma wartość 1
kolumna 1 | kolumna 2 |
---|---|
1 | 1 |
1 | 1 |
Dołącz do rejestru Operanych
Operacja łączenia jest w zasadzie iloczynem kartezjańskim, po którym następuje kryterium wyboru.
Operacja łączenia oznaczona jest jako ⋈.
Operacja JOIN pozwala również na łączenie ze sobą krotek pochodzących z różnych relacji.
Rodzaje DOŁĄCZENIA:
Istnieją różne formy operacji łączenia:
Wewnętrzne połączenia:
- Dołącz do Theta
- Dołącz do EQUI
- Naturalne połączenie
Połączenie zewnętrzne:
- Lewe połączenie zewnętrzne
- Prawe połączenie zewnętrzne
- Pełne połączenie zewnętrzne
Połączenie wewnętrzne
W przypadku złączenia wewnętrznego uwzględniane są tylko te krotki, które spełniają kryteria dopasowania, a pozostałe są wykluczane. Przyjrzyjmy się różnym typom połączeń wewnętrznych:
Dołącz do Thety
Ogólny przypadek operacji JOIN nazywa się łączeniem Theta. Oznacza się go symbolem θ
Przykład
A ⋈θ B
Theta Join może używać dowolnych warunków w kryteriach wyboru.
Na przykład:
A ⋈ A.column 2 > B.column 2 (B)
kolumna 1 | kolumna 2 |
---|---|
1 | 2 |
Dołącz do EQUI
Kiedy złączenie theta wykorzystuje tylko warunek równoważności, staje się złączeniem ekwiwalentnym.
Na przykład:
A ⋈ A.column 2 = B.column 2 (B)
kolumna 1 | kolumna 2 |
---|---|
1 | 1 |
Dołączanie EQUI jest najtrudniejszą operacją do efektywnego wdrożenia przy użyciu języka SQL w systemie RDBMS i jednym z powodów, dla których RDBMS mają istotne problemy z wydajnością.
NATURALNE POŁĄCZENIE (⋈)
Sprzężenie naturalne można wykonać tylko wtedy, gdy pomiędzy relacjami istnieje wspólny atrybut (kolumna). Nazwa i typ atrybutu muszą być takie same.
Przykład
Rozważ następujące dwie tabele
Ilość | Kwadratowe |
---|---|
2 | 4 |
3 | 9 |
Ilość | Kostka |
---|---|
2 | 8 |
3 | 27 |
C ⋈ D
Ilość | Kwadratowe | Kostka |
---|---|---|
2 | 4 | 8 |
3 | 9 | 27 |
ZEWNĘTRZNE DOŁĄCZ
W sprzężeniu zewnętrznym, wraz z krotkami spełniającymi kryteria dopasowania, uwzględniamy także niektóre lub wszystkie krotki, które nie spełniają kryteriów.
Lewe połączenie zewnętrzne (A ⟕ B)
W lewym zewnętrznym sprzężeniu operacja pozwala na zachowanie wszystkich krotek w lewej relacji. Jeśli jednak nie znaleziono żadnej pasującej krotki w prawej relacji, atrybuty prawej relacji w wyniku sprzężenia są wypełniane wartościami null.
Rozważ następujące 2 tabele
Ilość | Kwadratowe |
---|---|
2 | 4 |
3 | 9 |
4 | 16 |
Ilość | Kostka |
---|---|
2 | 8 |
3 | 18 |
5 | 75 |
AB
Ilość | Kwadratowe | Kostka |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Prawe połączenie zewnętrzne ( A ⟖ B )
W prawym zewnętrznym sprzężeniu operacja pozwala na zachowanie wszystkich krotek w prawej relacji. Jeśli jednak nie znaleziono żadnej pasującej krotki w lewej relacji, atrybuty lewej relacji w wyniku sprzężenia są wypełniane wartościami null.
AB
Ilość | Kostka | Kwadratowe |
---|---|---|
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Pełne połączenie zewnętrzne ( A ⟗ B)
W pełnym sprzężeniu zewnętrznym wszystkie krotki z obu relacji są uwzględniane w wyniku, niezależnie od warunku dopasowania.
AB
Ilość | Kostka | Kwadratowe |
---|---|---|
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Podsumowanie
Operacja (Symbole) | Cel |
---|---|
Wybierz (σ) | Operacja SELECT służy do wybierania podzbioru krotek zgodnie z zadanym warunkiem wyboru |
Projekcja (π) | Projekcja eliminuje wszystkie atrybuty relacji wejściowej poza tymi wymienionymi na liście projekcji. |
Unia Operacja(∪) | UNIA jest symbolizowana przez symbol. Zawiera wszystkie krotki znajdujące się w tabelach A lub B. |
Ustaw różnicę(-) | – Symbol to oznacza. Wynikiem A – B jest relacja obejmująca wszystkie krotki znajdujące się w A, ale nie w B. |
Przecięcie (∩) | Przecięcie definiuje relację składającą się ze zbioru wszystkich krotek znajdujących się zarówno w A, jak i B. |
Produkt kartezjański (X) | Operacja kartezjańska jest pomocna przy łączeniu kolumn pochodzących z dwóch relacji. |
Połączenie wewnętrzne | Sprzężenie wewnętrzne obejmuje tylko te krotki, które spełniają kryteria dopasowania. |
Theta Dołącz (θ) | Ogólny przypadek operacji JOIN nazywa się łączeniem Theta. Oznacza się go symbolem θ. |
Dołącz do EQUI | Kiedy złączenie theta wykorzystuje tylko warunek równoważności, staje się złączeniem ekwiwalentnym. |
Naturalne połączenie(⋈) | Sprzężenie naturalne można wykonać tylko wtedy, gdy pomiędzy relacjami istnieje wspólny atrybut (kolumna). |
Połączenie zewnętrzne | W złączeniu zewnętrznym wraz z krotkami spełniającymi kryteria dopasowania. |
Lewe połączenie zewnętrzne ( |
W przypadku łączenia zewnętrznego po lewej stronie operacja pozwala na zachowanie wszystkich krotek w relacji lewej. |
Prawe złącze zewnętrzne ( |
W prawym sprzężeniu zewnętrznym operacja pozwala na utrzymanie wszystkich krotek we właściwej relacji. |
Pełne połączenie zewnętrzne ( |
W pełnym sprzężeniu zewnętrznym wszystkie krotki z obu relacji są uwzględniane w wyniku, niezależnie od warunku dopasowania. |