ธุรกรรมฐานข้อมูลคือหน่วยของการเปลี่ยนแปลงในฐานข้อมูลที่ไม่สามารถแบ่งออกเป็นหน่วยการเปลี่ยนแปลงที่เล็กลงได้ เมื่อทำธุรกรรมฐานข้อมูลการเปลี่ยนแปลงทั้งหมดที่ประกอบเป็นธุรกรรมจะต้องสำเร็จเพื่อที่จะให้เกิดขึ้นเลย

สถานการณ์ที่เงื่อนไขในการแก้ไขข้อมูลจะเกิดขึ้นคือการชำระเงินหรือการโอนเงิน หากมีคนชำระเงิน เงินจะถูกถอนออกจากบัญชีและฝากเข้าบัญชีอื่น ธนาคารไม่สามารถมีเงินออกจากบัญชีหนึ่งและไม่เคยเข้าบัญชีอื่นหรือเพิ่มไปยังบัญชีหนึ่งโดยไม่ถูกถอนออกจากอีกบัญชีหนึ่ง การเปลี่ยนแปลงทั้งสองนี้ควรเกิดขึ้นสำเร็จหรือไม่มีการเปลี่ยนแปลงเลย

ในการจัดการกับข้อผิดพลาด โค้ดสำหรับการทำธุรกรรมควรรวมอยู่ในบล็อก try/catch ธุรกรรมที่ต้องการจะอยู่ในส่วน try ของบล็อก และโค้ดเพื่อย้อนกลับธุรกรรมจะอยู่ใน catch block รหัสใน catch block จะทำงานหากมีข้อผิดพลาดเกิดขึ้นใน try block เพื่อให้แน่ใจว่าการเปลี่ยนแปลงทั้งหมดเกิดขึ้นพร้อมกัน รหัสสำหรับการเปลี่ยนแปลงเหล่านี้จึงรวมอยู่ใน BEGIN TRANSACTION และ COMMIT TRANSACTION BEGIN TRANSACTION จะเริ่มต้นธุรกรรมและหากไม่มีข้อผิดพลาด ธุรกรรมจะทำงานจนกว่าจะเสร็จสิ้นทริกเกอร์ COMMIT TRANSACTION ซึ่งจะทำให้การเปลี่ยนแปลงในธุรกรรมยังคงอยู่ในฐานข้อมูล หากพบข้อผิดพลาดระหว่าง BEGIN TRANSACTION และ COMMIT TRANSACTION การเปลี่ยนแปลงทั้งหมดจะถูกลบด้วยคำสั่ง ROLLBACK TRANSACTION

หลักการของ ACID อธิบายธุรกรรมฐานข้อมูล ACID ย่อมาจาก อะตอม สม่ำเสมอ โดดเดี่ยว และทนทาน ในกรณีนี้ อะตอมมิกหมายความว่าการเปลี่ยนแปลงฐานข้อมูลทั้งหมดจะต้องดำเนินการได้สำเร็จ หรือไม่สามารถทำได้เลย มันหมายถึงว่าธุรกรรมเป็นหน่วยที่แบ่งแยกไม่ได้เช่นเดียวกับอะตอม ความสม่ำเสมอหมายความว่าข้อมูลจะต้องอยู่ในสถานะที่สอดคล้องกันทั้งก่อนและหลังการทำธุรกรรมแต่ละครั้ง มันหมายถึงความสมบูรณ์ของข้อมูล หากธุรกรรมพยายามทำการเปลี่ยนแปลงที่กระทบต่อความสมบูรณ์ของข้อมูลในฐานข้อมูล ธุรกรรมจะล้มเหลวและจะไม่คงอยู่ในฐานข้อมูล แยกออกจากกันหมายความว่าในขณะที่ธุรกรรมกำลังเกิดขึ้น ไม่มีกระบวนการอื่นใดที่สามารถเปลี่ยนแปลงข้อมูลได้ ทนทานหมายความว่าการเปลี่ยนแปลงที่ทำโดยธุรกรรมที่สำเร็จจะต้องคงอยู่ในฐานข้อมูล