Transaction
- The transaction is a set of logically related operations. It contains a group of tasks.
- A transaction is an action or series of actions. It is performed by a single user to perform operations for accessing the contents of the database.
Example: Suppose an employee of a bank transfers Rs 800 from X's account to Y's account. This small transaction contains several low-level tasks:
X's Account
Y's Account
Operations of Transaction:
Following are the main operations of transaction:
Read(X): Read operation is used to read the value of X from the database and store it in a buffer in the main memory.
Write(X): Write operation is used to write the value back to the database from the buffer.
Let's take an example of debit transaction from an account that consists of the following operations:
Let's assume the value of X before starting o the transaction is 4000.
- The first operation reads X's value from the database and stores it in a buffer.
- The second operation will decrease the value of X by 500. So the buffer will contain 3500.
- The third operation will write the buffer's value to the database. So X's final value will be 3500.
But it may be possible that because of the failure of hardware, software or power, etc. that transaction may fail before finished all the operations in the set.
For example: If in the above transaction, the debit transaction fails after executing operation 2 then X's value will remain at 4000 in the database which is not acceptable by the bank.
To solve this problem, we have two important operations:
Commit: It is used to save the work done permanently.
Rollback: It is used to undo the work done.