第13章数据仓库和数据挖掘本章导读:信息技术的高速发展,数据库应用的规模、范围和深度不断扩大,一般的事务处理已不能满足应用的需要,企业界需要在大量数据基础上的决策支持,数据仓库(DataWarehouse)与数据挖掘技术的兴起满足了这一需求,了解数据仓库与数据挖掘方面的知识,对在当今数据爆炸时代是非常有益的。知识要点:SQLServer登录数据仓库数据挖掘13.1数据仓库本章导读:管理信息系统的成功应用积累了各行各业的大量数据,基本上满足了用户对数据存储、查询和统计的需要,但数据库容量的指数增长和对数据库应用的贫乏形成了强烈的反差,导致了大量的数据垃圾出现,无法从中提取内在关联信息或决策支持数据,如同奈斯比特在《大趋势》中所说“我们正在被信息所淹没,但我们却由于缺乏知识而感到饥饿”。20世纪80年代后期出现了数据仓库思想的萌芽出发点就是解决如何从繁杂数据中提取决策数据来支持企业领导和决策服务的数据库技术。13.1.1数据仓库发展历程1.开始阶段(1978-1988)2.全企业集成(EnterpriseIntergration,1988)3.企业级数据仓库(EDW,1991)4.数据集市(1994-1996)5.争吵与混乱(1996-1997)6.合并(1998-20017.数据仓库的现状和趋势)13.1.2数据仓库特征1.数据仓库中的数据是面向主题的2.数据仓库中的数据是集成的3.数据仓库中的数据是不可更改的4.数据仓库中的数据是随时间不断变化的13.1.2数据仓库特征1.数据仓库中的数据是面向主题的2.数据仓库中的数据是集成的3.数据仓库中的数据是不可更改的4.数据仓库中的数据是随时间不断变化的13.1.3数据仓库组成1.数据源2.数据抽取工具3.元数据4.访问工具5.数据集市(DataMarts)6.数据仓库管理7.信息发布系统13.1.4数据仓库架构1.两类基本数据仓库架构数据仓库架构有两种:一类是Inmon提出的CIF架构(CorporateInformationFactory,即企业信息工厂),一类是Kimball提出的MD架构(MutildimensionalArchitecture,即多维体系结构)。(1)CIF架构主要包括集成转换层(I&T)、操作数据存储(ODS)、数据仓库(EDW)、数据集市(DM)、探索仓库(EW)等部件。(2)MD架构主要包括数据准备区(StagingArea)和数据集市。MD的数据准备区在功能上相当于CIF的stagingarea+EDW,主要负责数据准备工作,是一致性维表的产生、保存和分发的场所。数据集市主要是采用一致性维表来完成维度建模,多个数据集市一起合并成“虚拟”数据仓库,数据集市可以是存在于一个数据库中,也可以分布存储在不同数据库中。13.1.4数据仓库架构2.解析CIF数据仓库架构13.1.5数据仓库系统的设计与开发1.建立一个数据仓库系统的参考步骤(1)收集和分析业务需求。用户需求往往不确定,在数据仓库环境中,决策支持分析人员往往是企业或事业组织的中上层管理人员,他们对决策分析的需求不能预先做出规范说明。(2)建立数据模型和数据仓库的物理设计。通过设计数据仓库的概念模型、逻辑模型和物理模型,可以得到企业或事业数据的完整而清晰的描述信息。(3)定义数据源。也叫做定义记录系统,记录系统是一个内容正确、在多个数据源间起决定作用的操作型数据源。它的特点是:数据最完整、最准确、最及时,结构最适合于数据仓库,并且与外部数据源最为接近。(4)选择数据仓库技术和平台。技术和平台选型对建设数据仓库来说非常重要,而且一旦选定,在数据仓库系统实施完成后将很难改变。(5)从操作型数据库中抽取、清洗及转换数据到数据仓库。(6)选择访问和报表工具,选择数据库连接软件,选择数据分析和数据展示软件。(7)更新数据仓库。确定数据仓库的更新策略,开发或配置数据仓库更新子系统,实现数据仓库数据的自动更新。13.1.5数据仓库系统的设计与开发2.数据仓库系统的生命开发周期数据仓库系统的开发设计是一个动态的反馈和循环过程。一个数据仓库系统包括两个主要部分:一是数据仓库数据库,用于存储数据仓库的数据;二是数据分析应用系统,用于对数据仓库数据库中的数据进行分析。因此,数据仓库系统的设计也包括数据仓库数据库的设计和数据仓库应用的设计两个方面。一个数据仓库系统不可能在一个循环过程中完成,而是经过多次循环开发,每次循环都会为系统增加新的功能,使数据仓库的应用得到新的提高,这个过程也叫数据仓库系统的生命周期。13.1.5数据仓库系统的设计与开发3.数据仓库数据库的设计步骤数据仓库数据库的设计如图所示,主要工作包括收集、分析和确认业务分析需求,分析和理解主题和元数据、事实及其量度、粒度和维度的选择与设计,数据仓库的物理存储方式的设计等。图13-5数据仓库与数据库设计示意图13.1.6数据库与数据仓库的比较2.数据仓库系统的生命开发周期数据仓库系统的开发设计是一个动态的反馈和循环过程。一个数据仓库系统包括两个主要部分:一是数据仓库数据库,用于存储数据仓库的数据;二是数据分析应用系统,用于对数据仓库数据库中的数据进行分析。因此,数据仓库系统的设计也包括数据仓库数据库的设计和数据仓库应用的设计两个方面。一个数据仓库系统不可能在一个循环过程中完成,而是经过多次循环开发,每次循环都会为系统增加新的功能,使数据仓库的应用得到新的提高,这个过程也叫数据仓库系统的生命周期。13.2数据挖掘技术计算机与信息技术经历了半个世纪的发展,给人类社会带来了巨大的变化与影响。在支配人类社会三大要素(能源、材料和信息)中,信息愈来愈显示出其重要性和支配力,它将人类社会由工业化时代推向信息化时代。数据挖掘作为一个新兴的多学科交叉应用领域,正在各行各业的决策支持活动扮演着越来越重要的角色。13.2.1数据挖掘的产生13.2.2什么是数据挖掘13.2.3数据挖掘的定义13.2.4数据挖掘技术的应用13.2.5数据挖掘和其它学科关系13.2.1数据挖掘的产生1.数据、信息、知识2.数据爆炸但知识贫乏3.从数据到知识13.2.2什么是数据挖掘数据挖掘就是指从数据集合中自动抽取隐藏在数据中的那些有用信息的非平凡过程,这些信息的表现形式为:规则、概念、规律及模式等。它可帮助决策者分析历史数据及当前数据,并从中发现隐藏的关系和模式,进而预测未来可能发生的行为。数据挖掘的过程也叫知识发现(KDDKnowledgeDiscoveryinDatabase)的过程,它是一门涉及面很广的交叉性新兴学科,涉及到数据库、人工智能、数理统计、可视化、并行计算等领域。数据挖掘是一种新的信息处理技术,其主要特点是对数据库中的大量数据进行抽取、转换、分析和其他模型化处理,并从中提取辅助决策的关键性数据。数据挖掘是知识发现(KDD)过程中的一个特定步骤,它用专门算法从数据中抽取模式(patterns),它并不是用规范的数据库查询语言(如SQL)进行查询,而是对查询的内容进行模式的总结和内在规律的搜索。传统的查询和报表处理只是得到事件发生的结果,并没有深入研究发生的原因,而数据挖掘则主要了解发生的原因,并且以一定的置信度对未来进行预测,用来为决策行为提供有利的支持。13.2.2什么是数据挖掘计算机与信息技术经历了半个世纪的发展,给人类社会带来了巨大的变化与影响。在支配人类社会三大要素(能源、材料和信息)中,信息愈来愈显示出其重要性和支配力,它将人类社会由工业化时代推向信息化时代。数据挖掘作为一个新兴的多学科交叉应用领域,正在各行各业的决策支持活动扮演着越来越重要的角色。13.2.1数据挖掘的产生13.2.2什么是数据挖掘13.2.3数据挖掘的定义13.2.4数据挖掘技术的应用13.2.5数据挖掘和其它学科关系13.2.3数据挖掘的定义1.数据挖掘概念数据挖掘(DataMining,简称DM),简单地讲就是从大量数据中挖掘或抽取出知识,数据挖掘概念的定义描述有若干版本,以下给出一个被普遍采用的定义描述:数据挖掘,又称为数据库中知识发现(KnowledgeDiscoveryfromDatabase简称KDD),它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。数据挖掘的全过程定义描述如图13-23所示。13.2.3数据挖掘的定义2.数据挖掘系统总体结构典型的数据挖掘系统的数据挖掘过程如图13-24所示。13.2.4数据挖掘技术的应用1.应用领域(1)天文学数据挖掘在天文学上最成功的案例是著名的SKICAT系统,由美国加州理工学院喷气推进实验室与天文学家合作开发的帮助天文学家发现遥远的类星体的一个工具。天文学家运用这一工具已经发现了16个新的极其遥远的类星体,从而为天文学家进行早期宇宙结构的起源和演化提供了条件。(2)生物学数据挖掘在生物学上的最重要的应用是对基因群组的研究,人类基因组计划,并且发展成为一门新的学科,即生物信息学。随着数据挖掘技术的成功应用,对人类的起源的探索的研究将会继续作出有价值的研究。(3)零售业运用数据挖掘技术可以进行商业市场分析、客户关系管理以及市场机会分析等等,可以说,目前比较大的公司都有相关的技术部门。(4)欺诈甄别商业欺诈在商业经营中经常涉及,那么如何甄别商业欺诈就成为了企业必须进行分析的重要内容了。(5)金融投资预测金融市场的分析必须对变换的数据进行跟踪管理,并且发现其中的规律。但是仅仅运用现成的分析方法肯定会丢失一些关键的属性。投资过程中合作伙伴的选择,项目组合的优化以及各种前景的评估都需要重要的数据挖掘方法。13.2.4数据挖掘技术的应用2.数据挖掘的知识发现数据挖掘所发现的知识最常见的分为以下几类(1)广义知识(Generalization)(2)关联知识(Association)(3)分类知识(Classification&Clustering)(4)预测型知识(Prediction)(5)偏差型知识(Deviation)13.2.4数据挖掘技术的应用2.数据挖掘的知识发现数据挖掘所发现的知识最常见的分为以下几类(1)广义知识(Generalization)(2)关联知识(Association)(3)分类知识(Classification&Clustering)(4)预测型知识(Prediction)(5)偏差型知识(Deviation)13.2.4数据挖掘技术的应用3.数据挖掘的常用技术机器学习、数理统计等方法是数据挖掘进行知识学习的重要方法。数据挖掘算法的好坏将直接影响到所发现知识的好坏,目前对数据挖掘的研究也主要集中在算法及其应用方面。统计方法应用于数据挖掘主要是进行数据评估;机器学习是人工智能的另一个分支,也称为归纳推理,它通过学习训练数据集,发现模型的参数,并找出数据中隐含的规则。其中关联分析法、人工神经元网络、决策树和遗传算法在数据挖掘中的应用很广泛。13.2.4数据挖掘技术的应用3.数据挖掘的常用技术机器学习、数理统计等方法是数据挖掘进行知识学习的重要方法。数据挖掘算法的好坏将直接影响到所发现知识的好坏,目前对数据挖掘的研究也主要集中在算法及其应用方面。统计方法应用于数据挖掘主要是进行数据评估;机器学习是人工智能的另一个分支,也称为归纳推理,它通过学习训练数据集,发现模型的参数,并找出数据中隐含的规则。其中关联分析法、人工神经元网络、决策树和遗传算法在数据挖掘中的应用很广泛。13.2.5数据挖掘和其它学科关系1.数据挖掘和统计学的关系(1)统计学和数据挖掘的共同点发现数据中的结构、隐藏的内在规律。但是,决定不能够认为数据挖掘是统计学的一个新的分支,因为数据挖掘有自己的内在思想。(2)两个学科的性质①统计学是一们比较保守的学科,而数据挖掘却属于开拓性理论基础可能不是特别坚实的科学;②数据挖掘面对的一个大的数据集,属于海量数据,而统计学却是抽样样本的研究;③模型与准则对于两者所扮演的角色不相同:统计学更加重视模型的运用,而数据挖掘却重视规则在其中的应用。13.2.5数据挖掘和其它学科关系2.回归分析和数据挖掘