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.

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:
- Belső csatlakozások: Theta, Natural, EQUI
- 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.
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 |
AB
| 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.
AB
| 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:
AB
| A ⟗ B | ||
|---|---|---|
| -Ban | Négyzet | Kocka |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
| 5 | - | 75 |


