Databases for Application Developers

Schema design, indexes and query plans — the parts that decide your latency

4.7(1,988 reviews)27,610 learners

Created by Tomas Lindqvist

Updated March 2026EnglishIntermediate16h 30m108 lectures

What you will learn

  • Design a normalised schema, and know when to denormalise deliberately
  • Choose indexes based on the queries you actually run
  • Read an EXPLAIN plan and act on it
  • Understand transactions, isolation levels and the anomalies each one allows
  • Handle migrations on a live table without downtime
  • Recognise the N+1 query and other ORM traps

Course content

13 sections · 108 lectures · 16h 30m total length

  • What this course covers, and what it does notPreview04:00
  • How to get the most out of itPreview04:00
  • Setting up and downloading the exercise files06:00

  • Relational modellingPreview04:00
  • Relational modelling in detail12:00
  • A closer look at relational modelling07:00
  • Worked example: relational modelling15:00
  • Where relational modelling goes wrong09:00
  • Exercise: relational modelling04:00
  • Relational modelling in practice12:00
  • Two approaches to relational modelling08:00
  • Relational modelling — questions from previous students05:00
  • Reviewing your work on relational modelling13:00

Topics covered

Relational modellingNormalisation and its limitsHow indexes workComposite and partial indexesReading query plansJoins and their costsTransactions and isolationLocking and contentionZero-downtime migrationsConnection poolingCaching layers

Requirements

  • You have used SQL through an ORM or directly
  • Access to a local PostgreSQL instance (setup is covered)

Description

Application developers usually meet the database as an ORM call that got slow. This course goes underneath it: how rows are stored, what an index really does, and how to read a query plan so that optimisation stops being folklore.

Your instructor

TL
Tomas Lindqvist

Backend architect — Node, Go and everything between

4.7 instructor rating81,780 learners3 courses

Tomas builds systems that other systems depend on. He teaches backend the way he practises it: start with the data, protect the boundaries, and never trust a queue you have not load-tested.

Learner reviews

4.71,988 reviews
  • 5 star73%
  • 4 star22%
  • 3 star3%
  • 2 star1%
  • 1 star1%
  • EK
    Elena K.18 July 2025

    I have recommended this to two colleagues already. The structure makes it easy to dip back into.

  • EL
    Elena L.14 November 2025

    Clear explanations without the usual filler. I watched most of it at 1.25x and still followed everything.

  • TR
    Tariq R.10 September 2025

    Genuinely well structured. I have started three courses on this topic and this is the first one I finished.

  • YD
    Yara D.15 January 2026

    Excellent. The examples are realistic rather than the usual toy versions.

  • IK
    Ingrid K.11 November 2025

    I have recommended this to two colleagues already. The structure makes it easy to dip back into.

  • GV
    Grace V.14 August 2025

    Useful, though it assumes a bit more background than the description suggests.

  • JR
    Jonas R.19 December 2025

    I came in knowing a bit and still learned plenty. The middle third is the strongest part.

  • AZ
    Aisha Z.15 October 2025

    Excellent. The examples are realistic rather than the usual toy versions.

  • DK
    Dmitri K.19 February 2026

    I have recommended this to two colleagues already. The structure makes it easy to dip back into.

Showing 9 of 1,988 reviews.

Learners also looked at

More from Web Development and beyond.

All Web Development

Python for Data Analysis

Priya Raghunathan

4.7(9,315)
24h162 lecturesBeginner
₹2,299₹4,499
Bestseller

Modern JavaScript From the Ground Up

Amara Osei

4.7(8,412)
28h 30m186 lecturesBeginner
₹2,499₹4,499
Bestseller

Photography Foundations

Yusuf Demir

4.8(6,218)
13h88 lecturesBeginner
₹1,499₹3,299
Bestseller

React in Production

Amara Osei

4.8(6,187)
22h148 lecturesIntermediate
₹2,999₹5,999
Bestseller