第2章 数据仓库及其设计概要

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多维数据库(MDDB)
两者相结合(HDB)
1. 关系数据库 在基于关系数据库的数据仓库中有两类表,一类是维 表,对每个维至少使用一个表存放维的层次、成员等维的 描述信息;另一类是事实表,用来存放维关键字和度量等 信息。 维表和事实表通过主关键字(主键)和外关键字(外 键)联系在一起。 多维数据立方体各个坐标轴上的刻度以及立方体各个 交点的取值都被记录下来,因而数据立方体的全部信息就 都被记录了下来。
年份
季度
月份
日期
5. 度量(Measure)或事实(Fact) 度量是数据仓库中的信息单元,即多维空间中的一 个单元,用以存放数据,也称为事实(Fact)。 通常是数值型数据并具有可加性。例如: (日期,商品,地区,销售量) 其中,销售量就是一个度量。
2.3.2 多维数据模型的实现
多维数据模型实现方式: 关系数据库(RDB)
2.2 数据仓库规划和需求分析
2.2.1 数据仓库的规划
数据仓库的策略规划包括: 明确用户的战略远景、业务目标。 确定建设数据仓库的目的和目标。 定义清楚数据仓库的范围、优先顺序、主题和针对的业务。 定义衡量数据仓库成功的要素。 定义精简的体系结构、使用技术、配置、容量要求等。
定义操作数据和外部数据源。
要是分析型处理,一般需要将数据划分为详细数据、轻度总
结、高度总结三级或更多级粒度。
2. 维度(Dimension) 维度(简称为维)是指人们观察事物的特定的角度,概 念上类似于关系表的属性。 例如企业常常关心产品销售数据随着时间推移而变化的 情况,这是从时间的角度来观察产品的销售,即时间维; 企业也常常关心本企业的产品在不同地区的销售分布情 况,这时是从地理分布的角度来观察产品的销售,即地区维。
经济信息:顾客号、年收入、家庭总收入
公共键:顾客号
2. 确定事实表的粒度
事实表的粒度能够表达数据的详细程度。从用途的不
同来说,事实表可以分为以下三类:
原子事实表:是保存最细粒度数据的事实表,也是数
据仓库中保存原子信息的场所。
聚集事实表:是原子事实表上的汇总数据,也称为汇 总事实表。 合并事实表:是指将位于不同事实表中处于相同粒度 的事实进行组合建模而成的一种事实表。
2.1.2 数据仓库构建模式
1. 先整体再局部的构建模式:W.H.Inmon模式
分析主题
数据集市
……
数据集市
数据仓库
从 数 据 仓 库 到 数 据 集 市
优点: 数据规范化程度高, 最小化数据冗余与不一致 性;便于全局数据的分析 和挖掘。 缺点: 建设周期长、见效慢; 风险程度相对大。
外部数据源
2. 先局部再整体的构建模式:Ralph Kimball 模式
3. 确定数据分割策略
分割是指把逻辑上是统一整体的数据分割成较小的、 可以独立管理的物理单元进行存储,以便能分别处理,从
而提高数据处理的效率。
分割可以按时间、地区、业务类型等多种标准来进行, 也可以按自定义标准,分割之后小单元的数据相对独立,
处理起来更快更容易。但在多数情况下,数据分割采用的
标准不是单一的,而是多个标准的组合。
信息维
分区维 分类维
退化维
一致维 父子维
(3)概念分层 维表中维一般包含着层次关系,也称为概念分层,如在
时间维上,按照“年份-季度-月份”形成了一个层次,其
中年份、季度、月份成为这个层次的三个级别。
概念分层的作用如下:
概念分层为不同级别上的数据汇总提供了一个良好的基础。 综合概念分层和多维数据模型的潜力,可以对数据获得更深 入的洞察力。 通过在多维数据模型中,在不同的维上定义概念分层,使得 用户在不同的维上从不同的层次对数据进行观察成为可能。 多维数据模型使得从不同的角度对数据进行观察成为可能, 而概念分层则提供了从不同层次对数据进行观察的能力;结 合这两者的特征,我们可以在多维数据模型上定义各种OLAP 操作,为用户从不同角度不同层次观察数据提供了灵活性。
例如,下表是一个关系表的数据组织形式,其中包含 按产品和地区两项分类统计的销售量。
产品 电视机 电视机 电视机 电视机 电冰箱 电冰箱 地区 华北 华东 华中 华南 华北 华东 销售量 10 20 30 40 40 30
电冰箱
电冰箱 手机 手机 手机 手机
华中
华南 华北 华东 华中 华南
20
10 50 60 70 80
4. 维层次 同一维度可以存在细节程度不同的各个值,可以将粒度 大的值映射到粒度小的值,这样构成维层次(或维层次结构)
或概念分层,即将低层概念映射到更一般的高层概念,概念
分层允许在各种抽象级审查和处理数据。
例如对于地点维,有“杭州→浙江→中国”的维层次。 又例如时间维,可以从年、季度、月份、日期来描述,那 么“年份→季度→月份→日期”就是维层次。
(4)事实表设计
事实表是多维模型的核心,是用来记录业务事实并作
相应指标统计的表,同维表相比,事实现具有如下特征:
记录数量很多,因此事实表应当尽量减小一条记录的
长度,避免事实表过大而难于管理。
事实表中除度量外,其他字段都是维表或中间表(对 于雪花模式)的关键字(外键)。
如果事实相关的维很多,则事实表的字段个数也会比
2. 多维数据库
多维数据库也是一种数据库,可以将数据加载、存储
到此数据库中,或从中查询数据。但其数据是存放在大量 的多维数组中,而不是关系表中。 例如Excel便是如此。
例如,上一个表采用多维数据库的数据组织形式如下表所示。
产品
电视机 电视机 电视机
地区
华北 华东 华中
销售量
10 20 30
电视机
3. 维属性和维成员
一个维是通过一组属性来描述的,如时间维包含年份、 季度、月份和日期等属性,这里的年份、季度等称为时间 维的维属性。 维的一个取值称为该维的一个维成员,如果一个维是 多层次的,那么该维的维成员是在不同维层次的取值组合。 例如,一个时间维具有年份、季度、月份、日期四个层次, 分别在四个层次各取一个值,就得到时间维的一个维成员, 即某年某季某月某日。
4. 构建数据仓库中各主题的多维数据模型及其联系
由于数据仓库目前大多是使用关系数据库来实现的,
所以本章主要讨论基于关系数据库的数据仓库建模方法。
2.3.4 几种常见的基于关系数据库的多维数据模型
1. 星形模式
(1)星形模式的基本结构
星形模式(Star schema)是由一个事实表和一组维表 组成,每个维表都有一个维主键,所有这些维组合成事实表 的主键,换言之,事实表主键的每个元素都是维表的外键。 该模式的核心是事实表,通过事实表将各种不同的维表 连接起来,各个维表都连接到中央事实表。
电冰箱 电冰箱 电冰箱 电冰箱 手机 手机 手机 手机
华南
华北 华东 华中 华南 华北 华东 华中 华南
40
40 30 20 10 源自文库0 60 70 80
华北
华东
华中
华南
电视机
电冰箱 手机
10
40 50
20
30 60
30
20 70
40
10 80
在关系数据库中,“多对多”的关系总是转化成多个
“一对多”的关系,有利于数据的一致性和规范化,这符合 事务处理系统的需求。 多维数据库的优势不仅在于多维概念表达清晰,占用存 储少,更重要的是它有着高速的综合速度。 在多维数据库中,数据可以直接按行或列累加,并且由 于多维数据库中不像关系表那样出现大量的冗余信息,因此 其统计速度远远超过关系数据库,数据库记录数越多,其效
维表中维的类型: 结构维 在数据仓库的逻辑模型设计中,有一 些维表是经常使用的,它们的设计形成了 一定的设计原则,如时间维、地理维、机 构维和客户维等,所以在设计维表时应遵 循这些设计原则。 又例如,数据仓库存储的是系统的历 史数据,业务分析最基本的维度就是时间 维,所以每个主题通常都有一个时间维。
较多。
在查询事实表时,通常使用到聚集函数,一个聚集函数从 多个事实表记录中计算出一个结果。度量可以根据其所用的聚 集函数分为三类: 分布的聚集函数:将这类函数用于n个聚集值得到的结果 和将函数用于所有数据得到的结果一样。例如COUNT(求 记录个数)、SUM(求和)、MIN(求最小值)、MAX(求 最大值)等。 代数的聚集函数:函数可以由一个带m个参数的代数函数 计算(m为有界整数),而每个参数值都可以由一个分布 的聚集函数求得。例如AVG(求平均值)等。 整体的聚集函数:描述函数的子聚集所需的存储没有一 个常数界,即不存在一个具有m个参数的代数函数进行这 一计算。例如MODE(求最常出现的项)。
分析主题
数据仓库
数据集市
……
数据集市
从 数 据 集 市 到 数 据 仓 库
外部数据源
外部数据源
优点: 投资少、见效快;在 设计上相对灵活;易于实 现。 缺点: 会有一定级别的冗余 和不一致性。
2.1.3 数据仓库设计步骤
(1)数据仓库的规划和需求分析。
(2)数据仓库的建模。
(3)数据仓库物理模型设计。 (4)数据仓库的部署。 (5)数据仓库的维护。
确定建设所需要的工具。 概要性地定义数据获取和质量控制的策略。
数据仓库管理及安全。
2.2.2 数据仓库的需求分析
主题分析
数据分析
环境要求分析
2.3 数据仓库的建模
2.3.1 多维数据模型及相关概念
多维数据模型将数据看作数据立方体形式,满足用户 从多角度多层次进行数据查询和分析的需要而建立起来的 基于事实和维的数据库模型。 其数据组织采用多维结构文件进行数据存储,并有索 引及相应的元数据管理文件与数据相对应。
第2章 数据仓库设计
2.1 数据仓库设计概述
数据仓库设计是建立一个面向企业决策者的分析环 境或系统。
2.1.1 数据仓库设计原则
以业务和需求为中心:是指围绕业务方向性需求、业 务问题等,确定系统范围和总体框架。 以数据来驱动: 是指其所有数据均建立在已有数据源 基础上,从已存在于操作型环境中的数据出发进行数 据仓库设计。
地点维表 Locate_id 街道 城市 省 国家
(2)维表设计 维表用于存放维信息,包括维的属性(列)和维的层 次结构。一个维用一个维表表示。维表通常具有以下数据 特征: 维通常使用使用解析过的时间、名字或地址元素,这样 可以使查询更灵活。例如时间可分为年份、季度、月份 和时期等,地址可用地理区域来区分,如国家、省、市、 县等。 维表通常不使用业务数据库的关键字作为主键,而是对 每个维表另外增加一个额外的字段作为主键来识别维表 中的对象。在维表中新设定的键也称为代理键。 维表中可以包含随时间变化的字段,当数据集市或数据 仓库的数据随时间变化而有额外增加或改变时,维表的 数据行应有标识此变化的字段。
果越明显。
2.3.3 数据仓库建模的主要工作
1. 在需求分析上,确定系统所包含的主题域并加以描述
主题选取的原则是优先实施管理者目前最迫切需求、 最关心的主题。主题内容的描述包括主题的公共键、主题 之间的联系和各主题的属性。 例如,若以顾客为主题,则设计的相关主题内容的描 述如下:
基本信息:顾客号、顾客姓名、性别、年龄、文化程度、住址、电话
表呈星型状分布。
【例2.1】一个“销售”数据仓库的星形模式如图2.5所示。 该模式包含一个中心事实表“销售事实表”和4个维表:时间 维表、销售商品维表、销售地点维表和顾客维表。在销售事实 表中存储着四个维表的主键和两个度量“销售量”和“销售金 额”。
时间维表 Time_id 日期 年份 季度 月份 周 销售事实表 Time_id Item_id Locate_id Customer_id 销售量 销售金额 顾客维表 Customer_id 顾客名 顾客住址 顾客类型 商品维表 Item_id 商品名 品牌 分类
1. 粒度(Granularity) 粒度是指数据仓库中数据单元的详细程度和级别,确定
数据仓库的粒度是设计数据仓库的一个最重要方面。
数据越详细,粒度越小级别就越低;数据综合度越高, 粒度越大级别就越高。例如,地址数据中“北京市”比“北
京市海淀区”的粒度小。
在传统的操作型数据库系统中,对数据处理和操作都是 在最低级的粒度上进行的。但是在数据仓库环境中应用的主
星形模式的基本结构如下:
维表 1 ┇ 事实表 ┇ 维表 2 ┇
维表 3 ┇
维表 4 ┇
星形模式的特点如下:
维度表只与事实表关联,维度表彼此之间没有任何联系。
每个维度表中的主码都只能是单列的,同时该主码被放置
在事实数据表中,作为事实数据表与维表连接的外码。 星型模式是以事实表为核心,其他的维度表围绕这个核心
相关文档
最新文档