Serializability in DBMS: Conflict & View Serializability With Schedule Examples

DBMS Chapter 20 · Schedule Forensics Lab
Serializability in DBMS: Conflict & View Serializability With Schedule Examples

Serializability is a correctness rule for concurrent transaction schedules. A non-serial schedule is considered serializable when its final effect is equivalent to some serial execution of the same transactions. The two major forms are conflict serializability and view serializability. Conflict serializability is tested with conflicting operations and a precedence graph, while view serializability compares initial reads, read-from relationships and final writes. This chapter explains schedules, conflicts, precedence graphs, blind writes and solved schedule problems in very easy language.

Schedule basics Conflict graph method View serializability Blind writes Interactive schedule analyzer Checked: 19 September 2026
Quick answer first

What Is Serializability in DBMS?

Serializability is the property that makes a concurrent schedule behave like some serial schedule. Transactions may be interleaved for better performance, but the result should still be logically equivalent to executing those transactions one after another in a safe order.

Suppose T1 and T2 run at the same time. A serial schedule would complete all operations of T1 before T2, or all of T2 before T1. A serializable non-serial schedule may mix their operations, but its effect must still match one valid serial order.

Memory line

Concurrent execution + serial-like correctness = serializability

Before this chapter, revise Transactions & ACID Properties in DBMS because serializability mainly protects the Isolation part of ACID.

First learn the notation

How to Read a Transaction Schedule

DBMS books usually use short notation:

R1(X)Transaction T1 reads data item X.
W1(X)Transaction T1 writes data item X.
R2(Y)Transaction T2 reads data item Y.
W2(Y)Transaction T2 writes data item Y.
C1Transaction T1 commits.
A1Transaction T1 aborts.

Example schedule:

R1(X), W1(X), R2(X), W2(X)

The subscript tells you which transaction performs the operation.

Schedule basics

What Is a Schedule in DBMS?

A schedule is the order in which operations from one or more transactions are executed, while preserving the original order of operations inside each individual transaction.

Suppose:

T1: R1(X), W1(X)
T2: R2(X), W2(X)

One schedule may be:

R1(X)Step 1
W1(X)Step 2
R2(X)Step 3
W2(X)Step 4

Another schedule may interleave their operations. The DBMS must decide whether such interleaving is safe.

Serial vs concurrent

Serial Schedule and Non-Serial Schedule

Serial Schedule

One transaction finishes completely before the next transaction starts.

T1 complete
then
T2 complete

Non-Serial Schedule

Operations from multiple transactions are interleaved.

T1 operation
T2 operation
T1 operation
T2 operation

Serial schedules are easy to reason about but may waste concurrency. Non-serial schedules improve resource use, but only safe ones should be allowed.

The real goal

Why Do We Need Serializability?

Running every transaction serially can reduce throughput because one transaction may wait while another is using a different resource. Concurrency improves performance, but careless interleaving can create wrong results.

Better CPU and I/O useOne transaction can make progress while another waits.
Higher throughputMore transactions can finish in the same time period.
Correctness challengeInterleaving must not produce an unacceptable result.
Serializability goalGet concurrency without losing serial-like correctness.
Part 01 · conflict serializability

What Are Conflicting Operations?

Two operations conflict when they belong to different transactions, access the same data item and at least one of them is a WRITE.

PairSame item?Any WRITE?Conflict?
R1(X), R2(X)YesNoNo
R1(X), W2(X)YesYesYes
W1(X), R2(X)YesYesYes
W1(X), W2(X)YesYesYes
W1(X), R2(Y)NoYesNo
Different transactions + same item + at least one WRITE = conflict
Pictorial conflict example

Why Order Matters for Conflicting Operations

W1(X)

T1 writes X first.

conflict same X, both WRITE

W2(X)

T2 writes X later.

If we swap these two writes, the final value of X may change. That is why their relative order matters.

In contrast, two reads of X can usually swap without changing the database result because neither read modifies X.

Conflict equivalence

What Is Conflict Equivalence?

Two schedules are conflict-equivalent when they contain the same operations and preserve the relative order of every pair of conflicting operations.

A schedule is conflict-serializable if it is conflict-equivalent to some serial schedule.

Conflict serializability shortcut

Can this schedule be rearranged into a serial schedule by swapping only non-conflicting operations?
The easiest test

Precedence Graph or Serialization Graph

The precedence graph is the standard method for testing conflict serializability. Create one node for each transaction and draw a directed edge Ti -> Tj when a conflicting operation of Ti occurs before a conflicting operation of Tj on the same item.

T1Transaction 1
T2Transaction 2
T3Transaction 3
Example edge: T1 -> T2 means T1 must come before T2 in the equivalent serial order.
Acyclic graph = conflict-serializable · Cycle = not conflict-serializable
Graph method step by step

How to Test Conflict Serializability

Write all transactions as nodesCreate T1, T2, T3 and so on.
Scan the schedule from left to rightLook for operations on the same data item.
Ignore read-read pairsR1(X) and R2(X) do not conflict.
Add edges for conflictsIf an operation of Ti comes first, draw Ti -> Tj.
Check for a cycleNo cycle means conflict-serializable.
Find serial orderA topological ordering of the acyclic graph gives an equivalent serial order.
Solved schedule 01

Conflict-Serializable Schedule Example

Consider:

S1:
R1(X)
W1(X)
R2(X)
W2(X)
R1(Y)
W1(Y)

Conflicts on X:

W1(X) before R2(X)  => T1 -> T2
W1(X) before W2(X)  => T1 -> T2
R1(X) before W2(X)  => T1 -> T2

T2 does not access Y, so the later operations of T1 on Y do not create a reverse edge.

Precedence graph: T1 -> T2

There is no cycle. Therefore S1 is conflict-serializable.

Equivalent serial order: T1, then T2
Solved schedule 02

Non-Conflict-Serializable Schedule Example

Consider:

S2:
R1(X)
R2(X)
W1(X)
W2(X)

Now inspect the conflicts:

R2(X) before W1(X)  => T2 -> T1
R1(X) before W2(X)  => T1 -> T2
W1(X) before W2(X)  => T1 -> T2
Graph contains T1 -> T2 and T2 -> T1

This creates a cycle.

Cycle present = not conflict-serializable
Interactive practice

Schedule Analyzer

Click a case to see the schedule, graph idea and serializability result.

Case A: Acyclic conflict graph

R1(X) W1(X) R2(X) W2(X) Edges: T1 -> T2

Verdict

Conflict-serializable The precedence graph has no cycle. The equivalent serial order is T1 then T2.
CONFLICT SERIALIZABLE
Part 02 · view serializability

What Is View Serializability?

A schedule is view-serializable if it is view-equivalent to some serial schedule. View equivalence focuses on which transaction reads the initial value, which write each read gets its value from, and which transaction performs the final write.

View serializability is broader than conflict serializability. Every conflict-serializable schedule is view-serializable, but some view-serializable schedules are not conflict-serializable.

Three view-equivalence conditions

When Are Two Schedules View-Equivalent?

1. Same initial readIf Ti reads the initial value of X in one schedule, it should read the initial value of X in the other schedule too.
2. Same read-from relationIf Ti reads X written by Tj in one schedule, it should read X from Tj in the other schedule too.
3. Same final writerThe transaction that performs the final write on X must be the same in both schedules.
Initial read + same read-from + same final write
Blind write concept

What Is a Blind Write?

A blind write happens when a transaction writes a data item without first reading that item inside the transaction.

W1(X)

If T1 writes X without an earlier R1(X), that write is blind.

Blind writes are important because they create cases that may be view-serializable even when the conflict graph contains a cycle.

Classic view-only example

View-Serializable but Not Conflict-Serializable Example

Consider this schedule:

S3:
W1(X)
W2(X)
W1(X)

All three operations are blind writes.

Conflict test

First W1(X) before W2(X)  => T1 -> T2
W2(X) before final W1(X)  => T2 -> T1

The graph has a cycle, so S3 is not conflict-serializable.

View test

There are no reads, so the initial-read and read-from conditions do not add restrictions. The final write on X is performed by T1.

The serial order T2 then T1 also ends with T1 as the final writer of X.

S3 is view-serializable but not conflict-serializable
Conflict vs view

Conflict Serializability vs View Serializability

PointConflict SerializabilityView Serializability
Main ideaPreserve order of conflicting operationsPreserve read-from behavior and final writes
Common testPrecedence graphView-equivalence conditions
Cycle ruleCycle means not conflict-serializableNo simple cycle test for general view serializability
Blind writesCan create cyclesMay still allow view equivalence
RelationshipEvery conflict-serializable schedule is view-serializableNot every view-serializable schedule is conflict-serializable
Practical useEasier to test and widely used in theory/implementation reasoningMore general but harder to test
A crucial theorem

Relationship Between Conflict and View Serializability

Conflict-serializable

Always view-serializable.

View-serializable

May or may not be conflict-serializable.

Conflict Serializability is a subset of View Serializability
Serial order from graph

How to Find the Equivalent Serial Order

If the precedence graph is acyclic, perform a topological ordering.

Example graph:

T1 -> T2
T1 -> T3
T2 -> T3

A valid serial order is:

T1, T2, T3

If a graph has more than one valid topological order, the schedule may be conflict-equivalent to more than one serial order.

Three-transaction example

Conflict Serializability With T1, T2 and T3

Consider:

S4:
R1(X)
W1(X)
R2(X)
W2(X)
R3(X)
W3(X)

Relevant edges are:

T1 -> T2
T1 -> T3
T2 -> T3

The graph is acyclic.

Equivalent serial order: T1, T2, T3
Serializability is not everything

Serializability vs Recoverability

Serializability and recoverability are different properties. Serializability asks whether concurrent execution is equivalent to a serial execution. Recoverability asks whether commits and reads are ordered safely when one transaction depends on another transaction's data.

Serializability

Focuses on correctness of interleaved operations.

Recoverability

Focuses on safe commit and rollback dependencies.

A schedule should ideally satisfy both the required serializability and recovery properties. Recoverable, cascadeless and strict schedules are usually studied immediately after this topic.

Real-world connection

How Serializability Supports Isolation

The Isolation property of ACID says concurrent transactions should not interfere in an unsafe way. Serializability gives a formal model for this idea by requiring a concurrent schedule to behave like some serial order.

Real DBMS products also provide isolation levels and concurrency-control mechanisms such as locking and MVCC. Some isolation levels may allow behavior that is weaker than full serializability.

For the foundation, revise Transactions & ACID Properties in DBMS.

Schedule problem-solving method

How to Solve Serializability Questions in Exams

Write all transactions clearlyMark R, W and the data item.
Find conflicting operation pairsDifferent transactions, same item, at least one WRITE.
Create graph edgesEarlier conflicting transaction points to the later one.
Check cycleAcyclic means conflict-serializable.
Find serial orderUse topological ordering.
If conflict test failsOnly then consider whether the question asks about view serializability and blind writes.
For view equivalenceCheck initial reads, read-from relations and final writes.
Common mistakes

Serializability Mistakes to Avoid

Treating read-read as a conflictTwo reads on the same item do not conflict.
Ignoring data item namesW1(X) and R2(Y) do not conflict because X and Y are different.
Drawing edges in both directions automaticallyDirection depends on operation order in the schedule.
Stopping after finding edgesYou still need to check whether the graph contains a cycle.
Thinking non-serial means unsafeMany non-serial schedules are serializable.
Thinking every cycle means not view-serializableA cycle proves only that the schedule is not conflict-serializable.
Ignoring blind writesBlind writes are important in view-serializable but not conflict-serializable examples.
Confusing serializability with recoverabilityThey solve different correctness problems.
Exam answer strategy

How to Write Serializability in Semester Exams

2 marks

Definition

Define serializability and mention serial-equivalent concurrent execution.

5 marks

Conflict method

Define conflicts, draw a small precedence graph and explain the cycle rule.

8-10 marks

Full answer

Explain serial/non-serial schedules, conflict serializability, view serializability, graph method, blind writes and solve one schedule.

For better university presentation, use How to Write High-Scoring Answers in University Semester Exams. For deciding which questions need more revision, use the previous-year-paper priority method.

Practice questions

Practice Questions With Answers

1. What is serializability in DBMS?

Serializability is the property that makes a concurrent schedule equivalent in effect to some serial schedule.

2. What is a serial schedule?

A serial schedule completes one transaction before starting the operations of another transaction.

3. When do two operations conflict?

They conflict when they belong to different transactions, access the same data item and at least one operation is a write.

4. What is conflict serializability?

A schedule is conflict-serializable if it is conflict-equivalent to some serial schedule.

5. How do you test conflict serializability?

Build a precedence graph. If the graph is acyclic, the schedule is conflict-serializable.

6. What is view serializability?

A schedule is view-serializable if it is view-equivalent to some serial schedule.

7. What is a blind write?

A blind write occurs when a transaction writes a data item without first reading that item in the transaction.

8. Is every conflict-serializable schedule view-serializable?

Yes. Conflict serializability is a subset of view serializability.

9. Does a cycle in the precedence graph mean the schedule is not view-serializable?

No. A cycle proves that the schedule is not conflict-serializable. Some schedules with blind writes can still be view-serializable.

10. What should I study after serializability?

Study recoverable, cascadeless and strict schedules, then locking protocols, two-phase locking, deadlocks and timestamp-based concurrency control.

60-second revision

Serializability One-Minute Revision Sheet

ScheduleOrder of operations from one or more transactions.
Serial scheduleTransactions execute one after another.
Non-serial scheduleTransaction operations are interleaved.
ConflictDifferent transactions, same item, at least one write.
Conflict serializableConflict-equivalent to a serial schedule.
Precedence graphDirected graph built from conflicting operation order.
Acyclic graphConflict-serializable.
CycleNot conflict-serializable.
View serializableView-equivalent to a serial schedule.
View conditionsInitial read, read-from relation and final writer stay the same.
Blind writeWrite without reading the item first.
RelationshipEvery conflict-serializable schedule is view-serializable.

Ultimate memory line

Conflict = graph and cycles · View = who read from whom and who wrote last
Frequently asked questions

Frequently Asked Questions

What is serializability in DBMS in simple words?

Serializability means a concurrent schedule gives a result equivalent to some correct serial order of the same transactions.

What is conflict serializability?

Conflict serializability means a schedule can be made equivalent to a serial schedule by preserving the order of all conflicting operations.

How do you check conflict serializability?

Create a precedence graph. If the graph has no directed cycle, the schedule is conflict-serializable.

What is view serializability?

View serializability checks whether a schedule has the same initial reads, read-from relationships and final writes as some serial schedule.

What is the difference between conflict and view serializability?

Conflict serializability is based on the order of conflicting operations and can be tested using a precedence graph. View serializability is more general and is based on read-from behavior and final writes.

Can a schedule be view-serializable but not conflict-serializable?

Yes. This can happen in schedules containing blind writes.

Next chapter

What Should You Learn Next?

Tags

Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.
Join Telegram Exam updates and free resources