- Home
- Courses
- dbt Fundamentals
- Building a Real dbt Project
Micro Free Course — 100% Free Learning
All lessons in this module are free to learn. Sign in with Google to save your progress.
Building a Real dbt Project
Sources, staging, materializations (view/table/incremental/ephemeral), incremental patterns, tests, and documentation. Everything you need to ship a project to production.
Module Content
Sources and the Staging Layer
Where the work actually starts: defining sources, writing stg_ models, the conventions every team follows. FIND_VIDEO: search 'dbt staging layer sources tutorial' — recommended channel: dbt Labs / Kahan Data Solutions. Aim for 10 min or under.
QUIZ: Writing stg_ Models
Practice quiz: The staging layer is unglamorous. Get it right and everything downstream is easier; skip it and you'll pay forever.
Materializations — view, table, incremental, ephemeral
The four built-in materializations and the cost model behind picking each. FIND_VIDEO: search 'dbt materializations table view incremental' — recommended channel: dbt Labs. Aim for 11 min or under.
QUIZ: Choosing Your Materialization
Practice quiz: Each materialization trades build cost for query cost differently. Here's how to pick.
Incremental Models in Detail
The most-used and most-misused materialization. Patterns that work, gotchas that bite. FIND_VIDEO: search 'dbt incremental model unique_key' — recommended channel: dbt Labs. Aim for 11 min or under.
QUIZ: Incremental Patterns and Pitfalls
Practice quiz: Three incremental strategies and the late-arriving-data problem that breaks all of them.
Tests — Built-in and Custom
Generic tests in YAML, custom SQL tests, what to test for vs what to skip. FIND_VIDEO: search 'dbt tests unique not_null relationships' — recommended channel: dbt Labs. Aim for 10 min or under.
QUIZ: Writing dbt Tests That Catch Bugs
Practice quiz: Every model needs tests. Four generic tests cover most cases; custom tests handle the rest.
Documentation — Descriptions, dbt docs, and Why It Matters
Auto-generated docs from your YAML. The highest-leverage 30 seconds you'll spend. FIND_VIDEO: search 'dbt documentation descriptions docs generate' — recommended channel: dbt Labs. Aim for 9 min or under.
QUIZ: Making Docs That Help
Practice quiz: Documentation people actually read: focused descriptions, column meaning, lineage you can trust.
SUBMISSION: Project 2 — Build a Production Staging Layer for a Shopify Source
Construct production dbt staging models for a Fivetran Shopify connector: source definitions with freshness tests, deduplication via ROW_NUMBER(), and generic column assertions.
SUBMISSION: Project 3 — Migrate an Overnight Full-Refresh Model to Incremental
Convert a slow 45-minute full table scan into an incremental merge model using is_incremental(), unique_key, and lookback windows for late-arriving records.