C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Transaction
Example: Suppose an employee of bank transfers Rs 800 from X's account to Y's account. This small transaction contains several low-level tasks: X's Account Open_Account(X) Old_Balance = X.balance New_Balance = Old_Balance - 800 X.balance = New_Balance Close_Account(X) Y's Account Open_Account(Y) Old_Balance = Y.balance New_Balance = Old_Balance + 800 Y.balance = New_Balance Close_Account(Y) 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 stores it in a buffer in main memory. Write(X): Write operation is used to write the value back to the database from the buffer. Let's take an example to debit transaction from an account which consists of following operations: 1. R(X); 2. X = X - 500; 3. W(X); Let's assume the value of X before starting of the transaction is 4000.
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 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.
Next TopicDBMS Transaction Property
|