Database Transaction

Apa itu Database Transaction ?

Database Transaction digunakan untuk mengatur langkah data transaksi dalam suatu database. Jika dalam langkah transaksi gagal, maka seluruh transaksi gagal. Database Transaction data yang digunakan untuk membuat, memperbarui, atau mengambil data.

Transaction digunakan untuk memastikan konsistensi dan integritas data dengan memastikan bahwa database tetap konsisten apabila terjadi kegagalan atau kesalahan pada sistem. Database Transaction bersifat atomic, consistent, isolated, and durable (ACID) yang mana merupakan empat properti utama yang memastikan keandalan basis data.

Berikut ini penjelasan mengenai singkatan dari properti ACID:

  • Atomicity adalah transaksi yang diperlukan sebagai satu unit kerja yang tidak terpisahkan, Dimana ketika semua operasi dalam transaksi berhasil diselesaikan dan berkomitmen ke database atau tidak satupun. Jika ada bagian transaksi yang gagal, maka seluruh transaksi dibatalkan dan database tetep tidak berubah.
  • Consistency merupakan transaksi yang mengambil database dari satu keadaan konsisten ke dalam keadaan konsisten lainnya. Basis data harus memenuhi serangkaian batas integritas yang telah ditentukan. Apabila ada operasi yang melanggar batasan ini, maka transaksi akan dibatalkan.
  • Isolation adalah setiap transaksi yang dijalankan secara terpisah dari transaksi lainnya. Status perantara dari suatu transaksi dengan transaksi lainnya tidak boleh terlihat satu sama lain sampai transaksi tersebut dilakukan. Sehingga memastikan bahwa transaksi bersamaan tidak mengganggu satu sama lain dan menghasilkan hasil yang konsisten.
  • Durability merupakan suatu perubahan yang bersifat permanen dan bertahan dari kegagalan sistem berikutnya. Basis data harus dapat memulihkan perubahan yang dilakukan bahkan setelah kegagalan.

Contoh Database Transaction Menggunakan SQL

Sebagai contoh sistem transaksi produk dimana kita membutuhkan 2 tabel yaitu “Produk” dan “Transaksi”. Tabel “Produk” berisi tentang informasi mengenai produk yang dijual, seperti nama produk, stok, harga dll. Tabel “Transaksi”berisi tentang setiap transaksi yang dilakukan oleh pembeli seperti, ID produk, jumlah dll. berikut contoh query SQL:

BEGIN TRANSACTION;

INSERT INTO `transaksi`(produk_id, jumlah) VALUES(1,5);
UPDATE `produk` SET stok = stok - 5 WHERE product_id = 1;

COMMIT;

Penjelasan:

  • Transaksi dimulai dengan “BEGIN TRANSACTION“, menunjukan awal transaksi.
  • Kemudian terdapat “INSERT” untuk menambahkan detail transaksi ke dalam tabel “Transaksi”.
  • Setelah itu melakukan “UPDATE” pada tabel “Produk” untuk mengurangi stok dari transaksi produk.
  • Jika semua operasi dalam transaksi berhasil, maka “COMMIT” dipanggil untuk menyimpan perubahan secara permanen.

Jika terdapat langkah yang gagal, terjadi kesalahan, atau batasan integritas dilanggar, maka transaksi dapat dibatalkan dengan menggunakan “ROLLBACK”. Mengembalikan transaksi berarti bahwa setiap perubahan yang dibuat oleh transaksi akan dibuang, dan database dikembalikan pada keadaan sebelum transaksi dimulai.

Kesimpulan

Apabila terdapat lebih dari satu operasi kemudian ketika salah satu operasi gagal, namun operasi lain berhasil maka operasi yang berhasil akan tetap berjalan. Dalam mencegah hal tersebut kita dapat menerapkan Database Transaction.

Dengan menerapkan Database Transaction dapat membantu kita dalam mencegah terjadi kegagalan dalam proses menyimpan, mengubah, dan menghapus data dalam database.

Database Transaction akan mengatur langkah transaksi dalam database. Jika dalam langkah transaksi gagal, maka seluruh transaksi gagal.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top