How to use this guide
Where this guide comes from. It follows the course's published description (storing and organizing business data in relational databases, and then getting insight from it with analytics techniques) and the standard topics for a data management course. Instructors' emphasis, SQL dialect and notation vary: check your own course outline.
The order. 01 to 03 are about designing a database: tables and keys, entity-relationship diagrams and normalization. 04 to 07 are SQL: reading data, summarizing it, combining tables and changing it. 08 and 09 move from running a business to analyzing it: data warehouses and star schemas, then analytics, charts, data quality and governance.
One small database, used everywhere. The labs share a tiny climbing-gym database, the Ridgeline tables: members, coaches, classes and bookings. It is small enough to hold in your head, so you can work out any query by hand. Open it in any lab and keep it beside you while you read.
Inside a topic: read the idea, look at the syntax, open the worked example and follow every step. Close it and redo it on paper. Then use the lab, and finish with the traps. Most database mistakes are small ones (a NULL, a missing join condition, a WHERE where HAVING belongs), so the traps are worth reading twice.
Notation used here: table and column names are written like_this; SQL keywords in capitals. Examples use standard SQL that runs in most systems; where a common dialect differs (for example LIMIT versus TOP), the guide says so. A primary key is shown underlined in diagrams and marked PK in words; a foreign key is FK.
Then practise. The Drill, the multiple-choice bank and the flashcards are all levelled:
| Level | What it asks | Example |
|---|---|---|
| Beginner | A definition, or one step: spot a key, count the rows a simple WHERE keeps | Which column links bookings to members? |
| Intermediate | A standard problem in a few steps | How many groups does GROUP BY produce, and what does a NULL do to a comparison? |
| Exam level | A full exam-style question that strings several steps together | Normalize a table to 3NF, or count the rows of a LEFT JOIN |
| Hard | Twists: NULL traps, working backwards, combined clauses | Why NOT IN returns nothing when the list contains a NULL |
The question generator starts on Auto: it begins at Beginner and moves up a level after three correct answers in a row. You can pick a level yourself at any time. The multiple-choice bank and flashcards are ordered from easy to hard, so working through them in order builds each idea from the ground up.
Lab and generator answers were computed by a script and re-checked by running the same queries in a real SQL database engine. A typed answer for a text box ignores capitals, spaces and hyphens.
Exam format, weight and allowed aids differ between sections and terms. Check your own course outline.
Sign in to open the full guide
This is the first section. The full guide has every topic, the labs and the practice questions.
Create an account · Forgot password, or no password yet? Got a code link from your class? Open it and it will ask you to sign in.