Post on 07-Feb-2023
ACTIVE DA ACTIVE DATTABASEABASE
AND AND TRIGGERTRIGGER2009 © Umi 2009 © Umi Laili YLaili Yuhana, S.Kom, M.Sc., Dini Adni,uhana, S.Kom, M.Sc., Dini Adni,S.Kom, Nurul Fajrin, S.Kom, Wijayanti, S.Kom, RidhoS.Kom, Nurul Fajrin, S.Kom, Wijayanti, S.Kom, Ridho
BDL Genap 2008BDL Genap 2008
Teknik Informatika - ITSTeknik Informatika - ITS
Topik Minggu IniTopik Minggu Ini
PertemuanPertemuan
Ke-Ke-
MateriMateri
11 PENDAHULUANPENDAHULUAN
Penjelasan Silabus PerkuliahanPenjelasan Silabus Perkuliahan
Review tentang basis data, data modelling (cdm+pdm)Review tentang basis data, data modelling (cdm+pdm)
Trend tentang databaseTrend tentang database
2 2 ACTIACTIVE VE DADATTABASEABASE
•• Active dan passive database conceptActive dan passive database concept
•• Trigger Trigger
3 3 APLIKASI APLIKASI ACTIVE ACTIVE DADATTABASEABASE
•• Integrity managementIntegrity management
•• Derived data maintenanceDerived data maintenance
•• Business ruleBusiness rule
•• PenugasanPenugasan tugas analisa case study dan penerapantugas analisa case study dan penerapan
active databaseactive database
Topik Minggu IniTopik Minggu Ini
PertemuanPertemuan
Ke-Ke-
MateriMateri
11 PENDAHULUANPENDAHULUAN
Penjelasan Silabus PerkuliahanPenjelasan Silabus Perkuliahan
Review tentang basis data, data modelling (cdm+pdm)Review tentang basis data, data modelling (cdm+pdm)
Trend tentang databaseTrend tentang database
2 2 ACTIACTIVE VE DADATTABASEABASE
•• Active dan passive database conceptActive dan passive database concept
•• Trigger Trigger
3 3 APLIKASI APLIKASI ACTIVE ACTIVE DADATTABASEABASE
•• Integrity managementIntegrity management
•• Derived data maintenanceDerived data maintenance
•• Business ruleBusiness rule
•• PenugasanPenugasan tugas analisa case study dan penerapantugas analisa case study dan penerapan
active databaseactive database
OutlineOutline
KonsepKonsep pasive database pasive database dandan active database active database
Model umum untukModel umum untuk active database active database dandan
trigger trigger
Aplikasi-aplikasi untuk Aplikasi-aplikasi untuk active database active database
Desain dan isu implementasi untukDesain dan isu implementasi untuk active active database database
ContohContoh statement-level active rule statement-level active rule dalamdalam
STARBURST, Oracle dan DB2 dan ChimeraSTARBURST, Oracle dan DB2 dan Chimera
Pasive Database
DB digunakan sebagai tempat penyimpan
data (repositoris)
Database tidak bisa melakukan action tertentu
ketika suatu event tertentu terjadi
Perintah (command) seperti query, update dan
delete diekseskusi oleh database ketika di-
request oleh pengguna atau program aplikasi
Active Database
DB dapat bereaksi dan memberikan respon
tertentu ketika suatu kejadian terjadi
Merupakan sistem database yang didukung
oleh fitur automatic execution pada saat
kondisi tertentu atau kejadian tertentu terjadi
Menggunakan active rule (trigger) yang
disebut dengan ECA rule.
ECA rule terdiri dari 3 komponen utama yaitu
ECA (Event, Condition, and Action)
Model Umum untuk Active DB
Event : kejadian-kejadian yang menjadipemicu (trigger), biasanya berupa operasi-operasi yang ekplisit ada dalam database ataudapat juga berupa temporal atau eksternalevent
Condition : menentukan apakah rule action harus dieksekusi atau tidak
Action : tindakan yang dilakukan, biasanyaberupa urutan statement SQL atau bisa jugaberupa program eksternal yang dieksekusisecara otomatis (stored procedure)
Contoh aplikasi potensial dari
active rule Notification
Monitoring system
Enforce integrity constraints
GPA alert and course prerequisites
Business rule
Salary of employee can’t exceed that of
manager
Maintenance of derived data
Maintain the derived attribute, TOTAL_SAL
Desain dan isu implementasi untuk
active database
STARBURST
SYNTAX
CREATE RULE <rule-name> ON <table-name>
WHEN <triggering-operations>
[IF <SQL-predicate>]
THEN <SQL-statements>
[PRECEDES <rule-names>]
[FOLLOWS <rule-names>]
<triggering-operations> ::= INSERTED|DELETED|
UPDATED [(column-
names)]
Desain dan isu implementasi untuk
active database
STARBURST
SEMANTIC
While the conflict set is not empty
1. select one rule R from the conflict set among
those rules at highest priority; R’s state
becomes untriggered
2. Evaluate the condition of R
3. If the condition of R is TRUE, then execute the
action of R.