DBMS illesztések: THETA, belső, külső és Equi illesztési típusok

⚡ Okos összefoglaló

Az adatbázis-kezelő rendszerekben az illesztés (join) egy bináris művelet, amely két vagy több tábla sorait egyesíti azok elsődleges és idegen kulcsai segítségével. Az illesztések belső illesztésekre (join) oszlanak, amelyek csak az egyező sorokat adják vissza, és külső illesztésekre (join), amelyek megtartják a nem egyező sorokat, és a hézagokat null értékkel töltik ki.

  • 🔗 Fő cél: Egy illesztés (join) egyetlen eredményhalmazba egyesíti a kapcsolódó táblákat egy illesztési feltétel alapján.
  • 🎯 Belső összekapcsolás: Csak azokat a sorokat adja vissza, amelyek mindkét táblában megfelelnek a feltételnek; ez az alapértelmezett illesztési típus.
  • 📐 Theta és EQUI: Egy theta illesztés bármilyen összehasonlító operátort használhat; egy EQUI illesztés csak egyenlőséget.
  • 🔄 Természetes csatlakozás: Azonos nevű attribútumokra keres egyezést, és eltávolítja az ismétlődő oszlopot.
  • ⬅️ Bal külső csatlakozás: Megtartja a bal oldali táblázat minden sorát, és null értékkel tölti ki azokat a sorokat, amelyek a jobb oldalon nem találhatók egyezésben.
  • ➡️ Jobb külső illesztés: Megtartja a jobb oldali táblázat minden sorát, és null értékkel tölti ki azokat a sorokat, amelyekben a bal oldali táblázatban nincs egyezés.
  • 🌐 Teljes külső illesztés: Mindkét tábla összes sorát megtartja, függetlenül az egyezéstől.

Illesztések a DBMS-ben Balról Jobbra

Mi az a csatlakozás a DBMS-ben?

Csatlakozzon a DBMS-hez egy bináris művelet, amely lehetővé teszi egy illesztési szorzat és egy kijelölés egyetlen utasításban történő kombinálását. Az illesztési feltétel létrehozásának célja két vagy több tábla adatainak kombinálása. A táblák az elsődleges kulcsaik és a idegen kulcsok.

Csatlakozás típusai

A DBMS-ben alapvetően kétféle csatlakozás létezik:

  1. Belső csatlakozások: Theta, Natural, EQUI
  2. Külső illesztések: Bal, Jobb, Teljes

Az alábbi táblázat az összes illesztési típust bemutatja, mielőtt mindegyiket egy példával elmagyaráznánk.

Csatlakozik Visszatér Nem egyező sorok
Belső (Theta / EQUI / Természetes) A feltételnek megfelelő sorok mindkét táblázatban Eldobott
Bal külső Minden bal oldali sor plusz egyezések Balról tartva, jobbról nulla
Jobb külső Minden sor megfelelő, plusz egyezések Jobbról tartva, balról nulla
Teljes külső Mindkét tábla összes sora Mindkettőtől elzárva, ahol hiányzik, ott null

Belső összekapcsolás

Belső összekapcsolás mindkét táblából a megadott feltételnek megfelelő sorok visszaadására szolgál. Ez a legszélesebb körben használt illesztési művelet, és az alapértelmezett illesztési típusnak tekinthető.

A belső illesztés, vagy equijoin, egy összehasonlító módszeren alapuló illesztés, amely egyenlőségi összehasonlításokat használ az illesztési predikátumban. Ha azonban más összehasonlító operátorokat, például a „>”-t használjuk, akkor nem nevezhetjük equijoinnak. A belső illesztés további három altípusra oszlik:

  • Theta csatlakozzon
  • Természetes csatlakozás
  • EQUI csatlakozás

Theta Join

Theta Join lehetővé teszi két tábla egyesítését a théta által reprezentált feltétel alapján. A théta illesztések minden összehasonlító operátorral működnek. Jelöli a szimbólum. θA JOIN művelet általános esetét theta join-nak nevezik.

Syntax:

A ⋈θ B

Egy theta illesztés a kiválasztási kritériumok bármely feltételét használhatja.

Vegye figyelembe a következő táblázatokat.

Táblázat B. táblázat
1. oszlop 2. oszlop 1. oszlop 2. oszlop
1 1 1 1
1 2 1 3

Például:

A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.2. oszlop > B. 2. oszlop (B)
1. oszlop 2. oszlop
1 2

EQUI Csatlakozás

EQUI Csatlakozás akkor történik, amikor egy theta illesztés csak az ekvivalencia feltételt használja. Az EQUI illesztés a legnehezebben hatékonyan megvalósítható művelet egy RDBMS, és ez az egyik oka annak, hogy egy RDBMS teljesítményproblémákkal küzdhet.

Például:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.2. oszlop = B.2. oszlop (B)
1. oszlop 2. oszlop
1 1

Természetes csatlakozás (⋈)

Természetes csatlakozás nem használ összehasonlító operátort. Az ilyen típusú illesztésnél az attribútumoknak azonos névvel és tartománnyal kell rendelkezniük. Természetes illesztésnél a két reláció között legalább egy közös attribútumnak kell lennie.

Egyenlőséget képező szelekciót hajt végre a mindkét relációban megjelenő attribútumokon, és eltávolítja az ismétlődő attribútumokat.

Példa: vegyük figyelembe a következő két táblázatot.

C
-Ban Négyzet
2 4
3 9
D
-Ban Kocka
2 8
3 18
C ⋈ D
C⋈D
-Ban Négyzet Kocka
2 4 8
3 9 18

Külső csatlakozás

An Külső csatlakozás nem követeli meg, hogy a két összekapcsolt tábla minden rekordjának legyen egyező rekordja. Az ilyen típusú összekapcsolásnál a tábla minden rekordot megtart, még akkor is, ha nincs más egyező rekord. A külső összekapcsolás három típusa a következő:

  • Bal külső csatlakozás
  • Jobb külső csatlakozás
  • Teljes külső csatlakozás

Bal külső csatlakozás (A–B)

Bal külső csatlakozás A bal oldali táblázat összes sorát adja vissza, még akkor is, ha a jobb oldali táblázatban nem található egyező sor. Ha a jobb oldalon nem található egyező rekord, akkor null értéket ad vissza.

Bal külső csatlakozás

Tekintsük a következő két táblázatot.

A
-Ban Négyzet
2 4
3 9
4 16
B
-Ban Kocka
2 8
3 18
5 75
A Left Outer Join B
A ⟕ B
-Ban Négyzet Kocka
2 4 8
3 9 18
4 16 -

Jobb oldali külső illesztés (A ⟖ B)

Jobb külső csatlakozás A jobb oldali táblázat összes oszlopát adja vissza, még akkor is, ha a bal oldali táblázatban nem található egyező sor. Ha a bal oldalon nem található egyezés, akkor null értéket ad vissza. A jobb oldali külső illesztés a bal oldali illesztés ellentéte.

Jobb külső csatlakozás

A Right Outer Join B
A ⟖ B
-Ban Kocka Négyzet
2 8 4
3 18 9
5 75 -

Teljes külső illesztés (A ⟗ B)

egy Teljes külső csatlakozás, mindkét reláció összes sora szerepel az eredményben, függetlenül az illesztési feltételtől.

Példa:

A Full Outer Join B
A ⟗ B
-Ban Négyzet Kocka
2 4 8
3 9 18
4 16 -
5 - 75

GYIK

Egy belső illesztés csak azokat a sorokat adja vissza, amelyek mindkét táblában egyeznek. Egy külső illesztés szintén megtartja az egyik vagy mindkét tábla nem egyező sorait, a hiányzó oldalt null értékkel töltve ki.

Egy théta illesztés bármilyen összehasonlító operátort használhat, például nagyobb mint vagy kisebb mint. Az EQUI illesztés egy olyan théta illesztés, amely az egyenlőség operátorára korlátozódik, így csak egyenlő értékekre illeszkedik.

Mindkettő egyenlőség esetén egyezik, de egy természetes illesztés automatikusan megegyező nevű oszlopokra illeszkedik, és eltávolítja a duplikált oszlopot. Egy EQUI illesztés explicit módon megnevezi a feltételt, és mindkét oszlopot megtartja.

Igen. A séma és a kérdés alapján a mesterséges intelligencia kiválaszthatja az illesztés típusát és a kulcsokat, például egy bal oldali illesztést, hogy megtartsa a rendelés nélküli ügyfeleket. Erősítse meg az eredményt, mivel egy rossz illesztés megváltoztatja a sorok számát.

Igen. A mesterséges intelligencia képes észrevenni, ha az illesztési kulcs nem egyedi az egyik oldalon, ami sok-a-sokba robbanást eredményez, és javasolni egy feltétel hozzáadását vagy először az összesítést, hogy minden egyezést egyszer számoljon a rendszer.

Foglald össze ezt a bejegyzést a következőképpen: