Advantages of using a Transaction

  • Maintains a consistent and valid database after each transaction.
  • Makes certain that updates to the database don’t affect its dependability or accuracy.
  • Enables simultaneous use of numerous users without sacrificing data consistency.

Transaction Management

Transactions are a set of operations used to perform a logical set of work. It is the bundle of all the instructions of a logical operation. A transaction usually means that the data in the database has changed. One of the major uses of DBMS is to protect the user’s data from system failures. It is done by ensuring that all the data is restored to a consistent state when the computer is restarted after a crash. The transaction is any one execution of the user program in a DBMS. One of the important properties of the transaction is that it contains a finite number of steps. Executing the same program multiple times will generate multiple transactions. 

Example: Consider the following example of transaction operations to be performed to withdraw cash from an ATM vestibule.

 Steps for ATM Transaction 

  1.  Transaction Start.
  2.  Insert your ATM card.
  3.  Select a language for your transaction.
  4.  Select the Savings Account option. 
  5.  Enter the amount you want to withdraw. 
  6.  Enter your secret pin.
  7.  Wait for some time for processing.
  8.  Collect your Cash.
  9.  Transaction Completed.

A transaction can include the following basic database access operation.

  • Read/Access data (R): Accessing the database item from disk (where the database stored data) to memory variable.
  • Write/Change data (W): Write the data item from the memory variable to the disk.
  • Commit: Commit is a transaction control language that is used to permanently save the changes done in a transaction

Example: Transfer of 50₹ from Account A to Account B. Initially A= 500₹, B= 800₹. This data is brought to RAM from Hard Disk. 

R(A) -- 500       // Accessed from RAM.
A = A-50 // Deducting 50₹ from A.
W(A)--450 // Updated in RAM.
R(B) -- 800 // Accessed from RAM.
B=B+50 // 50₹ is added to B's Account.
W(B) --850 // Updated in RAM.
commit // The data in RAM is taken back to Hard Disk.

Stages of Transaction

Note: The updated value of Account A = 450₹ and Account B = 850₹. 

All instructions before committing come under a partially committed state and are stored in RAM. When the commit is read the data is fully accepted and is stored on a Hard Disk. 

If the transaction is failed anywhere before committing we have to go back and start from the beginning. We can’t continue from the same state. This is known as Roll Back

Similar Reads

Desirable Properties of Transaction (ACID Properties)

For a transaction to be performed in DBMS, it must possess several properties often called ACID properties....

Transaction States

Transactions can be implemented using SQL queries and Servers. In the diagram, you can see how transaction states work....

Implementing of Atomicity and Durability

The recovery-management component of a database system can support atomicity and durability by a variety of schemes....

Transaction Isolation Levels in DBMS

Some other transaction may also have used value produced by the failed transaction. So we also have to rollback those transactions.The SQL standard defines four isolation levels:...

Failure Classification

To find that where the problem has occurred, we generalize a failure into the following categories:...

Serializability

It is an important aspect of Transactions. In simple meaning, you can say that serializability is a way to check whether two transactions working on a database are maintaining database consistency or not....

Schedule

Schedule, as the name suggests is a process of lining the transactions and executing them one by one. When there are multiple transactions that are running in a concurrent manner and the order of operation is needed to be set so that the operations do not overlap each other, Scheduling is brought into play and the transactions are timed accordingly....

Uses of Transaction Management

The DBMS is used to schedule the access of data concurrently. It means that the user can access multiple data from the database without being interfered with by each other. Transactions are used to manage concurrency.  It is also used to satisfy ACID properties.  It is used to solve Read/Write Conflicts.  It is used to implement Recoverability, Serializability, and Cascading.  Transaction Management is also used for Concurrency Control Protocols and the Locking of data....

Advantages of using a Transaction

Maintains a consistent and valid database after each transaction. Makes certain that updates to the database don’t affect its dependability or accuracy. Enables simultaneous use of numerous users without sacrificing data consistency....

Disadvantages of using a Transaction

It may be difficult to change the information within the transaction database by end-users.  We need to always roll back and start from the beginning rather than continue from the previous state....

Conclusion

In DBMSs, transaction management is crucial to preserving data integrity. To guarantee dependable operations, it upholds the ACID (Atomicity, Consistency, Isolation, Durability) qualities. A key component of reliable database systems, transactions enable the grouping of several processes into a single unit while providing data consistency and security against concurrent access....