SQL
20 Best SQL (Database) Management Tools in 2021 [Free/Paid]
{loadposition top-ads-automation-testing-tools} There are many SQL management tools available in...
A Database Transaction is a logical unit of processing in a DBMS which entails one or more database access operation. In a nutshell, database transactions represent real-world events of any enterprise.
All types of database access operation which are held between the beginning and end transaction statements are considered as a single logical transaction in DBMS. During the transaction the database is inconsistent. Only once the database is committed the state is changed from one consistent state to another.
In this tutorial, you will learn:
A database is a shared resource accessed. It is used by many users and processes concurrently. For example, the banking system, railway, and air reservations systems, stock market monitoring, supermarket inventory, and checkouts, etc.
Not managing concurrent access may create issues like:
The various states of a transaction concept in DBMS are listed below:
| State | Transaction types |
| Active State | A transaction enters into an active state when the execution process begins. During this state read or write operations can be performed. |
| Partially Committed | A transaction goes into the partially committed state after the end of a transaction. |
| Committed State | When the transaction is committed to state, it has already completed its execution successfully. Moreover, all of its changes are recorded to the database permanently. |
| Failed State | A transaction considers failed when any one of the checks fails or if the transaction is aborted while it is in the active state. |
| Terminated State | State of transaction reaches terminated state when certain transactions which are leaving the system can't be restarted. |
Let's study a state transition diagram that highlights how a transaction moves between these various states.
ACID Properties are used for maintaining the integrity of database during transaction processing. ACID in DBMS stands for Atomicity, Consistency, Isolation, and Durability.
Below is an example of ACID property in DBMS:
Transaction 1: Begin X=X+50, Y = Y-50 END Transaction 2: Begin X=1.1*X, Y=1.1*Y END
Transaction 1 is transferring $50 from account X to account Y.
Transaction 2 is crediting each account with a 10% interest payment.
If both transactions are submitted together, there is no guarantee that the Transaction 1 will execute before Transaction 2 or vice versa. Irrespective of the order, the result must be as if the transactions take place serially one after the other.
Based on Application areas
Based on Actions
Based on Structure
A Schedule is a process creating a single group of the multiple parallel transactions and executing them one by one. It should preserve the order in which the instructions appear in each transaction. If two transactions are executed at the same time, the result of one transaction may affect the output of other.
Example
Initial Product Quantity is 10 Transaction 1: Update Product Quantity to 50 Transaction 2: Read Product Quantity
If Transaction 2 is executed before Transaction 1, outdated information about the product quantity will be read. Hence, schedules are required.
Parallel execution in a database is inevitable. But, Parallel execution is permitted when there is an equivalence relation amongst the simultaneously executing transactions. This equivalence is of 3 Types.
RESULT EQUIVALENCE:
If two schedules display the same result after execution, it is called result equivalent schedule. They may offer the same result for some value and different results for another set of values. For example, one transaction updates the product quantity, while other updates customer details.
View Equivalence
View Equivalence occurs when the transaction in both the schedule performs a similar action. Example, one transaction inserts product details in the product table, while another transaction inserts product details in the archive table. The transaction is the same, but the tables are different.
CONFLICT Equivalence
In this case, two transactions update/view the same set of data. There is a conflict amongst transaction as the order of execution will affect the output.
Serializability is the process of search for a concurrent schedule who output is equal to a serial schedule where transaction ae execute one after the other. Depending on the type of schedules, there are two types of serializability:
{loadposition top-ads-automation-testing-tools} There are many SQL management tools available in...
SQL stands for Structured Query Language is a domain specific programming language for managing...
What is BULK COLLECT? BULK COLLECT reduces context switches between SQL and PL/SQL engine and...
What are Loops? Loops allows a certain part of the code in a program to get executed for the...
What is WHERE Clause in MySQL? WHERE Clause in MySQL is a keyword used to specify the exact...
PL/SQL Tutorial Oracle PL/SQL is an extension of SQL language, designed for seamless processing of SQL...