Algebra relacyjna w DBMS: operacje na przykładach

Spisie treści:

Anonim

Algebra relacyjna

RELATIONAL ALGEBRA to szeroko stosowany proceduralny język zapytań. Gromadzi wystąpienia relacji jako dane wejściowe i podaje wystąpienia relacji jako dane wyjściowe. Do wykonania tej czynności wykorzystuje różne operacje. Operacje zapytania SQL Relacyjnej algebry są wykonywane rekurencyjnie na relacji. Efektem tych operacji jest nowa relacja, która może zostać utworzona z jednej lub kilku relacji wejściowych.

W tym samouczku dowiesz się:

  • Algebra relacyjna
  • WYBIERZ (σ)
  • Projekcja (π)
  • Zmień nazwę (ρ)
  • Operacja Unii (υ)
  • Ustaw różnicę (-)
  • Skrzyżowanie
  • Iloczyn kartezjański (X)
  • Dołącz do operacji
  • Połączenie wewnętrzne:
  • Dołącz do Theta:
  • Dołącz do EQUI:
  • NATURALNE DOŁĄCZ (⋈)
  • ZEWNĘTRZNE DOŁĄCZ
  • Lewe połączenie zewnętrzne (A B)
  • Prawe połączenie zewnętrzne: (A B)
  • Pełne połączenie zewnętrzne: (A B)

Podstawowe operacje algebry relacyjnej SQL

Algebra relacyjna podzielona na różne grupy

Jednoargumentowe operacje relacyjne

  • WYBIERZ (symbol: σ)
  • PROJEKT (symbol: π)
  • RENAME (symbol: ρ)

Operacje algebry relacyjnej z teorii zbiorów

  • UNIA (υ)
  • SKRZYŻOWANIE ( ),
  • RÓŻNICA (-)
  • PRODUKT KARTEZJAŃSKI (x)

Binarne operacje relacyjne

  • PRZYSTĄP
  • PODZIAŁ

Przeanalizujmy je szczegółowo za pomocą rozwiązań:

WYBIERZ (σ)

Operacja SELECT służy do wybierania podzbioru krotek zgodnie z podanym warunkiem wyboru. Symbol Sigma (σ) oznacza to. Służy jako wyrażenie do wybierania krotek, które spełniają warunek selekcji. Operator Select wybiera krotki, które spełniają dany predykat.

σp(r) σto predykat roznacza relację, która jest nazwą tabeli, pjest logiką przyimkową

Przykład 1

σ topic = "Database" (Tutorials)

Dane wyjściowe - wybiera krotki z samouczków, gdzie topic = 'Baza danych'.

Przykład 2

σ topic = "Database" and author = "guru99"( Tutorials)

Dane wyjściowe - wybiera krotki z samouczków, w których temat to „Baza danych”, a „autor” to guru99.

Przykład 3

σ sales > 50000 (Customers)

Dane wyjściowe - wybiera krotki od klientów, których sprzedaż przekracza 50000

Projekcja (π)

Odwzorowanie eliminuje wszystkie atrybuty relacji wejściowej oprócz tych wymienionych na liście odwzorowań. Metoda rzutowania definiuje relację, która zawiera pionowy podzbiór Relacji.

Pomaga to wyodrębnić wartości określonych atrybutów, aby wyeliminować zduplikowane wartości. (pi) symbol służy do wyboru atrybutów z relacji. Ten operator pomaga zachować określone kolumny od relacji i odrzuca inne kolumny.

Przykład projekcji:

Rozważ poniższą tabelę

Identyfikator klienta CustomerName Status
1 Google Aktywny
2 Amazonka Aktywny
3 jabłko Nieaktywny
4 Alibaba Aktywny

Tutaj pojawi się projekcja CustomerName i status

Π CustomerName, Status (Customers)
CustomerName Status
Google Aktywny
Amazonka Aktywny
jabłko Nieaktywny
Alibaba Aktywny

Zmień nazwę (ρ)

Zmień nazwę to jednoargumentowa operacja służąca do zmiany nazw atrybutów relacji.

ρ (a / b) R zmieni nazwę atrybutu „b” relacji na „a”.

Operacja Unii (υ)

UNIA jest symbolizowana symbolem ∪. Obejmuje wszystkie krotki, które znajdują się w tabelach A lub B. Eliminuje również zduplikowane krotki. Zatem zbiór A UNIA zbiór B byłby wyrażony jako:

Wynik <- A ∪ B

Aby operacja unii była ważna, muszą spełniać następujące warunki:

  • R i S muszą mieć taką samą liczbę atrybutów.
  • Domeny atrybutów muszą być zgodne.
  • Zduplikowane krotki powinny zostać automatycznie usunięte.

Przykład

Rozważ poniższe tabele.

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, która zawiera wszystkie krotki, które są w A, ale nie w B.

  • Nazwa atrybutu A musi pasować do nazwy atrybutu w B.
  • Relacje dwuargumentowe A i B powinny być zgodne lub zgodne z Unią.
  • Należy zdefiniować relację składającą się z krotek, które są w relacji A, ale nie w B.

Przykład

A-B
Tabela A - B
kolumna 1 kolumna 2
1 2

Skrzyżowanie

Skrzyżowanie jest oznaczone symbolem ∩

A ∩ B

Definiuje relację składającą się z zestawu wszystkich krotek, które znajdują się zarówno w A, jak i B. Jednak A i B muszą być zgodne z sumą.

Wizualna definicja przecięcia

Przykład:

A ∩ B
Tabela A ∩ B
kolumna 1 kolumna 2
1 1

Iloczyn kartezjański (X) w DBMS

Produkt kartezjański w DBMS to operacja używana do łączenia kolumn z dwóch relacji. Ogólnie rzecz biorąc, produkt kartezjański nigdy nie jest znaczącą operacją, gdy jest wykonywany samodzielnie. Jednak nabiera sensu, gdy następują po nim inne operacje. Nazywa się to również Iloczynem krzyżowym lub Łączeniem krzyżowym.

Przykład - iloczyn kartezjański

σ kolumna 2 = „1” (AXB)

Dane wyjściowe - powyższy przykład pokazuje wszystkie wiersze z 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 operacji

Operacja łączenia jest zasadniczo produktem kartezjańskim, po którym następuje kryterium wyboru.

Połącz operację oznaczoną ⋈.

Operacja JOIN pozwala również na łączenie różnie powiązanych krotek z różnych relacji.

Rodzaje DOŁĄCZ:

Różne formy operacji łączenia to:

Połączenia wewnętrzne:

  • Dołącz do Theta
  • EQUI dołącz
  • 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 sprzężeniu wewnętrznym uwzględniane są tylko te krotki, które spełniają kryteria dopasowania, a pozostałe są wykluczane. Przeanalizujmy różne typy połączeń wewnętrznych:

Dołącz do Theta:

Ogólny przypadek operacji JOIN nazywa się złączeniem Theta. Jest oznaczony symbolem θ

Przykład

A ⋈θ B

Łączenie theta 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:

Gdy złączenie theta używa tylko warunku równoważności, staje się złączeniem equi.

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

Łączenie EQUI jest najtrudniejszą operacją do efektywnego wdrożenia przy użyciu SQL w RDBMS i jednym z powodów, dla których RDBMS mają istotne problemy z wydajnością.

NATURALNE DOŁĄCZ (⋈)

Sprzężenie naturalne można wykonać tylko wtedy, gdy między relacjami istnieje wspólny atrybut (kolumna). Nazwa i typ atrybutu muszą być takie same.

Przykład

Rozważ dwie poniższe tabele

do
Num Plac
2 4
3 9
re
Num Sześcian
2 8
3 27
C ⋈ D
C ⋈ D
Num Plac Sześcian
2 4 4
3 9 27

ZEWNĘTRZNE DOŁĄCZ

W sprzężeniu zewnętrznym wraz z krotkami, które spełniają kryteria dopasowania, uwzględniamy również niektóre lub wszystkie krotki, które nie spełniają kryteriów.

Lewe połączenie zewnętrzne (A B)

W lewym złączeniu zewnętrznym operacja pozwala zachować całą krotkę w relacji lewostronnej. Jeśli jednak w prawidłowej relacji nie zostanie znaleziona pasująca krotka, wówczas atrybuty prawidłowej relacji w wyniku łączenia są wypełniane wartościami null.

Rozważ następujące 2 tabele

ZA
Num Plac
2 4
3 9
4 16
b
Num Sześcian
2 8
3 18
5 75
A  B
A ⋈ B
Num Plac Sześcian
2 4 4
3 9 9
4 16 -

Prawe połączenie zewnętrzne: (A B)

W przypadku prawego sprzężenia zewnętrznego operacja umożliwia utrzymanie całej krotki we właściwej relacji. Jeśli jednak w lewej relacji nie zostanie znaleziona pasująca krotka, atrybuty lewej relacji w wyniku łączenia są wypełniane wartościami null.

A  B
A ⋈ B
Num Sześcian Plac
2 8 4
3 18 9
5 75 -

Pełne połączenie zewnętrzne: (A B)

W przypadku pełnego sprzężenia zewnętrznego wszystkie krotki z obu relacji są uwzględniane w wyniku, niezależnie od warunku dopasowania.

A  B
A ⋈ B
Num Sześcian Plac
2 4 8
3 9 18
4 16 -
5 - 75

Podsumowanie

Działanie (symbole)

Cel, powód

Wybierz (σ)

Operacja SELECT służy do wybierania podzbioru krotek zgodnie z podanym warunkiem wyboru

Projekcja (π)

Odwzorowanie eliminuje wszystkie atrybuty relacji wejściowej oprócz tych wymienionych na liście odwzorowań.

Operacja Unii (∪)

UNIA jest symbolizowana przez symbol. Obejmuje wszystkie krotki, które znajdują się w tabelach A lub B.

Ustaw różnicę (-)

- Symbol to oznacza. Wynikiem A - B jest relacja, która zawiera wszystkie krotki, które są w A, ale nie w B.

Skrzyżowanie (∩)

Przecięcie definiuje relację składającą się ze zbioru wszystkich krotek znajdujących się zarówno w A, jak i B.

Iloczyn kartezjański (X)

Operacja kartezjańska jest pomocna przy scalaniu kolumn 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ę złączeniem Theta. Jest oznaczony symbolem θ.

EQUI Dołącz

Gdy złączenie theta używa tylko warunku równoważności, staje się złączeniem equi.

Połączenie naturalne (⋈)

Sprzężenie naturalne można wykonać tylko wtedy, gdy między relacjami istnieje wspólny atrybut (kolumna).

Połączenie zewnętrzne

W sprzężeniu zewnętrznym wraz z krotkami, które spełniają kryteria dopasowania.

Lewe połączenie zewnętrzne ( )

W lewym złączeniu zewnętrznym operacja pozwala zachować całą krotkę w relacji lewostronnej.

Połączenie prawe zewnętrzne ( )

W przypadku prawego sprzężenia zewnętrznego operacja umożliwia utrzymanie całej krotki we właściwej relacji.

Pełne połączenie zewnętrzne ( )

W przypadku pełnego sprzężenia zewnętrznego wszystkie krotki z obu relacji są uwzględniane w wyniku niezależnie od warunku dopasowania.