🔒 Transaksi & ACID

Level: Advanced

Transaksi adalah serangkaian operasi database yang dijalankan sebagai satu kesatuan. Jika salah satu operasi gagal, maka seluruh transaksi dibatalkan. Prinsip ACID (Atomicity, Consistency, Isolation, Durability) menjamin keandalan transaksi.

📖 Prinsip ACID

🛠️ Praktik Kecil

Contoh transaksi pada sistem perbankan (transfer saldo):

-- Mulai transaksi
START TRANSACTION;

-- Kurangi saldo dari rekening A
UPDATE rekening SET saldo = saldo - 100000 WHERE id = 1;

-- Tambahkan saldo ke rekening B
UPDATE rekening SET saldo = saldo + 100000 WHERE id = 2;

-- Jika semua berhasil, simpan perubahan
COMMIT;

-- Jika ada error, batalkan semua perubahan
ROLLBACK;

👉 Dengan transaksi, kita bisa memastikan bahwa transfer uang tidak menyebabkan saldo hilang atau ganda.

🎮 Mini Challenge

Buat simulasi transaksi pada tabel inventaris:

Tugas tambahan: Uji dengan sengaja membuat error di salah satu query untuk melihat bagaimana ROLLBACK bekerja.