Menggunakan VIEW di MySQL

Sebelum Tulisan Dimulai…
Berikut adalah tutorial membuat VIEW, sebuah cara untuk mempermudah menampilkan data di dalam 2 tabel yang saling berelasi.

Tulisan Sesudah Sebelum Tulisan Dimulai…
Contohlah kita mempunyai 2 buah tabel seperti berikut:
tabel `karyawan`

CREATE TABLE `karyawan` (
`id` int(10) unsigned NOT NULL,
  `nama` varchar(30) NOT NULL,
  `jabatan_id` int(11) NOT NULL
);

tabel `jabatan`

CREATE TABLE `jabatan` (
`id` int(10) unsigned NOT NULL,
 `namajabatan` varchar(30) NOT NULL
);

lalu coba kita isi tabel `jabatan` di atas dengan data seperti di bawah:

INSERT INTO `jabatan` (`id`, `namajabatan`) VALUES
(1, 'Direktur'),
(2, 'Senior Manager'),
(3, 'Branch Manager'),
(4, 'Supervisor'),
(5, 'Pegawai'),
(6, 'Pegawai IT'),
(7, 'Marketing'),
(8, 'Manager Marketing');

sehingga mendapat data seperti di bawah:

idnamajabatan
1Direktur
2Senior Manager
3Branch Manager
4Supervisor
5Pegawai
6Pegawai IT
7Marketing
8Marketing Manager

input juga tabel `karyawan` dengan data di bawah:

INSERT INTO `karyawan` (`id`, `nama`, `jabatan_id`) VALUES
(1, 'Adhi', 1),
(2, 'Benny', 3),
(3, 'Chandra', 5),
(4, 'Donnie', 8),
(5, 'Eko', 8);

Sehingga mendapat data seperti ini:

idnamajabatan_id
1Adhi1
2Benny3
3Chandra5
4Donnie8
5Eko8

Normalnya, jika ingin melihat `id`, `nama`, dan `namajabatan` seperti tampilan di bawah:

idnamanamajabatan
1AdhiDirektur
2BennyBranch Manager
3ChandraPegawai
4DonnieManager Marketing
5EkoManager Marketing

kita bisa lakukan dengan men-select tabel karyawan, kita harus melakukan join, seperti contoh berikut (dengan memakai LEFT JOIN):

SELECT karyawan.id, karyawan.nama, jabatan.namajabatan
FROM karyawan
LEFT JOIN jabatan
ON karyawan.jabatan_id=jabatan.id;

Nah, dengan memanfaatkan VIEW di MySQL, kita bisa menampilkan data seperti di atas tanpa harus melakukan JOIN. Sebenarnya VIEW juga memakai JOIN, tetapi JOIN dijadikan VIEW sehingga tidak perlu diulang-ulang ketika kita memanggilnya.

Untuk menggunakan VIEW, klik salah satu tabel di phpMyAdmin (bisa tabel `karyawan` atau tabel `jabatan`). Dalam contoh saya mengklik tabel `karyawan`

klik `Create view` yang ada di kanan

klik `Create view` yang ada di kanan

Lalu akan muncul pop-up seperti gambar di bawah:

pop-up yang muncul setelah mengklik `Create view`

pop-up yang muncul setelah mengklik `Create view`

Isi VIEW name dengan nama yang diinginkan, contoh: lihatkaryawan. Lalu isi `Column names` dengan script JOIN seperti di bawah:

SELECT karyawan.*
 , jabatan.namajabatan
FROM
 karyawan
INNER JOIN jabatan
ON karyawan.id = jabatan.id

Jika benar, di bagian sidebar akan muncul VIEW, seperti pada gambar:

muncul VIEW

muncul VIEW

Tinggal klik, maka akan muncul data yang diinginkan 😉

Tulisan Sesudah Tulisan…
Cara ini lumayan menghemat coding jika sedang mengerjakan proyek, tanpa harus menulis script JOIN kita bisa langsung menampilkan data. Cara ini juga bisa diterapkan di PHP, tinggal SELECT saja seperti contoh di bawah:

mysql_query("SELECT * FROM lihatkaryawan");

Sekian tutorial kali ini. Dan seperti kebiasaan saya di posting-posting sebelumnya, saya hanya bisa menulis: “mungkin saya akan posting kembali bagaimana membuat VIEW dengan mudah tanpa ribet, tanpa harus mengerti perintah JOIN. Dan selanjutnya mengekspor VIEW ke dalam CPanel (butuh trik khusus agar bisa diekspor) . Tapi ya… tunggu saya ada waktu dan ada mood untuk menulis ya 😛 “