codingstuff.io
ExploreTutorialsProblemsCS Subjects
Get Started
ExploreTutorialsProblemsCS Subjects
Get Started
codingstuff.io

Master the art of building software through interactive tutorials, real-world problems, and guided projects.

Pune, Maharashtra, India

codingstuffmail@gmail.com

Product

  • Explore
  • Tutorials
  • Problems
  • CS Subjects

Company

  • About
  • Contact
  • Privacy Policy
  • Terms & Conditions
  • Sitemap

© 2026 codingstuff.io. All rights reserved.

Built with ❤️ for developers everywhere

/
/
All Subjects
🗄️

DBMS

23 chapters

1Intro & 3-Schema Architecture2ER Model & Diagrams3Generalization, Specialization & Aggregation4Relational Model & Codd's Rules5Relational Algebra6Tuple & Domain Relational Calculus7SQL: DDL, DML, DCL8Advanced SQL (Joins, Aggregates)9Views, Triggers & Stored Procedures10Functional Dependencies11Normalization (1NF, 2NF, 3NF)12BCNF & Lossless Decomposition13Transaction Concepts & ACID14Conflict & View Serializability15Concurrency Control & Locks162-Phase Locking (2PL)17Timestamp-Based Protocols18Indexing (Primary, Clustering)19B-Trees & B+ Trees20Hashing Techniques in DBMS21Database Recovery Techniques22NoSQL Databases Overview23Data Warehousing Concepts
SubjectsDBMS

Conflict & View Serializability

Updated 2026-04-27
2 min read

Conflict & View Serializability

When multiple transactions execute concurrently, the interleaved order of their operations is called a Schedule. A schedule is Serializable if its effect is equivalent to executing the transactions one after another (serially). Serializability is the gold standard for correctness.

1. Conflict Serializability

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

A schedule is Conflict Serializable if it can be transformed into a serial schedule by swapping non-conflicting adjacent operations.

Testing with a Precedence Graph:

  1. Create a node for each transaction.
  2. Add a directed edge from $T_i$ to $T_j$ if $T_i$ has an operation that conflicts with an operation of $T_j$ and $T_i$'s operation comes first.
  3. If the precedence graph has no cycles, the schedule is conflict serializable. The topological sort of the graph gives the equivalent serial order.

2. View Serializability

A schedule $S$ is View Serializable if it is view equivalent to some serial schedule. View equivalence requires three conditions for every data item:

  1. If $T_i$ reads the initial value in the serial schedule, $T_i$ must also read the initial value in $S$.
  2. If $T_i$ reads a value written by $T_j$ in the serial schedule, $T_i$ must also read the value written by $T_j$ in $S$.
  3. The final write on each data item must be by the same transaction in both schedules.

Key Difference: Every conflict serializable schedule is also view serializable, but NOT vice versa. View serializability is a superset. However, testing view serializability is NP-complete, so databases use conflict serializability in practice.

3. Recoverable and Cascadeless Schedules

  • Recoverable Schedule: If $T_j$ reads a value written by $T_i$, then $T_i$ must commit before $T_j$ commits.
  • Cascadeless Schedule: $T_j$ reads a value written by $T_i$ only after $T_i$ has committed. This prevents cascading rollbacks where one aborted transaction forces the rollback of many others.


PreviousTransaction Concepts & ACIDNextConcurrency Control & Locks

Recommended Gear

Transaction Concepts & ACIDConcurrency Control & Locks