Praktikum Basis Data 8
Pertemuan 8
A. Materi
Berikut beberapa materi penting yang bisa temen2 ingat untuk praktikum nanti :
1. TRIGGER
• Trigger digunakan untuk memanggil satu atau beberapa perintah SQL
secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel.
• Trigger sering digunakan, antara lain untuk:
- Melakukan update data otomatis jika terjadi perubahan. Contohnya
adalah dalam sistem penjualan, jika dientri barang baru maka stock akan
bertambah secara otomatis.
- Trigger dapat digunakan untuk mengimplementasikan suatu sistem
log. Setiap terjadi perubahan, secara
otomatis akan menyimpan ke tabel log.
- Trigger dapat digunakan untuk melakukan validasi dan verifikasi
data sebelum data tersebut disimpan.
• Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel.
• Trigger sering digunakan, antara lain untuk:
- Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log.
- Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan.
2. MEMBUAT TRIGGER BARU
• Berikut ini bentuk umum perintah untuk membuat triggers:
CREATE TRIGGER name
[BEFORE|AFTER] [INSERT|UPDATE|DELETE]
ON tablename
FOR EACH ROW statement
dimana
BEFORE | AFTER digunakan untuk menentukan kapan proses secara otomatis
akan
dieksekusi, sebelum atau sesudah proses.
• Berikut ini bentuk umum perintah untuk membuat triggers:
CREATE TRIGGER name
[BEFORE|AFTER] [INSERT|UPDATE|DELETE]
ON tablename
FOR EACH ROW statement
dimana
BEFORE | AFTER digunakan untuk menentukan kapan proses secara otomatis
akan
dieksekusi, sebelum atau sesudah proses.
B. Praktikum
1. SOAL
2. IMPLEMENTASI
" mysql -u root " dan tekan Enter.
CREATE TABLE Produk ( Kd_Produk varchar (6) collate
latin1_general_ci NOT NULL, NM_Produk varchar (100) collate latin1_general_ci,
Harga int (11), PRIMARY KEY (Kd_Produk) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
• Hasilnya adalah sebagai berikut :
c. Buatlah tabel log harga :
CREATE TABLE Log_Harga ( Log_Id int (11) collate latin1_general_ci NOT NULL AUTO_INCREMENT, Kd_Produk varchar (8) collate latin1_general_ci, Harga_Lama int (11), Harga_Baru int (11), Waktu_Perubahan datetime, PRIMARY KEY (Log_Id), KEY FK_Produk (Kd_Produk), CONSTRAINT FK_Produk FOREIGN KEY (Kd_Produk) REFERENCES Produk (Kd_Produk) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE Log_Harga ( Log_Id int (11) collate latin1_general_ci NOT NULL AUTO_INCREMENT, Kd_Produk varchar (8) collate latin1_general_ci, NM_Produk_Lama varchar (100) collate latin1_general_ci , NM_Produk_Baru varchar (100) collate latin1_general_ci , Harga_Lama int (11), Harga_Baru int (11), Waktu_Perubahan datetime, PRIMARY KEY (Log_Id), KEY FK_Produk (Kd_Produk), CONSTRAINT FK_Produk FOREIGN KEY (Kd_Produk) REFERENCES Produk (Kd_Produk) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
• Berikutnya saya menghapus TRIGGER lama dengan DROP TRIGGER
dan membuat ulang TRIGGER yang baru, hasilnya adalah sebagai berikut :
• Hasil log dari syntax di atas dapat temen2 lihat pada Log Id nomer 6 dimana terdapat perubahan dari NM Produk Lama yaitu Pensil ke NM Produk Baru yaitu Penggaris :
Beberapa kesimpulan yang saya dapat ketika mengerjakan tugas ini :















0 Response to "Praktikum Basis Data 8"
Posting Komentar