PERANCANGAN DATA BASE SISTEM INFORMASI MANAJEMEN PENDIDIKAN DENGAN DBMS MICROSOFT ACCES DAN SQL SERVER
124
Untuk contoh MTVF akan digunakan contoh yang telah dibahas pada ITVF dengan sedikit modifikasi.
Gambar 5.47: Fungsi insCrossTable Fungsi insCrossTable di atas digunakan untuk menampilkan
data dari tabel dbo.products untuk selanjutnya data hasil SELECT tersebut disisipkan insert ke dalam tabel baru.
Gambar 5.48: Proses dan hasil eksekusi fungsi insCrossTable
Perintah SQL di atas merupakan contoh eksekusi MTVF yang
telah dibuat, yaitu fungsi insCrossTable. Karena pemanggilan fungsinya ditambahkan klausa
WHE‘E a a LIKE LG maka hasil yang
dike alika erupa data produk ya g e ga du g kata LG . Data
yang dikembalikan oleh fungsi insCrossTable ini selanjutnya disisipkan ke dalam tabel baru dengan nama produkLG. Gambar 5.48 kanan
menunjukkan terciptanya tabel baru dengan nama dbo.produkLG hasil eksekusi fungsi insCrossTable.
5.8 Membuat Trigger
Trigger merupakan sebuah bentuk khusus dari stored procedure yang secara otomatis melakukan eksekusi ketika sebuah event terjadi di
PERANCANGAN DATA BASE SISTEM INFORMASI MANAJEMEN PENDIDIKAN DENGAN DBMS MICROSOFT ACCES DAN SQL SERVER
125
dalam server database. Trigger dapat mencegah akses terhadap data yang spesifik, melakukan logging atau melakukan audit perubahan data.
Berikut adalah beberapa manfaat penggunaan trigger: Sebagai salah satu mekanisme alternatif untuk menjalankan
aturan bisnis dan menjaga integritas data dalam sebuah database. Mekanisme yang lainnya adalah penggunaan
constraint. Dapat mengevaluasi status dari sebuah tabel sebelum dan
sesudah terjadi perubahan data dan melakukan aksinya sesuai perbedaan yang terjadi.
Dapat melakukan perubahan secara cascade melalui relasi tabel pada database, akan tetapi perubahan ini akan lebih efisien jika
dieksekusi menggunakan referential integrity constraints. Dapat melakukan pencegahan akses atas data yang kompleks
dibanding dengan menggunakan check constraint. Dapat mereferensikan kolom field dalam tabel yang berbeda.
Pada SQL Server 2008 R2, trigger dikelompokkan menjadi tiga,
yaitu: Trigger DML data manipulation language, Trigger DDL data definition language, dan Trigger LOGON.
5.8.1 Trigger DML
Trigger DML melakukan eksekusi ketika ada user mencoba melakukan modifikasi data yang behubungan dengan DML. Kejadian
event DML dalam hal ini adalah statemen INSERT, UPDATE, dan DELETE data pada sebuah tabel atau view. Namun demikian, trigger
tidak dapat digunakan dalam kejadian yang dihasilkan oleh statemen SELECT. Trigger-trigger ini aktif ketika ada satu lebih valid event
diaktifkan, terlepas dari ada tidaknya baris data dalam tabel yang terpengaruh affected. Berikut ini merupakan sintaks umum pembuatan
trigger DML.
Trigger on an INSERT, UPDATE, or DELETE statement to a table or view DML Trigger
CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view }
[ WITH dml_trigger_option [ ,...n ] ] { FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ NOT FOR REPLICATION ]