Kas ir pievienošanās DBVS?
Pievienošanās DBVS ir binārā darbība, kas ļauj apvienot produkta un izvēles apvienošanu vienā paziņojumā. Pievienošanās nosacījuma izveides mērķis ir tas, ka tas palīdz apvienot datus no divām vai vairākām DBVS tabulām. DBVS tabulas tiek saistītas, izmantojot primāro atslēgu un svešās atslēgas.
Šajā DBVS apmācībā jūs uzzināsiet:
- Pievienošanās veidi
- Iekšējā pievienošanās
- Theta Pievienojies
- EQUI pievienoties:
- Dabīgs savienojums (⋈)
- Ārējā pievienošanās
- Kreisais ārējais savienojums (A
B)
- Labais ārējais savienojums (A
B)
- Pilnīgs ārējais savienojums (A
B)
Pievienošanās veidi
DBVS galvenokārt ir divu veidu savienojumi:
- Iekšējie savienojumi: Theta, Natural, EQUI
- Ārējais savienojums: kreisais, labais, pilns
Apskatīsim tos detalizēti:
Iekšējā pievienošanās
INNER JOIN tiek izmantots, lai atgrieztu rindas no abām tabulām, kas atbilst dotajam nosacījumam. Tā ir visplašāk izmantotā pievienošanās operācija, un to var uzskatīt par noklusējuma savienojuma veidu
Iekšējais savienojums vai ekvijoin ir savienojums, kura pamatā ir salīdzinājums, un savienojuma predikātā izmanto vienlīdzības salīdzinājumus. Tomēr, ja izmantojat citus salīdzināšanas operatorus, piemēram, ">", to nevar saukt par equijoin.
Iekšējais savienojums ir sadalīts trīs apakštipos:
- Teta pievienojas
- Dabiski pievienoties
- EQUI pievienoties
Theta Pievienojies
THETA JOIN ļauj apvienot divas tabulas, pamatojoties uz teta attēloto nosacījumu. Theta pievienojas visu salīdzināšanas operatoru darbam. To apzīmē ar simbolu θ . JOIN operācijas vispārīgo gadījumu sauc par Theta savienojumu.
Sintakse:
A ⋈θ B
Theta pievienošanās var izmantot jebkurus nosacījumus atlases kritērijos.
Apsveriet šīs tabulas.
A tabula | B tabula | |||
1. kolonna | 2. sleja | 1. kolonna | 2. sleja | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
Piemēram:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.2. Kolonna> B.2. Kolonna (B) | |
1. kolonna | 2. sleja |
1 | 2 |
EQUI pievienojieties
EQUI JOIN tiek darīts, ja Theta pievienošanās izmanto tikai līdzvērtības nosacījumu. EQUI pievienošanās ir vissarežģītākā operācija, ko efektīvi ieviest RDBMS, un viens no iemesliem, kāpēc RDBMS ir būtiskas darbības problēmas.
Piemēram:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. 2. sleja = B. 2. sleja (B) | |
1. kolonna | 2. sleja |
1 | 1 |
Dabīgs savienojums (⋈)
NATURAL JOIN neizmanto nevienu no salīdzināšanas operatoriem. Šāda veida savienojumam atribūtiem vajadzētu būt vienādam nosaukumam un domēnam. Programmā Natural Join starp divām attiecībām jābūt vismaz vienam kopīgam atribūtam.
Tas veic atlasi, veidojot vienlīdzību tiem atribūtiem, kas parādās abās attiecībās, un novērš atribūtu dublikātus.
Piemērs:
Apsveriet šādas divas tabulas
C | |
Num | Kvadrāts |
2 | 4 |
3 | 9 |
D | |
Num | Kubs |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
Num | Kvadrāts | Kubs |
2 | 4 | 8 |
3 | 9 | 18 |
Ārējā pievienošanās
ĀRĒJAIS JOIN neprasa katru ierakstu divi pievienoties tabulas ir atbilstošas ierakstu. Šāda veida savienojumā tabula saglabā katru ierakstu, pat ja nav cita atbilstoša ieraksta.
Trīs veidu ārējie savienojumi ir:
- Kreisais ārējais savienojums
- Labais ārējais savienojums
- Pilnīga ārējā pievienošanās
Kreisais ārējais savienojums (A
B)
LEFT JOIN atgriež visas rindas no tabulas kreisajā pusē, pat ja labajā tabulā nav atrastas atbilstošas rindas. Ja labajā tabulā nav atrasts atbilstošs ieraksts, tiek atgriezts NULL.
Apsveriet šādas 2 tabulas
A | |
Num | Kvadrāts |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Kubs |
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
Num | Kvadrāts | Kubs |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Labais ārējais savienojums (A
B)
RIGHT JOIN atgriež visas kolonnas no labajā pusē esošās tabulas, pat ja kreisajā tabulā nav atrastas atbilstošas rindas. Ja tabulā kreisajā pusē tabula nav atrasta, tiek atgriezta vērtība NULL. RIGHT ārējais PIEVIENOJUMS ir pretējs LEFT JOIN
Pieņemsim, ka šajā piemērā jums ir jāiegūst viņu nomāto dalībnieku vārdi un filmas. Tagad mums ir jauns dalībnieks, kurš vēl nav īrējis nevienu filmu.
AB
A ⋈ B | ||
Num | Kubs | Kvadrāts |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Pilnīgs ārējais savienojums (A
B)
In FULL ĀRĒJAIS JOIN , visas tuples abu attiecības ir iekļauti rezultātā, neatkarīgi no atbilstības stāvoklī.
Piemērs:
AB
A ⋈ B | ||
Num | Kvadrāts | Kubs |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Kopsavilkums:
- DBVS galvenokārt ir divu veidu savienojumi 1) Iekšējā savienošana 2) Ārējā savienošana
- Iekšējā savienošana ir plaši izmantota savienojuma darbība, un to var uzskatīt par noklusējuma savienojuma veidu.
- Iekšējais savienojums tiek sadalīts trīs apakštipos: 1) Teta savienojums 2) Dabiskais savienojums 3) EQUI savienojums
- Theta Join ļauj apvienot divas tabulas, pamatojoties uz teta attēloto nosacījumu
- Kad teta savienojums izmanto tikai ekvivalences nosacījumu, tas kļūst par ekvi savienojumu.
- Dabiskā pievienošanās neizmanto nevienu no salīdzināšanas operatoriem.
- Ārējam savienojumam nav nepieciešams, lai katram ierakstam divās apvienošanās tabulās būtu atbilstošs ieraksts.
- Ārējais savienojums ir sadalīts trīs apakštipos: 1) kreisais ārējais savienojums 2) labais ārējais savienojums 3) pilnīgais ārējais savienojums
- LEFT Outer Join atgriež visas rindas no tabulas kreisajā pusē, pat ja labajā tabulā nav atrastas atbilstošas rindas.
- RIGHT Outer Join atgriež visas kolonnas no labajā pusē esošās tabulas, pat ja kreisajā tabulā nav atrastas atbilstošas rindas.
- Pilnīgā ārējā savienojumā rezultātā tiek iekļauti visi abu attiecību kopas neatkarīgi no atbilstības nosacījuma.