维度建模设计的4步骤
选择业务过程
解释:由组织完成的微观活动,获得订单、开具发票、接收付款等
公共特征:通常用行为动词表示,表示业务执行的活动 由某个操作型系统支撑 建立或获取关键性能度量(过滤器和约束的不同组合来审查和评估度量) 由输入激活嘛,产生输出度量(一系列过程产生一系列事实表)
业务战略规划 –> 深入挖掘,理解数据和操作型系统,支持对规划进行分析的需求
业务过程 ≠ 功能化的部门
确保一致性的最好方法:一次发布数据
声明粒度
解释:精确定义某个事实表的每一行表示什么,由获取业务过程事件的操作型系统的物理实现确定,以业务术语表示
粒度传递的是与事实表度量有关的细节级别(如何描述事实表中每行的内容)
粒度与主键等价
原子粒度数据具有多维性,分析灵活,支持商业用户随意查询
DW/BI系统要求数据尽可能最细粒度表示,不是因为需要查询单独的某行,而是因为查询需要以最精准的方式对细节进行切分
确定维度
选择维度时应该列出所有具体的、文本类型的属性以充实每个维度表
维度集合装饰事实表
确定事实
解释:过程的度量?
典型事实是可加性数值
计算获得的事实
不可加事实
事务事实表
稀疏、多维
需要综合考虑业务用户需求和数据来源的实际情况,通过以上4步骤来进行维度建模
事实表粒度
事务类型事实表
事务事实表一行表示的是发生在一件事务中的事实,通常都是最原子的数据
可加、不可加以及抽取的事实
可加事实指可以按照任意维度汇总的事实
半可加事实指只能按照部分维度汇总的事实
不可加事实指完全不能按照维度汇总的事实
维度属性
日期维度和当天时间维度
“日期维度”表示粒度按天处理的维度表
产品维度
扁平化多对一层次
数字值可同时用于计算以及过滤/分组功能,应当在事实表和维度表中同时存储该值。
涉及计算的数据应该放入事实表中,涉及约束、分组和标记的数据应该放入维度表中。
描述性属性
商店维度
多层次维度表
跨多层次的属性名称和值应该具有唯一性
促销维度
因果维度的一种
因果维度
退化维度
表示双亲的唯一标识符
维度模型的空值
空外键、空属性、空事实
维度模型的可扩展
无事实的事实表
不含度量数字的事实表,例如商品状态事实表,只展示商品的上下架状态,没有可计算的事实数据
代理键、自然建与持久键
维度表的唯一主键是代理键而不是来自操作型系统的标识符,也是所谓的自然建或(无意义键、整数键、非自然键、人工键和合成键等)
作用:连接维度表和事实表
优点:
1. 为数据仓库缓冲操作型系统的变化
2. 集成多个源系统
3. 改进性能
4. 处理空值或未知条件
5. 支持维度属性变化跟踪
雪花模式的维度属性
蜈蚣事实表(多维度)
- 度量环境
- 性能度量
- 候选事实
- 典型事实
- 事务
- 滞后时间
- 层次
- 支架