COP 4708 · Database Design · Normalization Lab

Split & Prove

One flat spreadsheet. Pull it apart into tables that hold every fact exactly once — and prove your design survives the join.

The client's spreadsheet

Business rules the client gave you

A dependency is a rule about the business, not a pattern in seven rows. The rows can disprove a dependency. They can never prove one.

    Begin

    How to play

    1. Make a table, then drag columns from the palette into it. Columns may appear in more than one table — that is how foreign keys work.

    2. Click the key marker on a column to put it in that table's primary key.

    3. Each table is checked live against the rules. A determinant that is not a superkey is a BCNF violation — the card tells you which rows prove it.

    4. You may also invent a surrogate key on any table. That is legitimate design, and it is scored as valid.