维度建模的事实表设计

本文深入探讨了事实表在维度建模中的重要性,详细介绍了事实表的特性、设计原则和方法。文章涵盖了事务事实表、周期快照事实表和累积快照事实表的类型,以及各自的设计过程、特点和应用场景。此外,还讨论了事实表的粒度、可加性事实和不可加性事实的处理,以及如何处理父子事实和设计准则。最后,提到了无事实的事实表和聚集型事实表在数据仓库性能优化中的作用。
摘要由CSDN通过智能技术生成

事实表基础

事实表特性

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

作为度量业务过程的事实(事实表属性),一般为整型或浮点型的十进制数值,有可加性、半可加性和不可加性三种类型。
可加性事实是指可以按照与事实表关联的任意维度进行汇总。
半可加性事实只能按照特定维度汇总,不能对所有维度汇总,比如库存可以按照地点和商品进行汇总,而按时第门章事实表设计丁一间维度把一年中每个月的库存累 加起来则毫无意义。
还有一种度量完全不具备可加性,比如比率型事实。对于不可加性事实可分解为可加的组件来实现聚集。
维度属性也可以存储到事实表中,这种存储到事实表中的维度列被称为“退化维度”。与其他存储在维表中的维度一样 ,退化维度也可以用来进行事实表的过滤查询、实现聚合操作等。
事实表有三种类型 : 事务事实表、周期快照事实表和累积快照事实表。

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

事实表设计原则

原则 1 :尽可能包含所有与业务过程相关的事实;
原则 2 :只选择与业务过程相关的事实;
原则 3 : 分解不可加性事实为可加的组件;
原则 4:在选择维度和事实之前必须先声明粒度;
粒度的声明是事实表设计中不可忽视的重要一步,粒度用于确定事实表中一行所表示业务的细节层次,决定了维度模型的扩展性,在选择维度和事实之前必须先声明粒度,且每个维度和事实必须与所定义的粒度保持一致。
原则 5 : 在同一个事实表中不能有多种不同粒度的事实;
原则 6 :事实的单位要保持一致;
原则 7 : 对事实的 null 值要处理;
原则 8 :使用退化维度提高事实表的易用性。

事实表设计方法

Kimball的四步维度建模方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值