在上一篇文章中我们简单介绍了什么是维度建模以及维度建模的基本要素,这篇文章中我开始针对事实表和维度表的类型介绍。
一、事实表
事实表存储了从业务活动或事件提炼出来的性能度量,它主要包含维度表的外键和连续变化的可加性数值或半可加事实。事实表产生于业务过程中而不是业务过程的描述性信息。它一般是行多列少,占据数据仓库大约90%的空间。在维度模型中也有表示多对多关系的事实表,其他都是维度表。
1、事实表粒度
事实表的粒度是产生事实行数据的度量事件的业务定义。粒度确定了事实表的业务主键,事实表的所有度量值必须具有相同的粒度。
2、事实表类型
2.1、事务事实表
它是面向事务的,其粒度是每一行对应一个事务,它是最细粒度的事实表也称“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。
2.2、周期快照事实表
它是按照良好的时间周期间隔(每天,每周,每月)来捕捉业务活动的执行情况,一旦装入事实表就不会再去更新,它是事务事实表的补充,而非替代。典型的例子如销售日快照表、库存日快照表等。周期快照事实表的粒度是每个时间段一条记录,通常比事务事实表的粒度要粗,是在事务事实表之上建立的聚集表。周期快照事实表的维度个数比事务事实表要少,但是记录的事实要