数据建模-事实表

事实表基础

事实表特性

事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度和业务过程有关的度量。

粒度

事实表中一条记录所表达的业务细节程度被称为粒度。通常粒度可以通过两种方式来表达;一种是维度属性组合所表示的细节程度;一种是所表示的具体业务含义。
作为度量业务过程的事实,一般为整形或浮点型的十进制数值,有可加性、半可加性和不可加性三种类型。可加性事实是指可以按照与事实表关联的做任意维度进行汇总。半可加性事实只能按照特定维度汇总,不能对所有维度汇总,比如库存可以按照地点和商品进行汇总,而按时间维度把一年中每个月的库存累加起来则毫无意义。还有一种度量完成不具备可加性,比如比率型事实。对于不可加性事实可分解为可加的组件来实现聚焦。

退化维度

维表属性也可以存储到事实表中,这种存储到事实表中的维度列被称为“退化维度”。与其他存储在维表中的维度一样,退化维度也可以用来进行事实表的过滤查询、实现聚合操作等。

三种类型

事实表有三种类型:事务事实表、周期快照事实表和累积快照事实表,
事务事实表用来描述业务过程,跟踪空间或时间上某点的度量事件,保存的是最原子的数据,也称为“原子事实表”。周期快照事实表以具有规律性的、可预见的时间间隔记录事实,时间间隔如每天、每月、每年等。累积快照事实表用来表述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期,通常具有多个日期字段来记录关键时间占,当过程随着生命周期不断变化时,记录也会随着过程的变化而被修改。

参考

阿里巴巴《大数据之路》

坚持原创技术分享,您的支持将鼓励我继续创作!