作者:MetaTrade

数据仓库:详解维度建模之事实表

每个数据仓库都包含一个或者多个事实数据表。其中可能包含业务销售数据,如现金登记事务所产生的数据,通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据,每个事实数据表包含一个由多个部分组成的索引,该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性。

一、事实表基础

1. 事实表特征

事实表作为数仓维度建模的核心,紧紧围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和业务过程有关的度量。事实表中一条记录所表达的业务细节程度被称为粒度(业务中的细节程度)。通常粒度可以通过两种方式来表达:一种是维度属性组合所表示的细节程度,另一种是所表示的具体业务含义。

作为度量业务过程的事实(事实表属性),一般为整型或浮点型的十进制数值,有可加性、半可加性和不可加性三种类型:

  • 可加性事实 是指可以按照与事实表关联的任意维度进行汇总。

  • 半可加性事实 只能按照特定维度汇总,不能对所有维度汇总,比如库存可以按照地点和商品进行汇总,而按时第门章事实表设计丁一间维度把一年中每个月的库存累 加起来则毫无意义。

  • 不可加事实 不具备可加性,比如比率型事实。对于不可加性事实可分解为可加的组件来实现聚集。

2. 有事实的事实表

有事实表分为三种类型 :事务事实表周期快照事实表

lock