Module 3.1: DDL, Types, and Loading Data
The two verbs every pipeline is built on: CREATE TABLE to define, INSERT to fill.
Module 3.2: Keys and Constraints
Primary and foreign keys, UNIQUE / NOT NULL / CHECK: the rules the database enforces so bad rows can never land.
Primary Keys: Surrogate vs Natural
Give every row a stable identity that survives source changes.
Foreign Keys and Referential Integrity
Guarantee a child row always points at a real parent.
UNIQUE, NOT NULL, and CHECK
Push data-quality rules into the schema so bad rows can't land.
Module 3.3: Normalization
From a flat export to 3NF and back: atomic values, removing redundancy, and deliberate denormalization for analytics.
First Normal Form: Atomic Values
Eliminate repeating groups and multi-valued cells.
Second and Third Normal Form
Remove partial and transitive dependencies so each fact lives once.
Denormalization Trade-offs
Know when to flatten a normalized schema for analytics speed.
Module 3.4: ER Modeling, Relationships, and Indexes
Entities and cardinality, junction tables for many-to-many, and the indexes that keep reads fast.
Entities, Relationships, and Cardinality
Read and encode 1:1, 1:N, and M:N relationships.
Junction Tables for Many-to-Many
Resolve M:N relationships with a bridge table carrying its own attributes.
Indexes: Speeding Up Reads
Add B-tree indexes on the columns queries actually filter and join on.
Module 3.5: Dimensional Modeling Introduction
Your first Kimball star: narrow facts, wide dimensions, and a declared grain.