On this page
Troubleshooting · Block 1 · Week 3 · Databases and domain modelling
When a check is a cross
Every cross in the lab names a table or a column. Read it, fix that one thing, check again.
01The Crosses You Should Expect
No table for …
The brief names a thing you have not given a table, or your table's name is too far from it (the checker accepts singular, plural and common synonyms).
FixAdd the table, or rename yours to the noun the brief uses.
… has no key
No column is marked key. Every row needs an address so other rows can point at it.
FixAdd an id column and tick key. The builder does this for every new table; you removed it.
… has no pointer to …
The link exists in the brief but not in your tables. The many side needs a column holding the other table's key.
FixOn the many side, add a column named the other table singular plus _id, tick points to, and pick the table.
… is a pointer but does not point to …
You ticked points to but left the dropdown on "which table?", or picked the wrong one.
FixOpen the dropdown under the column and pick the table the brief names. If it is not in the list, that table has no name yet.
… should be a pointer to …
The column is there, with the right name, but it is a plain column. A name alone does not make a link.
FixTick points to on it and pick the table.
… points the wrong way
The one side carries a pointer to its many side: a pet_id on owners. One cell cannot hold many pets.
Remove that column. The many side already carries the link.
Link missing: …
The table is there but has no pointer to the other side.
FixSame as "has no pointer to": add the column on the many side, tick points to, pick the table.
… must be marked unique
The brief says exactly one row per parent (one summary per post). A plain pointer allows many.
FixTick unique on the pointer column. A second row for the same parent is then refused.
… is missing …, and that is the point of this brief
The one column the brief is about (quantity, grade, start date, status) is not on the table where it belongs.
FixRe-read the brief's last line. The column describes exactly that row, usually the pairing row.
Two tables share the name … / … has two columns called …
Rename or remove the duplicate. Pointers cannot tell twins apart.
… is a pointer with no table to point at
The dropdown is still on "which table?", or the table it pointed at was deleted or renamed.
FixPick the table again.
… could use a … column
A suggestion, shown with a dot. It never blocks done.
FixAdd it if the brief's product would need it. Otherwise ignore.
02The Lab Itself
My progress disappeared
The lab saves in this browser on this device. A private window, another browser, cleared site data or another device starts empty.
FixUse the same browser. Take your screenshots as you go.
The reveal will not open
Write at least a few words in the box above it. It opens as soon as there is an answer.
Section 5 shows dashed boxes
Section 5 only draws what you placed. A dashed table or column is one you have not tagged, placed or linked yet.
FixClick "place it" on the dashed piece; it takes you to the section that places it.
What do I do with the downloaded sheets?
One CSV per table, with two sample rows. Open them in Google Sheets or Excel to see your model as sheets.
I want to start over
"Start again" on a builder resets only that brief. "Reset the whole lab" at the bottom of section 7 wipes everything on this device, including checkpoints.
03Still Stuck
Put the cross beside your tables and fix only the one table or column it names. If it still fails, reread the matching section of the notes, then rebuild the brief from "Start again". More: notes · practice set.