BAB ENHANCED DATA MODELS FOR ADVANCED APPLICATIONS

Slides:



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

SQL – DML.
Pertemuan 2 : Dasar-dasar SQL SBD C – Senin, Frank & Rudy
Database Create-Retrieve-Update-Delete (CRUD)
DDL & Aturan Referential
T R I G G E R.
SQL: Queries II, Constraints & Triggers (Chap. 5 – Ramakrishnan)
DML Lanjutan Pertemuan Minggu Ke-10.
Manajemen Basis Data menggunakan SQL Server
PRAKTIKUM BASIS DATA (4) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA
TRIGGER.
SQL: Queries, Constraints & Triggers (Chap. 5 – Ramakrishnan)
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.
CHANGE DATA CAPTURE.
Praktek Pemograman Client-Server
STORED PROCEDURE Achmad Yasid, SKom.
Procedure Siti Mukaromah, S.Kom.
TRIGGER Siti Mukaromah, S.Kom.
TRIGGER.
SQL.
Praktikum Database Subquery Lanjutan dan View Abdul Kadir.
PRAKTIKUM 3 PEMROGRAMAN BASIS DATA. Menghapus baris  Deleting rows- DELETE FROM Use the DELELE FROM command to delete row(s) from a table, with the following.
Triggers & Stored Procedure The main reference of this presentation is from book: Peter Rob, Carlos Coronel, “Database systems: Design, Implementation.
Data Types Data Definition Language Referential Constraint SQL Query
SQL = Structure Query Language
SQL (Structure Query Language)
PEMBUATAN MODEL DATA dan DESAIN DATABASE
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
TRIGGER.
DATA DEFINITION LANGUAGE
Cursor MI2163 Dasar Pemrograman Basis Data. Introduction Cursor merupakan suatu variabel yang digunakan untuk menampung hasil query yang terdiri atas.
Dasar query basis data dengan SQLite
HANDLING EXCEPTIONS.
C U R S O R.
BAB 4 QUERY FORMULATION with SQL
SBD- TI- S1 Inntro : Structure Query Language [SQL]
Stored Function Tanpa Parameter
TRIGGER LANJUT.
TRIGGER (Statement & Row Trigger)
TRIGGER SYAIFUL HUDA, S.Kom.
FUNGSI-FUNGSI AKSES MySql
STORED PROCEDURE & TRIGGER
Konsep Teknologi Informasi B
SQL (Structure Query Language)
Praktikum Database Subquery Lanjutan dan View
View dan Trigger Materi 5
SQL (Structure Query Language)
Manajemen Basis Data menggunakan SQL Server
Sistem Basis Data ABU SALAM, M.KOM.
Praktikum Berkas dan Basis Data
TRIGGER.
SQL OVERVIEW.
Procedure Siti Mukaromah, S.Kom.
Stored Procedure Tanpa Parameter
OLEH : Slamet Sn Wibowo Wicaksono
Struktur Query Language
Stored Function Dengan Parameter
EXERCISE DML Part I Buatlah sebuah tabel baru nama = Dosen
ORACLE Trigger Hasan Dwi Cahyono.
CURSOR.
Oleh : FIRMAN JAYA, S.Pt, M.Kom
Integritas Basis Data Triggers, Store Procedure
CREATE, MODIFY, & DELETE TABLE
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.
PL/SQL CURSOR Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.
BAHASA BASIS DATA Data Manipulation Languange
10/14/2019 TRIGGER Pemrograman Basis Data.
Transcript presentasi:

BAB ENHANCED DATA MODELS FOR ADVANCED APPLICATIONS

materi active database temporal database multimedia database.

I. Konsep Active Database Rule menentukan action secara otomatis dipicu oleh event tertentu dengan mempertimbangkan pentingnya peningkatan sistem database untuk beberapa waktu. Konsep Trigger adalah sebuah teknik untuk menentukan jenis-jenis active rule tertentu yang ada di versi awal SQL pada database relasional

1. Model Umum active database dan oracle trigger Model untuk menentukan rule active database didasarkan pada model ECA (Event Condition Action) mempunyai 3 komponen : Event Trigger rule : Event adalah Operasi update database yang secara eksplisit digunakan ke database. Pada model yang umum bisa juga event temporal atau jenis external event yang lain. Condition untuk menentukan apakah rule action dapat dijalankan : Sekali event trigger terjadi, kondisi optional akan di evaluasi. Jika tidak ada kondisi yang ditentukan, action akan dijalankan sekali pada event yang terjadi. Jika kondisi ditentukan, maka kondisi dievaluasi pertama dan jika dievaluasi benar maka rule action dijalankan. Action dapat diambil : Action adalah sebuah urutan statemen SQL, tetapi dapat juga sebuah transaksi database atau sebuah program external yang otomatis dijalankan.

Syntax Trigger <trigger>::= CREATE TRIGGER <trigger name> (AFTER|BEFORE) <triggering events> ON <tablename> {FOR EACH ROW} {WHEN <condition>} <trigger actions> ; <triggering events> ::= <trigger event> {OR <trigger event>} <trigger event> ::= INSERT | DELETE | UPDATE {OF <column name> {,<column name>}} <trigger action> ::= <PL/SQL block>

example Employee Departement Name SSN Salary Dno SuperSsn DName DNo Total_Sal MgrSsn

Menentukan event sebab-sebab terjadinya perubahan nilai Total_Sal, sebagai berikut: Penyisipan (satu atau lebih) tuple employee baru Perubahan gaji (satu atau lebih) pegawai yang ada Perubahan penugasan employee yang ada dari satu departemen ke yang lain Penghapusan (satu atau lebih) tuple employee

R1: CREATE TRIGGER TOTALSAL1 AFTER INSERT ON EMPLOYEE FOR EACH ROW WHEN (NEW.DNO IS NOT NULL) UPDATE DEPARTMENT SET TOTAL_SAL = TOTAL_SAL + NEW.SALARY WHERE DNO = NEW.DNO; R2: CREATE TRIGGER TOTALSAL2 AFTER UPDATE OF SALARY ON EMPLOYEE SET TOTAL_SAL = TOTAL_SAL + NEW.SALARY - OLD.SALARY

R3: CREATE TRIGGER TOTALSAL3 AFTER UPDATE OF DNO ON EMPLOYEE FOR EACH ROW BEGIN UPDATE DEPARTMENT SET TOTAL_SAL = TOTAL_SAL + NEW.SALARY WHERE DNO = NEW.DNO SET TOTAL_SAL = TOTAL_SAL – OLD.SALARY WHERE DNO = OLD.DNO; END; R4: CREATE TRIGGER TOTALSAL4 AFTER DELETE ON EMPLOYEE WHEN (OLD.DNO IS NOT NULL) SET TOTAL_SAL = TOTAL_SAL - OLD.SALARY

Pengecekan apakah salary employee lebih besar dari salary supervisornya. R5: CREATE TRIGGER INFORM_SUPERVISOR1 BEFORE INSERT OR UPDATE OF SALARY, SUPERVISOR_SSN ON EMPLOYEE FOR EACH ROW WHEN (NEW.SALARY > ( SELECT SALARY FROM EMPLOYEE WHERE SSN = NEW.SUPERVISOR_SSN)) INFORM_SUPERVISOR (NEW.SUPERVISOR_SSN,NEW.SSN);

2. Desain dan Implementasi Active Database Ada tiga kemungkinan utama untuk rule considerations : Immediate consideration : Kondisi dievaluasi sebagai bagian dari transaksi yang sama sebagai event trigger, dan dievaluasi segera. Kasus ini dapat dikategorikan kedalam tiga option : - Evaluasi kondisi sebelum (before) menjalankan event trigger - Evaluasi kondisi setelah (after) menjalankan event trigger - Evaluasi kondisi pada saat (instead) menjalankan event trigger deferred consideration : Kondisi dievaluasi pada saat transaksi berakhir termasuk event trigger. Pada kasus ini, konsiderasi beberapa rule trigger akan menunggu sampai kondisi dievaluasi Detached consideration : Kondisi dievaluasi sebagai transaksi terpisah, terjadi karena transaksi trigger

R1S: CREATE RULE TOTALSAL1 ON EMPLOYEE WHEN INSERTED IF EXISTS ( SELECT * FROM INSERTED WHERE DNO IS NOT NULL) THEN UPDATE DEPARTMENT AS D SET D.TOTAL_SAL = D.TOTAL_SAL+ (SELECT SUM(I.SALARY)FROM INSERTED AS I WHERE D.DNO=I.DNO) WHERE D.DNO IN (SELECT DNO FROM INSERTED); R2S: CREATE RULE TOTALSAL2 ON EMPLOYEE WHEN UPDATED (SALARY) IF EXISTS ( SELECT * FROM NEW-UPDATE WHERE DNO IS NOT NULL) OR EXISTS(SELECT * FROM OLD-UPDATE WHERE DNO IS NOT NULL) THEN UPDATE DEPARTMENT AS D (SELECT SUM(N.SALARY)FROM NEW-UPDATE AS N WHERE D.DNO= N.DNO)- (SELECT SUM(O.SALARY) FROM OLD UPDATE AS O WHERE D.DNO = O.DNO) WHERE D.DNO IN (SELECT DNO FROM NEW-UPDATE ) OR D.DNO IN (SELECT DNO FROM OLD_UPDATE)

R3S: CREATE RULE TOTALSAL3 ON EMPLOYEE WHEN UPADATED(DNO) THEN UPDATE DEPARTMENT AS D SET D.TOTAL_SAL = D.TOTAL_SAL + (SELECT SUM(N.SALARY) FROM NEW-UPDATE AS N WHERE D.DNO= N.DNO WHERE D.DNO IN (SELECT DNO FROM NEW-UPDATE); UPDATE DEPARTMENT AS D SET D.TOTAL_SAL = D.TOTAL_SAL - (SELECT SUM(O.SALARY) FROM OLD-UPDATE AS O WHERE D.DNO = O.DNO) WHERE D.DNO IN (SELECT DNO FROM OLD-UPDATED);