Conflict Serializable Schedule in DBMS
Conflict Serializable Schedule in DBMS is an important concept in concurrency control. When multiple transactions execute simultaneously, their operations may be interleaved. This improves system performance, but it can also cause data inconsistencies if transactions interfere with each other.
Conflict serializability ensures that a concurrent schedule produces the same result as some serial schedule. In other words, a schedule is conflict serializable if it can be transformed into a serial schedule by swapping operations that do not conflict.
Table of Contents

What is Conflict Serializability in DBMS?
A schedule is called conflict serializable if it is conflict equivalent to a serial schedule.
A serial schedule executes transactions one after another without interleaving their operations. A conflict-serializable schedule may execute transactions concurrently, but its final result is equivalent to some serial execution.
Conflict serializability is useful because it allows DBMSs to obtain the performance benefits of concurrent execution while maintaining database consistency.
Conflicting Operations
Two operations are said to be conflicting operations when all of the following conditions are satisfied:
- They belong to different transactions.
- They operate on the same data item.
- At least one of the operations is a write operation.
There are three common types of conflicting operation pairs:
- Read-Write (R-W): One transaction reads an item while another writes it.
- Write-Read (W-R): One transaction writes an item while another reads it.
- Write-Write (W-W): Two transactions write the same data item.
Two read operations on the same data item do not conflict because neither operation changes the data.
Examples of Conflicting and Non-Conflicting Operations
| Operation Pair | Conflict? | Reason |
|---|---|---|
| R1(A), R2(A) | No | Both operations only read A. |
| R1(A), W2(A) | Yes | Same item and one operation writes. |
| W1(A), R2(A) | Yes | Same item and one operation writes. |
| W1(A), W2(A) | Yes | Both operations write the same item. |
| R1(A), W2(B) | No | They operate on different data items. |
Complete Advance AI Topics: Click Here
SQL Tutorial: Click Here
Conflict Equivalent Schedules
Two schedules are conflict equivalent if they contain the same transactions and preserve the relative order of every pair of conflicting operations.
Non-conflicting operations can be swapped without changing the conflict relationships between transactions.
Therefore, if a schedule can be transformed into a serial schedule by repeatedly swapping adjacent non-conflicting operations, the original schedule is conflict serializable.
How to Check Conflict Serializability?
The easiest and most commonly used method is the precedence graph, also called a serialization graph.
The procedure is:
- Create one node for each transaction.
- Identify every pair of conflicting operations.
- If an operation of T1 occurs before a conflicting operation of T2, draw an edge from T1 → T2.
- Check the resulting graph for cycles.
The result is determined as follows:
- No cycle: The schedule is conflict serializable.
- Cycle present: The schedule is not conflict serializable.
Example of Conflict Serializable Schedule
Consider the following schedule:
S1:
R1(A)
W1(A)
R2(B)
W2(B)
Here, T1 operates on data item A, while T2 operates on data item B. Since the transactions operate on different data items, their operations do not conflict.
Therefore, their operations can be rearranged to produce a serial schedule:
S2:
R1(A)
W1(A)
R2(B)
W2(B)
or:
S3:
R2(B)
W2(B)
R1(A)
W1(A)
Since the operations can be reordered without changing the result, S1 is conflict serializable.
Example Using a Precedence Graph
Consider the following schedule:
S:
R1(A)
W1(A)
R2(A)
W2(A)
Here, T1 performs W1(A) before T2 performs R2(A). These operations conflict, so we create the edge:
T1 → T2
There is no edge from T2 back to T1. Therefore, the precedence graph contains no cycle.
Hence, the schedule is conflict serializable and is equivalent to the serial order:
T1 → T2
Example of a Non-Conflict-Serializable Schedule
Consider:
S:
W1(A)
R2(A)
W2(A)
R1(A)
From W1(A) followed by R2(A), we obtain:
T1 → T2
From W2(A) followed by R1(A), we obtain:
T2 → T1
The resulting precedence graph contains a cycle:
T1 → T2
↑ ↓
└─────┘
Because the graph contains a cycle, the schedule is not conflict serializable.
Conflict Serializability vs View Serializability
| Feature | Conflict Serializability | View Serializability |
|---|---|---|
| Basis | Ordering of conflicting operations | Preservation of read-from and final-write relationships |
| Testing | Can be checked using a precedence graph | Generally more difficult to test |
| Condition | Precedence graph must be acyclic | Schedule must be view equivalent to a serial schedule |
| Relationship | Every conflict-serializable schedule is view serializable | Some view-serializable schedules are not conflict serializable |
Advantages of Conflict Serializability
- Maintains database consistency during concurrent execution.
- Allows transactions to execute concurrently.
- Provides a systematic way to test schedules using precedence graphs.
- Helps prevent problems caused by conflicting transaction operations.
- Provides results equivalent to a safe serial execution.
YT:- DecodeIT
Frequently Asked Questions
Q1. What is a conflict serializable schedule?
A conflict serializable schedule is a schedule that can be transformed into a serial schedule by swapping non-conflicting operations.
Q2. How do you check conflict serializability?
Conflict serializability is commonly checked using a precedence graph. If the graph has no cycle, the schedule is conflict serializable. If it contains a cycle, the schedule is not conflict serializable.
Q3. Which operations conflict in DBMS?
Read-write, write-read, and write-write operations on the same data item belonging to different transactions are conflicting operations.
Q4. Do two read operations conflict?
No. Two read operations on the same data item do not conflict because neither operation modifies the data.
Q5. What is the difference between conflict and view serializability?
Conflict serializability is based on the ordering of conflicting operations, while view serializability is based on whether transactions preserve the same read-from relationships and final writes as a serial schedule.
Key Takeaway
Conflict serializability allows transactions to execute concurrently while ensuring that their execution is equivalent to a serial schedule. The precedence graph provides a simple way to determine whether a schedule is conflict serializable: an acyclic graph means the schedule is conflict serializable, while a cycle means it is not.
Conclusion
Conflict Serializable Schedule in DBMS is a fundamental concept in concurrency control. It provides a balance between transaction concurrency and database consistency by ensuring that a concurrent schedule behaves like a valid serial execution.
Understanding conflicting operations, conflict equivalence, precedence graphs, and cycles makes it easier to analyze transaction schedules and determine whether they are conflict serializable.
Keywords
Conflict Serializable Schedule in DBMS, conflict serializability in DBMS, conflict schedule in DBMS, conflict serializability example, serializable schedule in DBMS, precedence graph in DBMS, conflict equivalent schedules, view serializability in DBMS, difference between conflict and view serializability, concurrency control in DBMS