Langsung ke konten utama

Trigger dalam MySQL: Pengertian dan Fungsinya

 Apa itu Trigger ?

Trigger dalam MySQL adalah sebuah mekanisme yang memungkinkan kita untuk menjalankan sekumpulan perintah SQL secara otomatis ketika suatu peristiwa tertentu terjadi pada sebuah tabel. Peristiwa yang dimaksud bisa berupa operasi INSERT (menambahkan data), UPDATE (memperbarui data), atau DELETE (menghapus data).

Perbedaan Trigger BEFORE dan AFTER:

  • Trigger BEFORE:
    • Dilaksanakan sebelum perubahan data terjadi.
    • Dapat digunakan untuk:
      • Memeriksa validitas data sebelum disimpan.
      • Menghitung nilai kolom secara otomatis sebelum data disimpan.
      • Mencegah perubahan data yang tidak diinginkan dengan membatalkan operasi (menggunakan ROLLBACK).
  • Trigger AFTER:
    • Dilaksanakan setelah perubahan data terjadi.
    • Dapat digunakan untuk:
      • Melakukan audit trail (mencatat perubahan data).
      • Memperbarui tabel lain yang terkait.
      • Mengirim notifikasi (email, SMS) setelah perubahan data.

    Mengapa Perlu Menggunakan Trigger INSERT, UPDATE, dan DELETE?

    • Integritas Data: Menjaga konsistensi data dalam database dengan melakukan validasi sebelum data disimpan atau diperbarui.
    • Otomatisasi: Melakukan tugas-tugas yang berulang secara otomatis, seperti menghitung nilai, membuat log, atau mengirim notifikasi.
    • Enforcing Business Rules: Menerapkan aturan bisnis yang kompleks yang sulit diimplementasikan hanya dengan menggunakan constraint.
    • Audit Trail: Melacak perubahan data seiring waktu untuk keperluan audit atau analisis.

    Contoh

    Kita akan buat tiga tabel untuk menyimpan data tentang obat-obatan. Ketiga tabel itu adalah: tabel obat, tabel obat keluar, dan tabel obat masuk. Nah, setiap tabel ini akan punya kolom-kolom dengan jenis data tertentu. Kita akan atur kolom-kolomnya seperti ini




    Setelah membuat struktur tabel, sekarang saatnya untuk mengisi tabel obat dengan data produk yang akan kita kelola. Data yang perlu dimasukkan adalah ID obat, nama obat, dan jumlah stok awal


    Langkah selanjutnya adalah membuat sebuah trigger yang bernama TambahStok. Trigger ini akan dijalankan setelah ada data baru dimasukkan ke dalam tabel obatmasuk. Fungsi dari trigger ini adalah untuk menambah jumlah stok obat yang sesuai dengan jumlah obat yang baru masuk.

    Masukkan data obat masuk.



    Setelah berhasil menambahkan data obat masuk, langkah selanjutnya adalah memeriksa apakah jumlah stok obat di tabel obat sudah diperbarui sesuai dengan data yang baru saja kita tambahkan. Untuk melakukan hal ini, silakan buka tabel obat dan cari data obat dengan ID yang sama dengan yang baru saja Anda input. Perhatikan kolom 'stok', jumlahnya seharusnya sudah bertambah sesuai dengan jumlah obat yang Anda masukkan pada saat menambahkan data obat masuk.


    Setelah berhasil membuat trigger untuk menambahkan stok obat, langkah selanjutnya adalah membuat trigger untuk mengurangi stok obat setiap kali ada obat yang dikeluarkan. Trigger ini akan ditempatkan pada tabel obat keluar. Dengan adanya trigger ini, kita dapat memastikan bahwa data stok obat selalu akurat dan up-to-date.


    Masukkan data obat keluar.



    Setelah berhasil memasukkan data obat yang keluar, langkah selanjutnya adalah memeriksa kembali data tersebut untuk memastikan tidak ada kesalahan. Buka tabel obat keluar dan perhatikan daftar obat yang telah Anda masukkan. Pastikan semua informasi seperti ID obat, jumlah, dan tanggal keluar sudah benar dan sesuai dengan catatan fisik Anda. Dengan melakukan verifikasi ini, kita dapat memastikan bahwa data obat selalu akurat dan dapat diandalkan.


    Dengan demikian, kita telah selesai melakukan pencatatan data obat masuk dan keluar. Anda dapat memeriksa kembali data yang telah Anda input kapan saja. Selain itu, Anda juga dapat membuat laporan stok obat untuk melihat gambaran keseluruhan mengenai persediaan obat di gudang. Selamat mencoba!

    Komentar

    Postingan populer dari blog ini

    Mengetahui jumlah barang dengan memanfaatkan fitur Function

     Soal : Buat function untuk menghitung jumlah barang dari semua data barang. Buat function untuk menghitung jumlah barang dari semua data barang, tambah 1 parameter untuk batas stok. Jadi Count data yang stok nya dibawah inputan. Tabel  Berikut adalah yang akan digunakan untuk mengerjakan soal diatas. 1. Berikut function yang dibuat untuk soal yang pertama  lalu kita coba untuk eksekusi dengan hasil sebagai berikut 2. Soal yang kedua hampir sama dengan yang pertama, yang membedakan adalah kita menambahkan batas stok untuk menghitung ada berapa jumlah barang dengan stok yang kita masukkan. Berikut adalah function yang digunakan. setelah itu kita run dan masukkan batas stok yang diinginkan misal kita masukan batas stok nya 20. Itu tadi adalah hasil dari 2 soal yang sudah kita kerjakan semoga kalian bisa memahami nya 👍🤞.

    Replikasi Database

     Replikasi Database Replikasi database adalah sistem yang digunakan untuk menyalin, mendistribusikan data, serta melakukan sinkronisasi data antar database. Replikasi database juga dapat membantu meningkatkan kinerja database dengan mempercepat waktu akses dan meminimalkan waktu downtime yang mungkin terjadi jika hanya ada satu database tunggal. Bayangkan website atau bisnis kamu bergantung pada satu database. Mirip laptop dengan satu hardisk untuk semua program. Nah, ini seperti "bom waktu" yang siap meledak! Kenapa? Karena kalau hardisk itu rusak, semua program di laptop kamu ikut kena imbasnya, kan? Sama juga dengan bisnis kamu. Kalau database pusatnya bermasalah, semua aktivitas bisnis bisa lumpuh total. Nah, di sinilah replikasi database hadir sebagai penyelamat. Anggap saja ini seperti punya "backup" data. Jadi, kalau ada satu "backup" yang gagal, ada "backup" lain yang siap menggantikan. Replikasi database itu penting banget, apalagi buat ...

    Tutorial MySQL: Membuat Trigger untuk Manajemen Stok dan Harga Pesanan

    Dalam pengembangan sistem informasi penjualan, manajemen stok dan harga merupakan komponen penting yang harus diperhatikan. MySQL Trigger dapat membantu kita mengotomatisasi proses update stok dan harga secara real-time. Pada artikel ini, kita akan membahas cara membuat trigger untuk dua skenario umum dalam sistem penjualan. Apa yang Akan Kita Buat? Trigger untuk mengupdate harga di tabel pesanan saat harga barang berubah Trigger untuk mengembalikan stok barang saat pesanan dihapus 1. Trigger Update Harga Trigger ini akan memastikan harga di pesanan_detail selalu sinkron dengan harga di tabel barang. 2. Trigger Return Stok saat Pesanan Dihapus Trigger ini akan mengembalikan stok barang ke jumlah semula saat pesanan dihapus. Contoh 1. Kita akan mencoba demontrasi kan trigger yang sudah kita buat : Perhatikan data awal: Di tabel barang: Headset Gaming (id_barang = 4) memiliki harga Rp. 50.000 Di tabel pesanan_detail: id_detail = 5 dengan id_barang = 4 memiliki qty = 5 dan harga Rp....