Шта је Придруживање у ДБМС-у?
Придруживање у ДБМС- у је бинарна операција која вам омогућава комбиновање производа и избора придруживања у једној изјави. Циљ стварања услова придруживања је да вам помогне да комбинујете податке из две или више табела ДБМС-а. Табеле у ДБМС-у повезане су помоћу примарног и страног кључа.
У овом упутству за ДБМС научићете:
- Врсте придруживања
- Иннер Јоин
- Тхета Јоин
- ЕКУИ придружи:
- Природно придруживање (⋈)
- Спољно придруживање
- Леви спољашњи спој (А
Б)
- Десно спољашње спајање (А
Б)
- Потпуно спољашње придруживање (А
Б)
Врсте придруживања
У ДБМС-у постоје углавном две врсте удруживања:
- Унутрашњи спојеви: Тхета, Натурал, ЕКУИ
- Спољни спој: лево, десно, пуно
Погледајмо их детаљно:
Иннер Јоин
ИННЕР ЈОИН се користи за враћање редова из обе табеле који задовољавају задати услов. То је најчешће коришћена операција спајања и може се сматрати подразумеваним типом спајања
Унутрашње спајање или изједначавање је спајање засновано на упоређивању које користи поређења једнакости у предикату придруживања. Међутим, ако користите друге операторе упоређивања попут ">", то се не може назвати екуијоин.
Унутрашњи спој даље подељен у три подтипа:
- Тхета се придружи
- Природно придруживање
- ЕКУИ придружи се
Тхета Јоин
ТХЕТА ЈОИН вам омогућава спајање две табеле на основу услова представљеног тхета-ом. Тхета се придружује раду свих оператора упоређивања. Означава се симболом θ . Општи случај ЈОИН операције назива се Тхета јоин.
Синтакса:
A ⋈θ B
Тхета придруживање може да користи било које услове из критеријума за одабир.
Размотрите следеће табеле.
Табела А. | Табела Б. | |||
колона 1 | колона 2 | колона 1 | колона 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
На пример:
A ⋈ A.column 2 > B.column 2 (B)
А ⋈ А.колона 2> Б.колона 2 (Б) | |
колона 1 | колона 2 |
1 | 2 |
ЕКУИ Придружите се
ЕКУИ ЈОИН се врши када Тхета придруживање користи само услов еквиваленције. Придруживање ЕКУИ је најтежа операција за ефикасну примену у РДБМС и један од разлога зашто РДБМС имају суштинске проблеме са перформансама.
На пример:
A ⋈ A.column 2 = B.column 2 (B)
А ⋈ А.колона 2 = Б.колона 2 (Б) | |
колона 1 | колона 2 |
1 | 1 |
Природно придруживање (⋈)
НАТУРАЛ ЈОИН не користи ниједан оператер поређења. У овој врсти придруживања, атрибути би требали имати исто име и домен. У Натурал Јоин-у би требао постојати барем један заједнички атрибут између два односа.
Изводи селекцију формирајући једнакост на оним атрибутима који се појављују у оба односа и елиминише дупликате атрибута.
Пример:
Размотрите следеће две табеле
Ц. | |
Нум | Квадрат |
2 | 4 |
3 | 9 |
Д. | |
Нум | Коцка |
2 | 8 |
3 | 18 |
C ⋈ D
Ц ⋈ Д. | ||
Нум | Квадрат | Коцка |
2 | 4 | 8 |
3 | 9 | 18 |
Спољно придруживање
ОУТЕР ЈОИН не захтева сваки рекорд у два придруже табеле да имају одговарајући запис. У овом типу спајања, табела задржава сваки запис чак и ако не постоји други одговарајући запис.
Три врсте спољашњих придруживања су:
- Лево Спољно Придруживање
- Право спољашње придруживање
- Потпуно спољашње придруживање
Леви спољашњи спој (А
Б)
ЛЕФТ ЈОИН враћа све редове из табеле са леве стране, чак и ако у табели с десне стране нису пронађени одговарајући редови. Када се у табели с десне стране не пронађе одговарајући запис, враћа се НУЛЛ.
Размотрите следеће 2 табеле
А. | |
Нум | Квадрат |
2 | 4 |
3 | 9 |
4 | 16 |
Б. | |
Нум | Коцка |
2 | 8 |
3 | 18 |
5 | 75 |
AB
А ⋈ Б. | ||
Нум | Квадрат | Коцка |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Десно спољашње спајање (А
Б)
РИГХТ ЈОИН враћа све колоне из табеле с десне стране, чак и ако у табели с леве стране нису пронађени одговарајући редови. Ако у табели са леве стране није пронађено ниједно подударање, враћа се НУЛЛ. ДЕСНО спољашње ЈОИН је супротно од ЛЕФТ ЈОИН
У нашем примеру, претпоставимо да требате добити имена чланова и филмове које су они унајмили. Сада имамо новог члана који још увек није изнајмио ниједан филм.
AB
А ⋈ Б. | ||
Нум | Коцка | Квадрат |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Потпуно спољашње придруживање (А
Б)
У ПУНОМ ВАЊСКОМ ПРИДРУЖИВАЊУ , у резултат су укључени сви комплети из оба односа, без обзира на услов подударања.
Пример:
AB
А ⋈ Б. | ||
Нум | Квадрат | Коцка |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Резиме:
- У ДБМС-у постоје углавном две врсте спајања 1) Унутрашње придруживање 2) Спољашње придруживање
- Унутрашње спајање је широко коришћена операција спајања и може се сматрати подразумеваним типом спајања.
- Унутрашње спајање је даље подељено на три подтипа: 1) Тхета спајање 2) Природно спајање 3) ЕКУИ спајање
- Тхета Јоин вам омогућава спајање две табеле на основу стања представљеног тхета
- Када тхета спој користи само услов еквиваленције, он постаје екуи јоин.
- Природно спајање не користи ниједан оператер поређења.
- Спољно спајање не захтева да сваки запис у две табеле спајања има одговарајући запис.
- Спољно придруживање је даље подељено у три подтипа: 1) Лево спољашње придруживање 2) Десно спољашње придруживање 3) Потпуно спољашње придруживање
- ЛЕФТ Оутер Јоин враћа све редове из табеле са леве стране, чак и ако у табели с десне стране нису пронађени одговарајући редови.
- ДЕСНО Вањско придруживање враћа све колоне из табеле с десне стране, чак и ако у табели с лијеве стране нису пронађени одговарајући редови.
- У потпуном спољашњем споју, сви набори из оба односа су укључени у резултат, без обзира на услов подударања.