1、在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,周 苏 教授 QQ:81505050 ZS,根据工作环境的不同,“数据文件”可能有不同的含义。例如,可以把数据文件当作是包含任何类型数据的文件,例如文本、数字、图形、声音,甚至是软件模块等;同样,也可以把数据文件当作任何不可执行或者不是程序的文件,这些定义都是有效的。当然,数据文件也可能指的是某个结构化文件或者数据库,比如电子邮件地址簿,其中包含了按照固定格式组织的信息。,由于数据文件有多种定义,因此,当阅读计算机专业杂志或者文档时,也许应该根据文本的上下文
2、来决定该术语的具体含义是什么。例如,在这一章中,“数据文件”指的是以统一格式组织信息的文件,这种数据文件可以保存简单地址簿、库存列表、学生花名册、航班时刻表等信息。与维护和访问数据文件中数据相关的任务称为数据管理。,数据库基础数据库管理系统数据库检索数据仓库数据挖掘,10.1,10.2,10.3,10.4,10.5,10.1 数据库基础 10.1.1 数据库的基本结构 10.1.2 数据库的特点 10.1.3 数据模型 10.1.4 数据库的发展,10.1 数据库基础 数据库 (DB,data base) 是依照某种数据模型组织并存储的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方
3、式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一的软件进行管理和控制等。,从发展历史看,数据管理技术大致经历了三个阶段: 1) 自由管理阶段:用户以文件形式将数据组织起来,并附属在各自的应用程序下。 2) 文件管理阶段:操作系统中的文件系统给出了统一的文件结构和共同存取的方法,用户可以把数据和信息作为文件长期地保存在计算机系统中,并可以方便地进行查询和处理。 3) 数据库管理阶段:为了适应大量数据的集中存储,并提供给多个用户共享的要求,使数据与程序完全独立,最大限度地减少数据的冗余度,出现了数据库管理系统 (DBMS) 。,10.1.1 数据库的
4、基本结构 在数据文件中,字段是有意义数据的最小单元,称为数据文件的基本组成模块。字段有字段名,用来描述字段中的内容。例如,字段Name可能描述了一组职工姓名数据。字段可以设置为可变长度或者固定长度。,输入在字段中的数据依赖于字段的数据类型。从技术上讲,数据类型定义了数据在磁盘和内存中表示的方式;从用户的角度来说,数据类型决定了操作数据的方式。文件中的每个字段都分配有数据类型,最常用的数据类型是字符和数字。数值类型的字段可以进行数学运算;字符类型的字段包含了那些不需要进行数学操作的数据,例如名字、描述、城市、缩写、电话号码和学号等。还有一些其他数据类型,如日期、逻辑和备注类型等。 实体是人、地方
5、、物品或事件等用来存储数据的对象,而记录包括了描述实体的字段。,记录长度表示记录可以存储的最大字节数,计算文件的记录长度是很重要的,因为它有助于确定存储需求。一般情况下,创建数据文件中文件结构的人定义了它所应该包含的字段,这类似于设计手工记录系统或卡片文件的空白格式。记录中字段的个数和字段名依赖于记录所包含的数据,不同的数据需要不同的记录类型,商业或组织机构通常需要许多不同的记录类型来存储数据。,数据库的基本结构分三个层次,反映了观察数据库的三种不同角度 (视图) : 1) 物理数据层。是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述
6、的指令操作处理的位串、字符和字组成。,2) 概念数据层。是数据库的中间层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而非物理情况,是数据库管理员 (DBA) 概念下的数据库。 3) 逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。,10.1.2 数据库的特点 数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点: 1) 实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 2)
7、减少数据的冗余度。由于数据库实现了数据共享,从而避免了用户各自建立应用文件,减少了大量重复数据,减少了数据冗余,维护了数据的一致性。,3) 数据的独立性。包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 4) 数据实现集中控制。利用数据库可以对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。 5) 数据一致性和可维护性,以确保数据的安全性和可靠性。包括: 安全性控制:以防止数据丢失、错误更新和越权使用; 完整性控制:保证数据的正确性、有效性和相容性; 并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的
8、不正常交互作用; 故障的发现和恢复:由DBMS提供一套方法,可及时发现和修复故障,从而防止数据被破坏。,10.1.3 数据模型 数据模型用来描述数据库中数据存储的方式。当使用有效的数据模型创建数据库时,就可以按照能够为公司或者组织机构提供有用信息的方式来输入、定位和操作数据。设计数据库结构时,数据模型可以帮助理解实体之间的关系,创建最有效的结构来存储数据。,(1) 实体关系 记录代表着一个实体,并且由一系列字段组成,关系是实体之间的联系关系。数据模型用来描述实体之间的关系,并且在创建数据库结构时把这些定义作为记录类型之间的关系。 数据库设计者使用如实体关系表等技术来图形化表示数据模型。例如,图
9、10-1中的图表表示了职工和考勤卡之间的关系。,图10-1 实体-关系图表示,数据图表可用来显示基数,即两个记录类型之间存在的对应关系。有三种可能的基数:一对一、一对多和多对多。,图10-2 表示基数图表示,一对多关系意味着一个特定记录类型中的一个记录可以和另外一个记录类型中的多个记录相关联。例如,一个职工可以有多个考勤卡,一个工作需要多个员工等。多对多关系意味着一个特定记录类型中的多个记录可以和另外一个记录类型中的多个记录相关联,反之亦然。例如,一个部门可以提供许多不同的工作,如护士、技术人员等,但同时,某个特定的工作也可能出现在多个部门中,例如,急救中心和门诊都需要护士。,数据模型可以帮助
10、数据库设计者为数据库创建最高效的结构,并且可以决定哪一种数据模型能提供最高效的数据库环境。有四种主要的数据库模型,即层次、网状、关系和面向对象数据库模型,它们采用不同的方式末表示实体之间的关系。对于理解所有的模型来说,记录类型、字段和关系等概念都是很重要的。,(2) 关系数据库模型 过去,大型机数据库通常使用层次或网状数据库。20世纪80年代中,关系数据库逐渐流行,在微机上使用的数据库大多是关系模型,并且,面向对象模型也越来越流行。 对于关系数据库的用户来说,关系数据库就像一个表的集合,它大致上等价于记录类型集合。表的一行被称作一个元组 (记录) ,表的列被称作属性 (字段) 。,在关系模型中
11、,记录是通过字段之间的关系而关联的。关系数据库模型的价值在于表实际上看起来是独立的,但是却可以多种灵活的方式相关联。而且,因为表只是一个概念性的东西,用户不需要处理数据的物理存储方案。,(3) 面向对象数据库模型 面向对象数据库 (OODB) 可以替代层次、网状和关系模型。面向对象数据库模型把实体看作根据属性定义的对象,其中属性等价于数据字段。对象可以用方法进行操作,具有类似属性的对象可以分组为类。可以使用类比来解释类、对象、属性和方法的含义。,假设有一个类称为“固定某物的装置”(或称为扣件、紧固件) 的东西,包括螺钉和钉子等对象。每个对象都有属性,钉子有一个尖尖的点,并且有一个平平的头;螺钉
12、也有一个尖尖的点,还有一个有凹槽的头,并且有螺纹。有什么方法可以应用到钉子上呢?可以用锤子敲打。又有什么方法可以应用到螺钉上呢?可以用螺丝刀拧。 面向对象数据库提供了定义复杂数据关系的结构能力,同时它也提供了灵活创建单个数据类型的变种的能力。,10.1.4 数据库的发展 数据库技术是计算机科学中发展最快的领域之一。,(1) 分布式数据库系统 随着20世纪70年代后期分布计算机系统的发展,相应地研究成功了分布式数据库系统。分布式数据库系统结构复杂,是一个在逻辑上完整,而物理上分散在若干台互相连接的结点机上的数据库系统,它既具有分布性又具有数据库的综合性,是数据库系统发展的一个重要方向。,(2)
13、数据库机器 所谓“数据库机器”是一种新的计算机系统的体系结构,它把由中央处理器包办的数据库操作分散给一些局部的部件来执行,或转移到一个与主计算机相连的专用计算机去执行,以提高并行性。数据库机器的发展,包括了智能控制器和存储器,专用处理机和数据库计算机。,(3) 数据库语义模型 一般数据库的数据模型基本上属于语法模型,语义体现很不完备,不能明显地含有现实世界的意义。因此,用户只能按照DBMS所提供的数据操纵语言访问数据库。而语义数据模型能准确描述现实世界中某个部门的信息集合及其意义,使用户能基于对现实世界的认识或用类似于自然语言的形式来访问数据库。这方面的研究已发展为数据语义学。,(4) 数据库
14、智能检索 数据库技术和人工智能相结合,根据数据库中的事实和知识进行推理,演绎出正确答案,这就是数据库的智能检索。这涉及到自然语言用户接口、逻辑演绎功能和数据库语义模型等问题,例如20世纪70年代末开始的知识库管理系统和演绎数据库的研究等。 (5) 办公室自动化系统中的数据库 研究在办公室自动化系统中数据库技术的应用,其中主要研究对各种非格式化数据如图像、声音、正文的处理,以及面向端点用户的高级语言接口等。,10.2 数据库管理系统 10.2.1 数据库管理系统功能 10.2.2 面向对象数据库 10.2.3 基于Web的数据库工具 10.2.4 主流的数据库管理系统,10.2 数据库管理系统
15、数据库管理系统 (DBMS) 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,以适应信息化社会对数据管理技术的需求,是十多年来迅速发展起来的一门学科。DBMS对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。DBMS提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。,10.2.1 数据库管理系统功能 数据库管理系统是从图书馆的管理方法改进而来的。人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为“
16、数据库管理系统”,它可以帮助管理输入到计算机中的大量数据,就像图书馆的管理员。,按功能划分,DBMS大致分为6个部分: 1) 模式翻译。提供数据定义语言 (DDL) 。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作 (如查找、修改、插入和删除等) 和数据库的维护管理都是以数据库模式为依据的。 2) 应用程序的编译。把包含着访问数据库语句的应用程序,编译成在DBMS支持下可运行的目标程序。,3) 交互式查询。提供易使用的交互式查询语言,例如SQL。DBMS负责执行查询命令,并将查询结果显示在屏幕上。 4) 数据的组织与
17、存取。提供数据在外围储存设备上的物理组织与存取方法。 5) 事务运行管理。提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。 6) 数据库的维护。为DBA提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。,基于关系模型的数据库管理系统已日臻完善,并已作为商品化软件广泛应用于各行各业。它在客户/服务器结构的分布式多用户环境中的应用,使数据库系统的应用进一步扩展。随着新型数据模型及数据管理的实现技术的推进,可以预期DBMS软件的性能还将更新和完善,应用领域也将被进一步拓宽。,10.2.2 面向对象数据库 文件管
18、理系统和数据库管理系统是对被动数据集进行操作,在这个集合中,数据只是简单地等待程序来处理它。然而,面向对象数据库通常包含在数据上执行动作的方法。要创建一个面向对象数据库,需要使用面向对象管理系统 (OODBMS) ,或者可以用定义操作对象和定义方法的编程语言,如Small-talk等。 在面向对象数据库的情况下,从外部操作数据库的程序只有那些用于定义数据库对象、方法和类的程序。尽管这些程序并不是数据库的一部分,但是它们通常包含在面向对象数据库软件中。,图10-3 面向对象方法示例ENIAC,10.2.3 基于Web的数据库工具 基于Web的数据库允许通过因特网用标准的Web浏览器来访问数据库。
19、要和基于Web的数据库交互,必须将请求从浏览器送到数据库,然后将结果送回浏览器。CGI (网关接口) 程序能满足这个要求。这些程序可以用编程语言如Perl、C、Vlsual Basic等来编写,和CGI功能相似且性能较高的有专用接口ISAPI (因特网服务器应用编程接口) 和NSAPI (网景服务器应用编程接口) 等。,高速度,但是非专用的工具是活动服务器页面 (ASP,Active Server Page) ,该页面包含与数据库进行交互的编程代码。Web数据库开发工具都包括在许多流行的数据库包中,例如Microsoft Access。,10.2.4 主流的数据库管理系统 目前有许多数据库产品
20、,如IBM DB2、Oracle、Sybase、Microsoft SQL Server、Microsoft Access和MySQL等,各以自己特有的功能在数据库市场上占有一席之地。,(1) Oracle Oracle是一个最早商品化的关系型DBMS,应用广泛、功能强大。作为一个通用的数据库管理系统,Oracle不仅具有完整的数据管理功能,还是一个分布式数据库系统,支持各种分布式功能,支持因特网应用。作为一个应用开发环境,Oracle提供了一套界面友好、功能齐全的数据库开发工具。Oracle使用PL/SQL语言执行各种操作,具有可开放性、可移植性、可伸缩性等功能。特别是在Oracle 8i中
21、,支持面向对象的功能,如支持类、方法、属性等,使得Oracle 产品成为一种对象/关系型数据库管理系统。,(2) Microsoft SQL Server MS SQL Server是一种典型的关系型DBMS,它使用Transact-SQL语言完成数据操作。由于MS SQL Server是开放式的系统,其它系统可以与它进行完好的交互操作,具有可靠性、可伸缩性、可用性、可管理性等特点,为用户提供完整的数据库解决方案。,(3) Microsoft Office - Access 作为MS Office组件之一的Access是在Windows环境下非常流行的桌面型数据库管理系统。使用Access无需
22、编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。 在Access数据库中包括许多组成数据库的基本要素,如存储信息的表、显示人机交互界面的窗体、有效检索数据的查询、信息输出载体的报表、提高应用效率的宏、功能强大的模块工具等。它不仅可以通过ODBC与其它数据库相连,实现数据交换和共享,还可以与其他办公软件进行数据交换和共享,并且通过对象链接与嵌入技术 (OLE) 在数据库中嵌入 和链接声音、图像等多媒体数据。,10.3 数据库检索 10.3.1 结构化和非结构化数据库 10.3.2 信息检索 10.3.3 菜单和超文本索引 10.3.4 关键字搜索 10.3.5 实例查询,10
23、.3 数据库检索 从广义上讲,数据库就是存储在一台或多台计算机上信息的集合。在实际应用中,使用数据库95都是为了查找信息,而不是创建和增加信息。,10.3.1 结构化和非结构化数据库 有许多数据库技术应用的例子,例如图书卡分类、包含账号信息的银行账户、光盘百科全书、公司计算机的文件系统,以及电子邮件地址簿等等。在通过因特网访问股市、人才市场或旅游网站时,本质上也是在访问一个巨大的数据库。 数据库可以分成两种:结构化数据库和非结构化数据库。,结构化数据库 (又称为结构化数据文件) 是使用统一格式的记录和域来组织信息的文件,存储的数据通常描述的是相似实体的集合。比如,医疗数据库存储的数据一般是病人
24、的信息,库存数据库的数据则是存储在仓库的货物和货架信息。,图10-4 结构化数据库示意,非结构化数据库是信息的松散结构化组合,一般是按照文档而不是记录来存储的。比如,可以把使用字处理软件生成的文档看成是一个个人作品的非结构化数据库。万维网,在世界范围中存储了数以百万计的各式各样的文档,它也是一种非结构化数据库。无论存储在硬盘、光盘,还是因特网上,非结构化数据库能够为人们存储各种各样的信息。,10.3.2 信息检索 当在数据库中检索信息 (而不是创建和维护数据库) 的时候,通常不需要知道目前访问的数据库是结构化的,还是非结构化的,相关的数据访问软件会隐含这些信息。数据访问软件提供了在数据库中检索
25、信息的界面,只需要告诉它所需要的信息,它就去进行检索。数据访问软件了解数据库的结构,因此用户不需要考虑技术细节。,不同的数据库通常使用不同的访问软件。因此,要在信息时代有效地获取信息,就必须掌握不同数据访问软件的检索过程。根据所使用的访问软件,可能使用菜单、超文本索引、关键字搜索引擎、实例查询、查询语言或自然语言进行检索。,10.3.3 菜单和超文本索引 在银行自动账户信息系统中,系统会问你“查询信息请按1,获得帮助请按2”等等。这个系统就是用户与银行数据库的界面。由于许多人要使用这个系统,因此访问过程必须简单。银行客户系统的大多数数据访问软件都是基于菜单的。 数据库菜单类似于大多数其他软件中
26、的菜单。访问数据库信息的菜单可以是基于屏幕的,或基于语音提示的。菜单通常是层次化排列的,选择了第一级菜单,第二级菜单才会出来。,使用语音菜单时,要时刻准备着按下自己希望的选项,当听到所需要的选项就立刻按下按钮,这样就不需要记住该选项的号码了。当语音完成菜单选项的解释后,无须回忆这个希望按下的号码。 相比之下,基于屏幕的菜单更容易使用,因为所有的选项都可以一目了然。因此,它们可能更加复杂,使用多级菜单显示更多选项。如果经常使用同一个基于菜单的数据访问软件,就会非常熟练地从菜单中找到需要的选项。,基于屏幕的菜单在因特网上成为访问信息的流行格式。许多流行的提供因特网信息检索的网点使用的是称为超文本索
27、引的方法。 将信息按照教育、娱乐和商业等分类,方便信息检索。使用这样的超文本索引,首先要选择所需信息所在的分类,系统会给出关于这部分的主题列表,从表中选择后将会显示另外一个选择列表。这样,当浏览完这个列表后,就会找到包含所需信息的文档了。,图10-5 Yahoo 的超文本索引,10.3.4 关键字搜索 传统上,由于习惯,我们会觉得分类存放信息易于查找,但有些事物不好分类,再加上计算机功能和处理速度的提高,现在还可以按照关键字而不是分类主题进行搜索。 关键字搜索引擎使我们避免了检索数据时在主题分类菜单中浪费时间。关键字搜索引擎在类似于万维网这样的非结构化数据库中得到了广泛应用。使用关键字搜索引擎
28、检索数据,只需要输入像“数据挖掘”这样的词,搜索引擎就会定位相关信息。通常,它会显示出包含该关键字的文档摘要,可以从中选择认为最有用的文档。 搜索引擎还允许使用更加详细的搜 索条件来生成“高级”搜索。,图10-6 Google (谷歌) 搜索引擎,10.3.5 实例查询 如果要迅速访问数据库中的信息,最好是把信息存储在结构化数据库中。由于结构规整,计算机的定位速度要比在非结构化数据库中定位的速度快许多。但是,结构会引起一些问题,例如用户可能不知道数据库的记录格式。因此,为了帮助用户搜索结构化数据库,有一种称为实例查询 (缩写为QBE) 的方法。,图10-7 互动出版网 的实例查询,10.4 数
29、据仓库 10.4.1 数据仓库的特点 10.4.2 数据仓库的组成 10.4.3 数据仓库的意义 10.4.4 数据仓库与数据库,10.4 数据仓库 数据仓库 (DW,Data Warehouse) 是一个面向主题 (Subject Oriented) 、集成 (Integrate) 、相对稳定 (Non-Volatile) 和反映历史变化 (Time Variant) 的数据集合。数据仓库是一个环境,而不是一件单一产品,它提供了用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。 数据仓库技术是为了把操作型数据有效地集成到统一环境中,以提供决策型数据访问的各种技术
30、和模块的总称,其目的就是为了让用户更快、更方便查询所需要的信息,提供决策支持。,10.4.1 数据仓库的特点 数据仓库有如下一些特点: 1) 面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。,2) 集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上,经过系统加工、汇总和整理得到的。必须消除源数据中的不一致
31、性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。 3) 相对稳定。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。数据仓库的数据主要供企业决策分析用,所涉及的数据操作主要是数据查询。某个数据一旦进入数据仓库,一般情况下将被长期保留,亦即,数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常 只需要定期的加载、刷新。,4) 反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点 (如开始应用数据仓库的时点) 到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。,1
32、0.4.2 数据仓库的组成 数据仓库由数据仓库数据库、数据抽取工具、元数据等内容组成。 1) 数据仓库数据库。这是整个数据仓库环境的核心,是数据存放的地方,提供对数据检索的支持。相对于操纵型数据库来说,其突出特点是对海量数据的支持和快速的检索技术。,2) 数据抽取工具。把数据从各种各样的存储方式中拿出来,进行必要的转化、整理,再存放到数据仓库内。对各种不同数据存储方式的访问能力是数据抽取工具的关键,以访问不同的数据。数据转换包括:删除对决策应用没有意义的数据段;转换到统一的数据名称和定义;计算统计和衍生数据;给缺值数据赋以缺省值;把不同的数据定义方式统一等。,3) 元数据。是指描述数据仓库内数
33、据的结构和建立方法的数据。可将其按用途不同分为两类,即技术元数据和商业元数据。 技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库时用的数据。包括数据源信息、数据转换的描述、数据仓库内对象和数据结构的定义、数据清理和数据更新的规则、源数据到目的数据的映射、用户访问权限、数据备份历史记录、数据导入历史记录、信息发布历史记录等。 商业元数据从商业业务的角度描述了数据仓库中的数据。包括业务主题的描述、包含的数据、查询、报表等。,元数据为访问数据仓库提供了一个信息目录,这个目录全面描述了数据仓库中有什么数据、这些数据是怎么得到的和怎么访问这些数据,它是数据仓库运行和维护的中心,数据仓库服务
34、器利用它来存贮和更新数据,用户通过它来了解和访问数据。 4) 访问工具。为用户访问数据仓库提供手段。有数据查询和报表工具、应用开发工具、管理信息系统 (EIS) 工具、在线分析 (OLAP) 工具、数据挖掘工具等。,5) 数据集市 (Data Marts) 。是指为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据。在数据仓库的实施过程中,往往可以从一个部门的数据集市着手,以后再用几个数据集市组成一个完整的数据仓库。需要注意的是,在实施不同的数据集市时,同一含义的字段定义一定要相容,这样再以后实施数据仓库时才不会造成大麻烦。,有关决策支持型数据库的数据集
35、市是面向企业中的某个部门或是项目小组的。一些专家顾问将数据集市的建造描述为建立数据仓库全过程中的一步。首先,一个储存企业全部信息的数据仓库被创建,其中,数据均具备有组织的、一致的、不变的格式。数据集市随后被创立,其目的是为不同部门提供他们所需要的那部分信息。数据仓库聚集了所有详细的信息,而数据集市中的数据则针对用户的特定需求。,而另外一些专家则认为数据集市的建立并不需要首先建立一个数据仓库。在这个模型中,数据直接由事务型数据库转入数据集市中。一个公司可能建立有多个数据集市,而彼此之间毫无联系。这种不在建立数据仓库的基础上创建数据集市的方式会更便宜、更快速,因为它的规模更加易于管理。,第二种观点
36、的缺陷在于无法实现最初创建数据仓库的最主要的目的将企业所有的数据统一为一致的格式。现有的事务处理系统的数据往往是不一致、冗余的。如果首先建立起一个全公司范围的数据仓库,组织就能够获得一个统一关于企业的活动和客户的知识库。如果先建立起一个个独立的数据集市,那么数据仓库的诸多优势都能够得以实现,但是企业远远无法做到对数据的一致的储存。,6) 数据仓库管理。包括安全和特权管理、跟踪数据的更新、数据质量检查、管理和更新元数据、审计和报告数据仓库的使用和状态、删除数据、复制/分割和分发数据、备份和恢复、存储管理等。 7) 信息发布系统。把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。基于Web
37、的信息发布系统是对付多用户访问的最有效方法。,10.4.3 数据仓库的意义 还是在计算机发展的早期,人们就已经提出了建立数据仓库的构想,当时的描述是:数据仓库是为支持企业决策而特别设计和建立的数据集合。 许多公司在计算机系统中储存有大量的数据,记录着企业购买、销售、生产过程中的大量信息和客户的信息。通常这些数据都储存在许多不同的地方。使用数据仓库后,企业将所有收集来的信息存放在一个唯一的地方数据仓库,仓库中的数据按照一定的方式组织,从而使得信息容易存取并且有使用价值。,数据仓库为企业带来了一些“以数据为基础的知识”,它们主要应用于对市场战略的评价,和为企业发现新的市场商机,同时,也用来控制库存
38、、检查生产方法和定义客户群。数据仓库将企业的数据按照特定的方式组织,从而产生新的商业知识,并为企业的运作带来新的视角。 数据仓库的解决方案包括:将决策支持型数据处理从事务型数据处理中分离出来。数据按照一定的周期 (通常在每晚或者每周末) ,从事务型数据库中导入决策支持型数据库 (数据仓库) 。数据仓库按回答企业某方面的问题来分“主题”组织数据,这是有效的数据组织方式。,10.4.4 数据仓库与数据库 作为数据管理手段,传统的数据库技术是单一的数据资源,主要用于事务处理,也称为操作型处理。它以数据库为中心,进行从事务处理、批处理到决策分析的各种类型的数据处理工作。用户关心的是响应时间、数据的安全
39、性和完整性。,数据仓库用于决策支持,也称分析型处理,它是建立决策支持系统 (DSS) 的基础。数据仓库对关系数据库的联机分析能力提出了更高的要求,采用普通关系型数据库作为数据仓库在功能和性能上都是不够的,它们必须有专门的改进。因此,数据仓库与数据库的区别不仅仅表现在应用的方法和目的方面,同时也涉及到产品和配置上的不同。因此,数据仓库是一种新的数据处理体系结构和信息管理技术,它是企业内部各部门业务数据进行统一和综合的中央数据仓库。它为企业决策支持系统和行政信息系统提供所需的信息,为预测利润、风险分析、市场分析以及加强客户服务与营销活动等管理决策提供支持。,要提高分析与决策的效率和有效性,分析型处
40、理及其数据必须与操作型处理及其数据相分离,必须把分析型数据从事务处理环境中提取出来,按照DSS处理的需要进行重新组织,建立单独的分析处理环境。数据仓库正是为了构建这种新的分析处理环境而出现的一种数据存储和组织技术。,10.5 数据挖掘 作为决策支持新技术,数据挖掘也和数据仓库一样,近年来得到了迅速发展。 数据挖掘 (DM,Data Mining,也称数据开采) 是从大型数据库或数据仓库中发现并提取隐藏在其中的有用信息或知识信息的一种技术,它主要是利用某些特定的知识发现 (KDD,Knowledge Discovery in Database) 算法,在一定的运算效率的限制内,从数据对象 (例如
41、数据库或数据仓库,也可以是文件系统或其他任何组织在一起的数据集合) 中发现有关的知识。,因此,数据挖掘可以定义为:应用一系列技术从大型数据库或数据仓库的数据中提取人们感兴趣的信息和知识,这些知识或信息是隐含的、事先未知而潜在有用的,提取的知识表示为概念、规则、规律、模式等形式。 作为知识发现过程的一个特定步骤,数据挖掘是一系列技术及应用,或者说是对大容量数据及数据间关系进行考察和建模的方法集。它的目标是将大容量数据转化为有用的知识和信息。,知识发现是一个多步骤的对大量数据进行分析的过程,包括数据预处理、模式提取、知识评估及过程优化。知识获取往往需要经过多次的反复,通过对相关数据的再处理及知识发
42、现算法的优化,不断提高学习效率。如在分析影响信用风险的因素时,可能先假设几种可能的因素,然后通过不断反复的实验,不断增加或删除因素,最终得到对信用风险最具影响的因素。,数据仓库是一种存储技术,它的数据存储量是一般数据库的100倍,它包含大量的历史数据、当前的详细数据以及综合数据,它能为不同用户的不同决策需要提供所需的数据和信息。而数据挖掘是从人工智能机器学习中发展起来的,它研究各种方法和技术,从大量的数据中挖掘出有用的信息和知识。,数据仓库完成数据的收集、集成、存储、管理等工作,数据挖掘面对的是经初步加工的数据,使得数据挖掘能更专注于知识的发现。又由于数据仓库所具有的新特点,对数据挖掘技术提出
43、了更高的要求。另一方面,数据挖掘为数据仓库提供了更好的决策支持,同时促进了数据仓库技术的发展。可以说,数据挖掘和数据仓库技术要充分发挥潜力,就必须结合起来。,作为数据挖掘对象,数据仓库技术的产生和发展为数据挖掘技术开辟了新的战场,也提出了新的要求和挑战。数据挖掘和数据仓库的联系可以概括为: 1) 数据仓库为数据挖掘提供了更好的、更广泛的数据源。数据仓库中集成和存储着来自异构信息源的数据,而这些信息源本身就可能是一个规模庞大的数据库。同时数据仓库存储了大量长时间的历史数据,这使得我们可以进行数据长期趋势的分析,为决策者的长期决策行为提供支持。,2) 数据仓库为数据挖掘提供了新的支持平台。数据仓库
44、的发展不仅仅是为数据挖掘开辟了新的空间,更对数据挖掘技术提出了更高的要求。数据仓库的体系结构努力保证查询和分析的实时性。数据仓库一般设计成只读方式,数据仓库的更新由专门的一套机制保证。数据仓库对查询的强大支持使数据挖掘效率更高,开采过程可以做到实时交互,使决策者的思维保持连续,有可能开采出更深入、更有价值的知识。,3) 数据仓库为更好地使用数据挖掘工具提供了方便。数据仓库的建立充分考虑数据挖掘的要求。用户可以通过数据仓库服务器得到所需的数据,形成开采中间数据库,利用数据挖掘方法进行开采,获得知识。数据仓库为数据挖掘集成了企业内各部门的全面的、综合的数据,数据挖掘要面对的是关系更复杂的企业全局模
45、式的知识发现。而且,数据仓库机制大大降低了数据挖掘的障碍,一般进行数据挖掘要花大量的精力在数据准备阶段。数据仓库中的数据已经被充分收集起来,进行了整理、合并,并且有些还进行了初步的分析处理。这样,数据挖掘的注意力能够更集中于核心处理阶段。另外,数据仓库中对数据不同粒度的集成和综合,更有效地支持了多层次、 多种知识的开采。,4) 数据挖掘为数据仓库提供了更好的决策支持。企业领导的决策要求系统能够提供更高层次的决策辅助信息,从这一点上讲,基于数据仓库的数据挖掘能更好地满足高层战略决策的要求。数据挖掘对数据仓库中的数据进行模式抽取和发现知识,这些正是数据仓库所不能提供的。 5) 数据挖掘对数据仓库的
46、数据组织提出了更高的要求。数据仓库作为数据挖掘的对象,要为数据挖掘提供更多、更好的数据。其数据的设计、组织都要考虑到数据挖掘的一些要求。 6) 数据挖掘还为数据仓库提供了广泛的技术支持。数据挖掘的可视化技术、统计分析技术等都为数 据挖掘提供了强有力的技术支持。,阅读与思考: 9.11事件中的 摩根斯坦利证券公司,练习与实验:ACCESS 1) 熟悉数据库的基本概念,理解“数据独立性”的含义及其在数据库管理系统中的应用。 2) 区分记录类型,了解关系型数据库的基本组成,描述用于在数据库中查找数据的技术。 3) 描述四种主要数据库模型的不同特性。 4) 区分结构化和非结构化数据库,熟悉数据库检索技术及其应用。 5) 熟悉数据库的基本应用领域,了解数据仓库和数据挖掘技术的基本概念及其应用领域。 6) 了解桌面数据库软件Access的基 本操作及其应用领域。,