维度表技术基础
每个维度表都包含单一的主键列,维度表一般比较宽,包含了大量低粒度的文本属性,是扁平形非规范表。
维度表的唯一主键一般都是没有语义的整型主键(顺序分配的简单整数,从1开始)。但是日期维度不需要遵守这个规则,因为日期维度是高度可预测的且稳定的维度。
自然键:受业务规则影响
持久键:也叫超自然键,不受业务规则影响
从粗粒度到细粒度的过程,会细化某些维度
一个维度表,可能只有一列,这种情况下可以把此维度直接放到事实表中。
维度扁平化,个人理解就是把三范式那种规范化的表处理成一张冗余的表。
统一维度中可以出现不同的层次,如日期维度等等。
文字的缩写可以作为维度表中文本字词含义的补充解释
应该避免在维度属性中使用空值,因为不同数据库在处理分组和约束时,针对空值的处理方法不一致。
日历日期维度通常包含许多描述,如:周数、月份名称、财务周期、国家假日等属性。主键可以用一个整数表示YYYYMMDD,这样更有意义。
单个物理维度可以被一个事实表多次引用。如日期维度,一个订单有下单时间,发货时间。他们都有不同的含义,这些不同维度的视图(唯一的属性列名)被称为角色。
事务型商业过程通常产生一系列混杂的、低粒度的标识和指示器。与其为其建立不同的维度表,不如合在一起放到一个维度表里。
建立多级层次的维度表,为雪花维度。当然应该避免建立雪花维度,因为这样在查询时是非常困难的,影响查询性能。
维度可包含对其他维度的引用,不过一般不建议这样使用。维度表和维度表的关联一般通过事实表来建立关联。
使用一致性维度集成
不同的维度表中有相同列名的数据,这些维度表中相同的列所代表的含义应该是相同的。
缩减维度是一种一致性维度。个人理解是当不同的事实表进行维度上卷时,此时也是需要保证一致性维度的。
事实表关联不同的维度表进行分析
价值链用于区分组织中主要业务过程的自然流程,每个过程通常至少建立一个原子事实表
这一架构通过关注业务过程将DW/BI规划过程分解为可管理的模块
矩阵的列表示业务过程,列表示维度。矩阵中的点表示维度与给定的业务过程是否存在关联关系。
总线矩阵实现细节是一个更加粒度化的总线矩阵,其中扩展每个业务过程行以展示特定事实表。这边可以文档化精确的粒度描述以及事实表
在确定了企业数据仓库总线矩阵行之后,可以通过替换包含业务功能(例如,市场、销售、财务等)的维度列规划不同的矩阵。通过确定矩阵点以表示哪些业务功能与哪些业务工程行相关。机会/利益相关矩阵可用于区分哪些业务过程分组应该与过程中心行相关。
(这个暂时没有理解)