Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Company LOGO T R I G G E R. Company name TUJUAN  Memahami konsep dasar trigger di dalam basis data.  Memahami implementasi trigger sebagai bentuk respon.

Presentasi serupa


Presentasi berjudul: "Company LOGO T R I G G E R. Company name TUJUAN  Memahami konsep dasar trigger di dalam basis data.  Memahami implementasi trigger sebagai bentuk respon."— Transcript presentasi:

1 Company LOGO T R I G G E R

2 Company name TUJUAN  Memahami konsep dasar trigger di dalam basis data.  Memahami implementasi trigger sebagai bentuk respon atas suatu kejadian.  Mampu menyelesaikan kasus-kasus manipulasi data yang kompleks dengan memanfaatkan trigger.

3 Company name DEFINISI  Trigger dapat didefinisikan sebagai himpunan kode (prosedural) yang dieksekusi secara otomatis sebagai respon atas suatu kejadian berkaitan dengan tabel basis data. Kejadian (event) yang dapat membangkitkan trigger umumnya berupa pernyataan INSERT, UPDATE, dan DELETE.

4 Company name JENIS-JENIS TRIGGER  Berdasarkan ruang lingkupnya, trigger diklasifikasikan menjadi dua jenis:  row trigger dan  statement trigger.  Dari sisi perilaku (behavior) eksekusi, trigger dapat dibedakan menjadi beberapa jenis; namun umumnya ada dua jenis:  trigger BEFORE dan  trigger AFTER.

5 Company name TRIGGER di MySQL  Sintaks pendefinisian trigger diperlihatkan sebagai berikut: CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt )

6 Company name LATIHAN  Buat trigger untuk menambahkan satu stok bonus untuk setiap pengentrian barang baru DELIMITER // CREATE TRIGGER inkremenStok2 BEFORE INSERT ON barang FOR EACH ROW BEGIN -- Menambah nilai stok dengan 1 SET NEW.stok = NEW.stok + 1; END // DELIMITER ; )

7 Company name Keyword OLD dan NEW  Untuk merujuk ke kolom-kolom tabel yang diasosiasikan dengan trigger, kita menggunakan keyword OLD dan NEW. Keyword OLD mengacu pada nilai lama, sedangkan NEW merepresentasikan nilai baru.  Di trigger INSERT  keyword NEW  Di trigger DELETE  keyword OLD  Di trigger UPDATE  keyword OLD dan NEW

8 Company name Keyword NEW  Trigger Insert  Contoh berikut memperlihatkan penggunaan keyword NEW pada trigger INSERT. DELIMITER // CREATE TRIGGER updateStok AFTER INSERT ON pembelian FOR EACH ROW BEGIN -- Update nilai stok barang UPDATE barang SET stok = stok + NEW.jml_beli WHERE id_brg = NEW.id_brg; END // DELIMITER ;

9 Company name ILUSTRASI

10 Company name Keyword OLD  Trigger Delete  Misalkan kita ingin mendefinisikan trigger untuk menghapus semua data pembelian manakala data barang yang sesuai—diindikasikan melalui primary key dan foreign key—dihapus. DELIMITER // CREATE TRIGGER deleteChild AFTER DELETE ON barang FOR EACH ROW BEGIN -- Hapus data pembelian yang berkorespondensi DELETE FROM pembelian WHERE id_brg = OLD.id_brg; -- id_brg pertama merujuk ke tabel pembelian -- OLD.id_brg merujuk tabel barang END // DELIMITER ;

11 Company name ILUSTRASI

12 Company name Keyword OLD & NEW  Trigger Update DELIMITER // CREATE TRIGGER updateStokEdit AFTER UPDATE ON pembelian FOR EACH ROW BEGIN -- Update nilai stok barang UPDATE barang SET stok = stok + (NEW.jml_beli - OLD.jml_beli) WHERE id_brg = NEW.id_brg; END // DELIMITER ;

13 Company name ILUSTRASI

14 Company name TRIGGER KOMPLEKS  Keberadaan trigger secara nyata mampu mengatasi berbagai persoalan pelik, misalnya berkaitan dengan integritas atau audit data. Ini tentu sangat masuk akal, karena trigger juga bisa mengandung pernyataan- pernyataan yang kompleks—termasukpencabangan, pengulangan, fungsi-fungsi agregat, bahkan kode pemanggilan prosedur.

15 Company name TRIGGER KOMPLEKS  Sebagai ilustrasi sederhana, kita bisa mendefinisikan trigger untuk memeriksa operasi penambahan data barang. Skenarionya, jika data sudah ada, berikan status eksistensi barang; sebaliknya, data bisa langsung dimasukkan. DELIMITER // CREATE TRIGGER auditBarang BEFORE INSERT ON barang FOR EACH ROW BEGIN IF NOT EXISTS (SELECT id_brg FROM barang WHERE id_brg =NEW.id_brg) THEN SET NEW.nama_brg = NEW.nama_brg, NEW.stok = NEW.stok; ELSE = CONCAT('Id ', NEW.id_brg, ' sudah ada'); END IF; END // DELIMITER ;

16 Company name SELAMAT BELAJAR


Download ppt "Company LOGO T R I G G E R. Company name TUJUAN  Memahami konsep dasar trigger di dalam basis data.  Memahami implementasi trigger sebagai bentuk respon."

Presentasi serupa


Iklan oleh Google