维度建模设计的4步骤

  1. 选择业务过程

    解释:由组织完成的微观活动,获得订单、开具发票、接收付款等
    公共特征:

     通常用行为动词表示,表示业务执行的活动
     由某个操作型系统支撑
     建立或获取关键性能度量(过滤器和约束的不同组合来审查和评估度量)
     由输入激活嘛,产生输出度量(一系列过程产生一系列事实表)    

    业务战略规划 –> 深入挖掘,理解数据和操作型系统,支持对规划进行分析的需求

    业务过程 ≠ 功能化的部门

    确保一致性的最好方法:一次发布数据

  2. 声明粒度

    解释:精确定义某个事实表的每一行表示什么,由获取业务过程事件的操作型系统的物理实现确定,以业务术语表示

    粒度传递的是与事实表度量有关的细节级别(如何描述事实表中每行的内容)

    粒度与主键等价

    原子粒度数据具有多维性,分析灵活,支持商业用户随意查询

    DW/BI系统要求数据尽可能最细粒度表示,不是因为需要查询单独的某行,而是因为查询需要以最精准的方式对细节进行切分

  3. 确定维度

    选择维度时应该列出所有具体的、文本类型的属性以充实每个维度表

    维度集合装饰事实表

  4. 确定事实

    解释:过程的度量?

    典型事实是可加性数值

    • 计算获得的事实

    • 不可加事实

    • 事务事实表

      稀疏、多维

需要综合考虑业务用户需求和数据来源的实际情况,通过以上4步骤来进行维度建模

事实表粒度

事务类型事实表

事务事实表一行表示的是发生在一件事务中的事实,通常都是最原子的数据

可加、不可加以及抽取的事实

可加事实指可以按照任意维度汇总的事实
半可加事实指只能按照部分维度汇总的事实
不可加事实指完全不能按照维度汇总的事实

维度属性

日期维度和当天时间维度

“日期维度”表示粒度按天处理的维度表

产品维度

扁平化多对一层次

数字值可同时用于计算以及过滤/分组功能,应当在事实表和维度表中同时存储该值。
涉及计算的数据应该放入事实表中,涉及约束、分组和标记的数据应该放入维度表中。

描述性属性

商店维度

多层次维度表

跨多层次的属性名称和值应该具有唯一性

促销维度

因果维度的一种

因果维度

退化维度

表示双亲的唯一标识符

维度模型的空值

空外键、空属性、空事实

维度模型的可扩展

无事实的事实表

不含度量数字的事实表,例如商品状态事实表,只展示商品的上下架状态,没有可计算的事实数据

代理键、自然建与持久键

维度表的唯一主键是代理键而不是来自操作型系统的标识符,也是所谓的自然建或(无意义键、整数键、非自然键、人工键和合成键等)
作用:连接维度表和事实表

优点:
1. 为数据仓库缓冲操作型系统的变化
2. 集成多个源系统
3. 改进性能
4. 处理空值或未知条件
5. 支持维度属性变化跟踪

雪花模式的维度属性
蜈蚣事实表(多维度)

  • 度量环境
  • 性能度量
  • 候选事实
  • 典型事实
  • 事务
  • 滞后时间
  • 层次
  • 支架