A.
Pengertian
Sering kali dibutuhkan
program yang dapat berjalan sendiri (dijalankan oleh system) sehingga tidak
perlu dieksekusi oleh user. Program tersebut biasanya dibuat
menggunakan timer yang diatur waktu untuk eksekusi sebuah
program. Pada database SQL Server, untuk menjalan program secara
otomatis (dieksekusi oleh system) dapat dibuat dengan mudah karena ada fasilitas
Trigger. Dengan Trigger ini, program dapat dijalankan karena ada
pemicu ketika insert/update/delete terhadap sebuah table. Program yang
akan dijalankan otomatis dapat disimpan di Trigger berjenis Insert jika
pemicunya adalah Insert, disimpan di Trigger berjenis Delete jika pemicunya
adalah Delete, dan disimpan di Trigger berjenis Update jika pemicunya adalah
Delete.
Trigger adalah
batch/sekumpulan perintah yang secara otomatis dikerjakan ketika terjadi
penyisipan (insert), pengubahan (update) atau penghapusan data (delete) pada
sebuah tabel.Trigger :
·
Program seperti Store Procedure atau Function yang dijalankan oleh system
·
Program ini menempel pada sebuah Tabel, berbeda dengan SP dan Function
menempel pada Database
·
Dijalankan oleh system jika ada pemicu yaitu Insert terhadap table, Delete
ataupun Update.
B. Macam - macam Trigger
Macam – macam tigger yaitu
:
·
Application trigger : diaktifkan pada saat terjadi event yang berhubungan
dengan
sebuah aplikasi.
sebuah aplikasi.
·
Database trigger : diaktifkan pada saat terjadi event yang berhubungan
dengan data (seperti operasi DML) atau event yang berhubungan dengan sistem
(semisal logon atau shutdown) yang terjadi pada sebuah skema atau database.
Trigger di bagi menjadi 2
yaitu :
Statement : trigger
dijalankan sekali saja pada saat terjadi sebuah event. Statement trigger juga
dijalankan sekali, meskipun tidak ada satupun baris yang
dipengaruhi oleh event yang terjadi.
dipengaruhi oleh event yang terjadi.
Row : trigger dijalankan
pada setiap baris yang dipengaruhi oleh terjadinya sebuah event. Row trigger
tidak dijalankan jika event dari trigger tidak berpengaruh pada satu baris pun
Trigger body
mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya
event yang mengakibatkan sebuah trigger menjadi aktif.
event yang mengakibatkan sebuah trigger menjadi aktif.
C. Alasan Penggunaan
Trigger
·
Memaksakan Penerapan Business Rule
Business rules (aturan-aturan dalam proses bisnis) dapat dipaksakan
terjadi tanpa harus bergantung pada pengembang aplikasi.
Contoh : STOK Barang.
·
Melindungi Integritas Data
Apabila database telah diset dengan baik dan terencana, termasuk di
dalamnya mengenai rancangan relasi tabel, maka akan timbul
masalah baru dalam pengembangan aplikasi. Masalah tersebut adalah
integritas data yang harus dijaga yang harus dijaga dengan baik agar
perancangan yang telah dikembangkan tidak sia-sia. Dalam hal ini trigger
menjadi aktor utama dalam proses perlindungan integrasi data tersebut.
Contoh : STATUS mahasiswa.
·
Mengeksekusi Perintah Tambahan
Perintah tambahan dalam trigger umumnya dibuat dengan memanfaatkan
fasilitas CLR (Common Language Runtime).
Contoh : Pengiriman Email peringatan.
D. Komponen – Komponen penulisan sintak
pada Trigger :
Tigger timing : tigger
timing adalah eaktu kapan tigger di aktifkan
a.
Untuk table : before , after
b.
Untuk vier : instead of
Tigger event : Insert ,
Update atau delete
·
Nama table : yaitu nama table atau view yang behubungan dengan tigger
·
Tipe Trigger : baris atau penyataan
·
Klause when : untuk kondisi pembatasan
·
Tigger body : bagian prosedur yang di tuliskan pada tigger
Timing pada trigger
·
Before : tigger di halankan sebelum DML event pada tabel
·
After : trigger di jalankan setelah DML event pada tabel
·
Insread of : trigger dijalankan pada sebuah view
E.
Sintaks Penulisan
F.
Keuntungan
Trigger
Dalam sebuah tabel dapat
mempunyai beberapa trigger. Trigger sangat berguna karena dapat secara
optimasi dilaksanakan dalam server, sehingga menyederhanakan pemograman,
sekaligus menjaga konsistensi informasi dalam database.
Keuntungan penggunaan
Trigger antara lain :
a. Standarisasi
(penyeragaman) proses. Trigger dibuat satu kali dan tersimpan
dalamdatabase, sehingga semua client yang menggunakan database
tersebut sekaligus adalah pengguna Trigger. Dengan demikian seluruh
client akan menggunakan operasi yang samaterhadap suatu proses dalam database,
karena Trigger yang dipakai sama.
b. Menyederhanakan
pemrograman. Apabila Trigger sudah dibuat dalam database server, seluruh
program dalam bahasa apapun, yang mengakses database tersebut akan
secara otomatis menggunakan Triger yang ada tanpa perlu membuat perintah
dalam program aplikasi.
c. Mudah diperbaharui.
Apabila Trigger pernah di-update dalam database server, semua client
akan menggunakan perbaruan yang terakhir
d. Kecepatan dan efisiensi
proses. Oleh karena Trigger disimpan dalam server dalam kode yang
sudah terkompilasi, dan dilaksanakan dalam server
sehingga lalu-lintas jaringan menjadi berkurang.
e. Memudahkan kerja secara
tim. Apabila Trigger dan Stored Procedure sudah dibuat, anggota tim
kerja dapat menggunakan bahasa pemrograman yang berbeda dalam
mengaksesnya, karena Trigger disimpan dan dilaksanakan oleh server, tanpa
melihat bahasa pemrograman apa tang di pakai oleh penguna database.
Daftar
Pustaka
Herwanto Syella. 2011. Bahan 7 trigger .
http://syella-herwanto-bdl.blogspot.co.id/. (diakses pada 5 juni
2016.)
No comments:
Post a Comment