TRIGGER LANJUT.

Slides:



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

SQL – DML.
DESAIN & KONFIGURASI DATABASE
MATA KULIAH : “LOGIKA DAN ALGORITMA”
PERINTAH SQL.
DDL & Aturan Referential
T R I G G E R.
SISTEM BASISDATA Lasmedi Afuan, ST.,M.Cs. SQL (S RUCTURE Q UERY L ANGUAGE ) Query/SQL : Bahasa standar yang digunakan untuk mengakses basisdata. Standar.
Manajemen Basis Data menggunakan SQL Server
TRIGGER.
Pertemuan 4 Database dengan MySQL.
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
Pemrograman Terstruktur
Trigger.
Praktek Pemograman Client-Server
TRIGGER Siti Mukaromah, S.Kom.
TRIGGER.
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
SQL (Structure Query Language)
Sistem Basis Data Pertemuan 11 Presented by :
BASIS DATA TERAPAN TINALIAH, S. Kom. Tujuan Perkuliahan  Mahasiswa mempelajari bagaimana mengelola database, mengakses data, mengubah data, membuat stored.
PENGANTAR TEKNOLOGI SIA 2
SQL Basis Data.
Exception Handling: Non Predefined Exception
PACKAGE.
Pendahuluan Nama Mata Kuliah : Dasar Pemrograman Basis Data
Exception Handling: User-defined Exception
Stored Procedure Dengan Parameter
Stored Function Tanpa Parameter
TRIGGER (Statement & Row Trigger)
Tujuan Pembelajaran Mampu menjelaskan dan mendemokan konsep overload pada subprogram; Mampu menjelaskan dan mendemokan cara membangun initialization.
Pertemuan after UTS Structure Query Language (SQL)
TRIGGER SYAIFUL HUDA, S.Kom.
FUNGSI-FUNGSI AKSES MySql
TABEL VIRTUAL (VIEW) SYAIFUL HUDA, S.Kom.
DDL, DML.
PENGANTAR SQL MI2143 – Dasar SQL Disusun oleh:
STORED PROCEDURE & TRIGGER
PENGANTAR STRUCTURED QUERY LANGUAGE (SQL)
View dan Trigger Materi 5
SQL (Structure Query Language)
Manajemen Basis Data menggunakan SQL Server
Data Definition Language (DDL)
TRIGGER.
SQL OVERVIEW.
Pendahuluan Nama Mata Kuliah : Pemrograman Basis Data
Created By Amir Ali,S.Kom.,M.Kom
PEMODELAN DATA.
Procedure Siti Mukaromah, S.Kom.
Blok PL/SQL Non Modular dan Modular
PENGANTAR STRUCTURED QUERY LANGUAGE (SQL)
Anonymous Blok PL/SQL dan Tipe Data
Stored Procedure Tanpa Parameter
Stored Function Dengan Parameter
BAB ENHANCED DATA MODELS FOR ADVANCED APPLICATIONS
.: VIEW :. DB - Wiji Setiyaningsih, M.Kom
Trigger.
Oleh : FIRMAN JAYA, S.Pt, M.Kom
SQL.
Integritas Basis Data Triggers, Store Procedure
Administrasi basis data
Referensi Bahasa MySQL
12/6/2018 TRIGGER Pemrograman Basis Data Siti Mukaromah, S.Kom.
Mengenal DBMS (Database Management System)
MEMBANGUN DATABASE DENGAN MySQL
PENDAHULUAN MySQL Oleh: Rudianto.
ORACLE PL/SQL TRIGGER Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
10/14/2019 TRIGGER Pemrograman Basis Data.
Transcript presentasi:

TRIGGER LANJUT

Tujuan Pembelajaran Mampu membuat database or system event trigger Mampu menjelaskan dan mendemokan mutating table pada trigger Mampu menjelaskan dan mendemokan Instead of Trigger

System Event Trigger Penggunaan trigger dapat dikelompokkan menurut event yang terjadi: System events Pada saat database startup & shutdown Server error message events, yaitu pada saat terjadi error User events, yaitu Pada saat seorang user melakukan login atau logoff pada schema atau database User operation a.          DDL statements (CREATE, ALTER, and DROP) b.         DML statements (INSERT, DELETE, and UPDATE)

Contoh Trigger On System Event Buatlah trigger bernama TRG_SCHEMA_LOGIN. Trigger ini akan mencatat user aktifitas login pada schema OE, waktu login, dan keterangan loginnya. Jalankan SQLPlus Login ke Schema OE Terlebih dahulu buatlah tabel catat_log (id_user, tgl_log, aksi) untuk menyimpan data akses schema OE. Buat Trigger Uji trigger dengan login ke schema OE Tampilkan data tabel catat_log Dilewat dulu ini untuk videonya

Mutating Table Error mutating table terjadi pada saat membuat row trigger dimana pada isi/ body dari trigger yang dibuat terdapat proses yang melibatkan objek (biasanya ) yang sama dengan objek tabel pada event pemicunya . Salah satu hal penting yang harus diperhatikan pada saat menggunakan trigger adalah penanganan error mutating table. Error mutating table terjadi karena secara default trigger tidak diijinkan untuk membaca data yang tidak konsisten saat terjadi operasi DML. Transaksi yang terjadi pada trigger biasanya merupakan transaksi yang bergantung pada transaksi lain sehingga ketika terjadi kegagalan pada transaksi induk maka transaksi yang ada pada trigger akan di-rollback.

Mengatasi Error Mutating Table Beberapa cara yang dapat dilakukan untuk mengatasi error mutating table antara lain: Menggunakan statement trigger jika memungkinkan Menyimpan nilai summary data yang dibutuhkan pada trigger body ke dalam tabel yang terpisah dengan memastikan nilai summary data tersebut tetap up-to-date. Menyimpan summary data yang dibutuhkan pada package. Solusi ini dapat dilakukan jika kita mengunakan statement trigger dengan timing BEFORE Menggunakan compound trigger. Compoud trigger merupakan fitur baru pada oracle 11g yang memungkinkan kita untuk mengkombinasikan lebih dari satu timing pada satu trigger. Bahkan kita dapat membuat row trigger dan statement trigger dalam satu trigger.

Contoh Mutating Table Buatlah trigger bernama TRG_TES_MUTATING dimana trigger ini akan menampilkan jumlah data yang terdapat pada tabel departments setelah dilakukan operasi DML di tabel departments Jalankan SQLPlus Login ke HR Ketikan set serveroutput on Buat row trigger berikut Jalankan perintah insert pada tabel departments Akan tampil error mutating table Atasi dengan statement trigger Jalankan kembali perintah insert pda tabel departments Trigger berhasil dijalankan Dilewat dulu ini untuk videonya

Trigger Timing Dalam pembuatan sebuah trigger kita dapat menentukan trigger timing yaitu apakah trigger body akan dieksekusi sebelum atau sesudah triggering statement dieksekusi. Before trigger menjalankan trigger body sebelum event atau triggering statement. Oleh karena itu, trigger ini cocok digunakan untuk mendeteksi bagaimana event boleh dilanjutkan maupun tidak. After trigger menjalankan trigger action setelah event terjadi. Before dan After trigger tidak dapat diimplementasikan pada view Instead Of Trigger Instead of  trigger hanya akan dieksekusi pada view dan diaktivasi jika terjadi perubahan pada tabel asal. Proses yang akan dilakukan oleh triggering statement akan digantikan oleh aksi pada trigger body. Dilewat dulu ini untuk videonya

Contoh Instead of Trigger Buatlah Trigger yang digunakan untuk keamanan data, sehingga jika ada yang berusaha menghapus isi tabel rekam, maka akan proses penghapusan akan digagalkan dan dalam tabel rekam dicatat "berusaha menghapus rekaman data" Pertama, sebelum kita membuat triggernya, kita terlebih dahulu membuat sebuah VIEW CREATE VIEW v_rekaman  as select pelaku, tanggal, aksi from rekaman; kemudian kita membuat triggernya Lakukan penghapusan pada vrekam Maka trigger akan muncul dan data di vrekam tidak terhapus Dilewat dulu ini untuk videonya

Referensi Feuerstein, Steven, dan Bill Pribyl. Oracle PL/SQL programming. Sebastopol, CA: O'Reilly, 2009. Print. Urman, Scott, Ron Hardman, dan Michael McLaughlin. Oracle Database 10g PL/SQL Programming. New York: McGraw- Hill/Osborne, 2004. Print. Srivastava, Tulika, dan Glenn Stokol. Oracle Database 10g: Develop PL/SQL Program Units 2nd Edition. Boston: Oracle Publisher, 2006. Dedy Rahman Wijaya. Modul Praktikum Pemrograman Basis Data. Universitas Telkom, 2014.