Data Modeling 101: Designing databases
Database design for university students: find entities and attributes in a business description, choose keys, draw one-to-many and many-to-many relationships, decide what is optional, normalize to 3NF, find the bug in a model, and finally run your own model on real data. No SQL needed beforehand.
- Beginner
- About 8 to 10 hours
- 11 sections
- 37 lessons
Sign in with Google or GitHub and the course opens in the Academy with the same account.

Course outline
Section 1
Getting started
Where are you now?
Check · 10 min
What a data model is, and how this course teaches it
Lesson · 8 min
Section 2
The messy spreadsheet
One spreadsheet for the whole library
Lesson · 6 min
Three anomalies, then a split
Practice · 15 min
Looking back at chapter 1
Lesson · 5 min
Section 3
Entities and attributes
Read the brief, pick the nouns
Lesson · 7 min
What the registrar needs to remember
Practice · 12 min
Title or copy?
Practice · 10 min
Looking back at chapter 2
Lesson · 5 min
Section 4
Keys
What tells one row from another
Lesson · 8 min
Keys chosen wrong
Practice · 12 min
The university's database
Practice · 10 min
Looking back at chapter 3
Lesson · 5 min
Section 5
Relationships and cardinality
One or many?
Lesson · 8 min
Decide with examples
Practice · 12 min
Draw the university's frame
Practice · 15 min
Looking back at chapter 4
Lesson · 5 min
Section 6
Many-to-many and junction tables
When both sides are "many"
Lesson · 8 min
Clubs
Practice · 8 min
Offerings, courses, clubs
Practice · 12 min
Rows multiply in a join
Practice · 8 min
Looking back at chapter 5
Lesson · 5 min
Section 7
Optional or required
Can there be none?
Lesson · 8 min
Counterexamples
Practice · 12 min
The timetable
Practice · 15 min
Looking back at chapter 6
Lesson · 5 min
Section 8
Normalization to 3NF
Every fact depends on the right key
Lesson · 10 min
The online shop's order sheet
Practice · 18 min
Looking back at chapter 7
Lesson · 5 min
Section 9
Find the bug
The mistakes beginners make
Lesson · 7 min
Four models, four bugs
Practice · 18 min
Looking back at chapter 8
Lesson · 5 min
Section 10
The runnable model
Requirements are tests
Lesson · 6 min
A food delivery app
Practice · 25 min
Project: design for a new business
Project · 60 min
How far have you come?
Check · 10 min
Looking back at the course
Lesson · 8 min
Section 11
Final exam
Final exam
Quiz · 30 min
After the exam
Lesson · 5 min
