SQL · ERDs · Normalization

Ten minutes of database practice a day.

A new SQL challenge every day on realistic business data, ERD drills in Crow's Foot notation, and normalization step by step. Every answer is checked instantly, with feedback that tells you what to fix.

Free while in pilot. Runs in your browser, nothing to install.

c05_customers_per_country.sqlGROUP BY
SELECT country, COUNT(*) AS customers
FROM customers
GROUP BY country
ORDER BY customers DESC, country;
✓
CorrectYour result matches. Streak: 4 days.
countrycustomers
United States12
United Kingdom9
Portugal8
Canada7
Kenya6

Showing 5 of 7 rows.

01 · Daily challenge

Write a query, get told exactly what's wrong

Twelve challenges from SELECT to window functions on a sample computer store. The checker spots the difference: wrong row count, right rows in the wrong order, columns swapped. Keep your streak going with a new challenge each day.

Browse the challenges →

02 · ERD Lab

Learn to draw ERDs from a case study

Read the Crow's Foot symbols, drill one skill at a time, then draw a full diagram. Feedback covers each entity, every cardinality and where the keys belong.

Entities in the Campus event tickets case studyVenueEventTicketStudent
See the case studies →

03 · Normalization

From a messy spreadsheet to 3NF

Watch real tables move from unnormalized form to Third Normal Form, with the problem columns highlighted at each step. Then open the finished schema and query it.

Read the worked example →

For lecturers

Built by a database lecturer, for database classes

Students practise the topics they struggle with most, at their own pace, with feedback you'd otherwise give by hand. A class dashboard for assigning work and tracking progress is in development with pilot lecturers.

  • 12 auto-checked SQL challenges
  • 3 graded ERD case studies
  • 12 cardinality and keys drills
  • 4 guides with worked examples

Start with a guide