0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan19 halaman

Definisi dan Manfaat Trigger Database

Trigger adalah objek database yang aktif saat terjadi event pada tabel, seperti insert, delete, atau update. Keuntungan penggunaan trigger meliputi standarisasi proses, penyederhanaan pemrograman, dan efisiensi. Trigger dapat dibuat dengan sintaks tertentu dan tidak dapat diedit, hanya bisa dihapus dan dibuat ulang.

Diunggah oleh

bima81873
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan19 halaman

Definisi dan Manfaat Trigger Database

Trigger adalah objek database yang aktif saat terjadi event pada tabel, seperti insert, delete, atau update. Keuntungan penggunaan trigger meliputi standarisasi proses, penyederhanaan pemrograman, dan efisiensi. Trigger dapat dibuat dengan sintaks tertentu dan tidak dapat diedit, hanya bisa dihapus dan dibuat ulang.

Diunggah oleh

bima81873
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

TRIGGER

M. Maksudin Al Mubarok_ 22.02.0.0032


Ikhya Sebastian Afriza_ 22.02.0.0035
Via Enggar Saputra_ 22.02.0.0022
DEFINISI TRIGGER
 Trigger adalah sebuah objek database yang
diasosiasikan dengan sebuah tabel dan akan
aktif (terpicu/trigger)ketika sebuah event
terjadi pada tabel tersebut
 Trigger hanya akan terjadi ketika ada eksekusi
(insert, delete dan update) pada tabel yang
bersangkutan
 Waktu eksekusi trigger yang mungkin terjadi
terdiri dari 2 yaitu before dan after dari
statement sql-nya
 Ada 2 jenis trigger yaitu :
 Application trigger: Terjadi pada saat sebuah
kejadian terjadi dengan aplikasi tertentu.
 Database trigger : Terjadi pada saat terjadi
sebuah perubahan data seperti DML pada
table (INSERT, UPDATE atau DELETE)
KEUNTUNGAN MENGGUNAKAN
TRIGGER
 Keuntungan penggunaan Trigger antara lain :
a) Standarisasi (penyeragaman) proses. Trigger dibuat
satu kali dan tersimpan dalam database, sehingga
semua client yang menggunakan database tersebut
sekaligus adalah pengguna Trigger. Dengan demikian
seluruh client akan menggunakan operasi yang sama
terhadap 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 perintahnya 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 yang
dipakai oleh pengguna database.
PETUNJUK UNTUK DISAIN
 TRIGGER
Gunakan trigger untuk memastikan pada saat
sebuah operasitertentu terbentuk, aksi yang
berhubungan dengannya juga terbentuk.
 Gunakan database trigger hanya untuk
operasi yang global.
 Tidak mendisain trigger untuk fungsi-fungsi
yang yang telah dibuat oleh server
database dan tidak boleh membuat duplikasi
trigger
 Buatlah store procedur dan invoke prosedur
dalam sebuah trigger jika kode PL/SQL terlalu
panjang.
 Gunakan trigger untuk menghasilkan hasil
dengan tingkat interdepensi yang tinggi, yang
sulit untuk dimaintain dalam aplikasi yang
besar.
 Database trigger akan terjadi untuk setiap
user pada saat sebuah kejadian yang
mentrigger dibuat
MEMBUAT TRIGGER
Syntaks
CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time
trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
Sebelum membuat coding untuk trigger, tentukan
terlebih dahulu nilai-nilai dari komponen trigger
yaitu: trigger timing, trigger event dan trigger type.
STRUKTUR TRIGGER

CREATE TRIGGER nama trigger


{ BEFORE I AFTER }
{ INSERT I UPDATE I DELETE }
ON nama_tabel
FOR EACH ROW
STATEMENT - STATEMENT
MEMBUAT TRIGGER

 Trigger body (trigger_statement) € aksi apa


yang trigger buat ?
 Trigger body merupakan pernyataan atau
perintah yang dilaksanakan Trigger. Jika
pernyataan yang dilaksanakan lebih dari satu
perintah, beberapa perintah dapat dimasukan
ke dalam block BEGIN .. END .
MEMBUAT TRIGGER
 Triggering user event (Trigger_event) €DML statement
yang menyebabkan trigger dieksekusi. Peristiwa atau
kejadian yang memicu terjadinya Trigger. Kita
dapat menggunakan statement INSERT, UPDATE,
DELETE
a) Saat menggunakan UPDATE maka perlu
memasukan list kolom, untuk mengidentifikasikan
kolom mana yang berubah,.
b) Tidak perlu menspesifikasikan list kolom untuk
statement INSERT atau untuk DELETE karena
perintah tersebut akan berpengaruh pada suatu
row.
c) Trigger dapat berisi satu, dua atau ketiganya dari
Temporer Tabel (Old dan New)
 Perlu diketahui pada saat proses
menambahkan data, MySQL akan membuat
semacam tabel temporer dengan struktur
yang sama dengan tabel yang akan diisi.
Tabel temporer diberi nama new. Pada saat
proses pemasukan data (INSERT), nilai-nilai
yang akan dimasukan ke dalam tabel disalin
ke dalam tabel NEW
 Hal yang hampir sama juga berlaku pada proses
penghapusan data (DELETE). Pada perintah
menghapus data akan dibuat tabel temporer OLD
dengan struktur yang sama dengan tabel yang record-
nya akan dihapus.
 Sedangkan untuk proese updating data (UPDATE)
kedua tabel temporer yaitu OLD dan NEW dibuat. Old
akan menyimpan data yang dihapus (sebelum di-
update) dan New berisi data pengganti (data baru).
MENGAKSES NILAI BARU DAN
LAMA
 DI DALAM TRIGGER ANDA DAPAT MENGAKSES DATA
LAMA DAN DATA BARU. DATA LAMA DAPAT DIBUAT
DIREFFERENCE DENGAN RECORD OLD DAN DATA
BARU DAPAT DIREFFERENCE DENGAN RECORD NEW

OPERASI NEW OLD


(READ/WRITE) (READ)
INSERT √
UPDATE √ √
DELETE √
Contoh
 Perhatikan tabel berikut ini:

Misalkan stock pada tabel barang masih kosong. Kemudian akan dibuat
Trigger yang otomatis akan mengupdate stock pada tabel barang
jika terdapat proses pembelian
 Adapun tabel Detail Pembelian mempunyai struktur sebagai berikut:
Table Create Table
--------------- -----------------------------------------------
detailpembelian CREATE TABLE `detailpembelian` (`NoReference` varchar(10) NOT NULL
default '',
`KodeBarang` varchar(12) NOT NULL default '',
`HargaBeli` double NOT NULL default '0',
`JumlahBarang` int(8) NOT NULL default '0',
`Operator` varchar(8) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
MENGHAPUS DAN MEMPERBAIKI
TRIGGER
 MySQL tidak menyediakan fasilitas untuk
memperbaiki atau mengedit Trigger. Oleh
karena itu cara untuk memperbaiki Trigger
adalah dengan menghapusnya, kemudian
membuat yang baru.
DROP TRIGGER Trigger_name
TERIMAKASIH

Anda mungkin juga menyukai