DBMS csatlakozások: Belső, THETA, Külső, Equi típusú csatlakozások OperaTIONS
Mi az a csatlakozás a DBMS-ben?
Csatlakozzon a DBMS-hez egy bináris művelet, amely lehetővé teszi a termék és a kijelölés összekapcsolását egyetlen utasításban. Az összekapcsolási feltétel létrehozásának célja, hogy segítsen kombinálni két vagy több DBMS-tábla adatait. A DBMS táblái az elsődleges kulcs és az idegen kulcsok használatával vannak társítva.
Csatlakozás típusai
A DBMS-ben alapvetően kétféle csatlakozás létezik:
- Belső csatlakozások: Theta, Natural, EQUI
- Külső csatlakozás: bal, jobb, teljes
Lássuk őket részletesen:
Belső összekapcsolás
Belső összekapcsolás arra szolgál, hogy mindkét táblából olyan sorokat adjon vissza, amelyek megfelelnek az adott feltételnek. Ez a legszélesebb körben használt összekapcsolási művelet, és alapértelmezett csatlakozási típusnak tekinthető
Az Inner join vagy equijoin egy összehasonlító alapú összekapcsolás, amely egyenlőség-összehasonlításokat használ az összekapcsolási predikátumban. Ha azonban más összehasonlító operátort használ, például a „>”, akkor nem nevezhető equijoinnak.
Az Inner Join 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 képviselt feltétel alapján. A théta minden összehasonlító operátor munkájához csatlakozik. Szimbólum jelöli θ. A JOIN művelet általános esetét Theta join-nak nevezik.
Syntax:
A ⋈θ B
A Theta Join bármilyen feltételt használhat a kiválasztási kritériumokban.
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 meg, ha egy Theta csatlakozás csak az ekvivalencia feltételt használja. Az EQUI join a legnehezebben hatékonyan megvalósítható művelet RDBMS, é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 (⋈)
Természetes csatlakozás nem használja az összehasonlító operátorok egyikét sem. Az ilyen típusú összekapcsolásnál az attribútumoknak azonos névvel és domainnel kell rendelkezniük. A Natural Join-ben legalább egy közös attribútumnak kell lennie két reláció között.
Azon attribútumokon, amelyek mindkét relációban megjelennek, egyenlőséget képező szelekciót hajt végre, és kiküszöböli a duplikált attribútumokat.
Példa:
Tekintsük 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 összekapcsoló tábla minden rekordjának legyen egyező rekordja. Az ilyen típusú összekapcsolásnál a tábla minden rekordot megőrz még akkor is, ha nincs másik 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)
Bal külső csatlakozás visszaadja a bal oldali táblázat összes sorát, még akkor is, ha a jobb oldali táblázatban nem található egyező sor. Ha nem található egyező rekord a jobb oldali táblázatban, akkor a NULL értéket adja vissza.
Tekintsük a következő 2 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 külső csatlakozás (A ⟖ B)
Jobb külső csatlakozás visszaadja a jobb oldali táblázat összes oszlopát, még akkor is, ha a bal oldali táblázatban nem található egyező sor. Ahol nem található egyezés a bal oldali táblázatban, NULL-t ad vissza. A RIGHT külső JOIN a LEFT JOIN ellentéte
Példánkban tegyük fel, hogy meg kell szereznie az általuk kölcsönzött tagok és filmek nevét. Most van egy új tagunk, aki még nem kölcsönzött filmet.
AB
A ⋈ B | ||
---|---|---|
-Ban | Kocka | Négyzet |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Teljes külső csatlakozá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 |
Összegzésként
- Főleg kétféle csatlakozás létezik DBMS 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 csatlakozási típusnak tekinthető.
- Az Inner Join további három altípusra oszlik: 1) Theta join 2) Natural Join 3) EQUI csatlakozás
- A Theta Join lehetővé teszi két tábla egyesítését a theta által képviselt feltétel alapján
- Ha egy théta join csak ekvivalencia feltételt használ, akkor equi join lesz.
- A természetes összekapcsolás nem használja az összehasonlító operátorok egyikét sem.
- A külső összekapcsoláshoz nem szükséges, hogy a két összekapcsolási tábla minden rekordjának legyen egyező rekordja.
- A külső csatlakozás további három altípusra oszlik: 1) Bal külső csatlakozás 2) Jobb külső csatlakozás 3) Teljes külső csatlakozás
- A LEFT Outer Join a bal oldali táblázat összes sorát visszaadja, még akkor is, ha a jobb oldali táblázatban nem található egyező 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ó egyező sor.
- Teljes külső összekapcsolás esetén mindkét reláció összes sora szerepel az eredményben, függetlenül az illesztési feltételtől.