Anda di halaman 1dari 6
MODUL7 TRIGGER Dasar Teori Pemyataan CREATE TRIGGER digunakan untuk membuat rigger, tetmasuk aksi apa yang dilakukan saat trigger diaktifkan. Trigger berisi program yang dihubungkan dengan suatu tabel atau view yang secara otomatis melakukan suatu aksi ketika suatu baris di dalam tabel atau view dikenai operasi INSERT, UPDATE atau DELETE, (DEFINER = { user | CURRENT_USER }] TRIGGER trigger name trigger time trigger_event ON tbi_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 menjal ¥ BEFORE: Membuat operasi ¥ AFTER: Membuat rrigger diaktifkan setelah dihubungkan dengan suatu operasi *trigger_event: berupa kejadian yang akan dijalankan trigger trigger_event dapat berupa salah satu dari berikut Y¥ INSERT : trigger diaktifkan ketika sebuah record baru disisipkan ke dalam tabel. Contoh: statemen INSERT, LOAD DATA, dan REPLACE. ¥ UPDATE : srigger diaktitkan ketika sebuah record dimodifikasi. Contoh: statemen UPDATE. Y DELETE : srigcer diaktifkan ketika sebuah record dihapus. Contoh: statemen DELETE dan REPLACE. Catatan : trigger_event tidak merepresentasikan statemen SQL yang diaktitkan trigger sebagai suuatu operasi tabel. Sebagai contoh, trigger BEFORE untuk akan diaktitkan tidak hanya oleh statemen INSERT tetapi juga men LOAD DATA. tb1_name: Nama tabel yang berasosiasi dengan trigger trigger stmt: Statemen (lunggal atau jamak) yang akan dijalankan ketika rrigger akuif. kan trigger. Ini dapat berupa BEFORE atau AFTER. ver diaktifkan sebelum dihubungkan dengan suatu Sekarang kita masuk ke bahasan utama, yaitu implementasi. Untuk menerapkan TRIGGER, PROCEDURE, FUNCTION dan VIEW dibutubkan suatu relasi, misalkan: mahasiswa dan prodi, sebagaimana yang diilustrasikan dengan perintah SQL di bawah ini B. Kegiatan Praktikum 28 csfalsetecanpeossansp ‘Agar kedua tabel diatas berelasi, buatlah kunci tamu pada tabel mhs yang mereferensi ke tabel prodi (kd_prodi) sebagai berikut : ty 2Uperekabl MSW Foreign key prodt) Setotefs'o° oupiicates:'o Sazyeee? g | fea jie, | 3 archar' kd_prodi | char (3) 4 rows in set (0.00 sec) . Isikan data ke tabel mhs dan prodi sebagai berikut : | P08 | Matematika | | POS 03 Ellins { 5 rows in set (0.00 sec) mysql> select * from mhs: . Untuk pembuatan TRIGGER, contoh yang akan dibahas adalah mencatat kejadian- kejadian yang terjadi beserta waktunya pada tabel_mhs, dan catatan-catatan tadi disimpan dalam tabel yang lain, misal log_mhs. Misalkan struktur tabel log_mhs adalah sebagai berikut eate table Tog_nhs ysdl? (fejadian varchar(25), 2 Geta datetine); ayery ok, © 05 affected (0,06 sec) sysal desc 1og_mhs + ian | varchar(25) | YES | Kejad i stectwe J Nu | u 1 veSiell'e WO + Fons in set (0.00 sec) 1> create table 109_nhs ysdl> Credadian varchar (25), 3 waktu datetine); uy of, 0 rons affected (0,06 sec) sysql> desc. T09_nhs; we : en pisisi | Type Bean | Key | default | extra | {kejadian | varchar (25) | ves | i 1 rig gee Te A] (Phere + } rows in set (0.00 sec) Buatlah TRIGGER untuk mencatat kejadian setelah dilakukan perintah INSERT pada tabel mhs dan disimpan ke dalam tabel log_mhs sebagai berikut: mysql> create trigger ins_nhs after insert on mhs => for each row insert into 1 ‘ : 3 query OK, 0 rows affected (0.11 footers values (‘Tambah data’ ,now()); mysql> insert into mhs values -> ((00631", ‘Hanif’, “Kalasan’, PO’); query OK, 1 row affected (0.07 sec) mysql> select * from mhs; ia es | kd_prodi -+ | karangmalang A-50 | POL | 00631 | Hanif | Kalasan | POL 10041 | sugiharta Karangmalang A-23 | P02 ee | 10043 | Ahmad sholihun pase 4 rows in set (0.00 sec. Karangnalang 0-17 | P02 mysql> select * from 1og_mhs; we =. z | kejadian + | Tambah data | 2016-03-11 +--- $oa=- 1 row in set (0.00 sec) Dari contoh diatas dapat dilihat (insert), maka secara otomatis tal kejadian ‘Tambah data’ dan waktu saat reco bahwa ketika satu record pada tabel mhs disisipkan ‘bel log_mbhs akan disisipkan satu record, yaitu rd pada tabel mhs disisipkan buatlah TRIGGER untuk i selanjutnya C Mmencatat perubahan data yang dilakukan. 1. Selah mendapatkan perintah UPDATE pada tabel mhs, on n> create Er4ager upde_nhs after update on hs vee ok ovrons'sFrecteu' (Orb? se25F valued Cobah oxta’snon0)): mal YEE nanan von. mtyan’ Where nim'oosa3 query Ckened 1 “changed: war Sigs: 0 mh gi> select * kd_prodt | “woh. anit Sugiharta mad Sho} Kalasan) 1%? 4-50 | Por 2 saitratatarg w29 | Set | t- 1 | Karangmalang 0-17 | pos Sons in set (0.00 sec) Kemudian TRIGGER untuk perintah DML DELETE pada tabel mhs sebagai berikut, dimana proses kejadiannya direkam pada tabel lox_mhs mysql> select * from mhs: a ae oe [sar ee | egaies cepa “Tn set (0.00 sec) mysql> select * from lo, i kejadian 7 | Tambah data | 2016-03-11 09:33:42 | | ubah Data | 2016-03-11 09:37:31 | | Hapus Data | 2016-03-11 09:39:42 | + + 3 rows in set (0.00 sec) Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel mhs dihapus (delete), maka secara otomatis tabel log_mhs akan disisipkan satu record, yaitu kejadian ‘Hapus data’ dan waktu saat record pada tabel mhs dihapus. 9. Tampilkanlah semua TRIGGER yang telah dibuat mysqi>’ sh mahasisva | st AR i woLL | SOL mahasisva | s2 | APTER | NOLL | soz} ETE | mahasisva S30 | ATR | OLE | SOLS n (record pada kolom “statement” dan “sql_mode” Vvalues (*Tamwah data’, now ()) (*Ubah data! now ()) ('Hapus data! n0¥()) ., NO_ENGINE_ SUBSTITUTION ,, NO_ENGINE_SUBSTITUTION INE_SUBSTITUTION gm i5_TABLES, NO_AUTO_! iSTABLES, NO_AUTO_CREATE_USi 1 'DTO_CREATE_USER, NO_E : STRICT TRA STRICT_TRANS_TABLES, NO_A\ Karena hasil eksekusi perintah “show triggers” sangat panjang, tampilan di atas sengaja diedit dengan tujuan agar mudah dipahami 31 MODUL 8 BACKUP DAN RESTORE A. Dasar Teori Sangat penting untuk mengenal perintah mysqldump, Syntax yang digunakan adalah sebagai berikut. mysqldump -u (username) -p password) |nama_database nama_file_backup.sql Kode diatas adalah format penulisan mysqldump, lalu bagaimana contoh penulisannya, pada kesempatan kali ini jumalweb.com akan mendemokan beberapa jenis cara backup mysql dengan berbagai tujuan. Contoh cara backup mysqldump -u root -p [password] nama_database> jurnalwebcom.sql. B. Kegiatan Praktikum Lakukan backup database pada server kalian dengan CLI dan GUI

Anda mungkin juga menyukai