際際滷

際際滷Share a Scribd company logo
TRIGGER
Praktikum Sistem Basis Data
agus andri putra, ST.
Definisi Trigger
 Trigger adalah sebuah objek database yang di
asosiasikan dengan sebuah tabel dan akan aktif
(terpicu/trigger) ketika sebuah event terjadi pada tabel
tersebut
 Trigger hanya 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
SQLnya
agus andri putra, ST.
Keuntungan menggunakan Trigger
 Trigger dapat digunakan untuk mengubah data
sebelum proses INSERT dilakukan atau untuk
memberikan nilai default, misalnya mengubah data
diluar nilai yang diperbolehkan, contoh : jika ada
pengisian nilai diatas 100, maka akan di jadikan
100.
 Kita dapat menyimpan data suatu record ke tabel
lain ( misalnya history) sebelum data tersebut
diupdate atau di delete. Sehingga semua
perubahan data dapat dilacak dari sejak data itu di
buat
agus andri putra, ST.
STRUKTUR TRIGGER
agus andri putra, ST.
Mengakses nilai baru dan lama
 Dalam trigger, kita dapat mengakses data lama
dan data baru . Data lama dapat direference
dengan record OLD dan data baru dengan record
NEW
 Untuk mengacu ke sebuah field dapat ditulis
dengan NEW.nama_field atau OLD.nama_field
agus andri putra, ST.
Contoh 1
 Ada sebuah tabel mahasiswa ( nim, nama,
alamat)
 Buatlah sebuah trigger yang akan menyimpan
history alamat. Jika sebuah alamat berubah,
maka alamat lama harus disimpan di tabel
history alamat.
agus andri putra, ST.
Kemudian isi tabel tersebut sesuai dengan type data dan nama field
nya
Dan siapkan tabel history untuk penyimpanan selanjutnya :
agus andri putra, ST.
Create trigger
agus andri putra, ST.
Contoh penggunaan trigger
Mengubah data yang sudah dengan :
Maka data yang lama akan disimpan di tabel history_alamat_mahasiswa
agus andri putra, ST.
 Untuk bisa melihat alamat yang pernah di
pakai oleh nim 1210705138
Inilah tampilannya :
agus andri putra, ST.
Optimalisasi trigger
 Trigger pertama mempunyai kekurangan yaitu ketika
ada perubahan di tabel mahasiswa walaupun tidak
mengubah kolom alamat, maka statement INSERT
ditabel history akan dijalankan. Untuk
mengoptimalkannya dengan membuat trigger seperti
ini :
agus andri putra, ST.
Contoh 2
 Buatlah suatu trigger yang akan dieksekusi ketika ada
perubahan NIM di tabel mahasiswa yang akan
melakukan update ke tabel history_alamat_mahasiswa
untuk menyesuaikan NIM-nya agar relasinya tidak
terlepas
agus andri putra, ST.
 Jika kita mengeksekusi trigger tersebut maka akan
peringatan yang berisi :
 Artinya kita tidak bisa membuat multiple trigger
pada sebuah tabel pada waktu dan event yang
sama
 Solusi yang bisa dilakukan adalah menggabung isi
trigger trig_update_mahasiswa dengan isi trigger
baru
agus andri putra, ST.
Penggabungan trigger
Trigger baru
agus andri putra, ST.
Perubahan contoh 2
Hasil :
UPDATE mahasiswa SET nim= 1210705140 WHERE nim= 1210705138;
Hasil :
agus andri putra, ST.
Keterangan tambahan
 Trigger pada contoh sebelumnya bisa dimodifikasi
untuk membuat trigger yang akan menghapus semua
data pada tabel history_alamat_mahasiswa ketika ada
penghapusan pada tabel mahasiswa
 Hal tersebut bisa dilakukan dengan membuat trigger
AFTER DELETE ON mahasiswa yang akan
menghapus semua data pada tabel
history_alamat_mahasiswa yang sesuai nim-nya
dengan nim dari tabel mahasiswa yang akan dihapus
(DELETE FROM history_alamat_mahasiswa WHERE
nim=OLD.nim)
agus andri putra, ST.
Contoh 3
 Buatlah suatu trigger yang mencegah perubahan
pada primary key tabel mahasiswa (field nim). Jika
ada perubahan, maka nim tidak boleh berubah
 Hal ini dapat dilakukan yaitu dengan mengeset nilai
nim yang baru (NEW.nim) dengan nilai yang sama
(OLD.nim)
agus andri putra, ST.
Contoh 3
Buat trigger baru dengan nama trig_update_nim_mahasiswa
agus andri putra, ST.
Hasil
Nim baru , tapi tidak akan berpengaruh
agus andri putra, ST.
Latihan praktek
 Buatlah sebuah tabel untuk menyimpan data
transaksi transfer yang strukturnya sebagai berikut :
 NoTransaksi :INT auto_increment
 WaktuTransaksi :DATATIME
 NoRekPengirim :INT, FK REF rekening(No)
 NoRekPenerima :INT, FK REF rekening(No)
 BesarTransfer :DOUBLE
 Jika penambahan data dari tabel transfer (AFTER
INSERT ON transfer), maka akan mengupdate
saldo pada rekening yang bersangkutan sesuai
dengan besar transfer
Kelas IF-B
agus andri putra, ST.

More Related Content

Similar to Trigger (7)

Trigger Database
Trigger DatabaseTrigger Database
Trigger Database
Putra Andry
Prak05 sbd 24010311130069
Prak05 sbd 24010311130069Prak05 sbd 24010311130069
Prak05 sbd 24010311130069
sandy_n
Modul 8&9 maret 2013
Modul 8&9 maret 2013Modul 8&9 maret 2013
Modul 8&9 maret 2013
Muhammad Syafriansyah
PostgreSQL Trigger
PostgreSQL TriggerPostgreSQL Trigger
PostgreSQL Trigger
Ammar Shadiq
Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"
Opik Oenk
Cara membuat Trigger
Cara membuat TriggerCara membuat Trigger
Cara membuat Trigger
sukangimpi
Trigger
TriggerTrigger
Trigger
Sherly Uda
Trigger Database
Trigger DatabaseTrigger Database
Trigger Database
Putra Andry
Prak05 sbd 24010311130069
Prak05 sbd 24010311130069Prak05 sbd 24010311130069
Prak05 sbd 24010311130069
sandy_n
PostgreSQL Trigger
PostgreSQL TriggerPostgreSQL Trigger
PostgreSQL Trigger
Ammar Shadiq
Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"
Opik Oenk
Cara membuat Trigger
Cara membuat TriggerCara membuat Trigger
Cara membuat Trigger
sukangimpi

More from Putra Andry (19)

Pertemuan viii Sorting
Pertemuan viii SortingPertemuan viii Sorting
Pertemuan viii Sorting
Putra Andry
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)
Putra Andry
Pertemuan V
Pertemuan VPertemuan V
Pertemuan V
Putra Andry
Function
FunctionFunction
Function
Putra Andry
Procedure dalam Pascal
Procedure dalam PascalProcedure dalam Pascal
Procedure dalam Pascal
Putra Andry
Pertemuan 9
Pertemuan 9Pertemuan 9
Pertemuan 9
Putra Andry
Pengolahan transaksi
Pengolahan transaksiPengolahan transaksi
Pengolahan transaksi
Putra Andry
Stored procedure
Stored procedureStored procedure
Stored procedure
Putra Andry
Pertemuan 8
Pertemuan 8Pertemuan 8
Pertemuan 8
Putra Andry
Membuat responsif html email sederhana
Membuat responsif html email sederhanaMembuat responsif html email sederhana
Membuat responsif html email sederhana
Putra Andry
Join
JoinJoin
Join
Putra Andry
Akses multiple table part2
Akses multiple table part2Akses multiple table part2
Akses multiple table part2
Putra Andry
Sql outer join
Sql  outer joinSql  outer join
Sql outer join
Putra Andry
Dasar Pemrograman Part VII
Dasar Pemrograman Part VIIDasar Pemrograman Part VII
Dasar Pemrograman Part VII
Putra Andry
Dasar Pemrograman Part VI
Dasar Pemrograman Part VIDasar Pemrograman Part VI
Dasar Pemrograman Part VI
Putra Andry
Dasar Pemrograman Part V
Dasar Pemrograman Part VDasar Pemrograman Part V
Dasar Pemrograman Part V
Putra Andry
Dasar Pemrograman Part III
Dasar Pemrograman Part IIIDasar Pemrograman Part III
Dasar Pemrograman Part III
Putra Andry
Dasar Pemrograman Part II
Dasar Pemrograman Part IIDasar Pemrograman Part II
Dasar Pemrograman Part II
Putra Andry
Dasar Pemrograman Part I
Dasar Pemrograman Part IDasar Pemrograman Part I
Dasar Pemrograman Part I
Putra Andry
Pertemuan viii Sorting
Pertemuan viii SortingPertemuan viii Sorting
Pertemuan viii Sorting
Putra Andry
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)
Putra Andry
Procedure dalam Pascal
Procedure dalam PascalProcedure dalam Pascal
Procedure dalam Pascal
Putra Andry
Pengolahan transaksi
Pengolahan transaksiPengolahan transaksi
Pengolahan transaksi
Putra Andry
Stored procedure
Stored procedureStored procedure
Stored procedure
Putra Andry
Membuat responsif html email sederhana
Membuat responsif html email sederhanaMembuat responsif html email sederhana
Membuat responsif html email sederhana
Putra Andry
Akses multiple table part2
Akses multiple table part2Akses multiple table part2
Akses multiple table part2
Putra Andry
Sql outer join
Sql  outer joinSql  outer join
Sql outer join
Putra Andry
Dasar Pemrograman Part VII
Dasar Pemrograman Part VIIDasar Pemrograman Part VII
Dasar Pemrograman Part VII
Putra Andry
Dasar Pemrograman Part VI
Dasar Pemrograman Part VIDasar Pemrograman Part VI
Dasar Pemrograman Part VI
Putra Andry
Dasar Pemrograman Part V
Dasar Pemrograman Part VDasar Pemrograman Part V
Dasar Pemrograman Part V
Putra Andry
Dasar Pemrograman Part III
Dasar Pemrograman Part IIIDasar Pemrograman Part III
Dasar Pemrograman Part III
Putra Andry
Dasar Pemrograman Part II
Dasar Pemrograman Part IIDasar Pemrograman Part II
Dasar Pemrograman Part II
Putra Andry
Dasar Pemrograman Part I
Dasar Pemrograman Part IDasar Pemrograman Part I
Dasar Pemrograman Part I
Putra Andry

Recently uploaded (20)

Manual DIVI Builder (Bahasa Indonesia).pdf
Manual DIVI Builder (Bahasa Indonesia).pdfManual DIVI Builder (Bahasa Indonesia).pdf
Manual DIVI Builder (Bahasa Indonesia).pdf
Igen D
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKASOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
azizwidyamukti02
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehatKiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
ssuser7d8dcb
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
SofyanSkmspd
PPT Komponen Penyusun Darah Beserta Fungsinya
PPT Komponen Penyusun Darah Beserta FungsinyaPPT Komponen Penyusun Darah Beserta Fungsinya
PPT Komponen Penyusun Darah Beserta Fungsinya
mileniumiramadhanti
PELAKSANAAN RPI MURID PENDIDIKAN KHASS.ppt
PELAKSANAAN RPI MURID PENDIDIKAN KHASS.pptPELAKSANAAN RPI MURID PENDIDIKAN KHASS.ppt
PELAKSANAAN RPI MURID PENDIDIKAN KHASS.ppt
ALEENMPP
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Murad Maulana
PPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptx
PPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptxPPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptx
PPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptx
SausanHidayahNova
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdfPanduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
Fajar Baskoro
Farmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptxFarmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptx
michellepikachuuu
1. Trafo Tegangan 2. Trafo Tegangan Magnetik 3. Trafo Pembagi Tegangan Ka...
1. Trafo Tegangan  	2. Trafo Tegangan Magnetik  	3. Trafo Pembagi Tegangan Ka...1. Trafo Tegangan  	2. Trafo Tegangan Magnetik  	3. Trafo Pembagi Tegangan Ka...
1. Trafo Tegangan 2. Trafo Tegangan Magnetik 3. Trafo Pembagi Tegangan Ka...
poenyarha
Keragaman Alam Indonesia materi IPS.pptx
Keragaman Alam Indonesia materi IPS.pptxKeragaman Alam Indonesia materi IPS.pptx
Keragaman Alam Indonesia materi IPS.pptx
aifi3
RENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptx
RENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptxRENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptx
RENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptx
Kanaidi ken
PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025
PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025
PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025
saichulikhtiyar274
1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf
1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf
1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf
SofyanSkmspd
Teks fiks Didik anak dengan islamiyah.pptx
Teks fiks Didik anak dengan islamiyah.pptxTeks fiks Didik anak dengan islamiyah.pptx
Teks fiks Didik anak dengan islamiyah.pptx
ArizOghey1
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptxOrgan Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
IrfanIdris7
enzim mikroba KULIAH BIOLOGI MIKROPANGAN.ppt
enzim mikroba KULIAH BIOLOGI MIKROPANGAN.pptenzim mikroba KULIAH BIOLOGI MIKROPANGAN.ppt
enzim mikroba KULIAH BIOLOGI MIKROPANGAN.ppt
ParlikPujiRahayu
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Murad Maulana
Presentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptx
Presentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptxPresentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptx
Presentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptx
sdntegalwangi
Manual DIVI Builder (Bahasa Indonesia).pdf
Manual DIVI Builder (Bahasa Indonesia).pdfManual DIVI Builder (Bahasa Indonesia).pdf
Manual DIVI Builder (Bahasa Indonesia).pdf
Igen D
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKASOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
azizwidyamukti02
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehatKiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
ssuser7d8dcb
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
SofyanSkmspd
PPT Komponen Penyusun Darah Beserta Fungsinya
PPT Komponen Penyusun Darah Beserta FungsinyaPPT Komponen Penyusun Darah Beserta Fungsinya
PPT Komponen Penyusun Darah Beserta Fungsinya
mileniumiramadhanti
PELAKSANAAN RPI MURID PENDIDIKAN KHASS.ppt
PELAKSANAAN RPI MURID PENDIDIKAN KHASS.pptPELAKSANAAN RPI MURID PENDIDIKAN KHASS.ppt
PELAKSANAAN RPI MURID PENDIDIKAN KHASS.ppt
ALEENMPP
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Murad Maulana
PPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptx
PPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptxPPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptx
PPT PAI-Kelompok 3-X MIPA 1-Sumber-sumber Hukum Islam (Ijtihad).pptx
SausanHidayahNova
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdfPanduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
Panduan Entry Nilai Rapor untuk Operator SD_MI 2025.pptx (1).pdf
Fajar Baskoro
Farmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptxFarmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptx
michellepikachuuu
1. Trafo Tegangan 2. Trafo Tegangan Magnetik 3. Trafo Pembagi Tegangan Ka...
1. Trafo Tegangan  	2. Trafo Tegangan Magnetik  	3. Trafo Pembagi Tegangan Ka...1. Trafo Tegangan  	2. Trafo Tegangan Magnetik  	3. Trafo Pembagi Tegangan Ka...
1. Trafo Tegangan 2. Trafo Tegangan Magnetik 3. Trafo Pembagi Tegangan Ka...
poenyarha
Keragaman Alam Indonesia materi IPS.pptx
Keragaman Alam Indonesia materi IPS.pptxKeragaman Alam Indonesia materi IPS.pptx
Keragaman Alam Indonesia materi IPS.pptx
aifi3
RENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptx
RENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptxRENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptx
RENCANA & Link2 MATERI Training_ *MANAJEMEN RISIKO BISNIS (+ ISO 31000)*.pptx
Kanaidi ken
PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025
PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025
PAPARAN INOPAMAS 2025 PASURUAN TAHUN 2025
saichulikhtiyar274
1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf
1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf
1 PPT PENERAPAN PUNGSI DANTUGAS 2 P3K OK.pdf
SofyanSkmspd
Teks fiks Didik anak dengan islamiyah.pptx
Teks fiks Didik anak dengan islamiyah.pptxTeks fiks Didik anak dengan islamiyah.pptx
Teks fiks Didik anak dengan islamiyah.pptx
ArizOghey1
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptxOrgan Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
IrfanIdris7
enzim mikroba KULIAH BIOLOGI MIKROPANGAN.ppt
enzim mikroba KULIAH BIOLOGI MIKROPANGAN.pptenzim mikroba KULIAH BIOLOGI MIKROPANGAN.ppt
enzim mikroba KULIAH BIOLOGI MIKROPANGAN.ppt
ParlikPujiRahayu
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Murad Maulana
Presentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptx
Presentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptxPresentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptx
Presentasi-Persuasif-Program-Sekolah-Berbasis-Data-SDN-Tegalwangi-2025 (3).pptx
sdntegalwangi

Trigger

  • 1. TRIGGER Praktikum Sistem Basis Data agus andri putra, ST.
  • 2. Definisi Trigger Trigger adalah sebuah objek database yang di asosiasikan dengan sebuah tabel dan akan aktif (terpicu/trigger) ketika sebuah event terjadi pada tabel tersebut Trigger hanya 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 SQLnya agus andri putra, ST.
  • 3. Keuntungan menggunakan Trigger Trigger dapat digunakan untuk mengubah data sebelum proses INSERT dilakukan atau untuk memberikan nilai default, misalnya mengubah data diluar nilai yang diperbolehkan, contoh : jika ada pengisian nilai diatas 100, maka akan di jadikan 100. Kita dapat menyimpan data suatu record ke tabel lain ( misalnya history) sebelum data tersebut diupdate atau di delete. Sehingga semua perubahan data dapat dilacak dari sejak data itu di buat agus andri putra, ST.
  • 5. Mengakses nilai baru dan lama Dalam trigger, kita dapat mengakses data lama dan data baru . Data lama dapat direference dengan record OLD dan data baru dengan record NEW Untuk mengacu ke sebuah field dapat ditulis dengan NEW.nama_field atau OLD.nama_field agus andri putra, ST.
  • 6. Contoh 1 Ada sebuah tabel mahasiswa ( nim, nama, alamat) Buatlah sebuah trigger yang akan menyimpan history alamat. Jika sebuah alamat berubah, maka alamat lama harus disimpan di tabel history alamat. agus andri putra, ST.
  • 7. Kemudian isi tabel tersebut sesuai dengan type data dan nama field nya Dan siapkan tabel history untuk penyimpanan selanjutnya : agus andri putra, ST.
  • 9. Contoh penggunaan trigger Mengubah data yang sudah dengan : Maka data yang lama akan disimpan di tabel history_alamat_mahasiswa agus andri putra, ST.
  • 10. Untuk bisa melihat alamat yang pernah di pakai oleh nim 1210705138 Inilah tampilannya : agus andri putra, ST.
  • 11. Optimalisasi trigger Trigger pertama mempunyai kekurangan yaitu ketika ada perubahan di tabel mahasiswa walaupun tidak mengubah kolom alamat, maka statement INSERT ditabel history akan dijalankan. Untuk mengoptimalkannya dengan membuat trigger seperti ini : agus andri putra, ST.
  • 12. Contoh 2 Buatlah suatu trigger yang akan dieksekusi ketika ada perubahan NIM di tabel mahasiswa yang akan melakukan update ke tabel history_alamat_mahasiswa untuk menyesuaikan NIM-nya agar relasinya tidak terlepas agus andri putra, ST.
  • 13. Jika kita mengeksekusi trigger tersebut maka akan peringatan yang berisi : Artinya kita tidak bisa membuat multiple trigger pada sebuah tabel pada waktu dan event yang sama Solusi yang bisa dilakukan adalah menggabung isi trigger trig_update_mahasiswa dengan isi trigger baru agus andri putra, ST.
  • 15. Perubahan contoh 2 Hasil : UPDATE mahasiswa SET nim= 1210705140 WHERE nim= 1210705138; Hasil : agus andri putra, ST.
  • 16. Keterangan tambahan Trigger pada contoh sebelumnya bisa dimodifikasi untuk membuat trigger yang akan menghapus semua data pada tabel history_alamat_mahasiswa ketika ada penghapusan pada tabel mahasiswa Hal tersebut bisa dilakukan dengan membuat trigger AFTER DELETE ON mahasiswa yang akan menghapus semua data pada tabel history_alamat_mahasiswa yang sesuai nim-nya dengan nim dari tabel mahasiswa yang akan dihapus (DELETE FROM history_alamat_mahasiswa WHERE nim=OLD.nim) agus andri putra, ST.
  • 17. Contoh 3 Buatlah suatu trigger yang mencegah perubahan pada primary key tabel mahasiswa (field nim). Jika ada perubahan, maka nim tidak boleh berubah Hal ini dapat dilakukan yaitu dengan mengeset nilai nim yang baru (NEW.nim) dengan nilai yang sama (OLD.nim) agus andri putra, ST.
  • 18. Contoh 3 Buat trigger baru dengan nama trig_update_nim_mahasiswa agus andri putra, ST.
  • 19. Hasil Nim baru , tapi tidak akan berpengaruh agus andri putra, ST.
  • 20. Latihan praktek Buatlah sebuah tabel untuk menyimpan data transaksi transfer yang strukturnya sebagai berikut : NoTransaksi :INT auto_increment WaktuTransaksi :DATATIME NoRekPengirim :INT, FK REF rekening(No) NoRekPenerima :INT, FK REF rekening(No) BesarTransfer :DOUBLE Jika penambahan data dari tabel transfer (AFTER INSERT ON transfer), maka akan mengupdate saldo pada rekening yang bersangkutan sesuai dengan besar transfer Kelas IF-B agus andri putra, ST.