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 Google 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
Google 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.

Tabela A
Tabela B
kolumna 1 kolumna 2 kolumna 1 kolumna 2
1 1 1 1
1 2 1 3

A ∪ B daje

Tabela A ∪ B
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
Tabela 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ą.

Skrzyżowanie
Wizualna definicja skrzyżowania

Przykład:

A ∩ B
Tabela 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 2 = „1” (AXB)
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)
A ⋈ A.kolumna 2 > B.kolumna 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)
A ⋈ A.kolumna 2 = B.kolumna 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

C
Ilość Kwadratowe
2 4
3 9
D
Ilość Kostka
2 8
3 27
C ⋈ D
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.

Lewe połączenie zewnętrzne

Rozważ następujące 2 tabele

A
Ilość Kwadratowe
2 4
3 9
4 16
B
Ilość Kostka
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
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.

Prawe połączenie zewnętrzne

A Right Outer Join B
A ⋈ B
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.

A Full Outer Join B
A ⋈ B
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 (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 (Prawe połączenie 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 (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.

Czytaj więcej Czytaj więcej

Codzienny biuletyn Guru99

Rozpocznij dzień od najnowszych i najważniejszych wiadomości na temat sztucznej inteligencji, dostarczanych już teraz.