DBMS Concepts

DBMS Tutorial Components of DBMS. Applications of DBMS The difference between file system and DBMS. Types of DBMS DBMS Architecture DBMS Schema Three Schema Architecture. DBMS Languages.

DBMS ER Model

ER model: Entity Relationship Diagram (ERD) Components of ER Model. DBMS Generalization, Specialization and Aggregation.

DBMS Relational Model

Codd’s rule of DBMS Relational DBMS concepts Relational Integrity Constraints DBMS keys Convert ER model into Relational model Difference between DBMS and RDBMS Relational Algebra DBMS Joins

DBMS Normalization

Functional Dependency Inference Rules Multivalued Dependency Normalization in DBMS: 1NF, 2NF, 3NF, BCNF and 4NF

DBMS Transaction

What is Transaction? States of transaction ACID Properties in DBMS Concurrent execution and its problems DBMS schedule DBMS Serializability Conflict Serializability View Serializability Deadlock in DBMS Concurrency control Protocols

Difference

Difference between DFD and ERD

Misc

Advantages of DBMS Disadvantages of DBMS Data Models in DBMS Relational Algebra in DBMS Cardinality in DBMS Entity in DBMS Attributes in DBMS Data Independence in DBMS Primary Key in DBMS Foreign Key in DBMS Candidate Key in DBMS Super Key in DBMS Aggregation in DBMS Hashing in DBMS Generalization in DBMS Specialization in DBMS View in DBMS File Organization in DBMS What Is A Cloud Database What Is A Database Levels Of Locking In DBMS What is RDBMS Fragmentation in Distributed DBMS What is Advanced Database Management System Data Abstraction in DBMS Checkpoint In DBMS B Tree in DBMS BCNF in DBMS Advantages of Threaded Binary Tree in DBMS Advantages of Database Management System in DBMS Enforcing Integrity Constraints in DBMS B-Tree Insertion in DBMS B+ Tree in DBMS Advantages of B-Tree in DBMS Types of Data Abstraction in DBMS Levels of Abstraction in DBMS 3- Tier Architecture in DBMS Anomalies in Database Management System Atomicity in Database Management System Characteristics of DBMS DBMS Examples Difference between Relational and Non-Relational Databases Domain Constraints in DBMS Entity and Entity set in DBMS ER Diagram for Banking System in DBMS ER Diagram for Company Database in DBMS ER Diagram for School Management System in DBMS ER Diagram for Student Management System in DBMS ER Diagram for University Database in DBMS ER Diagram of Company Database in DBMS Er Diagram Symbols and Notations in DBMS How to draw ER-Diagram in DBMS Integrity Constraints in DBMS Red-Black Tree Deletion in DBMS Red-Black Tree Properties in DBMS Red-Black Tree Visualization in DBMS Redundancy in Database Management System Secondary Key in DBMS Structure of DBMS 2-Tier Architecture in DBMS Advantages and Disadvantages of Binary Search Tree Closure of Functional Dependency in DBMS Consistency in Database Management System Durability in Database Management System ER Diagram for Bank Management System in DBMS ER Diagram for College Management System in DBMS ER Diagram for Hotel Management System in DBMS ER Diagram for Online Shopping ER Diagram for Railway Reservation System ER Diagram for Student Management System in DBMS Isolation in DBMS Lossless Join and Dependency Preserving Decomposition in DBMS Non-Key Attributes in DBMS Data Security Requirements in DBMS DBMS functions and Components What is Homogeneous Database? DBMS Functions and Components Advantages and Disadvantages of Distributed Database Relational Database Schema in DBMS Relational Schema

Concurrent Execution of Transaction

In the transaction process, a system usually allows executing more than one transaction simultaneously. This process is called a concurrent execution.

Advantages of concurrent execution of a transaction

  1. Decrease waiting time or turnaround time.
  2. Improve response time
  3. Increased throughput or resource utilization.

Concurrency problems

Several problems can occur when concurrent transactions are run in an uncontrolled manner, such type of problems is known as concurrency problems.

There are following different types of problems or conflicts which occur due to concurrent execution of transaction:

1. Lost update problem (Write – Write conflict)

This type of problem occurs when two transactions in database access the same data item and have their operations in an interleaved manner that makes the value of some database item incorrect.

If there are two transactions T1 and T2 accessing the same data item value and then update it, then the second record overwrites the first record.

Example: Let's take the value of A is 100

Time Transaction T1 Transaction T2
t1 Read(A)  
t2 A=A-50  
t3   Read(A)
t4   A=A+50
t5 Write(A)  
t6   Write(A)

Here,

  • At t1 time, T1 transaction reads the value of A i.e., 100.
  • At t2 time, T1 transaction deducts the value of A by 50.
  • At t3 time, T2 transactions read the value of A i.e., 100.
  • At t4 time, T2 transaction adds the value of A by 150.
  • At t5 time, T1 transaction writes the value of A data item on the basis of value seen at time t2 i.e., 50.
  • At t6 time, T2 transaction writes the value of A based on value seen at time t4 i.e., 150.
  • So at time T6, the update of Transaction T1 is lost because Transaction T2 overwrites the value of A without looking at its current value.
  • Such type of problem is known as the Lost Update Problem.

Dirty read problem (W-R conflict)

This type of problem occurs when one transaction T1 updates a data item of the database, and then that transaction fails due to some reason, but its updates are accessed by some other transaction.

Example: Let's take the value of A is 100

Time Transaction T1 Transaction T2
t1 Read(A)  
t2 A=A+20  
t3 Write(A)                  
t4   Read(A)
t5   A=A+30
t6   Write(A)
t7 Write(B)  

Here,

  • At t1 time, T1 transaction reads the value of A i.e., 100.
  • At t2 time, T1 transaction adds the value of A by 20.
  • At t3 time, T1transaction writes the value of A (120) in the database.
  • At t4 time, T2 transactions read the value of A data item i.e., 120.
  • At t5 time, T2 transaction adds the value of A data item by 30.
  • At t6 time, T2transaction writes the value of A (150) in the database.
  • At t7 time, a T1 transaction fails due to power failure then it is rollback according to atomicity property of transaction (either all or none).
  • So, transaction T2 at t4 time contains a value which has not been committed in the database. The value read by the transaction T2 is known as a dirty read.

Unrepeatable read (R-W Conflict)

It is also known as an inconsistent retrieval problem. If a transaction T1 reads a value of data item twice and the data item is changed by another transaction T2 in between the two read operation. Hence T1 access two different values for its two read operation of the same data item.

Example: Let's take the value of A is 100

Time Transaction T1 Transaction T2
t1 Read(A)  
t2   Read(A)
t3   A=A+30
t4   Write(A)
t5 Read(A)  

Here,

  • At t1 time, T1 transaction reads the value of A i.e., 100.
  • At t2 time, T2transaction reads the value of A i.e., 100.
  • At t3 time, T2 transaction adds the value of A data item by 30.
  • At t4 time, T2 transaction writes the value of A (130) in the database.
  • Transaction T2 updates the value of A. Thus, when another read statement is performed by transaction T1, it accesses the new value of A, which was updated by T2. Such type of conflict is known as R-W conflict.