top of page
amitha shridhar

Unveiling the Core of Database Integrity: ACID Properties in SQL


In the realm of databases, where valuable data is stored and retrieved, ensuring data integrity and reliability is paramount. Enter ACID, a set of properties that form the foundation of database transactions. In this blog post, we'll explore the ACID properties—Atomicity, Consistency, Isolation, and Durability—and how they play a crucial role in maintaining data integrity. To illustrate these concepts, let's take a journey through a hypothetical DVD rental database.


Scene 1: Setting the Stage

Imagine you're a data administrator at a DVD rental store, responsible for managing the database. A customer wants to rent a movie, and you need to ensure that the transaction is executed correctly. ACID properties will be your guiding stars.


Atomicity: The Power of Unity

The BEGIN TRANSACTION statement marks the beginning of a transaction. All subsequent operations within this transaction are considered atomic, meaning they will either all succeed or all fail as a single unit.

All operations within a transaction are either all completed or none of them are completed.

​-- Start a transaction

BEGIN TRANSACTION;

Consistency:

The database is always in a consistent state for the operations.


​-- Mark the DVD as rented

UPDATE dvd SET rented = 1 WHERE dvd_id = 1;

-- Debit the customer's account

UPDATE customer SET balance = balance - 10 WHERE customer_id = 123;

-- If either of the above operations failed, roll back the transaction

IF @@ERROR<>0THEN

ROLLBACK TRANSACTION;

ELSE

-- Commit the transaction

COMMIT TRANSACTION;

END IF;

The ACID properties are important for ensuring the reliability of database applications. For example, in a DVD rental application, the ACID properties ensure that the following conditions are met:

  • When a customer rents a DVD, the DVD is marked as rented and the customer's account is debited. Both of these operations must be completed successfully in order for the transaction to be considered complete. If either operation fails, the entire transaction is rolled back and the DVD remains available for rent.

  • Two customers cannot rent the same DVD at the same time. This is because transactions are isolated from each other. If one customer is renting a DVD, their transaction will be locked so that no other customer can rent the same DVD until the transaction is committed.

  • Once a customer has returned a DVD, the DVD is marked as available for rent and the customer's account is credited. These changes are permanent and cannot be rolled back, even if the database crashes.

This transaction ensures that the DVD is marked as rented and the customer's account is debited atomically. If either operation fails, the entire transaction is rolled back and the DVD remains available for rent.


Isolation: Transactions are isolated from each other, so that they do not interfere with each other.


Durability: Once a transaction is committed, the changes are permanent and cannot be rolled back.


The ACID properties are essential for ensuring the reliability and consistency of data in database applications. By understanding the ACID properties, you can develop more robust and reliable database applications.


13 views

Recent Posts

See All
bottom of page