第2章-数据仓库和数据挖掘的OLAP技术--数据挖掘:概念与技术-教学课件

上传人:无*** 文档编号:241602042 上传时间:2024-07-08 格式:PPT 页数:122 大小:1.85MB
返回 下载 相关 举报
第2章-数据仓库和数据挖掘的OLAP技术--数据挖掘:概念与技术-教学课件_第1页
第1页 / 共122页
第2章-数据仓库和数据挖掘的OLAP技术--数据挖掘:概念与技术-教学课件_第2页
第2页 / 共122页
第2章-数据仓库和数据挖掘的OLAP技术--数据挖掘:概念与技术-教学课件_第3页
第3页 / 共122页
点击查看更多>>
资源描述
第第2 2章数据仓库和数据挖章数据仓库和数据挖掘的掘的OLAPOLAP技术技术数据仓库数据挖掘的有效平台数据仓库数据挖掘的有效平台n数据仓库中的数据清理和数据集成,是数据挖掘的重要数数据仓库中的数据清理和数据集成,是数据挖掘的重要数据预处理步骤。据预处理步骤。n数据仓库提供数据仓库提供OLAPOLAP工具,可用于不同粒度的数据分析。工具,可用于不同粒度的数据分析。n很多数据挖掘功能都可以和很多数据挖掘功能都可以和OLAPOLAP操作集成,以提供不同概操作集成,以提供不同概念层上的知识发现。念层上的知识发现。q分类分类q预测预测q关联关联q聚集聚集2.1 什么是数据仓库什么是数据仓库 20世纪世纪80年代中期,年代中期,“数据仓库数据仓库”这个名词首次出这个名词首次出现在号称现在号称“数据仓库之父数据仓库之父”W.H.Inmon的的Building Data Warehouse一书中。一书中。在该书中,在该书中,W.H.Inmon把数据仓库定义为把数据仓库定义为“一个面一个面向主题的、集成的、稳定的、随时间变化的数据的集合,向主题的、集成的、稳定的、随时间变化的数据的集合,以用于支持管理决策过程以用于支持管理决策过程”。2.1.1 数据仓库的定义数据仓库的定义数据仓库还有许多不同的定义,如:数据仓库还有许多不同的定义,如:“数据仓库是融合方法、技术和工具以在完整的平台数据仓库是融合方法、技术和工具以在完整的平台上将数据提交给终端用户的一种手段上将数据提交给终端用户的一种手段”。“数据仓库是对分布在企业内部各处的业务数据的整数据仓库是对分布在企业内部各处的业务数据的整合、加工和分析的过程合、加工和分析的过程”。“数据仓库是一种具有集成性、稳定性和提供决策支数据仓库是一种具有集成性、稳定性和提供决策支持的处理持的处理”。“为查询和分析(不是事务处理)而设计的关系数据为查询和分析(不是事务处理)而设计的关系数据库库”在众多的数据仓库定义中,公认的仍然是在众多的数据仓库定义中,公认的仍然是W.H.Inmon的定义,该定义指出了数据仓库的定义,该定义指出了数据仓库面向主题、集成、稳定、面向主题、集成、稳定、随时间变化随时间变化这这4个最重要的特征。个最重要的特征。(1)面向主题)面向主题主题主题就是在一个较高的管理层次上对信息系统的数据按照就是在一个较高的管理层次上对信息系统的数据按照某一具体的管理对象进行综合、归类所形成的分析对象。某一具体的管理对象进行综合、归类所形成的分析对象。如顾如顾客、供应商、产品和销售组织等客、供应商、产品和销售组织等。从数据组织的角度看,主题是一些数据集合,这些数据集从数据组织的角度看,主题是一些数据集合,这些数据集合对分析对象作了比较完整的、一致的描述,这种描述不仅涉合对分析对象作了比较完整的、一致的描述,这种描述不仅涉及到数据自身,而且涉及到数据之间的关系。及到数据自身,而且涉及到数据之间的关系。面向主题的数据组织方式,就是在较高层次上对分析对象面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻画各个分的数据的一个完整、一致的描述,能完整、统一地刻画各个分析对象所涉及的企业的各项数据,以及数据之间的联系。析对象所涉及的企业的各项数据,以及数据之间的联系。(2)集成)集成数据仓库中存储的数据一般从企业原来已建立的数据数据仓库中存储的数据一般从企业原来已建立的数据库系统中提取出来,但并不是原有数据的简单拷贝,而是库系统中提取出来,但并不是原有数据的简单拷贝,而是经过了抽取、筛选、清理、综合等工作。这是因为:经过了抽取、筛选、清理、综合等工作。这是因为:1)原有数据库系统记录的是每一项业务处理的流水原有数据库系统记录的是每一项业务处理的流水帐,这些数据不适合于分析处理。在进入数据仓库之前必帐,这些数据不适合于分析处理。在进入数据仓库之前必须经过综合、计算,同时抛弃一些分析处理不需要的数据须经过综合、计算,同时抛弃一些分析处理不需要的数据项,必要时还要增加一些可能涉及的外部数据。项,必要时还要增加一些可能涉及的外部数据。2)数据仓库每一个主题所对应的源数据在源分散数数据仓库每一个主题所对应的源数据在源分散数据库中有许多重复或不一致之处,必须将这些数据转换成据库中有许多重复或不一致之处,必须将这些数据转换成全局统一的定义,消除不一致和错误之处,以保证数据的全局统一的定义,消除不一致和错误之处,以保证数据的质量;显然,对不准确,甚至不正确的数据分析得出的结质量;显然,对不准确,甚至不正确的数据分析得出的结果将不能用于指导企业做出科学的决策。果将不能用于指导企业做出科学的决策。3)源数据加载到数据仓库后,还要根据决策分析的源数据加载到数据仓库后,还要根据决策分析的需要对这些数据进行概括、聚集处理。需要对这些数据进行概括、聚集处理。(3)稳定性即非易失的)稳定性即非易失的业务系统的数据库中一般只存储短期数据,因此在数据库业务系统的数据库中一般只存储短期数据,因此在数据库系统中数据是不稳定的,它记录的是系统中数据变化的瞬态。系统中数据是不稳定的,它记录的是系统中数据变化的瞬态。但对于决策分析而言,历史数据是相当重要的,许多分析但对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托。没有大量历史数据的支持方法必须以大量的历史数据为依托。没有大量历史数据的支持是难以进行企业的决策分析的,因此是难以进行企业的决策分析的,因此数据仓库中的数据大多表数据仓库中的数据大多表示过去某一时刻的数据示过去某一时刻的数据,主要用于查询、分析,不像业务系统,主要用于查询、分析,不像业务系统中的数据库那样,要经常进行修改、添加,除非数据仓库中的中的数据库那样,要经常进行修改、添加,除非数据仓库中的数据是错误的。数据是错误的。(4)随时间而变化即时变的)随时间而变化即时变的数据仓库中数据是批量载入的,是稳定的,这使得数据数据仓库中数据是批量载入的,是稳定的,这使得数据仓库中的数据总是拥有时间维度。从这个角度,数据仓库实仓库中的数据总是拥有时间维度。从这个角度,数据仓库实际是记录了系统的各个瞬态,并通过将各个瞬态连接起来形际是记录了系统的各个瞬态,并通过将各个瞬态连接起来形成动画,从而在数据分析的时候再现系统运动的全过程。数成动画,从而在数据分析的时候再现系统运动的全过程。数据批量载入(提取)的周期实际上决定了动画间隔的时间,据批量载入(提取)的周期实际上决定了动画间隔的时间,数据提取的周期短,则动画的速度快。数据提取的周期短,则动画的速度快。2.1.2 数据仓库与操作数据库系统的区别数据仓库与操作数据库系统的区别n操作数据库系统的主要任务是联机事务处理操作数据库系统的主要任务是联机事务处理OLTPq日常操作日常操作:购买,库存,银行,制造,工资,注册,记购买,库存,银行,制造,工资,注册,记帐等。帐等。n数据仓库的主要任务是联机分析处理数据仓库的主要任务是联机分析处理OLAPq数据分析和决策支持,支持以不同的形式显示数据以满数据分析和决策支持,支持以不同的形式显示数据以满足不同的用户需要。足不同的用户需要。OLTP 和和OLAP的比较的比较(1/3)n用户和系统的面向性用户和系统的面向性q面向顾客(事务)面向顾客(事务)面向市场(分析)。面向市场(分析)。n数据内容数据内容q当前的、详细的数据当前的、详细的数据 历史的、汇总的数据。历史的、汇总的数据。n数据库设计数据库设计q实体联系模型(实体联系模型(ER)和面向应用的数据库设计)和面向应用的数据库设计 星星型型/雪花模型和面向主题的数据库设计。雪花模型和面向主题的数据库设计。OLTP 和和OLAP的比较(的比较(2)n数据视图数据视图q当前的、企业内部的数据当前的、企业内部的数据 经过演化的、集成的数据。经过演化的、集成的数据。n访问模式访问模式q事务操作事务操作 只读查询(但很多是复杂的查询)只读查询(但很多是复杂的查询)n任务单位任务单位q简短的事务简短的事务 复杂的查询。复杂的查询。n访问数据量访问数据量q数十个数十个 数百万个。数百万个。OLTP和和OLAP的比较(的比较(3)n用户数用户数q数千个数千个 数百个。数百个。n数据库规模数据库规模q100M100M数数GB GB 100GB100GB数数TBTB。n设计优先性设计优先性q高性能、高可用性高性能、高可用性高灵活性、端点用户自治。高灵活性、端点用户自治。n度量度量q事务吞吐量事务吞吐量 查询吞吐量、响应时间。查询吞吐量、响应时间。2.1.3 为什么需要一个分离的数据仓库为什么需要一个分离的数据仓库?n提高两个系统的性能提高两个系统的性能qDBMSDBMS是为是为OLTPOLTP而设计的:存储方式、索引、而设计的:存储方式、索引、并发控制并发控制和和 恢复。恢复。q数据仓库是为数据仓库是为OLAPOLAP而设计:复杂的而设计:复杂的 OLAPOLAP查询、查询、多维视多维视图和汇总。图和汇总。n不同的功能和不同的数据不同的功能和不同的数据:q历史数据:决策支持需要历史数据,而这些数据在操作历史数据:决策支持需要历史数据,而这些数据在操作数据库中一般不会去维护。数据库中一般不会去维护。q数据汇总:决策支持需要将来自异种源的数据统一(如数据汇总:决策支持需要将来自异种源的数据统一(如聚集和汇总)。聚集和汇总)。q数据质量:不同的源使用不一致的数据表示、编码和格数据质量:不同的源使用不一致的数据表示、编码和格式,对这些数据进行有效的分析需要将他们转化后进行式,对这些数据进行有效的分析需要将他们转化后进行集成。集成。2.1.4 数据仓库中的关键名词数据仓库中的关键名词1.ETL(Extract/Transformation/Load)数据抽取、转数据抽取、转换、加载工具换、加载工具 ETL工具就是进行数据的抽取、转换和加载工具。工具就是进行数据的抽取、转换和加载工具。(1)数据提取()数据提取(Data Extract)从业务数据库只需提取出系统分析必需的那一部分数从业务数据库只需提取出系统分析必需的那一部分数据。例如,某超市确定以分析客户的购买行为为主题建据。例如,某超市确定以分析客户的购买行为为主题建立数据仓库,则我们只需将与客户购买行为相关的数据立数据仓库,则我们只需将与客户购买行为相关的数据提取出来,而超市服务员工的数据就没有必要放进数据提取出来,而超市服务员工的数据就没有必要放进数据仓库。仓库。现有的数据仓库产品几乎都提供各种关系型数据接口,现有的数据仓库产品几乎都提供各种关系型数据接口,提供提取引擎,从关系型数据中提取数据。提供提取引擎,从关系型数据中提取数据。(2)数据转换()数据转换(Data Transform)由于业务系统可能使用不同的数据库厂商的产品,比由于业务系统可能使用不同的数据库厂商的产品,比如如IBM DB2、Oracle、Informix、Sybase、NCR Teradata、SQL Server等,各种数据库产品提供的数据类型可能不同,等,各种数据库产品提供的数据类型可能不同,因此需要将不同格式的数据转换成统一的数据格式。如时因此需要将不同格式的数据转换成统一的数据格式。如时间格式间格式“年年/月月/日日”,“月月/日日/年年”、“日日-月月-年年”的不的不一致问题等。一致问题等。(3)数据清洗()数据清洗(Data Clean)所谓所谓“清洗清洗”就是将错误的、不一致的数据在进入数据就是将错误的、不一致的数据在进入数据仓库之前予以更正或删除,以免影响决策支持系统决策的正仓库之前予以更正或删除,以免影响决策支持系统决策的正确性。确性。(4)数据加载(数据加载(Data Load)数数据据加加载载部部件件负负责责将将数数据据按按照照物物理理数数据据模模型型定定义义的的表表结结构构装装入入数数据据仓仓库库,包包括括清清空空数数据据域域、填填充充空空格格、有效性检查等步骤。有效性检查等步骤。2.元数据(元数据(MetaData)“什么是元数据?什么是元数据?”元数据是元数据是描述数据的数据描述数据的数据。在数据仓库中,元数据是定义数据仓库对象的数据。在数据仓库中,元数据是定义数据仓库对象的数据。元数据包括相应数据仓库的数据名和定义、数据提取操作元数据包括相应数据仓库的数据名和定义、数据提取操作时被提取数据的时间和地点以及数据清理或数据集成过程时被提取数据的时间和地点以及数据清理或数据集成过程添加的字段等。它提供了有关数据的环境,用于构造、维添加的字段等。它提供了有关数据的环境,用于构造、维持、管理、和使用数据仓库,在数据仓库中尤为重要。持、管理、和使用数据仓库,在数据仓库中尤为重要。3.数据集市(数据集市(Data Market)数据仓库中存放的是整个企业的信息,并且数据是按数据仓库中存放的是整个企业的信息,并且数据是按照不同主题来组织的。比如市场发展规律的分析主题主要由照不同主题来组织的。比如市场发展规律的分析主题主要由市场部门的人员使用,我们可以在逻辑上或者物理上将这部市场部门的人员使用,我们可以在逻辑上或者物理上将这部分数据分离出来,当市场部门人员需要信息时,不需要到数分数据分离出来,当市场部门人员需要信息时,不需要到数据仓库的巨量数据中检索,而只需在相应的部门数据上进行据仓库的巨量数据中检索,而只需在相应的部门数据上进行分析,因此从效率和处理速度的角度出发,这种划分是合算分析,因此从效率和处理速度的角度出发,这种划分是合算的。的。这这种种面面向向企企业业中中的的某某个个部部门门(主主题题)而而在在逻逻辑辑上上或或物物理理上上划划分分出出来来的的数数据据仓仓库库中中的的数数据据子子集集称称为为数数据据集集市市。换换句句话话说,数据集市包含了用于特殊目的数据仓库的部分数据。说,数据集市包含了用于特殊目的数据仓库的部分数据。数数据据仓仓库库面面向向整整个个企企业业,而而数数据据集集市市则则是是面面向向企企业业中中的的某某个个部部门门。典典型型示示例例是是销销售售部部门门、库库存存和和发发货货部部门门、财财务务部部门门和和高高级级管管理理部部门门等等的的数数据据集集市市。数数据据仓仓库库中中存存放放了了企企业业的的整整体体信信息息,而而数数据据集集市市只只存存放放了了某某个个主主题题需需要要的的信信息息,其其目目的是减少数据处理量,使信息的利用更快捷、灵活。的是减少数据处理量,使信息的利用更快捷、灵活。4.OLAP OLAP(On-line Analytical Processing,在在线线分分析析处处理理或或联联机机分分析析处处理理)就就是是一一个个应应用用广广泛泛的的数数据据仓仓库库使使用用技术。技术。它它可可以以根根据据分分析析人人员员的的要要求求,迅迅速速灵灵活活地地对对大大量量的的数数据据进进行行复复杂杂的的查查询询处处理理,并并以以直直观观的的容容易易理理解解的的形形式式将将查查询询结结果果提提供供给给各各种种决决策策人人员员,使使他他们们能能够够迅迅速速准准确确地掌握企业的运营情况,了解市场的需求。地掌握企业的运营情况,了解市场的需求。2.2 多维数据模型多维数据模型2.2.1 由表到数据立方体由表到数据立方体数据仓库和数据仓库和OLAPOLAP工具基于多维数据模型。工具基于多维数据模型。在多维数据模型中,数据以数据立方体(在多维数据模型中,数据以数据立方体(data cubedata cube)的形式存在。的形式存在。q数据立方体允许以多维数据建模和观察。它由维和事实定数据立方体允许以多维数据建模和观察。它由维和事实定义。义。n维是关于一个组织想要记录的视角或观点。每个维都维是关于一个组织想要记录的视角或观点。每个维都有一个表与之相关联,称为维表。有一个表与之相关联,称为维表。q多维数据模型围绕中心主题组织,该主题用事实表表示多维数据模型围绕中心主题组织,该主题用事实表表示。n事实表包括事实的名称或度量以及每个相关维表的关事实表包括事实的名称或度量以及每个相关维表的关键字。键字。n事实指的是一些数字度量。事实指的是一些数字度量。示例:示例:OLTP系统是为了快速回答简单查询,而不是为了存储系统是为了快速回答简单查询,而不是为了存储分析趋势的历史数据而创建的。一般的,分析趋势的历史数据而创建的。一般的,OLTP提供了大量提供了大量的原始数据,这些数据不易被分析。的原始数据,这些数据不易被分析。l查询某人买房记录。查询某人买房记录。l查询某房的价值。查询某房的价值。l一个英国房屋销售系统:一个英国房屋销售系统:l2008年第三季度,整个英格兰的总收入是多少?年第三季度,整个英格兰的总收入是多少?l2007年英国每一类房产销售的总收入是多少?年英国每一类房产销售的总收入是多少?l2008年租借房产业务中每个城市哪个地域最受欢迎?与过去的两年相年租借房产业务中每个城市哪个地域最受欢迎?与过去的两年相比有何不同?比有何不同?l每个分支机构本月的房产销售月收入是多少,并与刚过去的每个分支机构本月的房产销售月收入是多少,并与刚过去的12个月相个月相比较。比较。l如果对于如果对于10万英镑以上的房产,法定价格上升万英镑以上的房产,法定价格上升3.5%而政府税收下降而政府税收下降1.5%,对英国不同区域的销售会产生什么影响?,对英国不同区域的销售会产生什么影响?l 在英国主要城市中,哪种类型的房产销售价格高于平均房产销售价格在英国主要城市中,哪种类型的房产销售价格高于平均房产销售价格?这与人口统计数据有何联系?这与人口统计数据有何联系?数据仓库需要回答更复杂的查询,而不仅仅是一些像数据仓库需要回答更复杂的查询,而不仅仅是一些像“英国主要城市的商品平均销售价格是多少英国主要城市的商品平均销售价格是多少”之类的简单聚集之类的简单聚集数据查询。数据仓库需要回答的查询类型可以是简单的查询,数据查询。数据仓库需要回答的查询类型可以是简单的查询,也可以是高度复杂的,且还与终端用户使用的查询工具相关。也可以是高度复杂的,且还与终端用户使用的查询工具相关。英国房屋销售数据仓库系统:英国房屋销售数据仓库系统:多维数据模型(多维数据模型(1/3)time_keydayday_of_the_weekmonthquarteryeartime 维表维表location_keystreetcitystate_or_provincecountrylocation 维表维表Sales 事实表事实表 time_key item_key branch_key location_key units_sold dollars_solditem_keyitem_namebrandtypesupplier_typeitem 维表维表branch_keybranch_namebranch_typebranch 维表维表数据仓库:事实表维表数据仓库:事实表维表度量度量多维数据模型(多维数据模型(2/3)n在数据仓库中,数据立方体是在数据仓库中,数据立方体是n-Dn-D的(的(n n维)维)q(关系表和电子表格是几维的?)(关系表和电子表格是几维的?)n多维数据模型为不同角度上的数据建模和观察提供了一个多维数据模型为不同角度上的数据建模和观察提供了一个良好的基础。良好的基础。示例示例AllElectronicsAllElectronics的销售数据按维的销售数据按维time,itemtime,item的的2-D2-D视视图。图。location“Vancouver“(温哥华温哥华)item(类型类型)time(季度季度)家庭娱乐家庭娱乐计算机电话安全计算机电话安全Q160582514400Q268095231512Q38121023 30 501Q49271038 38 580AllElectronicsAllElectronics的销售数据按维的销售数据按维time,itemtime,item和和locationlocation的的3-3-D D视图。视图。location“Chicage”itemtime 家庭娱乐家庭娱乐 计算机计算机 电话电话 安全安全Q1854 88289623Q2943 89064698Q31032924 59789Q41129992 63870location“New York”itemtime 家庭娱乐家庭娱乐 计算机计算机 电话电话 安全安全Q11087 96838623Q2943 89064698Q31032924 59789Q41129992 63870.AllElectronicsAllElectronics的销售数据按维的销售数据按维timetime、itemitem和和locationlocation的的3-D3-D视图的视图的3-D3-D数据立方体表示。数据立方体表示。销售数据的销售数据的4-D4-D立方体表示。立方体表示。4 4维分别是维分别是timetime、itemitem、locationlocation和和suppliersupplier。多维数据模型(多维数据模型(3/3)n一个一个n n维的数据的立方体叫做维的数据的立方体叫做基本方体基本方体。给定一个维的集合,我们可以构造一个方体的格,每个给定一个维的集合,我们可以构造一个方体的格,每个都在不同的汇总级或不同的数据子集显示数据,方体的格都在不同的汇总级或不同的数据子集显示数据,方体的格称为称为数据立方体数据立方体。0 0维方体存放最高层的汇总,称作顶点方维方体存放最高层的汇总,称作顶点方体;而存放最底层汇总的方体则称为基本方体。体;而存放最底层汇总的方体则称为基本方体。数据立方体数据立方体一个方体的格一个方体的格alltimeitemlocationsuppliertime,itemtime,locationtime,supplieritem,locationitem,supplierlocation,suppliertime,item,locationtime,item,suppliertime,location,supplieritem,location,suppliertime,item,location,supplier0维顶点方体维顶点方体1维方体维方体2维方体维方体3维方体维方体4维基本方体维基本方体i-1维方体维方体i维方体维方体上卷上卷下钻下钻联机分析处理数据立方体代数形式化定义联机分析处理数据立方体代数形式化定义数据立方体定义:数据立方体定义:是一个是一个6元组,元组,cube=(Dom,D,Mdom,M,f,aggr),其中:其中:(1)Dom=dom1.domn,n0,称为维的域,称为维的域,domi(1in)都是域;都是域;(2)D=d1,.,dn,称为维标识集,称为维标识集,di(1in)是是domi(1in)的标识;的标识;(3)Mdom=mdom1.mdomm,m0,称为指标的域,称为指标的域,mdomi(1im)都是域;都是域;(4)M=m1,.,mm,称为指标标识集,称为指标标识集,mi(1in)是是mdomi(1im)的标识;的标识;(5)f:DomMdom是是Dom到到Mdom上的部分映射,称为立方上的部分映射,称为立方体的基(体的基(cube base););(6)aggr是是Mdom上的聚集函数。上的聚集函数。2.2.2 数据仓库的概念模型数据仓库的概念模型最流行的数据仓库概念模型是多维数据模型。这种模型最流行的数据仓库概念模型是多维数据模型。这种模型可以以星型模式、雪花模式、或事实星座模式的形式存在。可以以星型模式、雪花模式、或事实星座模式的形式存在。l星型模式(星型模式(Star schema):事实表在中心,周围围事实表在中心,周围围绕地连接着维表(每维一个),事实表含有大量数绕地连接着维表(每维一个),事实表含有大量数据,没有冗余。据,没有冗余。星型模式实例星型模式实例 time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationsales事实表事实表 time_key item_key branch_key location_key units_sold dollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch维表维表度量度量l雪花模式(雪花模式(Snowflake schema):是星型模式的变种,是星型模式的变种,其中某些维表是规范化的,因而把数据进一步分解到附其中某些维表是规范化的,因而把数据进一步分解到附加表中。结果,模式图形成类似于雪花的形状。加表中。结果,模式图形成类似于雪花的形状。雪花模式实例雪花模式实例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationsales事实表事实表 time_key item_key branch_key location_key units_sold dollars_solditem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity星型模式星型模式雪花模式雪花模式维表规格化维表规格化维表维表度量度量l事实星座(事实星座(Fact constellations):多个事实表共享维表多个事实表共享维表,这种模式可以看作星型模式集,因此称为星系模式这种模式可以看作星型模式集,因此称为星系模式(galaxy schema),或者事实星座(),或者事实星座(fact constellation)。事实星座模式实例事实星座模式实例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationsales事实表事实表time_key item_key branch_key location_key units_sold dollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch航运事实表航运事实表time_key item_key shipper_key from_location to_location dollars_cost units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper星型星型/雪花雪花模式模式事实模式事实模式多个事实表共多个事实表共享维表享维表维表维表度量度量2.2.3 一种数据挖掘查询语言一种数据挖掘查询语言:DMQLnDMQLDMQL首先包括定义数据仓库和数据集市的语言原语,这包首先包括定义数据仓库和数据集市的语言原语,这包括两种原语定义:一种是立方体定义,一种是维定义括两种原语定义:一种是立方体定义,一种是维定义q立方体定义立方体定义 (事实表)(事实表)define cube :define cube :q维定义维定义 (维表)(维表)define dimension as define dimension as()实例:使用实例:使用DMQL定义星型模式定义星型模式define cube sales_star time,item,branch,location:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sold=count(*)define dimension time as(time_key,day,day_of_week,month,quarter,year)define dimension item as (item_key,item_name,brand,type,supplier_type)define dimension branch as(branch_key,branch_name,branch_type)define dimension location as (location_key,street,city,province_or_state,country)星型模式实例星型模式实例 time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationsales事实表事实表 time_key item_key branch_key location_key units_sold dollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch维表维表度量度量实例:使用实例:使用DMQLDMQL定义雪花模式定义雪花模式define cube sales_snowflake time,item,branch,location:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sold=count(*)define dimension time as(time_key,day,day_of_week,month,quarter,year)define dimension item as(item_key,item_name,brand,type,supplier(supplier_key,supplier_type)define dimension branch as(branch_key,branch_name,branch_type)define dimension location as(location_key,street,city(city_key,province_or_state,country)雪花模式实例雪花模式实例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationsales事实表事实表 time_key item_key branch_key location_key units_sold dollars_solditem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity星型模式星型模式雪花模式雪花模式维表规格化维表规格化维表维表度量度量实例:使用实例:使用DMQLDMQL定义事实星座模式定义事实星座模式define cube sales time,item,branch,location:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sold=count(*)define dimension time as(time_key,day,day_of_week,month,quarter,year)define dimension item as(item_key,item_name,brand,type,supplier_type)define dimension branch as(branch_key,branch_name,branch_type)define dimension location as(location_key,street,city,province_or_state,country)define cube shipping time,item,shipper,from_location,to_location:dollar_cost=sum(cost_in_dollars),unit_shipped=count(*)define dimension time as time in cube salesdefine dimension item as item in cube salesdefine dimension shipper as(shipper_key,shipper_name,location as location in cube sales,shipper_type)define dimension from_location as location in cube salesdefine dimension to_location as location in cube sales事实星座模式实例事实星座模式实例time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationsales事实表事实表time_key item_key branch_key location_key units_sold dollars_solditem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch航运事实表航运事实表time_key item_key shipper_key from_location to_location dollars_cost units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper星型星型/雪花雪花模式模式事实模式事实模式多个事实表共多个事实表共享维表享维表维表维表度量度量2.2.4 度量的分类度量的分类n一个数据立方体的度量是一个一个数据立方体的度量是一个数值函数数值函数,该函数可以对数,该函数可以对数据立方体的每一个点求值。据立方体的每一个点求值。n度量可以根据其所用的聚集函数分为三类:度量可以根据其所用的聚集函数分为三类:q分布的:将函数用于分布的:将函数用于n n个聚集值得到的结果和将函数用个聚集值得到的结果和将函数用于所有数据得到的结果一样。于所有数据得到的结果一样。n比如:比如:count()count(),sum()sum(),min()min(),max()max()等等q代数的:函数可以由一个带代数的:函数可以由一个带M M个参数的代数函数计算(个参数的代数函数计算(M M为有界整数),而每个参数值都可以由一个分布的聚集为有界整数),而每个参数值都可以由一个分布的聚集函数求得。函数求得。n比如:比如:avgavg()(),min_Nmin_N()(),standard_deviationstandard_deviation()()q整体的:描述函数的子聚集所需的存储没有一个常数界。整体的:描述函数的子聚集所需的存储没有一个常数界。n比如:比如:median()median(),mode()mode(),rank()rank()2.2.5 概念分层概念分层 n一个一个概念分层概念分层(concept hierarchyconcept hierarchy)定义一个映射序列,)定义一个映射序列,将低层概念映射到更一般的高层概念将低层概念映射到更一般的高层概念q例如表示例如表示locationlocation的概念:杭州的概念:杭州浙江浙江中国中国亚洲。亚洲。q概念分层允许我们在各种抽象级审查和处理数据。概念分层允许我们在各种抽象级审查和处理数据。n概念分层可以由系统用户、领域专家、知识工程师人工地概念分层可以由系统用户、领域专家、知识工程师人工地提供,也可以根据数据分布的统计分析自动地产生。提供,也可以根据数据分布的统计分析自动地产生。概念分层概念分层 :location:location维的一个概念分层维的一个概念分层allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM.WindL.Chan.allregionofficecountryTorontoFrankfurtcity许多概念分层的定义隐含在数许多概念分层的定义隐含在数据库的模式中。比如:据库的模式中。比如:location维的定义,维的定义,officecitycountryregion;这这些属性些属性 按一个全序相关,形成按一个全序相关,形成一个层次结构:一个层次结构:yeardayquartermonthweek维的属性也可以组成一个偏维的属性也可以组成一个偏序,形成一个格:序,形成一个格:price属性上的概念分层属性上的概念分层概念层次是一个偏序集(概念层次是一个偏序集(H,H,),其中,),其中,H H是概念的一是概念的一个有限集,是关于个有限集,是关于H H的一个偏序。的一个偏序。年年月月季度季度日日星期星期概念分层概念分层 使用使用n概念分层为不同级别上的数据汇总提供了一个良好的基础概念分层为不同级别上的数据汇总提供了一个良好的基础n综合概念分层和多维数据模型的潜力,可以对数据获得更综合概念分层和多维数据模型的潜力,可以对数据获得更深入的洞察力深入的洞察力q通过在多维数据模型中,在不同的维上定义概念分层,通过在多维数据模型中,在不同的维上定义概念分层,使得用户在不同的维上从不同的层次对数据进行观察成使得用户在不同的维上从不同的层次对数据进行观察成为可能。为可能。n多维数据模型(数据立方体)使得从不同的角度对数据进多维数据模型(数据立方体)使得从不同的角度对数据进行观察成为可能,而概念分层则提供了从不同层次对数据行观察成为可能,而概念分层则提供了从不同层次对数据进行观察的能力;结合这两者的特征,我们可以在多维数进行观察的能力;结合这两者的特征,我们可以在多维数据模型上定义各种据模型上定义各种OLAPOLAP操作,为用户从不同角度不同层次操作,为用户从不同角度不同层次观察数据提供了灵活性。观察数据提供了灵活性。2.2.6 多维数据模型上的多维数据模型上的OLAP操作操作 n上卷(上卷(roll-uproll-up):汇总数据):汇总数据q通过一个维的概念分层向上攀升或者通过维归约。通过一个维的概念分层向上攀升或者通过维归约。q当用维归约进行上卷时,一个或多个维由给定的数据当用维归约进行上卷时,一个或多个维由给定的数据立方体删除。立方体删除。示例:示例:OLAP OLAP 操作上卷操作上卷n在在 location上卷(由上卷(由 cities 到到 countries汇总)汇总)n下钻(下钻(drill-downdrill-down):上卷的逆操作):上卷的逆操作q由不太详细的数据到更详细的数据,可以通过沿维的概由不太详细的数据到更详细的数据,可以通过沿维的概念分层向下或引入新的维来实现念分层向下或引入新的维来实现 (为给定数据添加更(为给定数据添加更多细节)。多细节)。示例:示例:OLAP OLAP 操作下钻操作下钻n在在 time下钻下钻(由(由 quarters 到到 months细化)细化)n切片和切块(切片和切块(slice and diceslice and dice)切片操作在给定的数据立方体的切片操作在给定的数据立方体的一个维一个维上进行选上进行选择,导致一个子方切块操作通过对两个或多个维进行选择,择,导致一个子方切块操作通过对两个或多个维进行选择,定义子方。定义子方。切块操作在给定的数据立方体的切块操作在给定的数据立方体的多个维多个维上进行选择,上进行选择,导致一个子方切块操作通过对两个或多个维进行选择,定导致一个子方切块操作通过对两个或多个维进行选择,定义子方。义子方。示例:示例:OLAP 操作切片操作切片n切片条件切片条件:time=“Q2”示例:示例:OLAP 操作操作 切块切块n切块条件切块条件:(location=“Montreal”or“Vancouver”)and(time=“Q1”or“Q2”)and(item=“home entertainment”or“computer”)n转轴(转轴(pivotpivot)q立方体的重定位,可视化,或将一个立方体的重定位,可视化,或将一个3 3维立方体转化为维立方体转化为一个一个2 2维平面序列。维平面序列。q转轴是一种可视化操作,通过转动当前数据的视图来提转轴是一种可视化操作,通过转动当前数据的视图来提供一个数据的替代表示。供一个数据的替代表示。示例:示例:OLAP 操作转轴操作转轴n转轴转轴n其他其他OLAPOLAP操作操作q钻过(钻过(drill_acrossdrill_across):执行涉及多个事实表的查询。):执行涉及多个事实表的查询。q钻透(钻透(drill_throughdrill_through):使用关系):使用关系SQLSQL机制,钻到数据机制,钻到数据立方体的底层,到后端关系表。立方体的底层,到后端关系表。q其他其他OLAPOLAP操作可能包括列出表中最高或最低的操作可能包括列出表中最高或最低的N N项,以项,以及计算移动平均值、增长率、利润、统计函数等等。及计算移动平均值、增长率、利润、统计函数等等。2.3 数据仓库的系统结构数据仓库的系统结构2.3.1 数据仓库的设计步骤和结构数据仓库的设计步骤和结构设计和构造数据仓库、三层数据仓库结构。设计和构造数据仓库、三层数据仓库结构。介绍中小型数据仓库的一般设计方法。介绍中小型数据仓库的一般设计方法。n数据仓库给商业分析专家提供了什么?数据仓库给商业分析专家提供了什么?q通过提供相关数据与信息,获得竞争优势。通过提供相关数据与信息,获得竞争优势。q通过有效地收集精确地描述组织的数据,获得生产力的通过有效地收集精确地描述组织的数据,获得生产力的提高。提高。q通过提供不同级别(部门、市场、商业)的客户视图,通过提供不同级别(部门、市场、商业)的客户视图,协助客户关系管理。协助客户关系管理。q通过追踪长期趋势、异常等,降低成本。通过追踪长期趋势、异常等,降低成本。n有效构建数据仓库的关键:理解和分析商业需求有效构建数据仓库的关键:理解和分析商业需求q通过提供一个商业分析框架,综合各种不同的数据使用通过提供一个商业分析框架,综合各种不同的数据使用者的视图。者的视图。1.1.数据仓库设计:一个商务分析框架数据仓库设计:一个商务分析框架n数据仓库设计的四种视图数据仓库设计的四种视图q自顶向下视图自顶向下视图n允许我们选择数据仓库所需的相关信息。允许我们选择数据仓库所需的相关信息。q数据源视图数据源视图n揭示被操作数据库系统所捕获、存储和管理的信息。揭示被操作数据库系统所捕获、存储和管理的信息。q数据仓库视图数据仓库视图n由事实表和维表所组成。由事实表和维表所组成。q商务查询视图商务查询视图n从最终用户的角度透视数据仓库中的数据。从最终用户的角度透视数据仓库中的数据。2.2.数据仓库的设计过程数据仓库的设计过程n自顶向下法、自底向上法或者两者的混合方法自顶向下法、自底向上法或者两者的混合方法q自顶向下法:由总体设计和规划开始自顶向下法:由总体设计和规划开始n在技术成熟、商业理解透彻的情况下使用。在技术成熟、商业理解透彻的情况下使用。q自底向上法:以实验和原型开始自底向上法:以实验和原型开始n常用在模型和技术开发的初期,可以有效的对使用的常用在模型和技术开发的初期,可以有效的对使用的技术和模型进行评估,降低风险。技术和模型进行评估,降低风险。q混合方法:上述两者的结合混合方法:上述两者的结合n从软件工程的观点从软件工程的观点q瀑布式方法:在进行下一步前,每一步都进行结构化和瀑布式方法:在进行下一步前,每一步都进行结构化和系统的分析。系统的分析。q螺旋式方法:功能渐增的系统的快速产生,相继版本之螺旋式方法:功能渐增的系统的快速产生,相继版本之间间隔很短。间间隔很短。n典型的数据仓库设计过程典型的数据仓库设计过程q选取待建模的商务过程选取待建模的商务过程n找到所构建的数据仓库的主题,比如:销售、货运、找到所构建的数据仓库的主题,比如:销售、货运、订单等等。订单等等。q选取商务过程的颗粒度选取商务过程的颗粒度n数据起始于多细的颗粒度,比如,记录每条详细订单,数据起始于多细的颗粒度,比如,记录每条详细订单,或是开始于每日的汇总数据。或是开始于每日的汇总数据。q选取用于每个事实表记录的维选取用于每个事实表记录的维n常用的维有:时间、货物、客户、供应商等。常用的维有:时间、货物、客户、供应商等。q选取将安放在事实表中的度量选取将安放在事实表中的度量n常用的数字度量包括:售价、货物数量等。常用的数字度量包括:售价、货物数量等。2.3.2 三层数据仓库架构三层数据仓库架构数据仓库数据仓库提取提取清理清理转换转换装入装入刷新刷新OLAPOLAP服务器服务器查询报告查询报告分析分析数据挖掘数据挖掘监控、监控、整合整合元数据元数据存储存储数据源数据源前端工具前端工具输出输出数据集市数据集市操作数据库操作数据库其他外部其他外部信息源信息源数据仓库服务器数据仓库服务器OLAPOLAP服务器服务器底层中间层前端层底层中间层前端层n底层:数据仓库的数据库服务器底层:数据仓库的数据库服务器q关注的问题:如何从这一层提取数据来构建数据仓库关注的问题:如何从这一层提取数据来构建数据仓库(通过网关(通过网关(ODBC,JDBC,OLE/DBODBC,JDBC,OLE/DB等)来提取)。等)来提取)。n中间层:中间层:OLAPOLAP服务器服务器q关注的问题:关注的问题:OLAPOLAP服务器如何实施(关系型服务器如何实施(关系型OLAPOLAP,多维多维OLAPOLAP等)。等)。n前端客户工具层前端客户工具层q关注的问题:查询工具、报表工具、分析工具、挖掘工关注的问题:查询工具、报表工具、分析工具、挖掘工具等。具等。n从体系结构的角度去看,数据仓库模型有以下三种:从体系结构的角度去看,数据仓库模型有以下三种:q企业仓库企业仓库n搜集关于跨越整个组织的主题的所有信息。搜集关于跨越整个组织的主题的所有信息。q数据集市数据集市n企业范围数据的一个子集,对于特定的客户是有用的。企业范围数据的一个子集,对于特定的客户是有用的。其范围限于选定的主题,比如一个商场的数据集市。其范围限于选定的主题,比如一个商场的数据集市。q独立的数据集市独立的数据集市 VS.VS.非独立的数据集市(数据来非独立的数据集市(数据来自于企业数据仓库)。自于企业数据仓库)。q虚拟仓库虚拟仓库n操作数据库上的一系列视图。操作数据库上的一系列视图。n只有一些可能的汇总视图被物化。只有一些可能的汇总视图被物化。n数据仓库开发上的困难数据仓库开发上的困难q自顶向下的开发方法从全系统的角度提供解决方案,使自顶向下的开发方法从全系统的角度提供解决方案,使得(模块)集成的问题最小;但是该方法十分昂贵,需得(模块)集成的问题最小;但是该方法十分昂贵,需要对组织进行长期研究和建模分析。要对组织进行长期研究和建模分析。q自底向上方法提供了更多的开发灵活性,价格便宜;但自底向上方法提供了更多的开发灵活性,价格便宜;但往往会遇到集成问题(每个
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!