Assalamualaikum wr wb, pada tulisan kali ini saya akan berbagi ilmu dengan judul Belajar Membuat Tabel View di MySql. Tabel View merupakan tabel virtual yang di buat dengan query tertentu untuk menampilkan data dari satu tabel atau lebih dengan tujuan untuk memudahkan dalam penyajian data. Hal ini akan sangat cocok misalnya kita akan membuat sebuah rekap yang berasal dari banyak tabel dengan jumlah data yang sangat banyak. Dalam tutorial ini saya akan memberikan penjelasan untuk membuat, mengedit dan menghapus tabel view di MySql.
Tabel yang saya gunakan adalah tabel propinsi dan kabupaten di Indonesia. Saya ingin membuat rekap data untuk menampilkan jumlah kabupaten dan kota pada tiap tiap propinsi. Untuk lebih jelasnya, silahkan simak penjelasan saya di bawah ini.
Belajar Membuat Tabel View di MySql
Saya menggunakan dua tabel dalam tutorial kali ini dengan Tabel kabupaten kota memiliki relasi dengan tabel propinsi. Untuk struktur tabelnya adalah sebagai berikut.
tb_propinsi
+--------------+-------------+------+-----+---------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+-----------------------------+ | propinsi_id | int(11) | NO | PRI | NULL | auto_increment | | nama | varchar(45) | NO | | NULL | | | dalam_negeri | tinyint(4) | YES | | NULL | | | created_at | datetime | YES | | NULL | on update CURRENT_TIMESTAMP | | updated_at | datetime | YES | | NULL | | +--------------+-------------+------+-----+---------+-----------------------------+ 5 rows in set (0,00 sec)
tb_kabupaten_kota
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | kab_id | int(11) | NO | PRI | NULL | auto_increment | | nama | varchar(150) | NO | | NULL | | | propinsi_id | int(11) | NO | MUL | NULL | | | kab_kodya | int(11) | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+ 4 rows in set (0,00 sec)
Query
Langkah berikutnya saya membuat query untuk menampilan jumlah data kabupaten dan kota per propinsi. Untuk Query dan hasilnya sebagai berikut.
SELECT p.nama as nama_propinsi, (SELECT COUNT(kb.kab_id) FROM tb_kabupaten_kota kb WHERE kb.propinsi_id=p.propinsi_id) as total_kabupaten_kota FROM tb_propinsi p
Hasil.
Membuat / Create Tabel View
Setelah query dirasa cukup dan benar, langkah selanjutnya kita buat tabel view. Untuk membuat tabel view query-nya sangatlah mudah.
CREATE VIEW nama_view AS query
Untuk sciptnya adalah sebagai berikut.
CREATE VIEW rekap_kabupaten_per_propinsi AS SELECT p.nama as nama_propinsi, (SELECT COUNT(kb.kab_id) FROM tb_kabupaten_kota kb WHERE kb.propinsi_id=p.propinsi_id) as total_kabupaten_kota FROM tb_propinsi p
Setelah query di eksekusi, kita akan menemukan tabel view yang berhasil kita buat.
Kemudian kita select data dari tabel view tersebut, dan hasilnya adalah sebagai berikut.
Mengedit / Update Tabel View
Untuk langkah selanjutnya saya akan mengupdate tabel view dengan menampilkan jumlah kabupaten dan kota per propinsi. Untuk mengupdate tabel view query nya sebagai berikut
CREATE OR REPLACE VIEW nama_view AS query
Untuk query lengkapnya sebagai berikut.
CREATE OR REPLACE VIEW rekap_kabupaten_per_propinsi AS SELECT p.nama as nama_propinsi, (SELECT COUNT(kb.kab_id) FROM tb_kabupaten_kota kb WHERE kb.propinsi_id=p.propinsi_id) as total_kabupaten_kota, (SELECT COUNT(kb.kab_id) FROM tb_kabupaten_kota kb WHERE kb.propinsi_id=p.propinsi_id AND kab_kodya=1) as jml_kab, (SELECT COUNT(kb.kab_id) FROM tb_kabupaten_kota kb WHERE kb.propinsi_id=p.propinsi_id AND kab_kodya=2) as jml_kodya FROM tb_propinsi p
Keterangan : untuk kab_kodya dengan nilai 1 merupakan kabupaten, dan kab_kodya dengan nilai 2 merupakan kota.
Kemudian kita eksekusi query nya.
Setelah Tabel view berhasil kita update, kemudian kita select data dari tabel virtual yang kita update tadi. Untuk hasilnya adalah sebagai berikut.
Menghapus / Delete Tabel View
Untuk menghapus tabel view query nya adalah sebagai berikut, DROP VIEW nama_view.
Tabel Virtual ini akan sangat membantu kita dalam membuat rekap dan tampilan data dari satu tabel atau lebih sesuai dengan yang kita inginkan. Kita tidak perlu membuat sebuah aplikasi terlebih dahulu untuk sebuah penyajian data yang di butuhkan dengan cepat. Kita hanya perlu melakukan query dan membuat tabel view dengan tampilan yang bisa kita sesuaikan. Sekian tutorial dan tulisan saya ini, semoga dapat bermanfaat. Terimakasih.