Any transaction must maintain the ACID properties.The transaction has the four properties. These are used to maintain consistency in a database, before and after the transaction.
Property of Transaction
- Atomicity
- Consistency
- Isolation
- Durability
Atomicity :The entire transaction takes places at once or doesn’t happen at all.
- It states that all operations of the transaction take place at once if not, the transaction is aborted.
- There is no midway, i.e., the transaction cannot occur partially. Each transaction is treated as one unit and either runs to completion or is not executed at all.
- Atomicity involves the following two operations:
- Abort: If a transaction aborts then all the changes made are not visible.
- Commit: If a transaction commits then all the changes made are visible.
Example: Let’s assume that the following transaction T consisting of T1 and T2. A consists of Rs 600 and B consists of Rs 300. Transfer Rs 100 from account A to account B.
T1 | T2 |
---|---|
Read(A) A:= A-100 Write(A) | Read(B) Y:= Y+100 Write(B) |
After completion of the transaction, A consists of Rs 500, and B consists of Rs 400. If transaction T fails after the completion of transaction T1 but before completion of transaction T2, then the amount will be deducted from A but not added to B. This shows the inconsistent database state. In order to ensure the correctness of the database state, the transaction must be executed in its entirety.
Consistency : The database must be consistent before and after the transaction.
- The integrity constraints are maintained so that the database is consistent before and after the transaction.
- The execution of a transaction will leave a database in either its prior stable state or a new stable state.
- The consistent property of the database states that every transaction sees a consistent database instance.
- The transaction is used to transform the database from one consistent state to another consistent state.
For example: The total amount must be maintained before or after the transaction.
Total before T occurs = 600+300=900 Total after T occurs= 500+400=900 Therefore, the database is consistent. In the case when T1 is completed but T2 fails, then inconsistency will occur.
Isolation: Multiple Transaction occurs independently without interference.
- It shows that the data which is used at the time of execution of a transaction cannot be used by the second transaction until the first one is completed.
- In isolation, if the transaction T1 is being executed and using the data item X, then that data item can’t be accessed by any other transaction T2 until the transaction T1 ends.
- The concurrency control subsystem of the DBMS enforced the isolation property.
Durability: The changes of a successful transaction occur even if the system failure occurs.
- The durability property is used to indicate the performance of the database’s consistent state. It states that the transaction made the permanent changes.
- They cannot be lost by the erroneous operation of a faulty transaction or by the system failure. When a transaction is completed, then the database reaches a state known as the consistent state. That consistent state cannot be lost, even in the event of a system’s failure.
- The recovery subsystem of the DBMS has the responsibility of Durability property.