DBMS - Penyambungan Database: Panduan Ramah untuk Pemula
Halo teman-teman, sang pelajar database masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia penyambungan database. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan menangani topik ini langkah demi langkah. Pada akhir panduan ini, Anda akan dapat menyambung tabel seperti seorang ahli!
Apa Itu Penyambungan Database?
Sebelum kita mendalami jenis penyambungan yang berbeda, mari kita pahami 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魔法 yang menggabungkan daftar ini berdasarkan elemen umum (dalam hal ini, nama murid) untuk memberikan Anda pandangan yang lebih komprehensif tentang data.
Sekarang, mari kita eksplor jenis penyambungan yang berbeda!
Penyambungan Theta (θ)
Penyambungan Theta adalah seperti kakek bijaksana dari semua penyambungan. Itu sangat fleksibel dan memungkinkan kita untuk menggabungkan tabel berdasarkan kondisi apa pun yang kita tentukan. Simbol θ (theta) dalam namanya mewakili kondisi 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 kondisi:
- StudentID di 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 kondisi selalu adalah perbandingan kesetaraan. Itu seperti mengatakan, "Hanya sambung tabel ini dimana kolom ini cocok persis."
Ini adalah contohnya:
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 dimana StudentID cocok di kedua tabel.
Penyambungan Natural (⋈)
Penyambungan Natural adalah seperti teman terbaik dari pemrogramer malas. Itu secara otomatis menyambung tabel berdasarkan kolom dengan nama yang sama. Itu praktis, tapi hati-hati - kadang-kadang itu bisa memberikan hasil yang tak terduga jika Anda tidak sadar semua nama kolom Anda!
Ini adalah penampakannya:
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 saat Anda ingin menjaga semua catatan dari salah satu atau kedua tabel, bahkan jika tidak ada kesamaan di tabel lain. Ada tiga jenis penyambungan luar:
Penyambungan Luar Kiri (R ⟕ S)
Penyambungan Luar Kiri menjaga semua catatan dari tabel kiri (R), bahkan jika tidak ada kesamaan 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 yang tercatat.
Penyambungan Luar Kanan (R ⟖ S)
Penyambungan Luar Kanan adalah kebalikan dari Penyambungan Luar Kiri. Itu menjaga semua catatan dari tabel kanan (S), bahkan jika tidak ada kesamaan 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 menjaga semua catatan dari kedua tabel, tanpa memperhatikan apakah ada kesamaan 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 | Menjaga Catatan Tak Cocok Dari |
---|---|---|
Penyambungan Theta | Penyambungan berdasarkan kondisi apa pun | Tidak ada tabel |
Equijoin | Penyambungan berdasarkan kesetaraan | Tidak ada tabel |
Penyambungan Natural | Secara otomatis menyambung berdasarkan kolom umum | Tidak ada tabel |
Penyambungan Luar Kiri | Menjaga semua catatan dari tabel kiri | Tabel kiri |
Penyambungan Luar Kanan | Menjaga semua catatan dari tabel kanan | Tabel kanan |
Penyambungan Luar Penuh | Menjaga semua catatan dari kedua tabel | Kedua tabel |
Dan begitulah! Anda telah mengambil langkah pertama ke dunia penyambungan database. Ingat, latihan membuatah! Jangan khawatir untuk mencoba jenis penyambungan ini di dataset Anda sendiri.
Seperti belajar menunggang sepeda, mungkin itu akan merasa agak goncang pada awalnya, tapi segera Anda akan dapat mengelus data Anda dengan mudah. Dan siapa tahu? Mungkin suatu hari Anda akan menjadi yang mengajarkan orang lain tentang keajaiban penyambungan database!
Terus coding, terus belajar, dan yang paling penting, bersenang-senang dengan petualangan data Anda!
Credits: Image by storyset