Skip to content

One Big Table vs Star Schema

Pre-join everything, or keep facts and dimensions separate?

Short answer

A star schema keeps a fact table of events separate from dimension tables of descriptive attributes, so definitions are reused and history is manageable. One big table (OBT) pre-joins everything into a single wide table at one grain, which is simple and fast to query in a columnar warehouse. Most teams use both: a star schema as the core model, and OBTs built from it for specific dashboards or tools.

On this page · 6 sections
  1. Overview
  2. Side by side
  3. When to choose which
  4. The verdict
  5. FAQ
  6. Sources

Columnar warehouses made wide tables cheap to scan, which revived the one-big-table pattern: instead of joining orders to customers and products at query time, you join them once in the transformation layer and give analysts a single table.

The trade-off is maintenance. In an OBT, every customer attribute is copied onto every order line. When a customer's segment changes, every row for that customer has to be rebuilt, and two OBTs built at different grains can disagree about the same customer.

Side by side
AspectOne big table (OBT)Star schema
StructureOne wide, denormalized tableFact table joined to several dimension tables
Query effortNo joins neededJoins from fact to dimensions
ReuseAttributes copied into each OBTConformed dimensions shared by every fact
Changing attributesRebuild every affected rowUpdate the dimension (or add a version with SCD Type 2)
Several grainsNeeds one OBT per grainOne fact table per process, sharing dimensions
Power BIWorks, but large and harder to filter consistentlyThe model Power BI is designed around

Build an OBT when

  • One dashboard or tool needs one grain, and simplicity matters most.
  • Consumers cannot or should not write joins, such as spreadsheets and some ML pipelines.
  • You build it from a star schema, so definitions stay in one place.

Build a star schema when

  • Several business processes share customers, products, or dates.
  • Attributes change over time and you need history.
  • You use Power BI or another tool whose model expects facts and dimensions.
  • Definitions must stay consistent across many reports.
The verdict

Use the star schema as the source of truth and treat OBTs as outputs. That keeps definitions in conformed dimensions while still giving analysts and tools the single flat table they want.

You can try both with the free ecommerce sales dataset: its flat sales file is an OBT at order-line grain, and its Power BI pack is the same data as a star schema.

Try it on real dataFree Power BI practice datasets and star schema projectsDownload the ecommerce data as a star schema, or as one flat sales table, and compare.
FAQ
Is one big table faster than a star schema?
Often for a single query in a columnar warehouse, because it avoids joins. The cost shows up elsewhere: larger storage, slower rebuilds when attributes change, and definitions duplicated across tables.
Does Power BI need a star schema?
It works with flat tables, but Microsoft's modeling guidance recommends a star schema because filters, relationships, and DAX measures behave most predictably with facts and dimensions.

Go deeper in the Data Modeling hub.