KDT#13 可以作为维度表使用的事实表
事实表从粒度的角度分为三种,分别是交易粒度事实表、周期快照事实表和累计快照事实表。
交易粒度事实表能提供某个确切时刻的描述信息。以银行帐户中保存的客户信息为例来说,代理机构会周期的更新客户的名称、地址、电话号码、客户分类、信用等级、风险等级及其他描述性信息。建立的交易粒度事实表如下所示:
变更日期(FK)帐户号(SK)
代理(FK)
客户信息变更类型(FK)
帐户号(NK)
名称(文本事实)
地址(文本事实)
电话号码(文本事实)
客户分类(文本事实)
信用等级(非可加性数字事实)
风险等级(非可加性数字事实)
...
这是一个典型的记录的度量事实都是文本型描述信息的事实表。这样的事实表和维度表之间的区别并不明显。
这个事实表中有三个是关联到普通维度表的外键,分别是变更日期、代理和交易类型。帐户号(NK)是帐户的自然键,是帐户的唯一标识。帐户号(SK)是帐户的代理键,也是这个事实表的主键,它标识了这个事实表中的每一次变化。
我们可以将该事实表中的帐户号代理键做TYPE 2型缓慢变化维处理,并将它关联到其他事实表作为外键。举例来说,我们除了收集帐号本身变动信息外,还会收集存取款情况和帐号余额信息,并建立事实表如下:
- 交易日期(FK)
- 帐户号(SK)
- 地点(FK)
- 交易类型(FK)
- 数额(可加性事实)
- 帐户余额(半可加性事实)
对后一个事实表进行分析,其中的一条记录可以准确的对应到前一张事实表中相应时点的帐号信息上,即我们可以得到每一次交易时点时帐户对应的客户信息。我们会发现,前一张事实表和维度表并没有什么差别。
作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】