【大数据之路】数据模型篇 《四》事实表设计 【搬运小结】

本文深入探讨了数据仓库中的事实表设计,包括事务事实表、周期快照事实表和累积快照事实表。详细阐述了各种事实表的特性、设计原则和方法,如事务事实表的单事务与多事务处理,周期快照事实表的数据采样和注意事项,以及累积快照事实表在研究事件时间间隔中的应用。同时讨论了无事实的事实表和聚集型事实表的设计原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【大数据之路】数据模型篇 《四》事实表设计

1 事实表基础

1.1事实表特性

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

维度属性也可以存储到事实表中 , 这种存储到事实表中的维度列被称为 “退化维度"。

事实表有三种类型: 事务事实表、周期快照事实表和累积快照事实表。

1.2事实表设计原则

原则1:尽可能包含所有与业务过程相关的事实
原则2:只选择与业务过程相关的事实
原则3:分解不可加性事实为可加的组件
原则4:在选择维度和事实之前必须先声明粒度
原则5:在同一个事实表中不能有多种不同粒度的事实
原则6:事实的单位要保持一致
原则7:对事实的null值要处理
原则8:使用退化维度提高事实表的易用性

1.3事实表设计方法

选择业务过程、声明粒度、确定维度、确定事实、冗余维度

2 事务事实表

2.1设计过程

以淘宝订单流转的业务过程举例有四个:创建订单、买家付款、卖家发货、买家确认收货。

在选择了业务过程以后,相应的事实表类型也随之确定了。比如选择买家付款这个业务过程,那么事实表应为只包含买家付款这一个业务过程的单事务事实表;如果选择的是所有四个业务过程,并且需要分析各个业务过程之间的时间间隔,那么所建立的事实表应为包含了所有四个业务过程的累积快照事实表。

经过声明粒度、确定维度、确定事实后,出于效率和资源考虑,将常用维度退化到事实表中,如下图所示:
在这里插入图片描述
为了提高对事实表进行过滤查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值