Fact tables store measurable events.
Characteristics:
- Rows represent events (orders, clicks, transactions)
- Contains foreign keys to dimensions
- Contains numeric measures (amount, quantity, duration)
- Usually the largest tables
Types:
- Transaction facts: One row per event
- Periodic snapshot: State at regular intervals
- Accumulating snapshot: Tracks process milestones
Design tip: The grain (what one row represents) must be clear. "One row per order" or "one row per order line item" are different grains.