Step 1: Understanding the scenario.
Two transactions were executed concurrently:
- Each transaction read the same balance Rs. 11000 from account A.
- Each attempted to transfer Rs. 10000 to account B.
- As a result, B received Rs. 20000, but A was debited only Rs. 10000 and ended with Rs. 1000.
This is clearly an incorrect outcome.
Step 2: Understanding ACID properties.
In DBMS:
- Atomicity: Either the entire transaction happens or nothing happens.
- Consistency: Database moves from one valid state to another valid state.
- Isolation: Concurrent transactions should not interfere with each other.
- Durability: Once committed, changes must persist even after failure.
Step 3: Identifying the violation.
Both transactions read the same initial balance before either wrote its update. This is a classic lost update problem, which occurs when isolation is not properly enforced. If isolation had been ensured, the second transaction would have seen the updated balance after the first transaction.
Step 4: Analyzing the options.
(A) Atomicity: Not violated — both transactions completed fully.
(B) Consistency: It appears violated in effect, but the root cause is lack of isolation.
(C) Isolation: Correct — concurrent transactions interfered with each other.
(D) Durability: Not violated — data was stored after transactions.
Step 5: Conclusion.
The property certainly violated is Isolation.