Rumahweb Journal
Banner - Belajar SQL Database Bagian 7

Belajar SQL Database Bagian 7: View, Stored Procedure & Trigger

Pada seri belajar SQL Database bagian 6, kita telah belajar tentang transaksi di MySQL, mulai dari start, transaction, commit, rollback, hingga penggunaan savepoin untuk rollback parsial. Di bagian 7 ini, kita akan melanjutkan pembahasan ke tiga fitur penting yang membantu membuat sistem database lebih efisien dan otomatis, yaitu View, Stored Procedure, dan Trigger.

Fitur-fitur ini sering digunakan pada sistem database skala besar untuk menjaga konsistensi data, menyederhanakan logika bisnis, dan mengotomatisasi proses tertentu. Mari kita bahas satu per satu.

Skema Database Yang Digunakan

Sebelum masuk ke pembahasan, berikut permisalan skema database yang akan digunakan. Misalkan Anda memiliki beberapa tabel berikut dalam sistem penjualan:

Tabel produk :

Tabel Produk - Contoh Belajar SQL Database Bagian 7

Tabel transaksi :

Tabel Transaksi

Table pelanggan :

Promo Hosting Murah Rumahweb

Tabel Pelanggan

Tabel log_stok :

Tabel Log_stok

Tabel log_pelanggan_hapus :

Tabel Log_pelanggan_hapus

Apa Itu View?

View adalah tabel virtual yang dibuat dari hasil query SELECT dan disimpan di database. Dengan View, Anda dapat menampilkan data yang kompleks dari beberapa tabel tanpa perlu menulis query panjang setiap kali dibutuhkan.

Contoh kasus: menampilkan total penjualan tiap produk selama 30 hari terakhir dari tabel transaksi dan produk.

CREATE VIEW view_penjualan_30hari AS
SELECT p.nama_produk, SUM(t.jumlah) AS total_terjual
FROM transaksi t
JOIN produk p ON t.id_produk = p.id_produk
WHERE t.tgl_transaksi >= CURDATE() - INTERVAL 30 DAY
GROUP BY p.nama_produk;

Untuk menampilkan data, cukup jalankan:

SELECT * FROM view_penjualan_30hari;

  Berikut hasilnya:

Hasil total penjualan tiap produk selama 30 hari terakhir dari tabel transaksi dan produk

Kelebihan View:

  • Menyederhanakan query yang kompleks.
  • Meningkatkan keamanan (pengguna hanya melihat View, bukan tabel asli).
  • Mempermudah pemeliharaan logika query

Apa itu Stored Procedure?

Stored Procedure adalah sekumpulan perintah SQL yang tersimpan di server database dan dapat dipanggil berulang kali. Dengan procedure, logika bisnis dapat dijalankan langsung dari database tanpa harus ditulis di kode aplikasi.

Contoh kasus: memperbarui stok produk sekaligus mencatat log perubahan setiap kali barang direstock.

DELIMITER //
CREATE PROCEDURE sp_update_stok(
  IN pid_produk INT,
  IN pjumlah INT
)
BEGIN
  UPDATE produk
  SET stok = stok + pjumlah
  WHERE id_produk = pid_produk;

  INSERT INTO log_stok(id_produk, perubahan, tgl)
  VALUES(pid_produk, pjumlah, NOW());
END //
DELIMITER ;

Untuk menjalankan procedure, cukup panggil:

CALL sp_update_stok(1, 10);

Berikut hasil Stored Procedure diatas untuk tabel produk:

hasil pembaruan stok produk

Berikut hasil Stored Procedure diatas untuk tabel log_stok:

Hasil pencatatan log perubahan setiap kali barang restock

Keunggulan Stored Procedure:

  • Eksekusi lebih cepat (sudah tersimpan di server).
  • Lebih aman (logika tidak mudah diubah dari aplikasi).
  • Mudah dipelihara jika logika bisnis berubah.

Apa Itu Trigger?

Trigger adalah prosedur yang dijalankan otomatis saat terjadi peristiwa tertentu pada tabel, misal INSERT, UPDATE, atau DELETE.

Contoh kasus: setiap kali data pelanggan dihapus, sistem mencatat riwayat penghapusan ke tabel log_pelanggan_hapus.

DELIMITER //
CREATE TRIGGER trg_before_delete_customer
BEFORE DELETE ON pelanggan
FOR EACH ROW
BEGIN
  INSERT INTO log_pelanggan_hapus(id_pelanggan, nama, tgl_hapus)
  VALUES(OLD.id_pelanggan, OLD.nama, NOW());
END //
DELIMITER ;

Berikut percobaan uji coba triggernya untuk menghapus data pelanggan:

Percobaan trigger terkait menghapus data pelanggan

Dan berikut hasil uji coba trigger tersebut dimana riwayat data yang terhapus akan masuk ke tabel log_pelanggan_hapus:

Hasil pencatatan riwayat penghapusan data pelanggan

Manfaat Trigger:

  • Menjaga integritas dan konsistensi data.
  • Mempermudah audit atau pelacakan perubahan.
  • Mendukung otomatisasi aturan bisnis.

Hal yang Perlu Diperhatikan

  • Gunakan InnoDB, karena MyISAM tidak mendukung trigger dan transaksi penuh.
  • Hindari membuat View, Procedure, atau Trigger terlalu kompleks.
  • Selalu uji coba di lingkungan development sebelum diterapkan di production.
  • Dokumentasikan setiap fungsi agar mudah dipahami tim lain.

Tips Penggunaannya

  • View: untuk menyederhanakan laporan dan akses data.
  • Stored Procedure: menyimpan logika bisnis agar lebih terpusat.
  • Trigger: aksi otomatis, misal audit log atau sinkronisasi data

Hindari nested trigger atau chaining procedure yang terlalu dalam karena sulit dilacak.

Penutup

Dengan memahami View, Stored Procedure, dan Trigger, Anda dapat membangun sistem database yang lebih efisien, otomatis, dan terkontrol. Ketiga fitur ini menjadi fondasi penting dalam pengembangan aplikasi berskala besar, terutama jika Anda ingin mengelola logika bisnis langsung di level database.

Demikian tutorial belajar SQL Database bagian 7 tentang penggunaan View, Stored Procedure, dan Trigger. Terus ikuti seri belajar SQL Database dari Rumahweb untuk meningkatkan kemampuan Anda dalam mengelola database. Semoga bermanfaat!

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 5 / 5. Vote count: 1

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Kholifatush Sholichah

Kholifatush Sholichah, atau yang akrab disapa Lika adalah bagian dari team Technical Support Rumahweb. Lika suka menulis jurnal tentang WordPress, cara mengatasi berbagai macam error, seperti SSL error, database error, dan masalah teknis lainnya yang sering terjadi pada website. Melalui tulisannya, Lika ingin membantu Anda mengatasi masalah tersebut dengan solusi yang mudah dipahami.

banner pop up - Pindah Hosting ke Rumahweb