Mi az a csatlakozás a DBMS-ben?
Csatlakozás a DBMS-ben egy bináris művelet, amely lehetővé teszi a termék és a kiválasztás összekapcsolását egyetlen utasításban. A csatlakozási feltétel létrehozásának az a célja, hogy segítsen két vagy több DBMS-táblázat adatainak kombinálásában. A DBMS táblái az elsődleges és az idegen kulcsok segítségével vannak társítva.
Ebben a DBMS oktatóanyagban megtudhatja:
- A csatlakozás típusai
- Belső összekapcsolás
- Theta Csatlakozz
- EQUI csatlakozás:
- Természetes csatlakozás (⋈)
- Külső csatlakozás
- Bal külső csatlakozás (A B)
- Jobb külső csatlakozás (A B)
- Teljes külső csatlakozás (A B)
A csatlakozás típusai
A DBMS-ben főleg kétféle csatlakozás létezik:
- Belső csatlakozások: Theta, Natural, EQUI
- Külső csatlakozás: bal, jobb, teljes
Nézzük meg őket részletesen:
Belső összekapcsolás
Az INNER JOIN segítségével mindkét táblázatból visszaadhatók az adott feltételnek megfelelő sorok. Ez a legszélesebb körben használt csatlakozási művelet, és alapértelmezett csatlakozási típusnak tekinthető
Az Inner join vagy equijoin egy összehasonlító alapú csatlakozás, amely egyenlőség-összehasonlításokat használ a csatlakozási predikátumban. Ha azonban más összehasonlító operátorokat használ, mint például a ">", nem nevezhető ekvijoinnak.
A Belső csatlakozás további három altípusra osztható:
- Theta csatlakozzon
- Természetes csatlakozás
- Az EQUI csatlakozik
Theta Csatlakozz
A THETA JOIN lehetővé teszi két táblázat egyesítését a theta által képviselt feltétel alapján. A Theta csatlakozik az összes összehasonlító operátor munkájához. Θ szimbólummal jelöljük . A JOIN működés általános esetét Theta csatlakozásnak nevezzük.
Szintaxis:
A ⋈θ B
A Theta csatlakozás bármilyen feltételt felhasználhat a kiválasztási feltételekben.
Vegye figyelembe a következő táblázatokat.
A. 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 Csatlakozzon
Az EQUI JOIN akkor történik, amikor a Theta csatlakozás csak az ekvivalenciafeltételt használja. Az EQUI csatlakozás a legnehezebben hatékonyan megvalósítható művelet egy RDBMS rendszerben, és az egyik oka annak, hogy az RDBMS-nek alapvető teljesítményproblémái vannak.
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 (⋈)
A NATURAL JOIN egyik összehasonlító operátort sem használja. Ebben a típusú csatlakozásban az attribútumoknak azonos névvel és domainnel kell rendelkezniük. A Natural Join programban legalább egy közös tulajdonságnak kell lennie két kapcsolat között.
Szelekciót alakít ki azokon az attribútumokon, amelyek mindkét relációban megjelennek, és kiküszöböli az ismétlődő attribútumokat.
Példa:
Tekintsük a következő két táblázatot
C | |
Szám | Négyzet |
2 | 4 |
3 | 9. |
D | |
Szám | Kocka |
2 | 8. |
3 | 18. |
C ⋈ D
C ⋈ D | ||
Szám | Négyzet | Kocka |
2 | 4 | 8. |
3 | 9. | 18. |
Külső csatlakozás
A KÜLSŐ CSATLAKOZÁS nem igényli, hogy a két egyesítő táblázatban minden rekordnak legyen egyező rekordja. Ebben a típusú csatlakozásban a táblázat minden rekordot megtart, még akkor is, ha nincs más megfelelő rekord.
A külső csatlakozások három típusa:
- Bal külső csatlakozás
- Jobb külső csatlakozás
- Teljes külső csatlakozás
Bal külső csatlakozás (A B)
A LEFT JOIN akkor adja vissza az összes sort a bal oldali táblázatból, ha a jobb oldali táblázatban nem található egyező sor. Ha a jobb oldali táblázatban nem található megfelelő rekord, akkor a NULL értéket adja vissza.
Vegye figyelembe a következő 2 táblázatot
A | |
Szám | Négyzet |
2 | 4 |
3 | 9. |
4 | 16. |
B | |
Szám | Kocka |
2 | 8. |
3 | 18. |
5. | 75 |
A B
A ⋈ B | ||
Szám | Négyzet | Kocka |
2 | 4 | 8. |
3 | 9. | 18. |
4 | 16. | - |
Jobb külső csatlakozás (A B)
A RIGHT JOIN visszaadja a jobb oldali táblázat összes oszlopát, még akkor is, ha a bal oldali táblázatban nem található megfelelő sor. Ahol a bal oldali táblázatban nem található egyezés, a NULL értéket adja vissza. A JOBB külső Csatlakozás ellentéte a BAL CSATLAKOZÁS-nak
Tegyük fel, hogy példánkban meg kell szereznie az általuk bérelt tagok és filmek nevét. Most van egy új tagunk, aki még nem kölcsönzött filmet.
A B
A ⋈ B | ||
Szám | Kocka | Négyzet |
2 | 8. | 4 |
3 | 18. | 9. |
5. | 75 | - |
Teljes külső csatlakozás (A B)
A TELJES KÜLÖNÖS CSATLAKOZÁS esetén mindkét reláció összes sora beleszámít az eredménybe, függetlenül az egyeztetési feltételtől.
Példa:
A B
A ⋈ B | ||
Szám | Négyzet | Kocka |
2 | 4 | 8. |
3 | 9. | 18. |
4 | 16. | - |
5. | - | 75 |
Összegzés:
- A DBMS-ben főként kétféle csatlakozás létezik: 1) belső csatlakozás 2) külső csatlakozás
- A belső összekapcsolás a széles körben használt összekapcsolási művelet, és alapértelmezett összekapcsolási típusnak tekinthető.
- A belső csatlakozás további három altípusra oszlik: 1) Theta csatlakozás 2) Természetes csatlakozás 3) EQUI csatlakozás
- A Theta Join lehetővé teszi két táblázat egyesítését a theta által képviselt feltétel alapján
- Amikor egy theta-csatlakozás csak ekvivalenciafeltételt használ, ekvivalens csatlakozássá válik.
- A természetes csatlakozás egyik összehasonlító operátort sem használja.
- A külső összekapcsoláshoz nem szükséges, hogy a két illesztési táblázat mindegyik rekordjának megfelelő rekordja legyen.
- A külső csatlakozás további három altípusra osztható: 1) Bal külső csatlakozás 2) Jobb külső csatlakozás 3) Teljes külső csatlakozás
- A BAL bal külső csatlakozás a bal oldali táblázat összes sorát visszaadja, még akkor is, ha a jobb oldali táblázatban nem található megfelelő sor.
- A RIGHT Outer Join a jobb oldali táblázat összes oszlopát visszaadja, még akkor is, ha a bal oldali táblázatban nem található megfelelő sor.
- Teljes külső összekapcsoláskor mindkét reláció összes sora beleszámít az eredménybe, függetlenül az illesztési feltételtől.