Połączenia DBMS: typy połączeń THETA, wewnętrzne, zewnętrzne i równorzędne

⚡ Inteligentne podsumowanie

Dołączenie w systemie DBMS to operacja binarna, która łączy wiersze z dwóch lub więcej tabel za pomocą ich kluczy podstawowych i obcych. Dołączenia dzielą się na wewnętrzne, które zwracają tylko pasujące wiersze, oraz zewnętrzne, które zachowują niepasujące wiersze i wypełniają luki wartością null.

  • 🔗 Główny cel: Połączenie łączy powiązane tabele w pojedynczy zestaw wyników w oparciu o warunek połączenia.
  • 🎯 Połączenie wewnętrzne: Zwraca tylko wiersze spełniające warunek w obu tabelach. Jest to domyślny typ łączenia.
  • 📐 Theta i EQUI: Połączenie theta wykorzystuje dowolny operator porównania; połączenie EQUI wykorzystuje wyłącznie operator równości.
  • 🔄 Połączenie naturalne: Wyszukuje atrybuty o identycznych nazwach i usuwa duplikaty kolumn.
  • ⬅️ Lewe połączenie zewnętrzne: Zachowuje każdy wiersz z lewej tabeli i wypełnia nullem tam, gdzie nie ma odpowiednika w prawej tabeli.
  • ➡️ Prawe połączenie zewnętrzne: Zachowuje każdy wiersz z prawej tabeli i wypełnia nullem tam, gdzie nie ma odpowiednika w lewej tabeli.
  • 🌐 Pełne połączenie zewnętrzne: Zachowuje wszystkie wiersze z obu tabel bez względu na dopasowanie.

Dołączenia w DBMS Lewo Prawo

Czym jest łączenie w systemie DBMS?

Dołącz do DBMS to operacja binarna, która pozwala połączyć produkt łączenia i selekcję w jednym poleceniu. Celem utworzenia warunku łączenia jest połączenie danych z dwóch lub więcej tabel. Tabele są kojarzone za pomocą ich kluczy podstawowych i klucz obcy.

Rodzaje przyłączeń

W systemie DBMS istnieją głównie dwa typy złączeń:

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

Poniższa tabela zawiera podgląd wszystkich typów połączeń, a następnie objaśnia każdy z nich na przykładzie.

Dołącz do rejestru Zwroty Niedopasowane wiersze
Wewnętrzny (Theta / EQUI / Naturalny) Wiersze spełniające warunek w obu tabelach Wypada
Lewy zewnętrzny Wszystkie lewe rzędy plus mecze Zachowane od lewej, null po prawej
Prawa zewnętrzna Wszystkie rzędy w prawo i pasujące Zachowane z prawej, null z lewej
Pełna zewnętrzna Wszystkie wiersze z obu tabel Zachowane z obu stron, null tam, gdzie brakuje

Połączenie wewnętrzne

Połączenie wewnętrzne Służy do zwracania wierszy z obu tabel, które spełniają zadany warunek. Jest to najczęściej stosowana operacja łączenia i można ją uznać za domyślny typ łączenia.

Złączenie wewnętrzne, czyli equijoin, to złączenie oparte na komparatorze, które wykorzystuje porównania równości w predykacie złączenia. Jeśli jednak użyjesz innych operatorów porównania, takich jak „>”, nie będzie ono nazywane equijoin. Złączenie wewnętrzne dzieli się na trzy podtypy:

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

Dołącz do Thety

Dołącz do Thety Umożliwia scalanie dwóch tabel na podstawie warunku reprezentowanego przez theta. Połączenia theta działają dla wszystkich operatorów porównania. Jest to oznaczone symbolem θOgólny przypadek operacji JOIN nazywany jest połączeniem theta.

Składnia:

A ⋈θ B

Połączenie theta może wykorzystywać dowolne warunki w kryteriach wyboru.

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

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

Dołącz do EQUI jest wykonywane, gdy połączenie theta wykorzystuje wyłącznie warunek równoważności. Połączenie EQUI jest najtrudniejszą operacją do efektywnego wdrożenia w RDBMSi jest to jeden z powodów, dla których system RDBMS może mieć 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

Naturalne połączenie (⋈)

Naturalne połączenie nie używa operatora porównania. W tym typie sprzężenia atrybuty powinny mieć tę samą nazwę i domenę. W sprzężeniu naturalnym powinien istnieć co najmniej jeden wspólny atrybut między obiema relacjami.

Wykonuje selekcję tworzącą równość atrybutów pojawiających się w obu relacjach i eliminuje atrybuty powtarzające się.

Przykład: rozważ poniższe dwie tabele.

C
Ilość Kwadratowe
2 4
3 9
D
Ilość Kostka
2 8
3 18
C ⋈ D
C ⋈ D
Ilość Kwadratowe Kostka
2 4 8
3 9 18

Połączenie zewnętrzne

An Połączenie zewnętrzne Nie wymaga, aby każdy rekord w dwóch połączonych tabelach miał pasujący rekord. W tym typie połączenia tabela zachowuje każdy rekord, nawet jeśli nie istnieje żaden inny pasujący rekord. Istnieją trzy typy połączenia zewnętrznego:

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

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

Lewe połączenie zewnętrzne Zwraca wszystkie wiersze z tabeli po lewej stronie, nawet jeśli w tabeli po prawej nie znaleziono pasujących wierszy. Jeśli po prawej stronie nie zostanie znaleziony żaden pasujący rekord, zwracana jest wartość null.

Lewe połączenie zewnętrzne

Rozważ poniższe dwie 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)

Prawe połączenie zewnętrzne Zwraca wszystkie kolumny z tabeli po prawej stronie, nawet jeśli w tabeli po lewej nie znaleziono pasujących wierszy. Jeśli po lewej stronie nie znaleziono pasujących wierszy, zwracana jest wartość null. Złączenie zewnętrzne prawe jest przeciwieństwem złączenia lewego.

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łne połączenie zewnętrzne, w wyniku zostaną uwzględnione wszystkie krotki z obu relacji, niezależnie od warunku dopasowania.

Przykład:

A Full Outer Join B
A ⟗ B
Ilość Kwadratowe Kostka
2 4 8
3 9 18
4 16 -
5 - 75

FAQ

Połączenie wewnętrzne zwraca tylko wiersze, które pasują do siebie w obu tabelach. Połączenie zewnętrzne również zachowuje niepasujące wiersze z jednej lub obu tabel, wypełniając brakującą stronę wartością null.

Połączenie theta może wykorzystywać dowolny operator porównania, taki jak „większe niż” lub „mniejsze niż”. Połączenie EQUI to połączenie theta ograniczone do operatora równości, więc dopasowuje tylko równe wartości.

Oba pasują do siebie pod względem równości, ale sprzężenie naturalne automatycznie dopasowuje kolumny o identycznych nazwach i usuwa zduplikowaną kolumnę. Złącze EQUI jawnie nazywa warunek i zachowuje obie kolumny.

Tak. Biorąc pod uwagę schemat i pytanie, AI może wybrać typ łączenia i klucze, na przykład łączenie lewe, aby zatrzymać klientów bez zamówień. Potwierdź wynik, ponieważ błędne łączenie zmienia liczbę wierszy.

Tak. Sztuczna inteligencja potrafi wykryć, że klucz łączenia nie jest unikalny po jednej stronie, co powoduje eksplozję wiele-do-wielu i sugeruje dodanie warunku lub agregację, tak aby każde dopasowanie zostało policzone raz.

Podsumuj ten post następująco: