trigger tugas rumah
Detail Fungsi
Tampilan ini adalah bagian dari HeidiSQL (terlihat di judul jendela), sebuah klien untuk basis data MySQL/MariaDB, PostgreSQL, dan SQL Server. Fungsi-fungsi yang ditampilkan meliputi:
1. Melihat dan Mengubah Struktur Tabel
Tampilan utama menunjukkan struktur (skema) dari tabel barang di dalam database trigger_tugas_rumah (terlihat di sidebar dan tab).
Kolom (Columns): Anda dapat melihat detail dari setiap kolom dalam tabel:
id_barang: Tipe dataINT, Panjang 10, Primary Key (ditunjukkan oleh ikon kunci kuning), dan memiliki propertiAUTO_INCREMENT(akan otomatis bertambah saat data baru dimasukkan).nama_barang: Tipe dataVARCHAR, Panjang 45.stok: Tipe dataINT, Panjang 10.harga: Tipe dataINT, Panjang 10.
Mengubah: Anda dapat menambah (
Add), menyunting (Edit), menghapus (Drop), dan memindahkan urutan (Up/Down) kolom-kolom ini.Properti: Dapat dilihat dan diubah properti seperti
Allow Null(apakah kolom boleh kosong),Default(nilai default jika tidak diisi), danCollation(aturan perbandingan karakter).
2. Mengelola Objek Database Lain
Di panel kiri (Sidebar), Anda dapat melihat dan mengelola objek lain dalam database trigger_tugas_rumah, termasuk:
Tabel: Seperti
barang,pembelian,penjualan,tugas_rumah_besar, dll.Trigger: Ada 12 objek trigger yang terdaftar, dan di bawah tabel
barangterdapat trigger-trigger sepertitrg_delete,trg_insert,trg_pembelian, dll. Trigger adalah kode SQL yang otomatis dieksekusi sebelum atau sesudah operasi INSERT, UPDATE, atau DELETE pada tabel.
3. Melihat dan Menjalankan Kode SQL
Di bagian bawah terdapat panel untuk Help, Discard, dan Save. Di bawahnya, terlihat log SQL (baris 662-665) yang menunjukkan perintah-perintah CREATE TRIGGER terakhir yang dieksekusi. Ini mengindikasikan fungsi untuk menjalankan query SQL (terlihat juga tab Query di atas).
Secara ringkas, tampilan ini berfungsi sebagai antarmuka grafis (GUI) untuk administrasi dan pengembangan database, memfokuskan pada pengaturan struktur tabel dan pengelolaan trigger.
Detail Fungsi dari Trigger trg_delete
Trigger adalah sebuah blok kode SQL yang secara otomatis dijalankan (dipicu) oleh sistem manajemen database (DBMS) sebagai respons terhadap peristiwa tertentu, seperti operasi INSERT, UPDATE, atau DELETE pada sebuah tabel.
1. Definisi Trigger
Nama Trigger (
Name):trg_deleteAplikasi pada Tabel (
On table):pembelianArtinya: Trigger ini akan aktif ketika terjadi perubahan pada tabel
pembelian.
Waktu Pemicuan (
Event):BEFOREDELETEArtinya: Trigger ini akan dieksekusi sebelum sebuah baris data dihapus dari tabel
pembelian.
2. Tujuan dan Aksi (Trigger Statement)
Tujuan utama dari trigger ini adalah untuk mencatat (logging) setiap kali ada data yang akan dihapus dari tabel pembelian.
Kode SQL dalam Trigger:
BEGIN
INSERT INTO log_pembelian (id_pembelian, operasi, waktu)
VALUES (OLD.id_pembelian, 'Delete', NOW());
END
Aksi: Trigger ini melakukan perintah
INSERT INTO log_pembelian ....Ini berarti ia memasukkan baris data baru ke dalam tabel yang bernama
log_pembelian.
Data yang Disimpan:
OLD.id_pembelian: Mengambil nilaiid_pembeliandari baris yang akan dihapus (OLDmerujuk pada data sebelum operasi DELETE).'Delete': Memberi label operasi ini sebagai 'Delete'.NOW(): Menyimpan waktu saat operasi penghapusan terjadi.
Kesimpulan
Fungsi utama dari trg_delete ini adalah untuk mengimplementasikan audit trail (jejak audit) atau mekanisme logging. Setiap kali sebuah data pembelian dihapus, trigger ini memastikan bahwa informasi tentang penghapusan tersebut (ID pembelian, jenis operasi, dan waktu) dicatat secara otomatis di tabel log_pembelian sebelum data asli hilang.
Detail Fungsi dari Trigger trg_insert
Sama seperti trigger sebelumnya, ini adalah kode SQL yang akan dijalankan secara otomatis oleh sistem database (MySQL/HeidiSQL) sebagai respons terhadap sebuah peristiwa.
1. Definisi Trigger
Nama Trigger (
Name):trg_insertAplikasi pada Tabel (
On table):pembelianArtinya: Trigger ini akan aktif ketika terjadi perubahan pada tabel
pembelian.
Waktu Pemicuan (
Event):AFTERINSERTArtinya: Trigger ini akan dieksekusi setelah sebuah baris data baru berhasil dimasukkan (INSERT) ke dalam tabel
pembelian.
2. Tujuan dan Aksi (Trigger Statement)
Tujuan utama dari trigger ini adalah untuk mencatat (logging) setiap kali ada data baru yang berhasil dimasukkan ke tabel pembelian.
Kode SQL dalam Trigger:
BEGIN
INSERT INTO log_pembelian (id_pembelian, operasi, waktu)
VALUES (NEW.id_pembelian, 'Insert', NOW());
END
Aksi: Trigger ini melakukan perintah
INSERT INTO log_pembelian ....Ini berarti ia memasukkan baris data baru ke dalam tabel yang bernama
log_pembelian.
Data yang Disimpan:
NEW.id_pembelian: Mengambil nilaiid_pembeliandari baris data yang baru dimasukkan (NEWmerujuk pada data setelah operasi INSERT).'Insert': Memberi label operasi ini sebagai 'Insert'.NOW(): Menyimpan waktu saat operasi penyisipan data terjadi.
Kesimpulan
Fungsi utama dari trg_insert ini adalah untuk mengimplementasikan audit trail (jejak audit) atau mekanisme logging. Setiap kali sebuah data pembelian baru ditambahkan, trigger ini secara otomatis mencatat informasi tentang penambahan tersebut (ID pembelian, jenis operasi, dan waktu) ke dalam tabel log_pembelian.
(Bandingkan dengan trg_delete yang mencatat operasi DELETE. Kedua trigger ini bekerja bersama untuk mencatat setiap aktivitas INSERT dan DELETE pada tabel pembelian.)
Detail Fungsi Tabel log_pembelian
Tabel log_pembelian berfungsi sebagai tabel logging (pencatatan). Tujuan eksistensinya adalah untuk menyimpan riwayat atau jejak audit dari operasi yang terjadi pada tabel lain, yaitu tabel pembelian.
Trigger-trigger seperti trg_insert dan trg_delete yang dibahas sebelumnya secara otomatis memasukkan data ke dalam tabel ini setiap kali terjadi penambahan atau penghapusan data di tabel pembelian.
1. Struktur Kolom (Columns)
Anda dapat melihat detail dari setiap kolom yang menyusun tabel log ini:
| Nama Kolom | Tipe Data | Keterangan/Fungsi |
| waktu | DATETIME | Mencatat kapan operasi (misalnya, insert atau delete) itu terjadi. |
| id_pembelian | INT | Mencatat ID dari baris data di tabel pembelian yang terpengaruh oleh operasi tersebut. |
| operasi | VARCHAR | Mencatat jenis operasi yang terjadi (misalnya, akan berisi nilai 'Insert', 'Delete', atau 'Update'). |
2. Mekanisme Audit Trail
Tabel ini adalah inti dari sistem Audit Trail (jejak audit). Fungsinya adalah:
Pencatatan Sejarah: Menyimpan catatan permanen tentang perubahan data, yang berguna untuk penelusuran jika terjadi kesalahan atau manipulasi data.
Akuntabilitas: Menyediakan bukti siapa (jika kolom
userditambahkan) dan kapan perubahan penting pada data pembelian dilakukan.Pemulihan: Dapat membantu menganalisis urutan kejadian jika data perlu dipulihkan atau dikoreksi.
Dengan kata lain, tabel log_pembelian berfungsi sebagai buku harian otomatis yang mencatat semua aktivitas penting yang terjadi pada data transaksi pembelian.
Detail Fungsi dari Trigger trg_update
Trigger ini dirancang untuk mencatat aktivitas pembaruan data (Update) pada tabel database.
1. Definisi Trigger
Nama Trigger (
Name):trg_updateAplikasi pada Tabel (
On table):pembelianTrigger ini akan aktif ketika terjadi perubahan pada tabel
pembelian.
Waktu Pemicuan (
Event):AFTERUPDATETrigger ini akan dieksekusi setelah satu atau lebih baris data berhasil diperbarui (UPDATE) di tabel
pembelian.
2. Tujuan dan Aksi (Trigger Statement)
Tujuan utama dari trigger ini adalah untuk mencatat (logging) setiap kali ada data yang diperbarui di tabel pembelian.
Kode SQL dalam Trigger:
BEGIN
INSERT INTO log_pembelian (id_pembelian, operasi, waktu)
VALUES (OLD.id_pembelian, 'Update', NOW());
END
Aksi: Trigger ini memasukkan baris data baru ke dalam tabel
log_pembelian.Data yang Disimpan:
OLD.id_pembelian: Mengambil nilaiid_pembeliandari baris data sebelum pembaruan terjadi (OLDmerujuk pada data sebelum operasi UPDATE). Ini digunakan untuk mengidentifikasi catatan yang diperbarui.'Update': Memberi label operasi ini sebagai 'Update'.NOW(): Menyimpan waktu saat operasi pembaruan data berhasil diselesaikan.
Kesimpulan
Fungsi utama dari trg_update ini adalah untuk melengkapi sistem Audit Trail (jejak audit). Bersama dengan trg_insert dan trg_delete, trigger ini memastikan bahwa setiap pembaruan data pada tabel pembelian secara otomatis dicatat (di-log) ke dalam tabel log_pembelian, termasuk ID baris yang diubah, jenis operasi (Update), dan waktu kejadian.
Detail Fungsi dari Trigger nama_barang
Trigger ini dirancang untuk melakukan validasi atau manipulasi data pada kolom tertentu sebelum data baru dimasukkan ke dalam tabel.
1. Definisi Trigger
Nama Trigger (
Name):nama_barangAplikasi pada Tabel (
On table):pembelianTrigger ini akan aktif ketika terjadi perubahan pada tabel
pembelian.
Waktu Pemicuan (
Event):BEFOREINSERTTrigger ini akan dieksekusi sebelum sebuah baris data baru dimasukkan (INSERT) ke dalam tabel
pembelian.
2. Tujuan dan Aksi (Trigger Statement)
Tujuan utama dari trigger ini adalah untuk memastikan nama barang yang di-input ke tabel pembelian sudah sesuai dengan data yang ada di tabel barang (atau setidaknya, melakukan pengecekan terkait nama barang).
Kode SQL dalam Trigger:
Trigger ini mendeklarasikan variabel sementara dan kemudian menjalankan query SELECT untuk mengambil data:
1 BEGIN
2 DECLARE nama_barang_temp VARCHAR(100);
3 SELECT nama_barang INTO nama_barang_temp
4 FROM barang
5 WHERE id_barang = NEW.id_barang;
6 SET NEW.nama_barang = nama_barang_temp;
7 END
Baris 2: Mendeklarasikan variabel lokal
nama_barang_temp.Baris 3-5: Melakukan query
SELECTpada tabelbarang. Tujuannya adalah untuk mengambilnama_barangdari tabelbarangyang memilikiid_barangyang sama dengan data baru yang akan dimasukkan (NEW.id_barang) ke tabelpembelian. Hasilnya disimpan di variabelnama_barang_temp.Baris 6: Mengatur nilai kolom
nama_barangpada baris yang akan dimasukkan (NEW.nama_barang) agar sama dengan nilai yang diambil dari tabelbarang(nama_barang_temp).
Kesimpulan
Fungsi utama dari trigger nama_barang adalah untuk melakukan data lookup dan enforcement. Trigger ini secara otomatis mengambil nama barang yang benar dari tabel barang (berdasarkan id_barang yang di-input di tabel pembelian) dan menimpa (mengganti) nilai nama_barang yang mungkin dimasukkan di tabel pembelian dengan nilai yang valid dari tabel barang. Ini memastikan konsistensi data antara dua tabel tersebut.
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
Komentar
Posting Komentar