Trigger

Apa itu Trigger?? 

Trigger adalah sebuah mekanisme otomatis yang diaktifkan oleh peristiwa tertentu dalam tabel, seperti saat data disisipkan (INSERT), diperbarui (UPDATE), atau dihapus (DELETE). Ketika peristiwa tersebut terjadi, kode yang ada di dalam Trigger akan dijalankan. Ini berguna untuk melakukan tindakan otomatis, seperti memvalidasi data, memperbarui nilai tertentu di tabel lain, atau mencatat perubahan data untuk tujuan audit.


Contoh penggunaan Trigger

Misalnya, kita memiliki tabel penjualan. Setiap kali ada penjualan baru (INSERT), kita bisa membuat Trigger yang secara otomatis memperbarui stok barang di tabel inventori. Dengan ini, stok barang akan selalu terjaga konsistensinya tanpa harus melakukan pembaruan secara manual.


Apa perbedaan Trigger Before dan Trigger After

  • Before Trigger: Dijalankan sebelum operasi INSERT, UPDATE, atau DELETE. Biasanya digunakan untuk memvalidasi atau mengubah data sebelum dimasukkan ke dalam tabel.
  • After Trigger: Dijalankan setelah operasi INSERT, UPDATE, atau DELETE selesai. Biasanya digunakan untuk memperbarui tabel lain atau mencatat informasi.


Kenapa Perlu Membuat Trigger Insert Update Dan Delete ???


Karena Trigger Insert, Update, dan Delete penting untuk menjaga kualitas dan integritas data dalam basis data. Mereka berfungsi untuk menjalankan proses otomatis yang diperlukan setiap kali ada perubahan data, seperti memperbarui atau menghapus data terkait di tabel lain, yang membantu menghindari data yang tidak konsisten. Selain itu, trigger memudahkan pencatatan riwayat setiap perubahan, sehingga mempermudah proses audit dan pelacakan.

Trigger juga dapat digunakan untuk memperkuat keamanan, misalnya mencegah operasi tertentu atau membatasi akses ke data sensitif sesuai aturan yang telah ditentukan. Dengan begitu, pemrogram tidak perlu menambahkan logika tambahan di aplikasi karena trigger bekerja langsung di basis data, memastikan bahwa semua perubahan dijalankan secara otomatis dan sesuai aturan yang ada.

Soal tugas menggenai Trigger untuk :
1. mengupdate harga di tabel pesanan saat harga barang berubah
2. 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.

demonstrasi trigger ke-1


Tabel Barang

Tabel Pesanan Detail

• Data awal: Di tabel barang, PS 5 (id_barang = 1) memiliki harga Rp. 7.000.000 
• Di tabel pesanan_detail, dengan id_detail = 1 yang memiliki id_barang = 1, tercatat qty = 2 dengan harga Rp. 14.000.000


Sekarang kita akan memperbarui harga di tabel barang dari Tabel pesanan detail.
                               Kita ubah harganya menjadi 15.000.000


Setelah trigger dijalankan: Harga PS 5 di tabel barang yang sebelumnya Rp. 7.000.000 akan diperbarui menjadi Rp. 15.000.000. Secara otomatis.


2. Trigger Return Stok saat Pesanan Dihapus

Trigger ini akan mengembalikan stok barang ke jumlah semula saat pesanan dihapus.

demontrasi kan trigger ke-2

Tabel Barang

Tabel Pesanan Detail

• Data awal: Di tabel pesanan_detail, id_detail = 3 memesan id_barang = 3 (Kursi Gaming) dengan qty = 2. 
• Di tabel barang, Kursi Gaming(id_barang = 3) memiliki stok sebanyak 21

Sekarang, kita akan menghapus pesanan tersebut menggunakan perintah: 
DELETE FROM pesanan_detail WHERE id_detail = 3;



Setelah trigger dijalankan: Data pesanan dengan id_detail = 3 akan dihapus dari tabel pesanan_detail. Secara otomatis, trigger akan menambah stok di tabel barang. Stok Kursi Gaming akan meningkat menjadi: 21 + 2 = 23.

Hasil akhirnya: Pesanan dengan id_detail = 3 berhasil dihapus. Stok Kursi Gaming di tabel barang bertambah menjadi 23.

Komentar

Postingan populer dari blog ini

JOIN.

Fungsi AGREGAT