Oleh : FIRMAN JAYA, S.Pt, M.Kom

Slides:



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

SOAL PRODUKTIF TKJ Administrasi Server MULAI.
MATA KULIAH : “LOGIKA DAN ALGORITMA”
Pertemuan 2 : Dasar-dasar SQL SBD C – Senin, Frank & Rudy
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
PERINTAH SQL.
Dasar-dasar SQL soesanto.
Pengamanan Basis data.
Database Create-Retrieve-Update-Delete (CRUD)
T R I G G E R.
SQL (Structure Query Language) Tingkat Lanjut Endah Priyanti, S.Kom.
DML Lanjutan Pertemuan Minggu Ke-10.
Oleh : Kholid Fathoni, S.Kom., M.T.
Manajemen Basis Data menggunakan SQL Server
TRIGGER.
Stored Procedure Basis Data Terapan.
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
BASIS DATA TERAPAN Triana Elizabeth, S. Kom
Audit TrAIl & Real time audit
Trigger.
Praktek Pemograman Client-Server
STORED PROCEDURE Achmad Yasid, SKom.
Procedure Siti Mukaromah, S.Kom.
Administrasi Basis Data
TRIGGER Siti Mukaromah, S.Kom.
TRIGGER.
Review DDL Pertemuan ke 2.
Mengenal DBMS (Database Management System)
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.
Koneksi PHP ke Database MySQL
TRIGGER.
SQL Pertemuan
SQL Basis data kelas XI. PENGENALAN SQL ■SQL merupakan singkatan dari Structured Query Language. ■SQL merupakan bahasa yang digunakan untuk mengakses.
PENGANTAR TEKNOLOGI SIA 2
SQL Basis Data.
Integritas Basis Data D. Sinaga, M.Kom.
TRIGGER LANJUT.
TRIGGER (Statement & Row Trigger)
Pemrograman internet ABU SALAM, M.KOM.
TRIGGER SYAIFUL HUDA, S.Kom.
FUNGSI-FUNGSI AKSES MySql
DDL, DML.
STORED PROCEDURE & TRIGGER
View dan Trigger Materi 5
SQL (Structure Query Language)
Manajemen Basis Data menggunakan SQL Server
Sistem Basis Data ABU SALAM, M.KOM.
SQL pada basis data client-server
SQL Basis Data.
Praktikum Berkas dan Basis Data
TRIGGER.
SQL OVERVIEW.
Procedure Siti Mukaromah, S.Kom.
OLEH : Slamet Sn Wibowo Wicaksono
Pengenalan MySQL An’ Anqinudin L.
BAB ENHANCED DATA MODELS FOR ADVANCED APPLICATIONS
Structured Query Language
SQL.... Kependekan dari Structured Query Language.
Trigger Ilman Kadori,M.Kom.
CURSOR.
Integritas Basis Data Triggers, Store Procedure
Referensi Bahasa MySQL
12/6/2018 TRIGGER Pemrograman Basis Data Siti Mukaromah, S.Kom.
Mengenal DBMS (Database Management System)
Stored Procedure D. SINAGA, M.KOM.
ORACLE PL/SQL TRIGGER Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
Pengantar Teknologi SIM 2 (pertemuan 7)
10/14/2019 TRIGGER Pemrograman Basis Data.
Transcript presentasi:

Oleh : FIRMAN JAYA, S.Pt, M.Kom TRIGGER Oleh : FIRMAN JAYA, S.Pt, M.Kom

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 : 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

Menyederhanakan pemrograman. Apabila Trigger sudah dibuat 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. Mudah diperbaharui. Apabila Trigger pernah di- update dalam database server, semua client akan menggunakan perbaruan yang terakhir

Kecepatan dan efisiensi proses. Oleh karena Trigger disimpan 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. 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 operasi tertentu 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 Saat menggunakan UPDATE maka perlu memasukan list kolom, untuk mengidentifikasikan kolom mana yang berubah,. Tidak perlu menspesifikasikan list kolom untuk statement INSERT atau untuk DELETE karena perintah tersebut akan berpengaruh pada suatu row. Trigger dapat berisi satu, dua atau ketiganya dari operasi DML.INSERT or UPDATE or DELETE ……

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 (READ/WRITE) OLD (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