2D Data Anomaly Simulator: Normalized vs Denormalized Schemas
A flat 2D table view of the same normalization anomaly mechanics as the 3D version: run insert, update and delete operations against a denormalized table and its 3NF-normalized equivalent, watch anomalies appear live, and chart them over time.
The flat, canvas-drawn counterpart to the 3D version: a denormalized Employee table stores each department's phone number redundantly on every row that references it — a textbook transitive dependency. This simulator draws that table side by side with its normalized 3NF equivalent (a separate Department table joined by foreign key) and lets you run the same insert, update and delete operations against both at once, either by hand or on autoplay. Update a department's phone and only the first denormalized row gets rewritten, leaving the rest visibly stale in red; delete the last employee of a department and the denormalized copy loses the department's phone number outright, while the normalized Department row — never touched by an Employee delete — keeps it forever. A live strip chart plots denormalized anomalies, data-loss events and redundant copies over the whole run, while the normalized counters stay pinned at zero.
A flat 2D table view of the same normalization mechanics as the 3D version: run insert, update and delete operations against a denormalized table and its 3NF-normalized equivalent, watch update, insert and delete anomalies appear live, and chart anomalies, redundant copies and data-loss events over time. Sliders control department count, table capacity and autoplay speed; click any denormalized row to delete it directly.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install