Bagikan melalui


Transaksi (Akses Data MFC)

Konsep transaksi dikembangkan untuk menangani kasus di mana status database yang dihasilkan tergantung pada keberhasilan total serangkaian operasi. Ini bisa muncul karena operasi berturut-turut mungkin memodifikasi hasil operasi sebelumnya. Dalam kasus seperti itu, jika ada satu operasi yang gagal, status yang dihasilkan dapat tidak ditentukan.

Untuk mengatasi masalah ini, transaksi mengelompokkan serangkaian operasi sedih sehingga integritas hasil akhir dapat dipastikan. Baik semua operasi harus berhasil dan kemudian diterapkan (ditulis ke database) atau seluruh transaksi gagal. Pembatalan transaksi disebut pembatalan. Pembatalan memungkinkan pemulihan dari perubahan dan mengembalikan database ke status pratransaksi.

Misalnya, dalam transaksi perbankan otomatis, jika Anda mentransfer uang dari akun A ke akun B, penarikan dari A dan setoran ke B harus berhasil memproses dana dengan benar, atau seluruh transaksi harus gagal.

Transaksi harus memiliki properti ACID, yang merupakan singkatan dari berikut:

  • Atomitas Transaksi adalah unit atom pekerjaan dan dijalankan tepat sekali; baik semua pekerjaan dilakukan atau tidak ada.

  • Konsistensi Transaksi mempertahankan konsistensi data, mengubah satu status data yang konsisten menjadi status data lain yang konsisten. Data yang terikat oleh transaksi harus dipertahankan secara semantik.

  • Isolasi Transaksi adalah unit isolasi dan masing-masing terjadi secara terpisah dan independen dari transaksi bersamaan. Transaksi tidak boleh melihat tahap perantara transaksi lain.

  • Durabilitas Transaksi adalah unit pemulihan. Jika transaksi berhasil, pembaruannya tetap ada, bahkan jika sistem mengalami crash atau dimatikan. Jika transaksi gagal, sistem tetap dalam status sebelumnya untuk melakukan transaksi.

Anda dapat mendukung transaksi di OLE DB (lihat Transaksi Pendukung di OLE DB) atau ODBC (lihat Transaksi (ODBC)).

Transaksi terdistribusi adalah transaksi yang memperbarui data terdistribusi, yaitu data pada lebih dari satu sistem komputer jaringan. Jika Anda ingin mendukung transaksi melalui sistem terdistribusi, Anda harus menggunakan ADO.NET daripada dukungan transaksi OLE DB.

Lihat juga

Pemrograman Akses Data (MFC/ATL)