The precedence graph turns conflicts into transaction ordering edges.

highlighted = computed this step

The precedence graph

The precedence graph has one node per transaction. An edge appears when an earlier conflicting operation forces one transaction before another. Note: graph edges are recomputed from the schedule order.

precedence graph\text{precedence graph}

Graph from schedule

The graph has 2 nodes and 1 edge. Note: the schedule above and graph below are one compiled scene.

nodes=2,edges=1\text{nodes}=2,\quad \text{edges}=1

conflict-serializability is an exact SUFFICIENT criterion; a cyclic precedence graph is provably not conflict-serializable; view-serializability, lock scheduling, and recovery are beyond these tiny traces - no product claims.

Precedence graphstepT1T20R(A)1R(B)2W(A)3W(A) conflict-serializable: yes; topo: T1,T2T1T2

Summary

A precedence graph condenses operation conflicts into transaction ordering constraints. Note: conflict-serializability is exact here; view-serializability, locks, and recovery are deferred.

graph summary\text{graph summary}