《数据仓库与数据挖掘》讲课笔记02
第二周:2012/9/4
第三讲:数据仓库的多维数据模型
数据仓库多维数据模型(Multi-Dimensional Data Model)是为了满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其基本的应用是为了实现OLAP(Online Analytical Processing)。 1.度量值(Measure)
度量值是决策者所关心的具有实际意义的数值。例如,销售量、库存量、银行贷款金额等。度量值是所分析的多维数据集的核心,它是最终用户浏览多维数据集时重点查看的数值数据。 2. 事实数据表(Fact Table)
度量值所在的表称为事实数据表,事实数据表中存放的事实数据通常包含大量的数据行。事实数据表的主要特点是包含数值数据(事实),而这些数值数据可以统计汇总以提供有关单位运作历史的信息。
3.维度成员(Dimension Member)
维的一个取值称为该维的一个维度成员(简称维成员)。如果一个维是多级别的,那么该维
的维度成员是在不同维级别的取值的组合。例如,考虑时间维具有日、月、年这3个级别,分别在日、月、年上各取一个值组合起来,就得到了时间维的一个维成员,即“某年某月某日”。 4. 维度表(Dimension Table)
包含维度信息的表是维度表,维度表包含描述事实数据表中的事实记录的特性。
维度表和事实表相互独立,又互相关联并构成一个统一的模式。构建多维数据集时常用的架构: 1. 星型模式
星型模式是一种多维的数据关系,它由一个事实表(Fact Table)和一组维表(Dimens ion Table)组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。事实表的
非主键属性称为事实 (Fact),它们一般都是数值或其他可以进行计算的数据; 而维表大都是文字、时间等类型的数据,按这种方式组织好数据我们就可以按照不同的维(事实表的主键的部分或全部)来对这些事实数据进行求和(summary)、求平均(average)、计数(count)、百分比(percent)的聚集计算,甚至可以做20-80 分析。这样就可以从不同的角度数字来分析业务主题的情况
一个典型的银行贷款分析的模型设计,其中加边框的为主关键字(PK, PrimaryKey),其中贷款分析表是一个事实表,其中的贷款授信金额,贷款余额是需要从各角度观察的数据(事实),而观察的角度是有区域、银行、时间,质量这四个方面组合进行,这些分析角度的有机组合,可以对授信金额和贷款余额进行4 ╳ 8 ╳ 4 ╳ 8 种组合的数据统计分析,以此实现对贷款情况的多角度(维)多层次(数据不同的汇总程度)的分析,贷款分析人员既可以宏观地看到贷款业务的整体情况,又可以微观地观察到具体一家银行一天一类贷款的细节信息。多维分析的时候,维度选择越多数据越细节(划分得更细了),维度选择越少数据越汇总越宏观。
2. 事实星座模式(
Fact Constellation
):
多个事实表共享维表,可看作星型模式集。
3. 雪花模式(
Snowflake Schema
):
是星型模式的变种,其中某些维表将数据进一步分解到附加的维表中,以便减少冗余,但对系统的性能有一定的影响;