СУБД съединявания: Вътрешно, THETA, Външно, Equi Видове съединяване Operaции

Какво е присъединяване в СУБД?

Присъединете се към СУБД е двоична операция, която ви позволява да комбинирате продукт за присъединяване и селекция в един единствен оператор. Целта на създаването на условие за присъединяване е да ви помогне да комбинирате данните от две или повече СУБД таблици. Таблиците в СУБД са асоциирани с помощта на първичен ключ и външни ключове.

Видове присъединяване

В СУБД има основно два типа съединения:

  1. Вътрешни съединения: Theta, Natural, EQUI
  2. Външно съединение: ляво, дясно, пълно

Нека ги видим в детайли:

Вътрешно присъединяване

Вътрешно присъединяване се използва за връщане на редове от двете таблици, които отговарят на даденото условие. Това е най-широко използваната операция за присъединяване и може да се счита за тип присъединяване по подразбиране

Вътрешно съединение или equijoin е базирано на сравнение съединение, което използва сравнения за равенство в предиката за свързване. Въпреки това, ако използвате други оператори за сравнение като “>”, това не може да се нарече equijoin.

Вътрешно свързване допълнително разделено на три подтипа:

  • Тета присъединяване
  • Естествено присъединяване
  • Присъединете се към EQUI

Theta Присъединете се

Theta Присъединете се ви позволява да обедините две таблици въз основа на условието, представено от тита. Theta се присъединява към работата за всички оператори за сравнение. Означава се със символ θ. Общият случай на операция JOIN се нарича Theta съединение.

Синтаксис:

A ⋈θ B

Тета присъединяването може да използва всякакви условия в критериите за избор.

Разгледайте следните таблици.

Таблица А Таблица B
колона 1 колона 2 колона 1 колона 2
1 1 1 1
1 2 1 3

Например:

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.колона 2 > B.колона 2 (B)
колона 1 колона 2
1 2

EQUI Присъединете се

EQUI Присъединете се се извършва, когато тета съединението използва само условието за еквивалентност. EQUI присъединяването е най-трудната операция за ефективно изпълнение в RDBMSи една от причините, поради които RDBMS имат съществени проблеми с производителността.

Например:

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.колона 2 = B.колона 2 (B)
колона 1 колона 2
1 1

Естествено свързване (⋈)

Естествено присъединяване не използва нито един от операторите за сравнение. При този тип присъединяване атрибутите трябва да имат едно и също име и домейн. В Natural Join трябва да има поне един общ атрибут между две релации.

Той извършва селекция, образувайки равенство на тези атрибути, които се появяват в двете релации, и елиминира дублиращите се атрибути.

Пример:

Разгледайте следните две таблици

C
В Квадрат
2 4
3 9
D
В куб
2 8
3 18
C ⋈ D
C ⋈ D
В Квадрат куб
2 4 8
3 9 18

Външно присъединяване

An Външно присъединяване не изисква всеки запис в двете обединени таблици да има съответстващ запис. При този тип свързване таблицата запазва всеки запис, дори ако не съществува друг съответстващ запис.

Три вида външни съединения са:

  • Ляво външно съединение
  • Дясно външно присъединяване
  • Пълно външно присъединяване

Ляво външно съединение (A ⟕ B)

Ляво външно съединение връща всички редове от таблицата отляво, дори ако не са намерени съответстващи редове в таблицата отдясно. Когато в таблицата вдясно не бъде намерен съответстващ запис, се връща NULL.

Ляво външно съединение

Разгледайте следните 2 таблици

A
В Квадрат
2 4
3 9
4 16
B
В куб
2 8
3 18
5 75
A Left Outer Join B
А ⋈ Б
В Квадрат куб
2 4 8
3 9 18
4 16 -

Дясно външно съединение (A ⟖ B)

Дясно външно присъединяване връща всички колони от таблицата вдясно, дори ако не са намерени съвпадащи редове в таблицата вляво. Когато не са намерени съвпадения в таблицата отляво, се връща NULL. RIGHT outer JOIN е обратното на LEFT JOIN

В нашия пример нека приемем, че трябва да получите имената на членовете и филмите, наети от тях. Сега имаме нов член, който все още не е наел филм.

Дясно външно присъединяване

A Right Outer Join B
А ⋈ Б
В куб Квадрат
2 8 4
3 18 9
5 75 -

Пълно външно съединение (A ⟗ B)

В Пълно външно присъединяване , всички кортежи от двете релации са включени в резултата, независимо от условието за съвпадение.

Пример:

A Full B
А ⋈ Б
В Квадрат куб
2 4 8
3 9 18
4 16 -
5 - 75

Oбобщение

  • Има основно два вида присъединявания СУБД 1) Вътрешно съединение 2) Външно съединение
  • Вътрешното присъединяване е широко използваната операция за присъединяване и може да се счита за тип присъединяване по подразбиране.
  • Вътрешното присъединяване се разделя допълнително на три подтипа: 1) Тета присъединяване 2) Естествено присъединяване 3) EQUI присъединяване
  • Theta Join ви позволява да обедините две таблици въз основа на условието, представено от theta
  • Когато тета съединение използва само условие за еквивалентност, то се превръща в равно съединение.
  • Естественото присъединяване не използва нито един от операторите за сравнение.
  • Външното съединяване не изисква всеки запис в двете таблици за съединяване да има съответстващ запис.
  • Външното съединение се разделя допълнително на три подтипа: 1) Ляво външно съединение 2) Дясно външно съединение 3) Пълно външно съединение
  • LEFT Outer Join връща всички редове от таблицата отляво, дори ако не са намерени съответстващи редове в таблицата отдясно.
  • RIGHT Outer Join връща всички колони от таблицата вдясно, дори ако не са намерени съответстващи редове в таблицата отляво.
  • При пълно външно съединение всички кортежи от двете релации са включени в резултата, независимо от условието за съвпадение.

Обобщете тази публикация с: