TRIGGER
1. Apa itu Trigger?
sekumpulan instruksi yang secara otomatis dieksekusi (atau "dipicu") sebagai respons terhadap peristiwa tertentu yang terjadi dalam basis data, seperti penyisipan (INSERT), pembaruan (UPDATE), atau penghapusan (DELETE) data. Trigger digunakan untuk memastikan integritas data, melakukan audit, atau menjalankan logika bisnis tertentu.
Contohnya, ada trigger yang ditetapkan pada tabel transaksi, setiap kali sebuah transaksi baru dimasukkan, trigger tersebut dapat secara otomatis memperbarui saldo akun terkait. Trigger dapat membantu mengotomatiskan proses dan menjaga konsistensi data dalam sistem basis data.
2. Apa perbedaan Trigger before dan after?
Perbedaan antara trigger `BEFORE` dan `AFTER` terletak pada kapan trigger tersebut dieksekusi dalam proses manipulasi data:
1. Trigger BEFORE:
- Dieksekusi sebelum operasi (INSERT, UPDATE, DELETE) dilakukan.
- Berguna untuk memvalidasi data atau melakukan perubahan pada data yang akan dimasukkan atau diubah sebelum proses utama dijalankan.
- Contoh: Memeriksa apakah nilai yang akan diinput memenuhi kriteria tertentu sebelum menyimpannya ke tabel.
2. Trigger AFTER:
- Dieksekusi setelah operasi (INSERT, UPDATE, DELETE) selesai dilakukan.
- Digunakan untuk melakukan tindakan yang tergantung pada hasil dari operasi tersebut, seperti logging, mengupdate tabel lain, atau mengirim notifikasi.
- Contoh: Mencatat perubahan yang telah dilakukan pada tabel ke dalam tabel log.
Dengan demikian, pilihan antara `BEFORE` dan `AFTER` tergantung pada apa yang ingin dicapai dalam logika bisnis dan kebutuhan aplikasi.
3. Kenapa perlu membuat Trigger insert, update dan delete?
Membuat trigger untuk operasi INSERT, UPDATE, dan DELETE memiliki beberapa keuntungan penting:
1. Menjaga Integritas Data:
- Trigger dapat digunakan untuk memvalidasi data yang dimasukkan ke dalam basis data, memastikan bahwa semua data memenuhi kriteria tertentu sebelum disimpan.
2. Audit dan Logging:
- Trigger dapat mencatat perubahan yang terjadi pada tabel, termasuk siapa yang melakukan perubahan dan kapan, yang sangat berguna untuk audit dan pelacakan.
3. Konsistensi Data:
- Dengan trigger, kita dapat memastikan bahwa data di tabel terkait tetap konsisten. Misalnya, jika ada perubahan pada tabel master, trigger dapat memperbarui tabel terkait secara otomatis.
4. Automatisasi Proses:
- Trigger dapat menjalankan prosedur atau perhitungan otomatis, seperti menghitung total penjualan setiap kali ada transaksi baru tanpa memerlukan pemanggilan manual.
5. Mengurangi Beban Logika Aplikasi:
- Dengan memindahkan logika bisnis ke dalam trigger, kita dapat mengurangi kompleksitas dalam kode aplikasi dan memastikan bahwa semua perubahan data diproses dengan cara yang konsisten, terlepas dari aplikasi mana yang mengakses basis data.
6. Pemberitahuan:
- Trigger dapat digunakan untuk mengirim notifikasi atau melakukan tindakan tertentu setelah perubahan dilakukan, seperti mengirim email atau memperbarui status di sistem lain.
Dengan demikian, trigger membantu dalam menjaga integritas, konsistensi, dan otomatisasi dalam pengelolaan basis data.
Komentar
Posting Komentar