数据建模的基本需求:
方便存取信息
一致形式展现信息
适应变化
及时展现信息
保护信息财富的安全堡垒
提高决策制定能力的权威和可信的基础
成功的标志是业务群体接受
。
目标:维度模型中正确的做法是以最详细的力度表达数据,这样可以获得更好的灵活性和可扩展性。
维度建模的优势:
维度模型对数据关系发生变化具有灵活的适应性。发生一下变化,无需改变查询和应用。
1,当事实与存在的事实粒度一致,可以创建事实。
2,通过建立新的外键列,可以将维度关联到已经存在的事实表,前提是维度列与事实表粒度保持一致。
3,可以在维度表上通过建立新列添加属性。
4,可以使事实表的粒度更加原子化,方法是在维度表上增加属性,然后以更细的粒度重置事实表,小心保存事实表及温度表的列名。
模型建设标准过程是4个步骤:
1,选择业务过程
业务过程是组织完成的操作性活动。(比如承保,理赔,点击网页)
业务过程事件建立或获取性能度量,并转换为事实表中的事实。
多数事实表关注某一业务过程的结果。
过程定义了特定的设计目标以及对粒度,维度,事实的定义。
每个业务过程对应企业数据仓库总线矩阵的一行。
2,声明粒度
声明粒度是维度设计的重要步骤。
粒度用于确定某一事实表中的行标识什么。
在选择维度或事实前必须声明粒度,因为每个候选维度或事实必须与定义的粒度保持一致。
在所有维度设计中强制实行一致性是保持BI应用性能和易用性的关键。
原子粒度是最低级别的粒度,能够承受无法预期的用户查询。
上卷汇总粒度对性能调整来说非常重要,但是这样的粒度需要猜测业务公共问题。
针对不同的事实表粒度,要建立不同的物理表,在同一事实表中不要混用多个粒度。
3,确认维度,描述环境的维度
维度是解决围绕业务过程中涉及的6W问题(who,when,where,what,why,how)
维度表包含BI应用所需要的用于过滤及分类事实的描述性属性。
掌握事实表粒度,能够将所有可能存在维度区分开。
当与给定事实表行关联时,任何情况下都应使维度保持单一值。
数据管理和维度表开发是BI经验的驱动者,也是数据仓库的灵魂
4,确认事实,用于度量的事实
事实表对应一个物理课观察的事件
事实涉及来自业务过程事件的度量,可以使用数量值描述
一个事实表的行与按照事实表粒度描述的度量事件之间存在一对一关系,
所有事实只允许和所声明的粒度保持一致
维度模型可分为两类:事实表和维度表
事实表定义:
发生在现实世界中的操作性事件,其产生的可度量数据,存储在事实表中
事实表每一行对应一个度量事件
事实表设计依赖于物理活动
除数字度量以外,事实表包含外键与对应的维度表相关联。
查询请求的主要目标是基于事实表开展计算和聚集操作
数字度量分为三种,
可加,例如:保额,保费
半可加,例如:批增,批减
不可加,例如:比率
把不可加事实放到BI层进行最终计算
事实表注意事项:
事实表可以存在空值度量,但是外键不能为空
比较和计算不同事实表中的事实,需要保证他们针对事实的技术定义是一致的。
一致性事实要有相同的命名,如果不一致,要保持不同的命名。
事实表分类:
事务事实表:一行对应时间和空间上某一点度量时间
周期快照事实表:每行汇总一段标准周期
周期累计快照事实表:每行汇总发生过程开始和结束之间可预测的步骤内的度量事件。
无事实事实表:
聚集事实表:对原子粒度的事实表进行轻度汇总的事实表
合并事实表:来自多个过程,粒度一致的事实表合并成一个表。
维度表定义:
维度表包含单一主键
包含大量低粒度描述性文本属性
维度表是查询,约束,分组定义的主要目标