All courses
DMOD 101FreeData Analysis

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
Start learning

Sign in with Google or GitHub and the course opens in the Academy with the same account.

Course outline

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. Section 11

    Final exam

    • Final exam

      Quiz · 30 min

    • After the exam

      Lesson · 5 min