T R I G G E R.

Slides:



Advertisements
Presentasi serupa
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Trigger.
Advertisements

SQL – DML.
MATA KULIAH : “LOGIKA DAN ALGORITMA”
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
UNIVERSITAS BINA DARMA 2013 DATA MANIPULATION LANGUAGE (DML)
Error Handling (Exception) & INDEX
Dasar-dasar SQL soesanto.
Pengamanan Basis data.
Database Create-Retrieve-Update-Delete (CRUD)
DDL & Aturan Referential
SQL: Queries II, Constraints & Triggers (Chap. 5 – Ramakrishnan)
DML Lanjutan Pertemuan Minggu Ke-10.
Manajemen Basis Data menggunakan SQL Server
TRIGGER.
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
CHANGE DATA CAPTURE.
Trigger.
DDL & Aturan Referential
DATA MANIPULATION LANGUAGE (DML)
Praktek Pemograman Client-Server
STORED PROCEDURE Achmad Yasid, SKom.
Procedure Siti Mukaromah, S.Kom.
TRIGGER Siti Mukaromah, S.Kom.
TRIGGER.
1 Bab 3 Structured Query Language (SQL) Basis Data
Microsoft SQL Server DDL dan DML dasar
Praktikum Database Subquery Lanjutan dan View Abdul Kadir.
Kasus Buat algoritma untuk menghitung total pembayaran dari proses pembelian.
SINTAK STORED PROCEDURE
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Data Types Data Definition Language Referential Constraint SQL Query
FUNGSI & TRIGGER ACHMAD YASID.
TRIGGER.
SQL Pertemuan
Pertemuan : 10 Basis Data Terapan
Integritas Basis Data D. Sinaga, M.Kom.
TRIGGER (Statement & Row Trigger)
Pertemuan after UTS Structure Query Language (SQL)
TRIGGER SYAIFUL HUDA, S.Kom.
FUNGSI-FUNGSI AKSES MySql
STORED PROCEDURE & TRIGGER
Integritas basis data.
Bahasa query terpan.
Konsep Teknologi Informasi B
View dan Trigger Materi 5
Manajemen Basis Data menggunakan SQL Server
Data Manipulation Languange (DML) Perintah INSERT dan DELETE
Sistem Basis Data ABU SALAM, M.KOM.
DATA MANIPULATION LANGUAGE (DML)
SQL pada basis data client-server
Praktikum Berkas dan Basis Data
TRIGGER.
SQL OVERVIEW.
Sistem Manajemen Basis Data
Procedure Siti Mukaromah, S.Kom.
OLEH : Slamet Sn Wibowo Wicaksono
BAB ENHANCED DATA MODELS FOR ADVANCED APPLICATIONS
Trigger Ilman Kadori,M.Kom.
EXERCISE DML Part I Buatlah sebuah tabel baru nama = Dosen
CURSOR.
Trigger.
Oleh : FIRMAN JAYA, S.Pt, M.Kom
Integritas Basis Data Triggers, Store Procedure
FUNGSI & TRIGGER.
Integritas basis data.
Referensi Bahasa MySQL
12/6/2018 TRIGGER Pemrograman Basis Data Siti Mukaromah, S.Kom.
ORACLE PL/SQL TRIGGER Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
10/14/2019 TRIGGER Pemrograman Basis Data.
Transcript presentasi:

T R I G G E R

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. www.themegallery.com

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. www.themegallery.com

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.

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 ) www.themegallery.com

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 ; ) www.themegallery.com

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 Ubah www.themegallery.com

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 ; Ubah www.themegallery.com

ILUSTRASI Ubah www.themegallery.com

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 ; Ubah www.themegallery.com

ILUSTRASI Ubah www.themegallery.com

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 ; Ubah www.themegallery.com

ILUSTRASI Ubah www.themegallery.com

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—termasuk pencabangan, pengulangan, fungsi-fungsi agregat, bahkan kode pemanggilan prosedur.

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 SET @status = CONCAT('Id ', NEW.id_brg, ' sudah ada'); END IF; END // DELIMITER ;

SELAMAT BELAJAR