Połączenia DBMS: wewnętrzne, lewe zewnętrzne, typy operacji łączenia THETA

Spisie treści:

Anonim

Co to jest Dołącz w DBMS?

Join w DBMS to operacja binarna, która pozwala łączyć produkt i wybór w jednej instrukcji. Celem tworzenia warunku łączenia jest ułatwienie łączenia danych z dwóch lub więcej tabel DBMS. Tabele w DBMS są powiązane przy użyciu klucza podstawowego i kluczy obcych.

W tym samouczku DBMS dowiesz się:

  • Rodzaje połączeń
  • Połączenie wewnętrzne
    • Dołącz do Theta
    • Dołącz do EQUI:
    • Połączenie naturalne (⋈)
  • Połączenie zewnętrzne
    • Lewe połączenie zewnętrzne (A B)
    • Prawe połączenie zewnętrzne (A B)
    • Pełne połączenie zewnętrzne (A B)

Rodzaje połączeń

W DBMS istnieją głównie dwa typy sprzężeń:

  1. Połączenia wewnętrzne: Theta, Natural, EQUI
  2. Połączenie zewnętrzne: lewe, prawe, pełne

Zobaczmy je szczegółowo:

Połączenie wewnętrzne

INNER JOIN służy do zwracania wierszy z obu tabel, które spełniają zadany warunek. Jest to najczęściej używana operacja łączenia i może być traktowana jako domyślny typ łączenia

Sprzężenie wewnętrzne lub equijoin to sprzężenie oparte na komparatorach, które wykorzystuje porównania równości w predykacie łączenia. Jeśli jednak używasz innych operatorów porównania, takich jak „>”, nie można go nazwać equijoin.

Łączenie wewnętrzne podzielone dalej na trzy podtypy:

  • Dołącz do Theta
  • Naturalne połączenie
  • EQUI dołącz

Dołącz do Theta

THETA JOIN umożliwia połączenie dwóch tabel na podstawie warunku reprezentowanego przez theta. Theta łączy pracę dla wszystkich operatorów porównania. Jest oznaczony symbolem θ . Ogólny przypadek operacji JOIN nazywa się złączeniem Theta.

Składnia:

A ⋈θ B

Łączenie theta może używać dowolnych warunków w kryteriach wyboru.

Rozważ poniższe tabele.

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

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

EQUI Dołącz

EQUI JOIN jest wykonywane, gdy sprzężenie Theta używa tylko warunku równoważności. Łączenie EQUI jest najtrudniejszą operacją do efektywnego wdrożenia w RDBMS i jednym z powodów, dla których RDBMS mają istotne problemy z wydajnością.

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

Połączenie naturalne (⋈)

NATURAL JOIN nie wykorzystuje żadnego z operatorów porównania. W tego typu złączeniach atrybuty powinny mieć tę samą nazwę i domenę. W łączeniu naturalnym powinien istnieć co najmniej jeden wspólny atrybut między dwiema relacjami.

Dokonuje selekcji tworzącej równość na tych atrybutach, które pojawiają się w obu relacjach i eliminuje zduplikowane atrybuty.

Przykład:

Rozważ dwie poniższe tabele

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

Połączenie zewnętrzne

OUTER JOIN nie wymaga każdy rekord w dwóch łączenia tabel mieć pasujący rekord. W przypadku tego typu łączenia tabela zachowuje każdy rekord, nawet jeśli nie istnieje żaden inny zgodny rekord.

Trzy typy połączeń zewnętrznych to:

  • Lewe połączenie zewnętrzne
  • Prawe połączenie zewnętrzne
  • Pełne połączenie zewnętrzne

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

LEFT JOIN zwraca wszystkie wiersze z tabeli po lewej stronie, nawet jeśli w tabeli po prawej stronie nie znaleziono pasujących wierszy. Jeśli w tabeli po prawej stronie nie znaleziono pasującego rekordu, zwracana jest wartość 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 8
3 9 18
4 16 -

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

RIGHT JOIN zwraca wszystkie kolumny z tabeli po prawej stronie, nawet jeśli w tabeli po lewej stronie nie znaleziono pasujących wierszy. Jeśli w tabeli po lewej stronie nie znaleziono żadnych dopasowań, zwracana jest wartość NULL. PRAWY zewnętrzny JOIN jest przeciwieństwem LEFT JOIN

W naszym przykładzie załóżmy, że potrzebujesz nazwisk członków i wypożyczonych przez nich filmów. Teraz mamy nowego członka, który nie wypożyczył jeszcze żadnego filmu.

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 FULL OUTER JOIN wszystkie krotki z obu relacji są uwzględniane w wyniku, niezależnie od warunku dopasowania.

Przykład:

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

Podsumowanie:

  • W DBMS istnieją głównie dwa typy złączeń 1) Połączenie wewnętrzne 2) Połączenie zewnętrzne
  • Łączenie wewnętrzne jest szeroko stosowaną operacją łączenia i może być traktowane jako domyślny typ łączenia.
  • Łączenie wewnętrzne dzieli się dalej na trzy podtypy: 1) Łączenie Theta 2) Łączenie naturalne 3) Łączenie EQUI
  • Theta Join umożliwia połączenie dwóch tabel na podstawie warunku reprezentowanego przez theta
  • Gdy złączenie theta używa tylko warunku równoważności, staje się złączeniem equi.
  • Sprzężenie naturalne nie wykorzystuje żadnego z operatorów porównania.
  • Sprzężenie zewnętrzne nie wymaga, aby każdy rekord w dwóch tabelach łączenia miał pasujący rekord.
  • Łączenie zewnętrzne jest dalej podzielone na trzy podtypy: 1) Łączenie zewnętrzne lewe 2) Łączenie zewnętrzne prawe 3) Łączenie pełne zewnętrzne
  • LEWE zewnętrzne sprzężenie zwraca wszystkie wiersze z tabeli po lewej stronie, nawet jeśli w tabeli po prawej stronie nie znaleziono pasujących wierszy.
  • RIGHT Outer Join zwraca wszystkie kolumny z tabeli po prawej stronie, nawet jeśli w tabeli po lewej stronie nie znaleziono pasujących wierszy.
  • W przypadku pełnego sprzężenia zewnętrznego wszystkie krotki z obu relacji są uwzględniane w wyniku, niezależnie od warunku dopasowania.