Star schema table types: fact vs dimension vs bridge vs staging

Verdict: Use a star schema: a central fact table of additive measures and foreign keys, surrounded by wide denormalised dimension tables for fast filtering. Bridge tables resolve many-to-many links and are hidden from report view. Avoid snowflaking.

CriterionFact tableDimension tableBridge tableStaging table
StoresAdditive measures plus foreign keysDescriptive attributes of an entityRows resolving a many-to-many relationshipRaw ingested data before transformation
GrainOne row per event or observationOne row per entity memberOne row per dimension pairSource grain
KeysForeign keys to dimensionsSurrogate keys for history trackingBoth dimension keysNot applicable
ShapeNarrow, high volumeWide and denormalised for fast filteringMinimalNot for reporting
Choose whenSales amount, quantity per transactionProduct, customer, date attributesCustomer-to-account many-to-manyLanding zone only

Rules

Traps