Jenis Penggabungan DBMS: THETA, Inner, Outer, Equi
โก Ringkasan Cerdas
Dalam DBMS, operasi JOIN adalah operasi biner yang menggabungkan baris dari dua tabel atau lebih menggunakan kunci utama dan kunci asingnya. Operasi JOIN terbagi menjadi inner join, yang hanya mengembalikan baris yang cocok, dan outer join, yang mempertahankan baris yang tidak cocok dan mengisi celah dengan nilai null.

Apa itu Join dalam DBMS?
Bergabunglah di DBMS `join` adalah operasi biner yang memungkinkan Anda menggabungkan produk gabungan (join product) dan seleksi dalam satu pernyataan. Tujuan membuat kondisi gabungan (join condition) adalah untuk menggabungkan data dari dua tabel atau lebih. Tabel-tabel tersebut dihubungkan menggunakan kunci utama (primary key) mereka. kunci asing.
Jenis Gabung
Pada dasarnya ada dua jenis gabungan dalam DBMS:
- Gabungan Dalam: Theta, Natural, EQUI
- Outer Join: Left, Right, Full
Tabel di bawah ini memberikan pratinjau semua jenis join sebelum masing-masing dijelaskan dengan contoh.
| Ikuti seminar | Pengembalian | Baris yang tidak cocok |
|---|---|---|
| Dalam (Theta / EQUI / Alami) | Baris yang sesuai dengan kondisi di kedua tabel | Turun |
| Luar Kiri | Semua baris kiri ditambah pertandingan | Disimpan dari kiri, kosong di kanan |
| Kanan Luar | Semua baris dan pertandingan yang tepat | Disimpan dari kanan, kosong di kiri |
| Bagian Luar Penuh | Semua baris dari kedua tabel | Dipertahankan dari keduanya, null jika hilang |
Gabung Batin
Gabung Batin Digunakan untuk mengembalikan baris dari kedua tabel yang memenuhi kondisi yang diberikan. Ini adalah operasi join yang paling banyak digunakan dan dapat dianggap sebagai tipe join standar.
Inner join, atau equijoin, adalah operasi join berbasis komparator yang menggunakan perbandingan kesamaan dalam predikat join. Namun, jika Anda menggunakan operator perbandingan lain seperti ">", maka operasi tersebut tidak dapat disebut equijoin. Inner join selanjutnya dibagi menjadi tiga subtipe:
- Theta bergabung
- Gabungan alami
- EQUI bergabung
Gabung Theta
Gabung Theta Memungkinkan Anda menggabungkan dua tabel berdasarkan kondisi yang diwakili oleh theta. Penggabungan theta berlaku untuk semua operator perbandingan. Simbol yang digunakan adalah . ฮธKasus umum dari operasi JOIN disebut theta join.
sintaks:
A โฮธ B
Operasi theta join dapat menggunakan kondisi apa pun dalam kriteria seleksi.
Perhatikan tabel berikut.
| Tabel A | Tabel B | |||
|---|---|---|---|---|
| kolom 1 | kolom 2 | kolom 1 | kolom 2 | |
| 1 | 1 | 1 | 1 | |
| 1 | 2 | 1 | 3 | |
Sebagai contoh:
A โ A.column 2 > B.column 2 (B)
| A โ A.kolom 2 > B.kolom 2 (B) | |
|---|---|
| kolom 1 | kolom 2 |
| 1 | 2 |
Bergabunglah dengan EQUI
Bergabunglah dengan EQUI Hal ini dilakukan ketika theta join hanya menggunakan kondisi kesetaraan. EQUI join adalah operasi yang paling sulit untuk diimplementasikan secara efisien dalam sebuah RDBMS, dan ini adalah salah satu alasan mengapa RDBMS dapat mengalami masalah kinerja.
Sebagai contoh:
A โ A.column 2 = B.column 2 (B)
| A โ A.kolom 2 = B.kolom 2 (B) | |
|---|---|
| kolom 1 | kolom 2 |
| 1 | 1 |
Gabung Alami (โ)
Bergabung Alami Tidak menggunakan operator perbandingan apa pun. Pada jenis join ini, atribut harus memiliki nama dan domain yang sama. Pada natural join, setidaknya harus ada satu atribut umum antara kedua relasi.
Algoritma ini melakukan seleksi berdasarkan kesamaan atribut yang muncul di kedua relasi dan menghilangkan atribut yang duplikat.
Contoh: Perhatikan dua tabel berikut.
| C | |
|---|---|
| Di | Persegi |
| 2 | 4 |
| 3 | 9 |
| D | |
|---|---|
| Di | Kubus |
| 2 | 8 |
| 3 | 18 |
C โ D
| C โ D | ||
|---|---|---|
| Di | Persegi | Kubus |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
Gabung Luar
An Gabung Luar Tidak mengharuskan setiap record dalam dua tabel yang digabungkan memiliki record yang cocok. Dalam jenis join ini, tabel mempertahankan setiap record meskipun tidak ada record lain yang cocok. Tiga jenis outer join adalah:
- Gabung Luar Kiri
- Gabung Luar Kanan
- Gabung Luar Penuh
Gabung Luar Kiri (A โ B)
Gabung Luar Kiri Mengembalikan semua baris dari tabel di sebelah kiri, meskipun tidak ditemukan baris yang cocok di tabel di sebelah kanan. Jika tidak ditemukan catatan yang cocok di sebelah kanan, nilai null akan dikembalikan.
Perhatikan dua tabel berikut.
| A | |
|---|---|
| Di | Persegi |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
| B | |
|---|---|
| Di | Kubus |
| 2 | 8 |
| 3 | 18 |
| 5 | 75 |
AB
| A โ B | ||
|---|---|---|
| Di | Persegi | Kubus |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
Gabungan Luar Kanan (A โ B)
Gabung Luar Kanan Mengembalikan semua kolom dari tabel di sebelah kanan, bahkan jika tidak ditemukan baris yang cocok di tabel di sebelah kiri. Jika tidak ditemukan kecocokan di sebelah kiri, nilai null akan dikembalikan. Right outer join adalah kebalikan dari left join.
AB
| A โ B | ||
|---|---|---|
| Di | Kubus | Persegi |
| 2 | 8 | 4 |
| 3 | 18 | 9 |
| 5 | 75 | - |
Full Outer Join (A โ B)
Di sebuah Gabung Luar Penuh, semua tupel dari kedua relasi disertakan dalam hasil, terlepas dari kondisi pencocokannya.
Contoh:
AB
| A โ B | ||
|---|---|---|
| Di | Persegi | Kubus |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
| 5 | - | 75 |


