Skip to main content

SQL Atomicity

SQL Atomicity

Atomicity is one of the four ACID (Atomicity, Consistency, Isolation, Durability) properties of database transactions.


1. Overview

In the context of SQL transactions, atomicity refers to the property that ensures that either all operations within a transaction are completed successfully, or none of them are.

When a transaction is atomic, it guarantees that if any part of the transaction fails, the entire transaction is rolled back, and the database is left unchanged. This ensures that the database remains in a consistent state, regardless of whether the transaction succeeds or fails.


2. Example

Consider a scenario where a bank customer transfers money from one account to another. The transaction involves two operations: deducting the amount from the sender's account and crediting it to the receiver's account. If either of these operations fails, the entire transaction should be rolled back to maintain data consistency.

Example:

// Example of an atomic transaction
START TRANSACTION;

-- Deduct amount from sender's account
UPDATE accounts SET balance = balance - 100 WHERE account_number = 'sender_account';

-- Credit amount to receiver's account
UPDATE accounts SET balance = balance + 100 WHERE account_number = 'receiver_account';

-- Commit the transaction
COMMIT;

In this example, both the deduction and crediting operations are part of the same transaction. If either operation fails (e.g., due to insufficient funds), the entire transaction is rolled back using the ROLLBACK statement.


3. Importance

Atomicity is essential for ensuring data integrity and consistency in database systems. By treating a sequence of operations as a single unit of work, atomic transactions prevent partial updates that could leave the database in an inconsistent state.

Transactions that exhibit atomicity guarantee that database changes are either applied completely or not at all, making them crucial for maintaining data correctness and reliability.


4. Conclusion

SQL atomicity is a critical property of transactions that ensures all operations within a transaction are executed as a single, indivisible unit. By guaranteeing that transactions are either fully completed or fully rolled back, atomicity maintains data integrity and consistency in database systems.

Comments