Dalam artikel ini, kita akan membahas tentang konsep Joins dalam penerapannya pada banyak tabel (multiple tabel). Biasanya untuk mengefisienkan penyimpanan data, kita sering memisahkan informasi yang kita butuhkan ke dalam beberapa tabel yang berbeda.
Pada penerapannya, kita membutuhkan data yang didapatkan
berdasarkan hasil kombinasi dari beberapa tabel. Fungsi Joins memberikan
akses untuk mengkombinasikan data dari dua atau lebih tabel. Pada akhirnya
informasi akan ditampilkan dalam satu tabel hasil kombinasi dari 2 atau lebih
tabel.
Sebagai
contoh, dalam sebuah database perpustakaan terdapat 3 tabel dengan informasi
yang berbeda.
1. Buku yang memiliki kolom (field) antara
lain Kode_Buku, Judul_Buku, Harga dengan record seperti
tampilan pada gambar dibawah ini.
2. anggota yang memiliki kolom (field) antara
lain Nomor_Anggota, Nama, Kelas dengan record seperti
tampilan pada gambar dibawah ini.
3. pinjaman yang memiliki kolom (field) antara
lain Kode Pinjaman, Tanggal_Pinjam, Tanggal Kembali,
Kode_Buku, Id Anggota dengan record seperti tampilan pada gambar dibawah ini.
PRASYARAT MULTIPLE TABLE
Ada hal yang mendasar dan harus dipahami terlebih dahulu sebelum menerapkan Multiple Tabel. Fungsi dari Primary Key dan Foreign Key pada database harus diketahui terlebih dahulu, karena ini akan menjadi dasar dalam proses penggabungan data dari beberapa tabel nantinya.
Pada tabel Anggota yang menjadi Primary Key adalah Nomor_Anggota
Pada tabel Buku
yang menjadi Primary Key adalah Kode_Buku
Sementara pada tabel pinjaman yang menjadi Primary Key adalah Kode_Pinjaman dan terdapat Foreign Key yaitu Kode_Buku & Id_Anggota
Terdapat 2 cara yang bisa digunakan dalam mengelola data multiple tabel, cara yang pertama menggunakan fungsi JOIN cara yang kedua adalah dengan menerapkan fungsi Parent - Child Relationship.
PENERAPAN JOIN
Dalam prakteknya tabel-tabel diatas akan membentuk suatu informasi data secara keseluruhan, misalnya user ingin menampilkan informasi yang berisikan Nama, Kelas, Tanggal_Pinjam, Tanggal_Kembali, Judul Buku.
Untuk mendapatkan informasi tersebut, penggabungan ke-3 tabel harus dilakukan karena Nama, Kelas terdapat pada tabel anggota, kemudian Tanggal_Pinjam, Tanggal_Kembali terdapat pada tabel pinjaman, dan Judul Buku terdapat pada tabel buku.
INNER JOIN
Inner join adalah sebuah perintah yang digunakan
untuk menampilkan data dengan menghubungkan dua tabel atau lebih. Pada perintah
inner join data yang akan ditampilkan hanyalah data yang memiliki pasangan saja.
Pada kasus database perpustakaan ini yang memiliki hubungan adalah Primary Key Kode_Buku pada tabel buku berhubungan dengan foreign key Kode_Buku pada tabel pinjaman.
Dan Primary
Key Nomor_Anggota pada
tabel anggota berhubungan dengan foreign key Id_Anggota pada tabel pinjaman.
Maka query yang digunakan adalah sbb;
SELECT Tanggal_Pinjam, Tanggal Kembali, Judul_Buku
FROM buku E
INNER JOIN pinjaman
P
ON E.Kode_Buku = P.Kode_Buku
Jika ingin menampilkan data gabungan dari ke-3 tabel seperti penjelasan diatas maka query yang kita gunakan.
SELECT Nama,
Kelas, Tanggal_Pinjam, Tanggal Kembali, Judul_Buku
FROM buku E
INNER JOIN pinjaman
P ON E.Kode_Buku = P.Kode_Buku
INNER JOIN anggota A ON A.Nomor_Anggota = P.Id_Anggota
Tampilan yang akan dihasilkan adalah
RIGHT JOIN
Fungsi dari Right Join hampir
sama dengan Inner Join, Jika pada INNER JOIN data yang ditampilkan adalah data
yang memiliki hubungan namun pada right join data yang akan ditampilkan adalah
semua data yang terdapat pada tabel sebelah kanan, termasuk data yang bersifat
NULL.
Untuk mendapatkan data
diatas maka query yang digunakan
SELECT Nama,
Kelas, Tanggal_Pinjam, Tanggal Kembali, Judul_Buku
FROM buku E
RIGHT JOIN pinjaman
P ON E.Kode_Buku = P.Kode_Buku
RIGHT JOIN anggota A ON A.Nomor_Anggota = P.Id_Anggota
LEFT JOIN
Fungsi dari Left Join adalah
kebalikan dari Right Join, Jika pada Right Join seluruh data yang ditampilkan termasuk
data yang bersifat NULL adalah data yang terdapat pada tabel sebelah kanan,
maka Left Join seluruh data yang ditampilkan termasuk data yang bersifat NULL adalah
data yang terdapat pada tabel sebelah kiri
Untuk mendapatkan data
diatas maka query yang digunakan
SELECT Nama,
Kelas, Tanggal_Pinjam, Tanggal Kembali, Judul_Buku
FROM buku E
LEFT JOIN pinjaman
P ON E.Kode_Buku = P.Kode_Buku
LEFT JOIN anggota A
ON A.Nomor_Anggota = P.Id_Anggota
FUNGSI UNION
Fungsi Union sendiri
digunakan untuk menggabungkan antara Left dan Right, jadi Union akan
menampilkan keseluruhan data yang saling terhubung baik itu bernilai ataupun NULL.
Untuk mendapatkan data
diatas maka query yang digunakan
SELECT Tanggal_Pinjam, Tanggal Kembali, Judul_Buku
FROM buku E
LEFT JOIN pinjaman
P ON E.Kode_Buku = P.Kode_Buku
UNION
SELECT Tanggal_Pinjam,
Tanggal Kembali, Judul_Buku
FROM buku E
RIGHT JOIN anggota
A ON A.Nomor_Anggota = P.Id_Anggota
PENERAPAN
PARENT-CHILD RELATIONSHIP
Untuk penggunaan fungsi ini maka query yang digunakan
SELECT Nama,
Kelas, Tanggal_Pinjam, Tanggal Kembali, Judul_Buku
FROM anggota A, buku
E, pinjaman P
WHERE E.Kode_Buku
= P.Kode_Buku AND A.Nomor_Anggota = P.Id_Anggota
Siti Fatimah (Hadir)
ReplyDeleteSelfia Sari (Hadir)
ReplyDeleteAtika putri (hadir)
ReplyDeleteQoriah(hadir)
ReplyDeleteSiti ramayana "hadir"
ReplyDeleteHadir
ReplyDeleteHadir
ReplyDeleteSaputra(Hadir)
ReplyDeleteYoga hadir
ReplyDeleteUdik saputra(hadir)
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDelete
ReplyDeleteElli Susmawati (Hadir)
Fahrul Rizam (Hadir)
ReplyDeleteTiwi Pusparini(Hadir)
ReplyDelete