PEMBAHASAN
I.
PENDAHULUAN
Dengan
database, data atau informasi dapat disimpan secara permanen.Informasi yang
tadinya di dalam variabel, akan segera hilang bersamaan denganselesainya
eksekusi program aplikasi. Untuk itu diperlukan database untuk menyimpaninformasi
yang ingin dipertahankan saat eksekusi selesai.Salah satu sistem database
(DBMS) populer saat ini adalah MySQL. Terdapatbeberapa alasan mengapa MySQL
dipilih sebagai DBMS, diantaranya: freeware,didukung hampir semua bahasa
pemrograman populer saat ini, database tercepat(metode one-sweep multijoin),
dan komunitas yang besar.
Dalam
implementasinya, sering programmer hanya memanfaatkan fitur table.
Tahukah
Anda, sejak MySQL versi 5.x telah tersedia fitur lain yang sangat
membantuterutama untuk aplikasi terpusat (client-server) atau tersebar
(distributed), yaitu:Trigger, Stored Procedure, Stored Function, dan View.
Tutorial kali ini akan membahas
implementasi
keempat fitur tersebut.
1.
TRIGGER
Pernyataan
CREATE TRIGGER digunakan untuk membuat trigger, termasuk
aksi
apa yang dilakukan saat trigger diaktifkan. Trigger berisi program yang
dihubungkan
dengan suatu tabel atau view yang secara otomatis melakukan suatu aksi
Komunitas
eLearning IlmuKomputer.Com
Copyright
© 2003-2007 IlmuKomputer.Com
ketika
suatu baris di dalam tabel atau view dikenai operasi INSERT, UPDATE atau
DELETE.
Sintak
:
CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time
trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
Keterangan
:
[DEFINER = { user | CURRENT_USER }]: Definisi
user yang sedang aktif,
sifatnya
opsional.
trigger_name: Nama trigger.
trigger_time: waktu menjalankan trigger. Ini
dapat berupa BEFORE atau AFTER.
BEFORE: Membuat trigger diaktifkan sebelum
dihubungkan dengan suatu
operasi.
AFTER: Membuat trigger diaktifkan setelah
dihubungkan dengan suatu
operasi.
trigger_event: berupa kejadian yang akan
dijalankan trigger.
trigger_event dapat berupa salah satu dari
berikut:
INSERT : trigger diaktifkan ketika sebuah
record baru disisipkan ke dalam
tabel.
Contoh: statemen INSERT, LOAD DATA, dan REPLACE.
UPDATE : trigger diaktifkan ketika sebuah
record dimodifikasi. Contoh:
statemen
UPDATE.
DELETE : trigger diaktifkan ketika sebuah
record dihapus. Contoh: statemen
DELETE
dan REPLACE.
Catatan
: trigger_event tidak merepresentasikan statemen SQL yang
diaktifkan
trigger sebagai suatu operasi tabel. Sebagai contoh, trigger BEFORE
untuk
INSERT akan diaktifkan tidak hanya oleh statemen INSERT tetapi juga
statemen
LOAD DATA.
tbl_name: Nama tabel yang berasosiasi dengan
trigger.
trigger_stmt: Statemen (tunggal atau jamak)
yang akan dijalankan ketika trigger
aktif.
Contoh
yang akan dibahas adalah mencatat kejadian-kejadian yang terjadi
beserta
waktunya pada tabel mahasiswa, dan catatan-catatan tadi disimpan dalam tabel
yang
lain, misal log_mhs. Misalkan struktur tabel log_mhs adalah sebagai berikut.
mysql>
describe log_mhs;
Contoh 1:
mysql>
create trigger ins_mhs after insert on mahasiswa
-> for each row insert into log_mhs
values('Tambah data',now());
mysql>
insert into mahasiswa values('00631','Hanif','Kalasan','P01');
mysql>
select * from log_mhs;
1.
TRIGGER
Pernyataan
CREATE TRIGGER digunakan untuk membuat trigger, termasuk
aksi
apa yang dilakukan saat trigger diaktifkan. Trigger berisi program yang
dihubungkan
dengan suatu tabel atau view yang secara otomatis melakukan suatu aksi
Komunitas
eLearning IlmuKomputer.Com
Copyright
© 2003-2007 IlmuKomputer.Com
ketika
suatu baris di dalam tabel atau view dikenai operasi INSERT, UPDATE atau
DELETE.
Sintak
:
CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time
trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
Keterangan
:
[DEFINER = { user | CURRENT_USER }]: Definisi
user yang sedang aktif,
sifatnya
opsional.
trigger_name: Nama trigger.
trigger_time: waktu menjalankan trigger. Ini
dapat berupa BEFORE atau AFTER.
BEFORE: Membuat trigger diaktifkan sebelum
dihubungkan dengan suatu
operasi.
AFTER: Membuat trigger diaktifkan setelah
dihubungkan dengan suatu
operasi.
trigger_event: berupa kejadian yang akan
dijalankan trigger.
trigger_event dapat berupa salah satu dari
berikut:
INSERT : trigger diaktifkan ketika sebuah
record baru disisipkan ke dalam
tabel.
Contoh: statemen INSERT, LOAD DATA, dan REPLACE.
UPDATE : trigger diaktifkan ketika sebuah
record dimodifikasi. Contoh:
statemen
UPDATE.
DELETE : trigger diaktifkan ketika sebuah
record dihapus. Contoh: statemen
DELETE
dan REPLACE.
Catatan
: trigger_event tidak merepresentasikan statemen SQL yang
diaktifkan
trigger sebagai suatu operasi tabel. Sebagai contoh, trigger BEFORE
untuk
INSERT akan diaktifkan tidak hanya oleh statemen INSERT tetapi juga
statemen
LOAD DATA.
tbl_name: Nama tabel yang berasosiasi dengan
trigger.
trigger_stmt: Statemen (tunggal atau jamak)
yang akan dijalankan ketika trigger
aktif.
Contoh
yang akan dibahas adalah mencatat kejadian-kejadian yang terjadi
beserta
waktunya pada tabel mahasiswa, dan catatan-catatan tadi disimpan dalam tabel
yang
lain, misal log_mhs. Misalkan struktur tabel log_mhs adalah sebagai berikut.
mysql>
describe log_mhs;
Contoh 1:
mysql>
create trigger ins_mhs after insert on mahasiswa
-> for each row insert into log_mhs values('Tambah
data',now());
mysql>
insert into mahasiswa values('00631','Hanif','Kalasan','P01');
mysql>
select * from log_mhs;
I.
TUGAS LABORATORIUM
A.
Trigger
delete data barang

Nama :
·
Delete
data barang
Kegunaan
:
·
Trigger delete data barang memberitahukan bahwa
data sudah terhapus
Input :
·
Kode barang
Proses :
·
Ketika Melakukan delete maka trigger akan mengeluarkan
kata data telah terhapus
Outputan
:

B. Trigger
update data barang

Nama :
·
Update
data barang
Kegunaan
:
·
Trigger update data barang memberitahukan
bahwa data sudah terupdate
Input :
·
Semua field pada tabel data barang
Proses :
·
Ketika Melakukan update maka trigger akan mengeluarkan kata data telah
terupdate
Outputan
:

C. Trigger
insert data barang

Nama :
·
insert
data barang
Kegunaan
:
·
Trigger insert data barang memberitahukan bahwa
data sudah tersimpan
Input :
·
Semua field pada tabel data barang
Proses :
·
Ketika Melakukan insert maka trigger akan mengeluarkan kata data telah
tersimpang

D. Trigger
delete data Pelanggan

Nama :
·
Delete
data pelanggan
Kegunaan
:
·
Trigger delete data pelanggan memberitahukan
bahwa data sudah terhapus
Input :
·
Id pelanggan
Proses :
·
Ketika Melakukan delete maka trigger akan mengeluarkan kata data telah
terhapus
Outputan
:

E. Trigger
update data barang
Nama :
·
Update
pelanggan
Kegunaan
:
·
Trigger update pelanggan memberitahukan bahwa
data sudah terupdate
Input :
·
Semua field pada tabel pelanggan
Proses :
·
Ketika Melakukan update maka trigger akan mengeluarkan kata data telah
terupdate
Outputan
:
F. Trigger
insert data barang
Nama :
·
insert
pelanggan
Kegunaan
:
·
Trigger insert pada table pelanggan memberitahukan
bahwa data sudah tersimpan
Input :
·
Semua field pada tabel pelanggan
Proses :
·
Ketika Melakukan insert maka trigger akan mengeluarkan kata data telah
tersimpang
Outputan
:

Tidak ada komentar:
Posting Komentar