PENGERTIAN TENTANG TRIGGER

Pertanyaan? 

1. Apa itu trigger

2. Kapan trigger akan berjalan

3. Apa perbedaan antara trigger before dan trigger after

4. Apa yang harus di perhatikan dalam menulis trigger

JAWABAN

1. Trigger adalah sebuah perintah khusus dalam database yang akan dijalankan secara otomatis ketika terjadi suatu kejadian (event) tertentu pada tabel.

2. Trigger akan berjalan secara otomatis ketika terjadi operasi tertentu pada tabel, seperti INSERT (menambah data), UPDATE (mengubah data), atau DELETE (menghapus data).

3. BEFORE berarti trigger dijalankan sebelum operasi dilakukan.

Biasanya BEFORE digunakan untuk:

  • melakukan validasi,
  • memeriksa data,
  • mengubah nilai sebelum disimpan.

--AFTER berarti trigger dijalankan setelah operasi berhasil dilakukan.

Biasanya AFTER digunakan untuk:

  • mencatat aktivitas,
  • memperbarui tabel lain,
  • melakukan proses setelah data berhasil disimpan.

4. Dalam menulis trigger, perlu memperhatikan event yang digunakan (INSERT, UPDATE, atau DELETE), waktu eksekusi (BEFORE atau AFTER), tabel yang digunakan, serta perintah yang akan dijalankan secara otomatis.

Pengertian Trigger

Trigger adalah fitur pada database yang berfungsi untuk menjalankan perintah SQL secara otomatis ketika terjadi suatu kejadian pada tabel, seperti data ditambahkan, diubah, atau dihapus.

Artinya, kita tidak perlu menjalankan perintah tersebut secara manual karena database akan mengeksekusinya sendiri.

Cara kerja Trigger

Trigger bekerja berdasarkan tiga jenis kejadian utama:

  • INSERT → saat data baru ditambahkan.

  • UPDATE → saat data diubah.

  • DELETE → saat data dihapus.

Selain itu, trigger dapat dijalankan:

  • BEFORE → sebelum kejadian terjadi.

  • AFTER → setelah kejadian terjadi.

Ilustrasi

Misalnya ada tabel barang dan log_barang.

  • Ketika barang baru ditambahkan ke tabel barang, trigger otomatis mencatat aktivitas tersebut ke tabel log_barang.

Alurnya:

Tambah data ke barang → Trigger aktif → Data aktivitas masuk ke log_barang.

Jenis-jenis Trigger

Jenis

Fungsi

BEFORE INSERT

Berjalan sebelum data ditambahkan.

AFTER INSERT

Berjalan setelah data ditambahkan.

BEFORE UPDATE

Berjalan sebelum data diubah.

AFTER UPDATE

Berjalan setelah data diubah.

BEFORE DELETE

Berjalan sebelum data dihapus.

AFTER DELETE

Berjalan setelah data dihapus.

Contoh Trigger

Tabel barang

id_barang

nama_barang

stok

1

Buku

20

Tabel log_barang

id_log

aktivitas

Trigger AFTER INSERT

CREATE TRIGGER tambah_log
AFTER INSERT ON barang
FOR EACH ROW
INSERT INTO log_barang(aktivitas)
VALUES ('Barang baru ditambahkan');

Hasil

Jika menjalankan:

INSERT INTO barang (nama_barang, stok)
VALUES ('Pensil', 50);

Maka secara otomatis tabel log_barang akan berisi:

id_log

aktivitas

1

Barang baru ditambahkan

Kegunaan Trigger

  • Mencatat riwayat aktivitas (log).

  • Memperbarui stok secara otomatis.

  • Memvalidasi data sebelum disimpan.

  • Menjaga konsistensi data antar tabel.

  • Mengurangi pekerjaan yang harus dilakukan secara manual.

Kelebihan dan Kekurangan

Kelebihan

Kekurangan

Berjalan otomatis.

Sulit dilacak jika trigger terlalu banyak.

Mengurangi pekerjaan manual.

Bisa memperlambat proses jika logikanya rumit.

Menjaga konsistensi data.

Perlu pengelolaan yang baik agar tidak membingungkan.

pengertian JOIN dan contohnya

 

Pengertian JOIN

JOIN adalah perintah SQL yang digunakan untuk menggabungkan data dari dua atau lebih tabel berdasarkan kolom yang saling berhubungan (biasanya Primary Key dan Foreign Key).

Tujuan JOIN adalah agar data yang tersimpan di tabel berbeda bisa ditampilkan menjadi satu hasil.

Contoh sederhana

Misalnya ada dua tabel.

Tabel barang

id_barang

nama_barang

1

Buku

2

Pensil

3

Penghapus

Tabel transaksi

id_transaksi

id_barang

jumlah

101

1

5

102

2

10

103

1

3

Kolom id_barang pada tabel transaksi adalah Foreign Key yang menghubungkan ke id_barang pada tabel barang.

Kenapa memakai JOIN?

Tanpa JOIN, hasil dari tabel transaksi hanya menampilkan angka id_barang.

id_transaksi

id_barang

jumlah

101

1

5

102

2

10

Sulit mengetahui barang apa yang dimaksud.

Dengan JOIN hasilnya menjadi:

id_transaksi

nama_barang

jumlah

101

Buku

5

102

Pensil

10

103

Buku

3

Data menjadi lebih mudah dibaca.

Jenis-jenis JOIN

1. INNER JOIN (Paling sering digunakan)

Menampilkan hanya data yang memiliki pasangan di kedua tabel.

Query

SELECT transaksi.id_transaksi,
       barang.nama_barang,
       transaksi.jumlah
FROM transaksi
INNER JOIN barang
ON transaksi.id_barang = barang.id_barang;

Hasil:

id_transaksi

nama_barang

jumlah

101

Buku

5

102

Pensil

10

103

Buku

3

Ciri-ciri:

  • Hanya data yang cocok ditampilkan.

  • Data yang tidak memiliki pasangan tidak muncul.

2. LEFT JOIN

Menampilkan semua data dari tabel kiri, meskipun tidak memiliki pasangan di tabel kanan.

Contoh:

Tabel barang

id_barang

nama_barang

1

Buku

2

Pensil

3

Penghapus

4

Spidol

Spidol belum pernah dibeli.

Query

SELECT barang.nama_barang,
       transaksi.jumlah
FROM barang
LEFT JOIN transaksi
ON barang.id_barang = transaksi.id_barang;

Hasil:

nama_barang

jumlah

Buku

5

Buku

3

Pensil

10

Penghapus

NULL

Spidol

NULL

NULL berarti tidak ada data yang cocok.

3. RIGHT JOIN

Kebalikan dari LEFT JOIN.

Menampilkan semua data dari tabel kanan.

SELECT barang.nama_barang,
       transaksi.jumlah
FROM barang
RIGHT JOIN transaksi
ON barang.id_barang = transaksi.id_barang;

Biasanya digunakan ketika ingin memastikan semua data pada tabel kanan tetap muncul.

*CONTOH JOIN:
1.INNER JOIN


2.LEFT JOIN


3.RIGHT JOIN



pengertian tentang aggregate dan contohnya

 

Pengertian Aggregate dalam Database

Aggregate atau fungsi agregat adalah fungsi SQL yang digunakan untuk mengolah sekumpulan data dan menghasilkan satu nilai hasil.

Contohnya, dari banyak data harga barang, kita bisa mencari:

  • jumlah seluruh harga
  • harga rata-rata
  • harga tertinggi
  • harga terendah
  • jumlah barang

Fungsi agregat yang paling sering digunakan adalah:

FungsiKegunaan
COUNT()Menghitung jumlah data
SUM()Menjumlahkan nilai
AVG()Menghitung nilai rata-rata
MAX()Mencari nilai terbesar
MIN()Mencari nilai terkecil

Contoh tabel barang

Misalnya:

id_barangnama_baranghargastok
1Apel500020
2Buku700015
3Pulpen30003
4Laptop50000004
5Mouse4500025

1. COUNT()

Digunakan untuk menghitung jumlah data.

SELECT COUNT(*) AS jumlah_barang
FROM barang;

Hasil:

jumlah_barang
5

Artinya terdapat 5 barang.


2. SUM()

Digunakan untuk menjumlahkan nilai.

SELECT SUM(stok) AS total_stok
FROM barang;

Hasil:

total_stok
67

Artinya seluruh stok barang berjumlah 67.


3. AVG()

Digunakan untuk mencari rata-rata.

SELECT AVG(harga) AS rata_rata_harga
FROM barang;

Artinya SQL menghitung rata-rata harga dari semua barang.


4. MAX()

Digunakan untuk mencari nilai paling besar.

SELECT MAX(harga) AS harga_tertinggi
FROM barang;

Hasilnya:

5000000

Berarti harga tertinggi adalah Rp5.000.000.


5. MIN()

Digunakan untuk mencari nilai paling kecil.

SELECT MIN(harga) AS harga_terendah
FROM barang;

Hasilnya:

3000

Berarti harga terendah adalah Rp3.000.


Aggregate + GROUP BY

Fungsi agregat juga sering digunakan bersama GROUP BY untuk menghitung data berdasarkan kelompok tertentu.

Misalnya kita ingin mengetahui jumlah barang berdasarkan stok tertentu:

SELECT stok, COUNT(*) AS jumlah
FROM barang
GROUP BY stok;

SQL akan mengelompokkan data berdasarkan stok, kemudian menghitung jumlah data pada setiap kelompok.


Aggregate + WHERE

Kita juga bisa menggunakan kondisi.

Contoh menghitung jumlah barang yang stoknya lebih dari 10:

SELECT COUNT(*) AS jumlah_barang
FROM barang
WHERE stok > 10;

Jadi WHERE digunakan untuk memilih data terlebih dahulu, kemudian fungsi agregat menghitung hasilnya.


Cara mudah mengingat

Ingat saja:

COUNT = menghitung
SUM = menjumlahkan
AVG = rata-rata
MAX = terbesar
MIN = terkecil

Kesimpulan

Aggregate dalam database adalah fungsi SQL untuk mengolah banyak baris data menjadi satu hasil atau beberapa hasil berdasarkan kelompok. Fungsi ini sangat berguna ketika kita ingin membuat laporan, menghitung total, mencari rata-rata, nilai tertinggi, nilai terendah, atau jumlah data.

Contoh paling sederhana:

SELECT
COUNT(*) AS jumlah_barang,
SUM(stok) AS total_stok,
AVG(harga) AS rata_rata_harga,
MAX(harga) AS harga_tertinggi,
MIN(harga) AS harga_terendah
FROM barang;

Dengan satu query tersebut, kita bisa mendapatkan jumlah barang, total stok, rata-rata harga, harga tertinggi, dan harga terendah sekaligus.

contoh:

COUNT:


SUM:


AVG:


MAX:



MIN:




pengertian tentang normalisasi database dan contohnya

Normalisasi Database: Penjelasan Lengkap

Normalisasi database adalah proses mengorganisasi data ke dalam beberapa tabel yang saling berhubungan untuk mengurangi redundansi (pengulangan data) dan menjaga integritas data. Proses ini dilakukan dengan memecah tabel yang besar menjadi beberapa tabel yang lebih kecil sesuai dengan aturan tertentu (normal forms).


1.Tujuan utama normalisasi adalah:

-Mengurangi duplikasi data.

-Mempermudah proses insert, update, dan delete.

-Menjaga konsistensi data.

-Membuat database lebih mudah dikembangkan dan dipelihara.


2.Mengapa normalisasi diperlukan?

Tanpa normalisasi, sebuah database dapat mengalami masalah seperti:

Data yang sama tersimpan berulang kali.

Perubahan pada satu data harus dilakukan di banyak tempat.

Risiko inkonsistensi data jika ada data yang terlewat diperbarui.

Pemborosan ruang penyimpanan.


3.kelebihan dan kekurangan normalisasi database

A.Kelebihan normalisasi

-Mengurangi duplikasi data.

-Menjaga konsistensi data.

-Mempermudah proses pembaruan data.

-Menghemat ruang penyimpanan.

-Membuat struktur database lebih rapi dan mudah dikembangkan.

B.Kekurangan normalisasi

-Jumlah tabel bertambah.

-Query sering memerlukan JOIN, sehingga bisa menjadi lebih kompleks.

-Pada beberapa aplikasi yang sangat mengutamakan kecepatan baca, terkadang digunakan denormalisasi untuk mengurangi jumlah JOIN.


Tabel Awal (UNF - Unnormalized Form)

No Transaksi Tanggal ID Pelanggan Nama Pelanggan Alamat ID Produk Nama Produk Harga Jumlah

TR001 01-08-2026 P001 Andi Jakarta PR001 Laptop 8.000.000 1

TR001 01-08-2026 P001 Andi Jakarta PR002 Mouse 150.000 2

TR002 02-08-2026 P002 Budi Bandung PR003 Keyboard 300.000 1

TR003 03-08-2026 P001 Andi Jakarta PR004 Monitor 2.500.000 1




Masalah:


Data pelanggan berulang.

Data produk berulang.

Harga produk disimpan berkali-kali.

1NF (First Normal Form)

Setiap kolom memiliki satu nilai (atomic).


No Transaksi Tanggal ID Pelanggan ID Produk Jumlah

TR001 01-08-2026 P001 PR001 1

TR001 01-08-2026 P001 PR002 2

TR002 02-08-2026 P002 PR003 1

TR003 03-08-2026 P001 PR004 1




2NF (Second Normal Form)

Tabel Pelanggan

ID Pelanggan Nama Pelanggan Alamat

P001 Andi Jakarta

P002 Budi Bandung




Tabel Transaksi

No Transaksi Tanggal ID Pelanggan

TR001 01-08-2026 P001

TR002 02-08-2026 P002

TR003 03-08-2026 P001




Tabel Detail Transaksi

No Transaksi ID Produk Jumlah

TR001 PR001 1

TR001 PR002 2

TR002 PR003 1

TR003 PR004 1




3NF (Third Normal Form)

Tabel Pelanggan

ID Pelanggan (PK) Nama Pelanggan Alamat

P001 Andi Jakarta

P002 Budi Bandung




Tabel Produk

ID Produk (PK) Nama Produk Harga

PR001 Laptop 8.000.000

PR002 Mouse 150.000

PR003 Keyboard 300.000

PR004 Monitor 2.500.000




Tabel Transaksi

No Transaksi (PK) Tanggal ID Pelanggan (FK)

TR001 01-08-2026 P001

TR002 02-08-2026 P002

TR003 03-08-2026 P001




Tabel Detail Transaksi

ID Detail (PK) No Transaksi (FK) ID Produk (FK) Jumlah

1 TR001 PR001 1

2 TR001 PR002 2

3 TR002 PR003 1

4 TR003 PR004 1




Relasi Antar Tabel

Tabel Primary Key Foreign Key

Pelanggan ID_Pelanggan -

Produk ID_Produk -

Transaksi No_Transaksi ID_Pelanggan

Detail_Transaksi ID_Detail No_Transaksi, ID_Produk



contoh:


soal CONTOH:

TUGAS :






Akun guardian tales

PENGERTIAN TENTANG TRIGGER

Pertanyaan?  1. Apa itu trigger 2. Kapan trigger akan berjalan 3. Apa perbedaan antara trigger before dan trigger after 4. Apa yang harus di...

- Copyright © eryx.blog.com - Hatsune Miku - Powered by Blogger - Designed by Johanes Djogan -