Durability: This property necessitates that once a transaction has committed, the changes made by it be never lost because of subsequent failure. Thus, a transaction is also a basic unit of recovery.
A transaction has many states of implementation. These states are displayed in Figure.
Figure: States of transaction execution
A transaction is started as a program. From the initial state as the transaction is scheduled by the CPU it moves to the Implement state, though, in case of any system error at that point it may also be gone into the Abort state. During the implement transaction changes the data values and database gone to an inconsistent state. On successful completion of transaction it gone to the Commit state where the durability feature of transaction makes sure that the changes will not be lost. In case of any error the transaction moves to Rollback state where all the changes made by the transaction are not done. Therefore, after rollback or commit database is back into consistent state. In case a transaction has been rolled back, it is started as a latest transaction. All these states of the transaction are shown in above Figure.