Database Transaction merupakan salah satu dasar yang tidak boleh kamu lewatkan dalam dunia basis data. Keamanan dan kesesuaian data adalah hal penting yang perlu kamu perhatikan.
Transaction itu sendiri berupa fitur sistem database yang membantu memulihkan data apabila terjadi kesalahan internal. Misalnya, kamu memiliki query sql yang menambahkan data pada lebih dari satu tabel.
Pada perintah sql tabel pertama sukses dilakukan, namun tidak pada perintah berikutnya, karena terjadi error atau bug yang tidak di inginkan. Maka dengan adanya Database Transaction, semua proses sql akan dibatalkan, termasuk perintah yang pertama. Untuk lebih jelasnya, silahkan baca penjelasan dibawah ini sampai tuntas.
Pengertian Database Transaction
Database transaction adalah salah satu subset yang disediakan SQL, yang berguna untuk mengatur alur data transaksi suatu database.
Apabila kamu menambahkan, mengubah, atau menghapus data dari tabel database, sebenarnya kamu sedang melakukan transaction di tabel tersebut. Mengontrol transaksi sangat penting untuk memastikan integritas data dan untuk menangani kesalahan database.
Sederhananya, kamu dapat menggabungkan banyak kueri SQL ke dalam grup dan akan mengeksekusi semuanya secara bersama sebagai bagian dari transaction. Jika terdapat kegagalan dalam satu proses, maka seluruh proses transaksi akan dibatalkan.
Sifat Database Transaction
Database Transaction memiliki empat sifat standar yang biasa disebut dengan singkatan ACID.
- Atomicity, memastikan bahwa semua operasi dalam unit kerja diselesaikan dengan sukses. Jika tidak, transaksi akan dibatalkan pada titik kegagalan dan semua operasi sebelumnya kembali ke keadaan semula.
- Konsistensi (Consistency), memastikan bahwa database mengubah status dengan benar pada transaksi yang berhasil dilakukan.
- Isolasi (Isolation), memungkinkan transaksi untuk beroperasi secara independen dan transparan satu sama lain.
- Daya tahan (Durability), memastikan bahwa hasil atau efek dari transaction commit tetap ada jika terjadi kegagalan sistem.
Kontrol Database Transaction
- COMMIT, untuk menyimpan perubahan.
- ROLLBACK, untuk mengembalikan perubahan.
- SAVEPOINT, membuat poin dalam grup transaksi untuk ROLLBACK.
- BEGIN TRANSACTION, Memulai dan menempatkan nama pada transaksi.
Berikut penjelasan lengkap mengenai kontrol database transaction.
1. Perintah Commit
Perintah Commit adalah perintah transaksional yang digunakan untuk menyimpan perubahan yang dilakukan oleh transaksi ke database. Perintah Commit menyimpan semua transaksi ke database sejak perintah Commit atau Rollback terakhir.
2. Perintah Rollback
Perintah Rollback adalah perintah transaksional yang digunakan untuk membatalkan transaksi yang belum disimpan ke database. Perintah ini hanya dapat digunakan untuk membatalkan transaksi perintah Commit atau Rollback terakhir dikeluarkan.
3. Perintah SavePoint
Perintah SavePoint adalah titik dalam transaksi ketika kamu dapat mengembalikan transaksi ke titik tertentu tanpa memutar balik seluruh transaksi.
4. Perintah Release SavePoint
Perintah Release SavePoint digunakan untuk menghapus SavePoint yang telah kamu buat.
5. Perintah Start Transaction (Begin Transaction)
Perintah Start Transaction digunakan untuk memulai transaksi database. Perintah ini digunakan untuk menentukan karakteristik transaksi yang akan dibuat. Misalnya, kamu dapat menentukan transaksi menjadi read atau write and write.