1、第二章第二章 数据仓库原理数据仓库原理2.1 数据仓库结构体系数据仓库结构体系2.2 数据仓库的数据模型数据仓库的数据模型2.3数据抽取、转换和装载数据抽取、转换和装载2.4 元数据元数据12.1 数据仓库结构体系数据仓库结构体系o2.1.1 数据仓库结构数据仓库结构o2.1.2数据集市及其结构数据集市及其结构o2.1.3 数据仓库系统结构数据仓库系统结构o2.1.4 数据仓库运行结构数据仓库运行结构23 数据仓库是在数据库基础上发展起数据仓库是在数据库基础上发展起来的,其数据来源于数据库。来的,其数据来源于数据库。数据仓库与数据库的区别:数据仓库与数据库的区别:面向主题与面向事务。面向主题与
2、面向事务。数据的组织结构不同。数据的组织结构不同。4 数据仓库与数据库的区别:数据仓库与数据库的区别:数据库面向事务:数据库面向事务:围绕公司围绕公司功能功能性应用性应用进行组织。强调要做什么!进行组织。强调要做什么!如:如:保险公司可能的应用有汽车保险,保险公司可能的应用有汽车保险,人寿保险,健康保险,财产保险等。人寿保险,健康保险,财产保险等。5 数据仓库与数据库的区别:数据仓库与数据库的区别:面向主题:面向主题:公司面对的对象。强调对什么做!公司面对的对象。强调对什么做!如:如:保险公司保险公司可能的对象(主题域)是可能的对象(主题域)是顾客,保险单,顾客,保险单,保险费与索赔。保险费与
3、索赔。生产商生产商可能的对象(主题域)是:可能的对象(主题域)是:产品,销售商等;产品,销售商等;零售商可能的对象(主题域)是:零售商可能的对象(主题域)是:顾客,商品,库顾客,商品,库存,销售等;存,销售等;6 数据仓库与数据库的区别:数据仓库与数据库的区别:“与时间相关与时间相关”:数据库保存信息的时候,并不强数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。需要,数据仓库中的数据都要标明时间属性。同样都是累计购买过同样都是累计购买过9 9车产品的顾客,一位是最近车产品的顾客,一位是最
4、近三个月购买三个月购买9 9车,一位是最近一年从未买过,这对车,一位是最近一年从未买过,这对于决策者意义是不同的。于决策者意义是不同的。7 数据仓库与数据库的区别:数据仓库与数据库的区别:集成性:集成性:数据仓库需要把原始数据集成。数据仓库需要把原始数据集成。如如性别:数据库强调个体,数据仓库强调总体性别:数据库强调个体,数据仓库强调总体男 女M f1 01 0X y8 数据仓库与数据库的区别:数据仓库与数据库的区别:集成性:集成性:数据仓库需要把原始数据集成。数据仓库需要把原始数据集成。如如销售额:数据库强调个体,数据仓库强调总体销售额:数据库强调个体,数据仓库强调总体元千元千元万元百万元9
5、 数据仓库与数据库的区别:数据仓库与数据库的区别:非易失:很少删除、修改非易失:很少删除、修改。数据库是实现数据仓库的一种方式,但并不是唯一数据库是实现数据仓库的一种方式,但并不是唯一的途径的途径10 近期基本数据:近期基本数据:是最近时期的业务数据,是数是最近时期的业务数据,是数据仓库用户最感兴趣的部分,数据量大。据仓库用户最感兴趣的部分,数据量大。历史基本数据:历史基本数据:近期基本数据随时间的推移,近期基本数据随时间的推移,由数据仓库的时间控制机制转为历史基本数据。由数据仓库的时间控制机制转为历史基本数据。轻度综合数据:轻度综合数据:是从近期基本数据中提取出的,是从近期基本数据中提取出的
6、,这 层 数 据 是 按 时 间 段 选 取,或 者 按 数 据 属 性这 层 数 据 是 按 时 间 段 选 取,或 者 按 数 据 属 性(attributesattributes)和内容(和内容(contentscontents)进行综合。进行综合。高度综合数据层:高度综合数据层:这一层的数据是在轻度综合这一层的数据是在轻度综合数据基础上的再一次综合,是一种准决策数据。数据基础上的再一次综合,是一种准决策数据。数据综合11全国全国区域区域商店商店省省/市市城市城市如:公司的销售额如:公司的销售额可以如下综合可以如下综合 元元数数据据 高高度度综综合合数数据据轻轻度度综综合合数数据据当当前
7、前基基本本数数据据历历史史数数据据层层 o 数据数据仓库是企业级的,工作仓库是企业级的,工作范围和成本常常是巨范围和成本常常是巨大的大的。o 数据集市是部门级的,伴随功能性计算机管理信数据集市是部门级的,伴随功能性计算机管理信息系统而存在。数据集市息系统而存在。数据集市windowswindows普通服务器普通服务器o 目前目前,全世界对数据仓库总投资的一半以上均集,全世界对数据仓库总投资的一半以上均集中在数据集市上。中在数据集市上。13o 数据集市(数据集市(Data MartsData Marts)是一种更小、更集中)是一种更小、更集中的数据仓库,为公司提供分析商业数据的一条的数据仓库,为
8、公司提供分析商业数据的一条廉价途径。廉价途径。o Data MartsData Marts是指具有特定应用的数据仓库,主是指具有特定应用的数据仓库,主要针对某个应用或者具体部门级的应用,支持要针对某个应用或者具体部门级的应用,支持用户获得竞争优势或者找到进入新市场的具体用户获得竞争优势或者找到进入新市场的具体解决方案。解决方案。143.数据集市与数据仓库差别数据集市与数据仓库差别(1)数据仓库是基于)数据仓库是基于整个企业整个企业的数据模型建立的,的数据模型建立的,它面向企业范围内的主题。而数据集市是按照它面向企业范围内的主题。而数据集市是按照某一特某一特定部门定部门的数据模型建立的。的数据模
9、型建立的。(2)部门的主题与企业的主题之间可能存在关联,)部门的主题与企业的主题之间可能存在关联,也可能不存在关联。也可能不存在关联。(3)数据集市的数据组织一般采用星型模型。)数据集市的数据组织一般采用星型模型。不能简单的认为数据集市数据规模没有数据仓库大!不能简单的认为数据集市数据规模没有数据仓库大!15 1 1、规模是小的、规模是小的2 2、特定的应用、特定的应用3 3、面向部门、面向部门4 4、由业务部门定义,设计和开发、由业务部门定义,设计和开发5 5、由业务部门管理和维护、由业务部门管理和维护6 6、快速实现、快速实现7 7、购买较便宜、购买较便宜8 8、投资快速回收、投资快速回收
10、9 9、更详细的、预先存在的数据仓库的摘要子集、更详细的、预先存在的数据仓库的摘要子集1010、可升级到完整的数据仓库、可升级到完整的数据仓库16独立数据集市独立数据集市(Independent Data Mart)(Independent Data Mart)从属数据集市从属数据集市(Dependent Data Mart)(Dependent Data Mart)为访为访问数据仓库非常频繁的关键业务部门建立问数据仓库非常频繁的关键业务部门建立17数据源于中央数据仓库2.1.3 数据仓库系统结构数据仓库系统结构 数据仓库系统由数据仓库(数据仓库系统由数据仓库(DWDW)、)、仓库管理和分仓库
11、管理和分析工具三部分组成。析工具三部分组成。182.1.3 数据仓库系统结构数据仓库系统结构 数据仓库系统由数据仓库(数据仓库系统由数据仓库(DWDW)、)、仓库管理和分仓库管理和分析工具三部分组成。析工具三部分组成。1920仓库管理包括:数据建模、仓库管理包括:数据建模、ETL、元数据和系统管理、元数据和系统管理(1)数据建模)数据建模数据建模是建立数据仓库的数据模型。数据建模是建立数据仓库的数据模型。数据模型包括数据模型包括数据结构数据结构和和数据操作数据操作。数据结构数据结构包括:包括:数据类型、内容、数据间的关系数据类型、内容、数据间的关系,描,描述的是数据的静态特征。述的是数据的静态
12、特征。数据操作数据操作是对数据仓库中是对数据仓库中数据所允许的操作数据所允许的操作。如检索、。如检索、计算等计算等 21(1)数据建模)数据建模数据仓库的数据模型不同于数据库的数据模型在于:数据仓库的数据模型不同于数据库的数据模型在于:数据仓库只为决策分析用,不包含事务处理的数据。数据仓库只为决策分析用,不包含事务处理的数据。数据仓库的数据模型中数据仓库的数据模型中增加了时间属性数据增加了时间属性数据。数据仓库的数据模型中数据仓库的数据模型中增加了一些综合数据增加了一些综合数据。数据仓库的数据建模是适应决策用户使用的逻辑数据数据仓库的数据建模是适应决策用户使用的逻辑数据模型。模型。结果是产生了
13、冗余!结果是产生了冗余!数据库和数据仓库底层模型不同,关系数据库采用ER关系模型,数据仓库采用多维数据模型。(2)数据抽取、转换、装载)数据抽取、转换、装载o 数据仓库中的数据,是通过在源数据中抽取数据仓库中的数据,是通过在源数据中抽取数据,按数据仓库的逻辑数据模型的要求进数据,按数据仓库的逻辑数据模型的要求进行数据转换,再按物理数据模型的要求装载行数据转换,再按物理数据模型的要求装载到数据仓库中去。到数据仓库中去。o 数据抽取数据抽取Extraction、转换、转换Transformation、装载、装载loading(ETL)是建立数据仓库的重要步骤,需要花费开发是建立数据仓库的重要步骤,
14、需要花费开发数据仓库数据仓库70%的工作量。的工作量。22(3 3)元数据)元数据23元数据包括:元数据包括:1、数据仓库的目录信息(数据字典);、数据仓库的目录信息(数据字典);2、数据从数据库向数据仓库转换时对、数据从数据库向数据仓库转换时对应的说明;应的说明;3、指导从当前基本数据到综合数据的、指导从当前基本数据到综合数据的综合方式;综合方式;4、指导用户使用数据仓库。、指导用户使用数据仓库。(4)系统管理)系统管理o 数据管理、性能监控、存储器管理和安全管数据管理、性能监控、存储器管理和安全管理等。理等。24(1 1)查询工具)查询工具 数据仓库的查询不是指对记录级数据的查数据仓库的查
15、询不是指对记录级数据的查询,而是指对分析要求的查询。询,而是指对分析要求的查询。一般包含:一般包含:可视化工具:可视化工具:以图形化方式展示数据,可以图形化方式展示数据,可以帮助了解数据的结构,关系以及动态性。以帮助了解数据的结构,关系以及动态性。25(2 2)多维分析工具()多维分析工具(OLAPOLAP工具)工具):通过对信息的多种可能的观察形式进行快通过对信息的多种可能的观察形式进行快速、一致和交互性的存取,这样便利用户对数速、一致和交互性的存取,这样便利用户对数据进行深入的分析和观察。据进行深入的分析和观察。多维数据的每一维代表对数据的一个特定多维数据的每一维代表对数据的一个特定的观察
16、视角,如时间、地域、业务等。的观察视角,如时间、地域、业务等。26(3 3)数据挖掘工具)数据挖掘工具 从大量数据中挖掘具有规律性知识,需要从大量数据中挖掘具有规律性知识,需要利用数据挖掘(利用数据挖掘(Data MiningData Mining)工具。工具。如:如:IBMIBM的的Intelligent MinerIntelligent Miner,SASSAS2728 数据仓库应用是一个典型的客户数据仓库应用是一个典型的客户/服务器(服务器(C/SC/S)结构形结构形式:式:客户端所做的工作:客户交互、格式化查询、结果显示、客户端所做的工作:客户交互、格式化查询、结果显示、报表生成等。报
17、表生成等。服务器端完成各种辅助决策的服务器端完成各种辅助决策的SQLSQL查询、复杂的计算和各查询、复杂的计算和各类综合功能等。类综合功能等。客 户 端 数 据 仓 库 服 务 器 29客 户 端OLAP 服 务 器数 据 仓 库服 务 器 OLAPOLAP服务器将加强和规范化决策支持的服务工服务器将加强和规范化决策支持的服务工作,集中和简化了原客户端和数据仓库服务器的部作,集中和简化了原客户端和数据仓库服务器的部分工作,降低了系统数据传输量。分工作,降低了系统数据传输量。这种结构形式工作效率更高。这种结构形式工作效率更高。30 对一个零售企业,它关心哪些主题?对一个零售企业,它关心哪些主题?
18、关心经营时,销售(金额或数量)关心经营时,销售(金额或数量)关心客户数量时,顾客关心客户数量时,顾客与经营额有关的实体有:商品,地域,销售时间,销售额与经营额有关的实体有:商品,地域,销售时间,销售额31 数据仓库存储采用多维数据模型。数据一般是数值数据仓库存储采用多维数据模型。数据一般是数值 果汁可乐牛奶商品维奶油浴巾香皂北京上海长沙1 2 3 4 5 6 7城市维日期维o 维就是相同类数据的集合,是观察事物的视角。维就是相同类数据的集合,是观察事物的视角。商店、时间和产品都是维。各个商店的集合是商店、时间和产品都是维。各个商店的集合是一维,时间的集合是一维,商品的集合是一维。一维,时间的集
19、合是一维,商品的集合是一维。每一个商店、每一段时间、每一种商品就是某每一个商店、每一段时间、每一种商品就是某一维的一个成员。一维的一个成员。o 每一个销售事实由一个特定的商品、一个特定每一个销售事实由一个特定的商品、一个特定的时间、一个特定的地区的销售数量、金额组的时间、一个特定的地区的销售数量、金额组成。事实数据表包含描述业务内特定事件的数成。事实数据表包含描述业务内特定事件的数据,这些数字信息可以汇总。据,这些数字信息可以汇总。32 大多数的数据仓库都采用大多数的数据仓库都采用“星型模型星型模型”。星型模型是由。星型模型是由“事实表事实表”(大表)以及多个(大表)以及多个“维表维表”(小表
20、)所组成。(小表)所组成。“事实表事实表”中存放大量关于企业的事实数据(数量数中存放大量关于企业的事实数据(数量数据)。包含大批据)。包含大批数据数据的的中心表中心表。例如:多个时期的数据可能会出现在同一个例如:多个时期的数据可能会出现在同一个“事实表事实表”中。中。“维表维表”中存放描述性数据中存放描述性数据,维表是围绕事实表建立,维表是围绕事实表建立的较小的表。的较小的表。33 2.2.1星型模型星型模型 大多数的数据仓库都采用大多数的数据仓库都采用“星型模型星型模型”。星型模型是由。星型模型是由“事实表事实表”(大表)以及多个(大表)以及多个“维表维表”(小表)所组成。(小表)所组成。“
21、事实表事实表”中存放大量关于企业的事实数据(数量数中存放大量关于企业的事实数据(数量数据)。包含大批据)。包含大批数据数据的但没有冗余的的但没有冗余的中心表中心表。例如:多个时期的数据可能会出现在同一个例如:多个时期的数据可能会出现在同一个“事实表事实表”中。中。“维表维表”中存放描述性数据中存放描述性数据,维表是围绕事实表建立,维表是围绕事实表建立的较小的表。的较小的表。银行对存款记账,银行对存款记账,A A表中存放实际数据,包括账号、表中存放实际数据,包括账号、所属机构号、存款金额等,所属机构号、存款金额等,B B表存放机构号和机构表存放机构号和机构名称的对应关系。则名称的对应关系。则A
22、A是事实表,是事实表,B B是维表。是维表。34 2.2.1星型模型星型模型星型模型:星型模型:一个中心表,一组维表,每维一个表,一个中心表,一组维表,每维一个表,每个表包含一组属性。每个表包含一组属性。星型模型数据如下图:星型模型数据如下图:35 2.2.1星型模型星型模型36订货表客户表销售员表事实表产品表日期表地区表星型模型数据存储情况示意图 订单号订货日期客户号客户名称客户地址销售员号销售员名城市产品号产品名称产品型号单价日期标识日月年地区名称省别订单号客户号销售员号产品号日期标识地区名称数量总额事实表、维表举例o 事实表就是主要存实实在在的数据(例如笔数、金额),如总账表、资产负债表
23、。下面是一个事实表部分数据:o 统计日期 机构代码 业务类型 笔数 金额20080930 XXXXX1 FX01 86 21752.18 20080930 XXXXX2 FX01 0 0.00 20080930 XXXXX3 FX01 86 21752.18 o 事实表通过关联维表得到相关机构的信息,机构信息很多,这里没有全部列出,这也是为什么要分事实表和维表的原因。38事实表、维表举例o 而维表主要存维度信息,不存放数据信息,如机构维表、日期维表。如机构维表:o 统计日期 机构代码 机构名称o 20080930 XXXXX1 北京分行o 20080930 XXXXX2 上海分行o 20080
24、930 XXXXX3 重庆分行 o 事实表通过关联维表得到相关机构的信息,机构信息很多,这里没有全部列出,这也是为什么要分事实表和维表的原因。39星型模型:星型模型:主要有两方面的原因主要有两方面的原因:1 1、提高查询的效率。采用星形模式设计的数据仓库的优点、提高查询的效率。采用星形模式设计的数据仓库的优点是由于数据的组织已经过预处理,主要数据都在庞大的是由于数据的组织已经过预处理,主要数据都在庞大的事实表中事实表中,所以只要扫描事实表就可以进行查询,而不所以只要扫描事实表就可以进行查询,而不必把多个庞大的表联接起来,查询访问效率较高。同时必把多个庞大的表联接起来,查询访问效率较高。同时由于
25、维表一般都很小由于维表一般都很小,甚至可以放在高速缓存中甚至可以放在高速缓存中,与事实与事实表作连接时其速度较快表作连接时其速度较快;2 2、便于用户理解。对非计算机专业的用户而言,星形模式、便于用户理解。对非计算机专业的用户而言,星形模式比较直观,通过分析星形模式,很容易组合出各种查询。比较直观,通过分析星形模式,很容易组合出各种查询。40 2.2.1星型模型星型模型41 2.2.22.2.2雪花模型雪花模型 雪花模型对星型模型的维表进一步层次化,原来雪花模型对星型模型的维表进一步层次化,原来的各维表为了减少冗余,进一步分解,形成一些局的各维表为了减少冗余,进一步分解,形成一些局部的部的“层
26、次层次”区域。区域。在上面星型模型的数据中在上面星型模型的数据中 ,对,对“产品表产品表”“”“日日期表期表”“”“地区表地区表”进行扩展形成雪花模型数据见下进行扩展形成雪花模型数据见下图。图。42雪花模式雪花模式o 优点是:在一定程度上减少了存储空间;规范化的结构更容易更新和维护。o 缺点:雪花模式比较复杂,用户不容易理解;浏览内容相对困难;额外的连接将使查询性能下降。o 在数据仓库中,通常不推荐“雪花化”。因为在数据仓库中,查询性能相对OLTP系统来说更加被重视,而雪花模式会降低数据仓库系统的性能。432.2.32.2.3星网模型星网模型o 星网模型是将多个星型模型连接起来形成网星网模型是
27、将多个星型模型连接起来形成网状结构。多个星型模型通过相同的维,如时状结构。多个星型模型通过相同的维,如时间维,连接多个事实表。间维,连接多个事实表。44地区键事务键用户键时间键状态键时间键用户键事务键地区键电话费用时间键用户键状态键电话余额电话公司星网模型实例 2.2.4第三范式第三范式o 范式实际上是传统的关系数据库的设计理论。范式实际上是传统的关系数据库的设计理论。o o 数据仓库可以按第三范式进行逻辑数据建模。数据仓库可以按第三范式进行逻辑数据建模。它不同于星型模型在于,把事实表和维表的属它不同于星型模型在于,把事实表和维表的属性都集中在同一数据库中,按第三范式组织数性都集中在同一数据库
28、中,按第三范式组织数据。它减少了维表中的键和不必要的属性。据。它减少了维表中的键和不必要的属性。o 著名的著名的NCR数据仓库公司采用了第三范式的逻数据仓库公司采用了第三范式的逻辑数据模型。辑数据模型。46o 星型模型在进行多维数据分析时,速度是很星型模型在进行多维数据分析时,速度是很快的。但是增加维度将是很困难的事情。快的。但是增加维度将是很困难的事情。o 第三范式对于海量数据(如第三范式对于海量数据(如TB级),且需级),且需要处理大量的动态业务分析时,就显示了它要处理大量的动态业务分析时,就显示了它的优势。的优势。472.3 后台架构后台架构-ETL482.3 后台架构后台架构-ETLo
29、 数据仓库的数据来源于多数据仓库的数据来源于多个数据源,主要是企业内个数据源,主要是企业内部数据;存档的历史数据;部数据;存档的历史数据;企业的外部数据。这些数企业的外部数据。这些数据源可能是在不同的硬件据源可能是在不同的硬件平台上,使用不同的操作平台上,使用不同的操作系统。源数据是以不同的系统。源数据是以不同的格式存放在不同的数据库格式存放在不同的数据库中。中。492.3 后台架构后台架构-ETLo 数据仓库需要将这些源数据仓库需要将这些源数据经过抽取、转换和数据经过抽取、转换和装载的过程,存储到数装载的过程,存储到数据仓库的数据模型中。据仓库的数据模型中。可以说,数据仓库的数可以说,数据仓
30、库的数据获取需要经过抽取据获取需要经过抽取(Extraction)、转)、转换(换(Transform)、)、装载(装载(Load)三个过)三个过程即程即ETL过程。过程。502.3 后台架构后台架构-ETLo 数据仓库数据仓库ETL过程主要步骤:过程主要步骤:1.决定需要的目标数据;决定需要的目标数据;2.确定数据源;确定数据源;3.确定源到目标的数据映射关系;确定源到目标的数据映射关系;4.建立抽取规则;建立抽取规则;5.决定转换和清洗规则;决定转换和清洗规则;6.制定汇总计划;制定汇总计划;7.组织数据缓冲区域和检测工具;组织数据缓冲区域和检测工具;8.编写装载规程;编写装载规程;9.维
31、度表维度表ETL;10.事实表事实表ETL。51231 数据抽取数据抽取o(1)确认数据源)确认数据源o(2)数据抽取技术)数据抽取技术521.确认数据源确认数据源o列出对事实表的每一个数据项和事实列出对事实表的每一个数据项和事实o列出每一个维度属性列出每一个维度属性o对于每个目标数据项,找出源数据项对于每个目标数据项,找出源数据项o一个数据元素有多个来源,选择最好的来源一个数据元素有多个来源,选择最好的来源o确认一个目标字段的多个源字段,建立合并规则确认一个目标字段的多个源字段,建立合并规则o确认一个目标字段的多个源字段,建立分离规则确认一个目标字段的多个源字段,建立分离规则o确定默认值确定
32、默认值o检查缺失值的源数据检查缺失值的源数据532.数据抽取技术数据抽取技术o当前值。当前值。源系统中存储的数据都代表了当前时刻的值。当源系统中存储的数据都代表了当前时刻的值。当商业交易时,这些数据是会发生变化的。商业交易时,这些数据是会发生变化的。o周期性的状态。周期性的状态。这类数据存储的是每次发生变化时的状态。例如,这类数据存储的是每次发生变化时的状态。例如,对于每一保险索赔,都经过索赔开始、确认、评对于每一保险索赔,都经过索赔开始、确认、评估和解决等步骤,都要考虑有时间说明。估和解决等步骤,都要考虑有时间说明。54232 数据转换数据转换o 1.数据转换的基本功能数据转换的基本功能o
33、2.数据转换类型数据转换类型o 3.数据整合和合并数据整合和合并o 4.如何实施转换如何实施转换551.数据转换的基本功能数据转换的基本功能o选择:选择:从源系统中选择整个记录或者部分记录。从源系统中选择整个记录或者部分记录。o分离分离/合并:合并:对源系统中的数据进行分离操作或者合并操作。对源系统中的数据进行分离操作或者合并操作。o转化:转化:对源系统进行标准化和可理解化。对源系统进行标准化和可理解化。o汇总:汇总:将最低粒度数据进行汇总。将最低粒度数据进行汇总。o清晰:清晰:对单个字段数据进行重新分配和简化对单个字段数据进行重新分配和简化。562.数据转换类型数据转换类型o(1)格式修正)
34、格式修正o(2)字段的解码)字段的解码o(3)计算值和导出值)计算值和导出值o(4)单个字段的分离)单个字段的分离o(5)信息的合并)信息的合并o(6)特征集合转化)特征集合转化o(7)度量单位的转化)度量单位的转化o(8)关键字重新构造)关键字重新构造o(9)汇总)汇总o(10)日期)日期/时间转化时间转化573.数据整合和合并数据整合和合并数据整合和合并是将相关的源数据组合数据整合和合并是将相关的源数据组合成一致的数据结构,装入数据仓库。成一致的数据结构,装入数据仓库。(1)实体识别问题)实体识别问题 数据来源于多个不同的客户系统,对相同客户可能分别数据来源于多个不同的客户系统,对相同客户
35、可能分别有不同的键码,将它们组合成一条单独的记录。有不同的键码,将它们组合成一条单独的记录。o(2)多数据源相同属性不同值的问题)多数据源相同属性不同值的问题o 不同系统中得到的值存在一些差别不同系统中得到的值存在一些差别,需要给出合理的值。,需要给出合理的值。584.如何实施转换如何实施转换o 自己编写程序实现数据转换自己编写程序实现数据转换o 使用转换工具使用转换工具59233 数据装载数据装载o(1)数据装载方式)数据装载方式o(2)数据装载类型)数据装载类型601.数据装载方式数据装载方式o基本装载基本装载o按照装载的目标表,将转换过的数据输入到目标表中去。按照装载的目标表,将转换过的
36、数据输入到目标表中去。o追加追加o如果目标表中已经存在数据,追加过程在保存已有数据的基础上如果目标表中已经存在数据,追加过程在保存已有数据的基础上增加输入数据。增加输入数据。o破坏性合并破坏性合并o用新输入数据更新目标记录数据。用新输入数据更新目标记录数据。o建设性合并建设性合并o保留已有的记录,增加输入的记录,并标记为旧记录的替代。保留已有的记录,增加输入的记录,并标记为旧记录的替代。612.数据装载类型数据装载类型o最初装载最初装载o 这是第一次对整个数据仓库进行装载。这是第一次对整个数据仓库进行装载。o增量装载增量装载o 由于源系统的变化,数据仓库需要装载变化的由于源系统的变化,数据仓库
37、需要装载变化的数据。数据。o完全刷新完全刷新o 这种类型的数据装载用于周期性重写数据仓库。这种类型的数据装载用于周期性重写数据仓库。622.3.4 ETL工具工具o 数据转换引擎数据转换引擎n 从指定的数据源中抽取数据,执行复杂的数据从指定的数据源中抽取数据,执行复杂的数据转换,将结果导入到目标表中。转换,将结果导入到目标表中。o 代码生成器代码生成器n 根据数据源参数和输出,能自动生成数据抽取根据数据源参数和输出,能自动生成数据抽取和转换程序。和转换程序。o 通过复制捕获数据通过复制捕获数据n 在交易日志中捕获数据源的变化。在交易日志中捕获数据源的变化。6324 元数据元数据o 241 元数
38、据的重要性元数据的重要性o 242 关于数据源的元数据关于数据源的元数据o 243 关于数据模型的元数据关于数据模型的元数据o 244 关于数据仓库映射的元数据关于数据仓库映射的元数据o 245 关于数据仓库使用的元数据关于数据仓库使用的元数据64241 元数据的重要性元数据的重要性o 元数据元数据65Table逻辑名逻辑名顾客顾客定义定义购买商品的个人或组织购买商品的个人或组织物理存储物理存储DB.table建立日期建立日期2008年年1月月15日日最后更新日期最后更新日期2010年年1月月20日日更新周期更新周期每月每月表编辑程序名表编辑程序名ABC241 元数据的重要性元数据的重要性o
39、元数据定义了数据仓库有什么,指明了数据元数据定义了数据仓库有什么,指明了数据仓库中数据的内容和位置,刻画了数据的抽仓库中数据的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关取和转换规则,存储了与数据仓库主题有关的各种商业信息,而且整个数据仓库的运行的各种商业信息,而且整个数据仓库的运行都是基于元数据的。都是基于元数据的。66Table逻辑名逻辑名顾客顾客定义定义购买商品的个人或组织购买商品的个人或组织物理存储物理存储DB.table建立日期建立日期2008年年1月月15日日最后更新日期最后更新日期2010年年1月月20日日更新周期更新周期每月每月表编辑程序名表编辑程序名ABC
40、241 元数据的重要性元数据的重要性o 有两类人会用到元数据:最终用户(包括商有两类人会用到元数据:最终用户(包括商业分析人员和业分析人员和IT人员)。人员)。o 最终用户:最终用户:n 从数据仓库获取信息。从数据仓库获取信息。n 包括:数据内容、汇总数据、商业维度、指标、包括:数据内容、汇总数据、商业维度、指标、浏览路径、源系统、外部数据、转换规则、查浏览路径、源系统、外部数据、转换规则、查询模板、报表等询模板、报表等o 最终用户需要的元数据,称为最终用户需要的元数据,称为商业元数据商业元数据。67241 元数据的重要性元数据的重要性o 有两类人会用到元数据:最终用户(包括商有两类人会用到元
41、数据:最终用户(包括商业分析人员和业分析人员和IT人员)。人员)。o IT人员:人员:n 从从ETL,到报表设计,到报表设计,OLAP都需要。都需要。n 包括:源数据结构、源平台、包括:源数据结构、源平台、ETL方法和规则、方法和规则、外部数据、装载、查询、报表设计等外部数据、装载、查询、报表设计等o ITIT人员需要的元数据,称为人员需要的元数据,称为技术元数据技术元数据。o 包括四类:包括四类:数据源元数据,数据模型元数据,数据源元数据,数据模型元数据,数据仓库映射元数据,数据仓库使用元数据。数据仓库映射元数据,数据仓库使用元数据。6869 元元数数据据 高高度度综综合合数数据据轻轻度度综
42、综合合数数据据当当前前基基本本数数据据历历史史数数据据层层 70 这类元数据是对不同平台上的数据源的物理结构这类元数据是对不同平台上的数据源的物理结构和含义的描述。具体为:和含义的描述。具体为:(1 1)数据源中所有物理数据结构,包括所有的)数据源中所有物理数据结构,包括所有的数据项及数据类型。数据项及数据类型。数据项数据项是数据的最小组成单位。通常包括数据项名、是数据的最小组成单位。通常包括数据项名、数据项含义说明、数据类型、长度、取值等。数据项含义说明、数据类型、长度、取值等。如如FoodIntro 菜品简介 nvarchar 50 null数据结构:数据结构:若干个数据项可以组成一个数据
43、结构,若干个数据项可以组成一个数据结构,如某表如某表(菜品菜品ID,ID,分类分类ID,ID,菜名菜名,菜品简介菜品简介,价格价格,图片图片)2.4.22.4.2关于数据源的元数据关于数据源的元数据元数据示例元数据示例某表1 菜品表:Food列 名 中文名称 数据类型 长度 是否允许为空 备注FoodID 菜品ID Int Not null 主键FoodclassID 分类ID Int null*foodName 菜名 nvarchar 25 null FoodIntro 菜品简介 nvarchar 50 null*FoodPrice 价格 Float null FoodImage 图片 va
44、rchar 100 null 保存图片路径元数据示例元数据示例数据文件:订单明细表文件组成:订单序号Id,订单编号,菜名,价格,数量,下单时间数 据 项:订单序号Id 数据类型:整型 数据长度:4数 据 项:订单编号 数据类型:可变字符类型 数据长度:50 数据组成:A+日期时间数 据 项:菜名 数据类型:可变字符类型 数据长度:50数 据 项:价格 数据类型:整型 数据长度:4数 据 项:数量 数据类型:整型 数据长度:4数 据 项:下单时间 数据类型:日期型 数据长度:873 这类元数据是对不同平台上的数据源的物理结构这类元数据是对不同平台上的数据源的物理结构和含义的描述。具体为:和含义的
45、描述。具体为:(1 1)数据源中所有物理数据结构,包括所有的)数据源中所有物理数据结构,包括所有的数据项及数据类型。数据项及数据类型。(2 2)所有数据项的业务定义。)所有数据项的业务定义。(3 3)每个数据项更新的频率,以及由谁或哪个)每个数据项更新的频率,以及由谁或哪个过程更新的说明。过程更新的说明。(4 4)每个数据项的有效值。)每个数据项的有效值。2.4.22.4.2关于数据源的元数据关于数据源的元数据74 这组元数据描述了数据仓库中这组元数据描述了数据仓库中有什么数据以及有什么数据以及数据之间的关系数据之间的关系,它们是用户使用管理数据仓,它们是用户使用管理数据仓库的基础。库的基础。
46、这种的元数据可以支持用户从数据仓库中获这种的元数据可以支持用户从数据仓库中获取数据。取数据。2.4.32.4.3关于数据模型的元数据关于数据模型的元数据2.4.42.4.4关于数据仓库映射的元数据关于数据仓库映射的元数据o 这类元数据是数据源与数据仓库数据间的映射。这类元数据是数据源与数据仓库数据间的映射。o 当数据源中的一个数据项与数据仓库建立当数据源中的一个数据项与数据仓库建立了映射关系,就应该记下这些数据项发生的任了映射关系,就应该记下这些数据项发生的任何变换或变动。即用元数据反映数据仓库中的何变换或变动。即用元数据反映数据仓库中的数据项是从哪个特定的数据源抽取的,经过那数据项是从哪个特
47、定的数据源抽取的,经过那些转换,变换和加载过程。些转换,变换和加载过程。75 1抽取工作之间的复杂关系o 一个数据的抽取要经过许多步骤。如图所示:76源数据获取过滤验证融合综合装载存档目标2源数据与目标数据之间的映射源数据与目标数据之间的映射o(1)抽取工作)抽取工作o(2)抽取工作步骤)抽取工作步骤o(3)抽取表映射)抽取表映射o(4)抽取属性映射)抽取属性映射o(5)记录筛选规则)记录筛选规则77o 这类元数据是数据仓库中信息的使用情况描述。这类元数据是数据仓库中信息的使用情况描述。o 数据仓库的用户最关心的是两类元数据:数据仓库的用户最关心的是两类元数据:o (1 1)元数据告诉数据仓库
48、中有什么数据,它们从哪)元数据告诉数据仓库中有什么数据,它们从哪里来。即如何按主题查看数据仓库的内容。里来。即如何按主题查看数据仓库的内容。o (2 2)元数据提供已有的可重复利用的查询语言信息。)元数据提供已有的可重复利用的查询语言信息。如果某个查询能够满足他们的需求,或者与他们的愿望如果某个查询能够满足他们的需求,或者与他们的愿望相似,他们就可以再次使用那些查询而不必从头开始编相似,他们就可以再次使用那些查询而不必从头开始编程。程。o 关于数据仓库使用的元数据能帮助用户到数据仓库关于数据仓库使用的元数据能帮助用户到数据仓库查询所需要的信息,用于解决企业问题。查询所需要的信息,用于解决企业问
49、题。78习习 题题o 1,2,3,5,6,7,8,10,14,177911醉翁亭记 1反复朗读并背诵课文,培养文言语感。2结合注释疏通文义,了解文本内容,掌握文本写作思路。3把握文章的艺术特色,理解虚词在文中的作用。4体会作者的思想感情,理解作者的政治理想。一、导入新课范仲淹因参与改革被贬,于庆历六年写下岳阳楼记,寄托自己“先天下之忧而忧,后天下之乐而乐”的政治理想。实际上,这次改革,受到贬谪的除了范仲淹和滕子京之外,还有范仲淹改革的另一位支持者北宋大文学家、史学家欧阳修。他于庆历五年被贬谪到滁州,也就是今天的安徽省滁州市。也是在此期间,欧阳修在滁州留下了不逊于岳阳楼记的千古名篇醉翁亭记。接下
50、来就让我们一起来学习这篇课文吧!【教学提示】结合前文教学,有利于学生把握本文写作背景,进而加深学生对作品含义的理解。二、教学新课目标导学一:认识作者,了解作品背景作者简介:欧阳修(10071072),字永叔,自号醉翁,晚年又号“六一居士”。吉州永丰(今属江西)人,因吉州原属庐陵郡,因此他又以“庐陵欧阳修”自居。谥号文忠,世称欧阳文忠公。北宋政治家、文学家、史学家,与韩愈、柳宗元、王安石、苏洵、苏轼、苏辙、曾巩合称“唐宋八大家”。后人又将其与韩愈、柳宗元和苏轼合称“千古文章四大家”。关于“醉翁”与“六一居士”:初谪滁山,自号醉翁。既老而衰且病,将退休于颍水之上,则又更号六一居士。客有问曰:“六一