数据仓库图解交互式教材
数据建模事实、维度与星型模型
学习进度0 / 64
EN
首页课程学习事实、维度与星型模型
2-3数据建模14 分钟

事实、维度与星型模型

一笔账户交易记录发生了什么,又应该从哪些角度观察?从问题出发推导事实表和维度表。

事实表维度表星型模型
核心概念

Fact / Dimension(事实 / 维度)

事实记录发生了什么,维度提供观察事实的角度。星型模型把事实放在中心,通过连接键关联客户、账户、机构、产品和日期等维度。

先问:这条记录里发生了什么?

账户 A001 在 2026-09-15 14:20 发生了一笔 5,000 元的转账。记录 T10001 带着客户、账户、机构、产品、渠道和交易类型等信息,但这些字段回答的不是同一个问题。

先把事件说清楚:发生的是一笔账户交易,分析对象是 Transaction,交易金额是这次事件的度量。接下来才需要问,业务人员想从什么角度观察它。

  • 发生了什么:一笔 Transaction。
  • 这次事件的度量:transaction_amount = 5,000。
  • 观察角度:客户、账户、机构、产品和日期。
账户交易实验 · 从问题推导模型

字段归位,星型模型逐步形成

先查看一条交易记录,再把字段放回事件、观察角度和事实度量,最后观察事实表如何连接五个维度并切换分析视角。

正在加载交互实验…

事实不变,观察角度可以变化

同一条 fact_transaction 记录,可以沿 customer_id 看客户,沿 branch_id 看机构,沿 product_id 看产品,也可以沿 event_date 看日期。观察角度变化了,事实事件和 transaction_amount 没有被改写。

本例里的 customer_id、account_id 等是业务键,负责把事实连接到稳定的业务对象。需要保留客户属性历史时,代理键会在下一节的版本问题中出现;这里不把键设计单独拆成一门课。