数据仓库维度建模
一、维度建模(dimensional modeling)
是专门用于分析型数据库、数据仓库、数据集市建模的方法。
1. 维度设计的主要流程
(1) 选择业务过程
业务过程是组织完成的操作性活动,业务过程事件建立或获取性能度量,并转换成事实表中的事实。业务过程定义了特定的设计目标以及对粒度、维度、事实的定义。通过对业务需求以及数据源的综合考虑,决定选择哪种业务过程开展建模工作。
(2) 声明粒度
粒度用于确定某一事实表中的行表示什么。粒度声明是设计必须履行的合同。在选择维度或事实前必须声明粒度,某个候选维度或事实必须与定义的粒度保持一致。在所有的维度设计中强制实行一致性是保证BI应用性能和易用性的关键。
(3) 确认维度
维度==提供围绕某一业务过程事件所涉及的“谁、什么、何处、何时、为什么、如何”==等背景。
(4) 确认事实
事实涉及来自业务过程事件的度量,基本上以数量值表示。
与之前在操作型数据库中介绍的关系建模方法相比增加两个概念:
1. 维度表(dimension)
表示对分析主题所属类型的描述,通常来说维度表信息比较固定且数据量小。
2. 事实表(fact table)
表示对分析主题的度量,事实表包含了与各维度表相关联的外码,并通过JOIN方式与维度表关联。事实表的度量通常是数值型,