
Explore dimensional modeling as the analytics engineer's role of transforming an OLTP data model into an OLAP design with fact and dimension tables for reporting and analysis.
Aggregate data to speed analytics and dashboards by selecting the right grain; start from the questions users ask, and remember multiple tables may have different grains.
Learn how primary keys uniquely identify each row, as a single column or a composite key of multiple columns, with uniqueness and non-null constraints in every table.
Explore dimension tables, or lookup tables, that store non-numeric descriptive attributes and a natural key to add context to events, with a surrogate key for unique identification.
Explore a transactional schema designed for oltp, optimized for inserts, updates, and deletes; highly normalized to avoid duplication, capturing sales across multiple tables and demanding multiple joins for queries.
Explore schema design for analytics engineering by comparing star and snowflake schemas, understanding fact and dimension tables, and handling multiple fact tables with shared or separate dimensions.
Learn to handle changing data with slowly changing dimensions in dimension tables, choosing between overriding values or preserving history. Maintain fact tables as immutable; use adjustment rows to reflect corrections.
Explore slowly changing dimensions in analytics engineering, comparing SCD type 1 (overwrite) and SCD type 2 (preserve history with dates), and learn to query current vs historical data.
Explains how fact tables are immutable and how to handle changes by adding new records to preserve a historical log, including adjustments and returns, and avoiding deletions or overwrites.
Learn how source system data changes are captured for analytics, using updated_at to reflect current state or a CDC log to preserve history, shaping OLAP fact and dimension modeling.
Apply the theory of fact and dimension tables and data changes to a high-level overview of the modern data workflow, then focus on the data modeling piece.
The data engineer leads the ingestion process, pulling data from external sources into the company, and orchestrates scheduled data loads in order. They monitor pipelines to ensure reliable, error-free loading.
Explore the six steps of the data modeling process for analytics engineering, from gathering requirements and examining OLTP data to defining fact and dimension tables, surrogate keys, and SCD types.
Gather requirements with business and data analysts to define metrics such as sales and revenue, and map four OLTP tables (customers, products, orders, order items) with date information.
Design a single fact table by merging orders and order items to capture orders as events with sales and revenue measures, using row-level granularity from order items.
Explore the modern data workflow and the roles of analysts, data engineers, and analytics engineers, focusing on scoping, ingestion, and transformations to deliver analytics ready data through dimensional modeling.
This course is designed to give you a solid foundation in data modeling, from core concepts to a step-by-step process that you can apply on the job.
If analytics engineering is about transforming raw data into clean, reliable datasets, then data modeling is the blueprint. It's how you decide what to build, how to structure it, and how to make sure it holds up as your data changes over time.
We'll start by introducing the key building blocks — data models, entities, and relationships — and draw a clear line between data modeling in general and dimensional modeling specifically.
From there, we'll break down the core unit of any data model: the table. You'll learn the main characteristics of tables in a database, then explore the two types you'll find in dimensional modeling — fact tables and dimension tables — and what makes each one unique.
Next, we'll zoom out and look at how those tables fit together. We'll introduce popular schema designs, like the star schema, and talk about how to arrange your facts and dimensions in a way that's clean and easy to query.
But a data model isn't static — data changes, and your model needs to handle that. We'll cover strategies for managing those changes, including slowly changing dimensions, so your models stay accurate without breaking downstream reports.
Last but not least, we'll put it all into practice. You'll see how data flows through a modern analytics workflow, and then walk through the full data modeling process — from scoping requirements to designing and transforming tables — just like an analytics engineer would on the job.
Whether you're building your first dimensional model or looking to formalize your approach, this course will give you the theory and process to do so with confidence.