🗄️ Database Design Lab: Normalization, Indexing & Joins
A 3D relational database you can restructure live: split or merge tables to see normalization trade-offs, toggle a B-tree index, switch between SQL and NoSQL document models, and run a query to watch it traverse rows and joins.
A live, editable 3D database: reshape a small orders schema between normalized and denormalized form, switch between relational and NoSQL document models, toggle a B-tree index, and run a query to watch it physically travel through rows, index nodes and foreign-key joins.
🔬 What It Demonstrates
Normalization removes duplicate data by splitting it across linked tables; denormalizing trades that redundancy for simpler reads. Indexing turns a linear scan into a logarithmic lookup, and NoSQL documents avoid joins by embedding related data directly.
🎮 How to Use
Pick a table structure and data model, set how much data each table holds, toggle the index on or off, then press Run query and watch the glowing pulse trace its path — and read off how many rows it had to examine.
💡 Did You Know?
A composite B-tree index can turn a query that reads millions of rows into one that reads a few dozen — but every index also has to be updated on every write, which is the classic read/write trade-off in database design.
A 3D relational database you can restructure live: split or merge tables to see normalization trade-offs, toggle a B-tree index, switch between SQL and NoSQL document models, and run a query to watch it traverse rows and joins.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install