This document discusses database transactions and their properties. It defines a transaction as a logical unit of work on a database that must fully succeed or fail as an atomic operation. The key properties of transactions are outlined as ACID properties - Atomicity, Consistency, Isolation, and Durability. An example is given of a funds transfer transaction between two bank accounts. Transaction control statements in MySQL like START TRANSACTION, COMMIT, SAVEPOINT, and ROLLBACK are also explained.
This document discusses database transactions and their properties. It defines a transaction as a logical unit of work on a database that must fully succeed or fail as an atomic operation. The key properties of transactions are outlined as ACID properties - Atomicity, Consistency, Isolation, and Durability. An example is given of a funds transfer transaction between two bank accounts. Transaction control statements in MySQL like START TRANSACTION, COMMIT, SAVEPOINT, and ROLLBACK are also explained.
Informatics Practices Revised as per CBSE Class XII (CBSE Board) Curriculum 2015
Visit www.ip4you.blogspot.com for more….
Authored By:- Rajesh Kumar Mishra, PGT (Comp.Sc.)
Kendriya Vidyalaya Upper Camp, Dehradun (Uttarakhand) e-mail : [email protected] What is Database Transaction? In general, an event of access or modify the record from a database is called Database Transaction. A Transaction is a Logical Unit of Work (LUW) on the database that must succeed or fail entirely. A database transaction may contains several statement or commands but works as an atomic operation on the database. Properties of a Transaction (ACID Properties)
A Transaction possesses the following ACID properties.
Atomicity: (All-or-None) A transaction is executed entirely or none. No any transaction is allowed to run partially. Consistency: A transaction must leave the database in Consistent state after completion. No any transaction is allowed to leave the database in In-consistent state, because before execution it was in consistent state. Integrity: Transaction is an atomic unit, it must be executed independently, no any other transaction should interfere during the execution of a transaction to avoid conflicts. Durability: The changes made by the transaction are permanent in nature i.e. effect of a transaction is recorded permanently. Database Transaction – an example
A transaction may contains several commands like SELECT,
DELETE and UPDATE etc. to perform an specific action (work) on the database. Suppose an amount of 1000/- is transferred from Ajay’ s account (AccountNo 1005) to Mohan’s Account (Account No 1102), in ACCOUNT table, then it can be represented as- Ajay’s Balance is mysql> START TRANSACTION; debited mysql> UPDATE ACCOUNT SET Balance = Balance-1000 Where AccountNo=1005;
mysql> UPDATE ACCOUNT SET Balance = Balance+1000
Where AccountNo=1102; Mohan’s Balance is Mysql> COMMIT; credited Transaction Control Statements in MySQL
MySQL offers the following Transaction handling statements-
START TRANSACTION Represents the start of a transaction. COMMIT [Work] Represents the end of a transaction. It saves all the changes on a database permanently. SAVEPOINT <Savepoint_Name> It creates a flag or mark during the execution of transaction which can be used to cancel the transaction partially, if required. ROLLBACK [To SAVEPOINT <savepoint_Name>] It cancels the effect of a transaction and restores the previous state of the database (works like UNDO operation). A partial rollback can be done using Save Points created in the transaction. Set Autocommit If Autocommit is Enabled , the changes are immediately saved after completion of the command, without using Commit command explicitly. mysql> Set Autocommit=1; (enables Autocommit feature) mysql> Set Autocommit=0; (disables Autocommit feature) Save Points and Rollback of Transactions Save Points are flag or marker created during the execution of transaction which can be used to cancel the transaction partially. Example :
Effects of INSERT & UPDATE Transaction will be Roll-
command upto Savepoint m1 will be backed upto begin of cancelled.. (Partial Rollback) transaction… Autocommit and Rollback MySQL offers AUTOCOMMIT feature, which automatically commits changes immediately after execution of command in the transactions, if it is enabled (i.e. SET AUTOCOMMIT=1) Example : mysql> SET AUTOCOMMIT=0; mysql> SET AUTOCOMMIT=1 mysql> START TRANSACTION; mysql> START TRANSACTION; mysql> INSERT ….. mysql> INSERT INTO………. mysql> ………. Mysql> ….. Mysql> ROLLBACK; Mysql> ROLLBACK;
Record is added and
Record is not inserted, since it automatically committed too… is undone by Rollback (since Autocommit is enabled.) command.
Once a transaction has been committed(saved) by Commit