- Home
- Courses
- dbt Fundamentals
- dbt Foundations: What and Why
Micro Free Course — 100% Free Learning
All lessons in this module are free to learn. Sign in with Google to save your progress.
dbt Foundations: What and Why
Why dbt exists, what it solves, the project structure, models, and the ref() function that wires everything into a DAG. The mental model before the syntax.
Module Content
Why dbt Exists — The Analytics Engineering Wave
The problem dbt solves: SQL scripts everywhere, no lineage, no tests, no docs. The fix: treat SQL like code. FIND_VIDEO: search 'why dbt analytics engineering' — recommended channel: dbt Labs / Kahan Data Solutions. Aim for 10 min or under.
QUIZ: What dbt Solves (and What It Doesn't)
Practice quiz: The two-line summary of dbt: 'SQL files that compile into a DAG, with tests and docs for free.' What that actually buys you.
The dbt Project Structure — A Tour
Walking through dbt_project.yml, models/, tests/, macros/, seeds/, snapshots/. Where everything lives and why. FIND_VIDEO: search 'dbt project structure folders' — recommended channel: dbt Labs. Aim for 10 min or under.
QUIZ: Anatomy of a dbt Project
Practice quiz: The standard folder layout. Memorize it once; every dbt project you'll ever see follows the same shape.
Models — The SQL File as the Atom
One file, one SELECT, one materialized table or view. The dbt model is the unit of work. FIND_VIDEO: search 'dbt model SQL file basics' — recommended channel: dbt Labs. Aim for 9 min or under.
QUIZ: Writing Your First Model
Practice quiz: The minimum-viable dbt model. From empty file to materialized table.
ref() and Lineage — How dbt Wires the DAG
The single most important dbt function. How ref() builds the DAG, what it resolves to, and why hardcoded table names are a sin. FIND_VIDEO: search 'dbt ref function DAG lineage' — recommended channel: dbt Labs. Aim for 10 min or under.
QUIZ: ref(), source(), and the DAG
Practice quiz: Two functions, one DAG. The mental model that lets dbt do everything else it does.
SUBMISSION: Milestone Project 1 — Refactor a Monolithic SQL Query into a Clean dbt Project DAG
Deconstruct a 200-line legacy reporting query with 8 CTEs into modular staging, intermediate, and dimensional mart models linked via ref() with full lineage.