---
title: "Database engineering — ZudoJS Academy"
description: "Relational databases in depth with PostgreSQL: SQL, modelling and normalisation, indexes and query plans, transactions, isolation and locks, operations, and typing database code."
source: https://zudojs.oyinlola.site/learn/database-engineering
---

LEVEL 8 · BACKEND ENGINEERING

Course Core

# Database engineering

Relational databases in depth with PostgreSQL: SQL, modelling and normalisation, indexes and query plans, transactions, isolation and locks, operations, and typing database code.

- **3 lessons**
- **2 h** to read and try
- **Before this:** [Backend engineering](https://zudojs.oyinlola.site/learn/backend)

0 of 3 lessons done

[Start lesson 1 →](https://zudojs.oyinlola.site/learn/databases)

## When you finish, you can

- Write SQL for any everyday query, including joins and aggregates
- Model data in tables, normalise it, and denormalise on purpose
- Read a query plan and add the index that fixes it
- Choose an isolation level and prevent lost updates and deadlocks
- Plan migrations, connection pools and backups
- Type rows, entities and DTOs without confusing them

**You build:** A normalised, indexed schema for a shop, with migrations and typed repositories

MODULE 1

## SQL

1. [1**How databases work**Why a backend keeps its data in a database, how relational databases organise it into tables and relationships, and what keys, constraints, indexes, transactions and migrations do, with real PostgreSQL running inside Node.js.45 min](https://zudojs.oyinlola.site/learn/databases)
2. [2**SQL with PostgreSQL**Install PostgreSQL with an installer or with Docker, talk to it with psql, and learn the SQL every backend uses: create, insert, select, update and delete, with filters, sorting and paging, and parameterized queries that stop SQL injection.45 min](https://zudojs.oyinlola.site/learn/sql-basics)
3. [3**Joins, grouping and transactions**Combine tables with joins, summarise data with group by and aggregates, filter groups with having, nest queries, control transactions yourself, measure queries with explain analyze, and connect Node.js to a real PostgreSQL server.45 min](https://zudojs.oyinlola.site/learn/sql-advanced)

## Course checkpoint

Prove you can move on. The checkpoint picks 15 questions at random from every lesson in this course. Get 12 right to pass. Your result is saved in this browser only.
