DBMS - Penyambungan Database: Panduan Menyenangkan untuk Pemula
Hai sana, para ahli basis data masa depan! Hari ini, kita akan melangsungkan perjalanan menarik ke dunia penyambungan basis data. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengatasi topik ini secara bertahap. Pada akhir panduan ini, Anda akan dapat menyambung tabel seperti seorang ahli!
Apa Itu Penyambungan Database?
Sebelum kita mempelajari jenis penyambungan yang berbeda, mari kita mengerti apa sebenarnya penyambungan. Bayangkan Anda memiliki dua daftar terpisah: satu dengan nama murid dan warna kesukaannya, dan yang lainnya dengan nama murid dan nilai mereka. Penyambungan adalah seperti lem magis yang menggabungkan daftar ini berdasarkan elemen umum (dalam hal ini, nama murid) untuk memberikan pandangan yang lebih komprehensif tentang data.
Sekarang, mari kita jelajahi jenis penyambungan yang beragam!
Penyambungan Theta (θ)
Penyambungan Theta adalah seperti kakek bijak dari semua penyambungan. Itu sangat fleksibel dan memungkinkan kita untuk menggabungkan tabel berdasarkan syarat apa pun yang kita tentukan. Simbol θ (theta) dalam namanya mewakili syarat ini.
mari kita lihat contoh:
SELECT *
FROM Students S, Grades G
WHERE S.StudentID = G.StudentID AND S.Age > 18
Dalam contoh ini, kita menyambung tabel Students dengan tabel Grades berdasarkan dua syarat:
- StudentID dalam kedua tabel harus cocok
- Umur murid harus lebih dari 18
Penyambungan ini akan memberikan hasil yang mencakup semua kolom dari kedua tabel, tapi hanya untuk murid di atas 18 tahun.
Equijoin
Equijoin adalah kasus khusus dari penyambungan Theta di mana syarat selalu adalah perbandingan kesetaraan. Itu seperti mengatakan, "Hanya sambung tabel ini jika kolom ini cocok tepat."
mari kita lihat contoh:
SELECT S.Name, G.Subject, G.Grade
FROM Students S, Grades G
WHERE S.StudentID = G.StudentID
Query ini akan memberikan kita daftar nama murid, mata pelajaran, dan nilai, tapi hanya jika StudentID cocok di kedua tabel.
Penyambungan Natural (⋈)
Penyambungan Natural adalah seperti teman terbaik pemrogramer malas. Itu secara otomatis menyambung tabel berdasarkan kolom dengan nama yang sama. Itu mudah, tapi hati-hati - kadang-kadang itu bisa memberikan hasil yang tak terduga jika Anda tidak menyadari semua nama kolom Anda!
mari kita lihat bagaimana itu terlihat:
SELECT *
FROM Students NATURAL JOIN Grades
Ini akan menyambung tabel Students dan Grades berdasarkan semua kolom yang mereka punyai bersama (mungkin StudentID dalam kasus ini).
Penyambungan Luar
Sekarang, mari kita bicarakan Penyambungan Luar. Ini sangat berguna ketika Anda ingin mempertahankan semua catatan dari salah satu atau kedua tabel, bahkan jika tidak ada kesesuaian di tabel lainnya. Ada tiga jenis penyambungan luar:
Penyambungan Luar Kiri (R ⟕ S)
Penyambungan Luar Kiri mempertahankan semua catatan dari tabel kiri (R), bahkan jika tidak ada kesesuaian di tabel kanan (S).
Contoh:
SELECT S.Name, G.Subject, G.Grade
FROM Students S LEFT OUTER JOIN Grades G
ON S.StudentID = G.StudentID
Query ini akan mencantumkan semua murid, bahkan mereka yang belum memiliki nilai catatan.
Penyambungan Luar Kanan (R ⟖ S)
Penyambungan Luar Kanan adalah kebalikan dari Penyambungan Luar Kiri. Itu mempertahankan semua catatan dari tabel kanan (S), bahkan jika tidak ada kesesuaian di tabel kiri (R).
Contoh:
SELECT S.Name, G.Subject, G.Grade
FROM Students S RIGHT OUTER JOIN Grades G
ON S.StudentID = G.StudentID
Query ini akan mencantumkan semua nilai, bahkan untuk murid yang mungkin telah dihapus dari tabel Students.
Penyambungan Luar Penuh (R ⟗ S)
Penyambungan Luar Penuh adalah seperti mengatakan, "Saya ingin segalanya!" Itu mempertahankan semua catatan dari kedua tabel, tanpa memperhatikan apakah ada kesesuaian atau tidak.
Contoh:
SELECT S.Name, G.Subject, G.Grade
FROM Students S FULL OUTER JOIN Grades G
ON S.StudentID = G.StudentID
Query ini akan memberikan kita semua murid dan semua nilai, bahkan jika seorang murid tidak memiliki nilai atau nilai tidak memiliki murid yang sesuai.
Perbandingan Jenis Penyambungan
Untuk membantu Anda ingat semua penyambungan ini, mari kita masukkan mereka dalam tabel praktis:
Jenis Penyambungan | Deskripsi | Pertahankan Catatan Tak Cocok Dari |
---|---|---|
Penyambungan Theta | Menyambung berdasarkan syarat apa pun | Tidak ada tabel |
Equijoin | Menyambung berdasarkan kesetaraan | Tidak ada tabel |
Penyambungan Natural | Secara otomatis menyambung berdasarkan kolom umum | Tidak ada tabel |
Penyambungan Luar Kiri | Mempertahankan semua baris dari tabel kiri | Tabel kiri |
Penyambungan Luar Kanan | Mempertahankan semua baris dari tabel kanan | Tabel kanan |
Penyambungan Luar Penuh | Mempertahankan semua baris dari kedua tabel | Kedua tabel |
Dan begitu saja! Anda baru saja mengambil langkah pertama ke dunia penyambungan basis data. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba jenis penyambungan ini di dataset Anda sendiri.
Seperti belajar menunggang sepeda, mungkin itu akan merinding-rindingi pada awalnya, tapi segera Anda akan bisa menembus data Anda dengan mudah. Dan siapa tahu? Mungkin suatu hari Anda akan menjadi orang yang mengajarkan orang lain tentang keajaiban penyambungan basis data!
Terus kode, terus belajar, dan terutama, bersenang-senang dengan petualangan data Anda!
Credits: Image by storyset