Transaksi basis data adalah unit perubahan pada basis data yang tidak dapat dipecah menjadi unit perubahan yang lebih kecil. Ketika transaksi database dibuat, semua perubahan yang membentuk transaksi tersebut harus berhasil agar dapat terjadi.

Situasi dimana kondisi modifikasi data akan terjadi adalah pembayaran atau transfer uang. Jika seseorang melakukan pembayaran maka uang akan ditarik dari rekeningnya dan disetorkan ke rekening lain. Bank tidak boleh mengeluarkan uang dari satu rekening dan tidak pernah masuk ke rekening lain atau ditambahkan ke satu rekening tanpa ditarik dari rekening lainnya. Entah kedua perubahan ini harus berhasil atau tidak ada perubahan sama sekali.

Untuk menangani kesalahan, kode untuk melakukan transaksi harus dibungkus dalam blok coba/tangkap. Transaksi yang diinginkan akan berada di bagian blok try dan kode untuk mengembalikan transaksi tersebut akan berada di blok catch. Kode pada blok catch akan berjalan jika terjadi kesalahan pada blok try. Untuk memastikan semua perubahan terjadi bersamaan, kode untuk perubahan ini dibungkus dengan BEGIN TRANSACTION dan COMMIT TRANSACTION. BEGIN TRANSACTION memulai transaksi dan jika tidak ada kesalahan transaksi akan berjalan hingga selesai memicu COMMIT TRANSACTION, yang membuat perubahan dalam transaksi tetap ada di database. Jika terjadi kesalahan antara BEGIN TRANSACTION dan COMMIT TRANSACTION semua perubahan akan dihapus dengan pernyataan ROLLBACK TRANSACTION.

Prinsip ACID menggambarkan transaksi database. ACID adalah singkatan dari atom, konsisten, terisolasi, dan tahan lama. Atomic dalam hal ini berarti semua perubahan pada database harus berhasil dilakukan atau tidak ada satupun yang dapat dilakukan sama sekali. Ini mengacu pada bagaimana transaksi, seperti atom, merupakan unit yang tidak dapat dibagi. Konsisten artinya data harus berada dalam keadaan konsisten sebelum dan sesudah setiap transaksi. Ini mengacu pada integritas data. Jika suatu transaksi mencoba melakukan perubahan yang membahayakan integritas data dalam database, transaksi tersebut akan gagal dan tidak akan bertahan di database. Terisolasi berarti ketika transaksi sedang terjadi tidak ada proses lain yang dapat melakukan perubahan pada data. Tahan lama berarti bahwa perubahan yang dilakukan oleh transaksi yang berhasil harus tetap ada di database.