大学数据库原理与技术(第二版)-程学先-大学教学资料课件PPT
收藏
资源目录
压缩包内文档预览:(预览前20页/共25页)
编号:21835833
类型:共享资源
大小:15.97MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
数据库
原理
技术
第二
程学先
教学
资料
课件
ppt
- 资源描述:
-
大学数据库原理与技术(第二版)-程学先-大学教学资料课件PPT,大学,数据库,原理,技术,第二,程学先,教学,资料,课件,ppt
- 内容简介:
-
数据库原理与技术(第二版) 程学先 程传慧 曾 玲 陈永辉 郑秋华 杨晓艳第九章 其它数据处理技术概述 随着数据库技术的不断发展,新的数据处理方式和数据库管理方式涌现,数据仓库、数据挖掘、面向对象的数据库系统、分布式数据库系统、实时数据库系统等新的数据处理方式层出不穷。掌握新的数据库技术与发展方向,对于我们在实际应用时会有很好的指导意义!数 据 仓 库数 据 挖 掘面向对象的数据库技术分布式数据库退 出本 章 要 点XML传统的数据库应用软件多数是面向联机事物处理(OLTP)的,以单一的数据资源即数据库作为数据管理的手段。其缺点是数据缺乏组织性,大多数以原始数据的形式存储,数据的价值仅仅体现在完成一个事务,而数据的体系结构、数据的含义并没有引起人们的足够重视,难以转化为有用的信息,从而对分析处理的支持不能令人满意。数 据 仓 库P219R数 据 仓 库 的 概 念数 据 仓 库 的 架 构数 据 收 集数 据 集 市联 机 分 析 技 术 概 述数 据 仓 库 系 统 开 发数 据 仓 库SQL Server中的数据仓库组建R一、数据仓库(DM)的概念 数据仓库(DM)技术是指“面向主题的、集成的、稳定的和随时间变化的数据集合,主要用于决策制定”。数据仓库并不是一个新的平台(它仍然是建立在数据库管理系统基础上,例如SQL SERVER、SYBASE、ORACLE等都提供了数据仓库功能)。数据仓库的概念R其特点如下: 面向主题进行数据组织与传统的数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的。主题是一个抽象的概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用。数据仓库的概念R 数据集成数据仓库中的数据是从原有的分散的数据库数据中抽取出来的。数据集成要用一些设计方法来建立数据仓库的数据库,并对命名协议、关键字、关系、编码和翻译中的一致性问题应特别注意。数据仓库的概念R 数据是稳定的即数据的不可更新。数据仓库中的数据主要是供决策支持系统使用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。数据仓库的概念R 数据随时间变化而增删数据仓库中的稳定是一种相对稳定,主要是针对应用来说的,数据仓库在用户进行分析处理的一个周期里不进行数据更新操作。但每一个应用处理完成后要将处理结果添加进数据仓库,同时删去那些对决策已无意义的数据。数据仓库的概念R二、数据仓库的架构一般数据仓库系统的架构如图9.1所示,包括数据源、数据的存储与管理和查询与分析工具。数据仓库的架构图9.1 数据仓库的典型架构 R数据仓库的架构数据源是数据仓库的基础,是整个系统的数据源泉。通常包括企业内部信息和外部信息。R数据仓库的架构数据的存储与管理是整个数据仓库的核心。要决定采用什么产品和技术来建立数据仓库的核心,需要从数据仓库的技术特点着手分析,针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。R数据仓库的架构查询与分析工具查询与分析工具又称为前端工具,主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具(包括建模工具、清理工具、抽取工具、转换和加载工具、多维化工具等)。R三、数据收集数据仓库的数据收集过程分为数据抽取、清洗、转换、集成、装载和更新等环节。而清洗、转换、集成又可以归纳为数据的预处理或称为数据变换。数据收集R1. 数据抽取必须根据用户需求进行主题的规划,根据规划进行数据需求的分析,分析现有的数据库和其它数据来源,根据数据仓库的数据模型(或元数据),来确定要抽取的数据,再进行数据的抽取。 数据收集R在确定数据抽取时,要考虑以下因素:数据仓库需要收集历史数据;数据仓库的设计者必须同时满足已知需求和未知需求,要包含满足未知需求的数据收集;数据仓库既要包括详细数据,也要包含概括数据;数据仓库还包含外部数据(例如,人口统计学数据、心理学数据等等)。数据收集R数据收集2. 数据变换由于现实中的数据库不可避免地存在有噪声的、不完整的和不一致的数据,在将所选择并抽取的数据装载到数据仓库中之前,就必须利用各种数据变换技术对数据进行预处理。数据变换技术包括:数据清洗、数据集成、数据转换和数据约简。1)数据清洗(Data Cleaning)数据清洗的任务包括填补遗失的数据、平滑噪声数据、确定或去掉异常数据、以及解决不一致问题。R数据收集在数据清洗技术中对于遗失的数值的填补有如下方法:忽略该记录人工填写遗失的数值使用全局常数来填补遗失的数值使用遗失的数值的属性的平均值来填补遗失的数值使用最可能的数值来填补遗失的数值 R在数据清理技术中对噪声数据的平滑有如下方法:分箱法聚类法回归法或者通过计算机和人工检查进行修正。数据收集R在数据清理技术中对不一致的数据采用如下方法:根据外部的参考数据手工修正设计专门的程序进行改正利用数据约束来检测数据的不一致 数据收集R数据收集2)数据集成(Data Integration)数据集成是将来自多个数据源(如数据库和平面文件等)的数据结合成一个一致的数据储存。在数据集成时要考虑许多因素:如实体确认问题,即如何将多个数据源的记录进行匹配;冗余问题,即如何排除非原始数据或导出数据的问题;以及数据冲突问题,即检测和解决数据值的度量单位不一致问题。R数据收集3)数据转换(Data Transformation)数据转换是将数据转换或统一成数据仓库所需要的适当形式,涉及如下内容:平滑:利用数据清洗中提及的分箱、聚类和回归技术来从数据中移去噪声。聚集:对数据进行汇总和聚集操作概化:将概念层次中的低层次的数据或基本数据用较高层次的数据取代。标称化:将数据进行比例变换,使其分布在规定的一个小范围内,如-1.0到1.0或0.0到1.0。设立新的属性:增加新的属性。R数据收集4)数据约简(Data Reduction)数据约简是在维护数据完整性的前提下,减少数据的容量的技术。数据约简的策略包括如下几种:数据聚集:在数据模型中进行聚集操作,在不影响分析目的的前提下,将数据进行汇总。维度约简:将在不相关的、弱相关的、或者冗余的属性或维度检测并删除。数据压缩:利用编码机制来减少数据尺寸数字化减少:利用另外的、较小数据表示方法来取代或代表数据。离散化和概念化:将原始数据用范围较高的概念层次来表示。R数据收集3. 数据装载将经过数据预处理后的数据,按照一定的要求或规划,导入到数据仓库的过程称为数据装载。数据装载的一般过程是:确定数据仓库数据与源数据之间的对应关系,按照数据仓库的表结构在源数据中产生相应的文本文件,在产生文本文件的过程中通过访问数据抽取对照表来实现各种数据转换、净化和整合。再将数据通过一定的方式输入到服务器端,通过某种工具将数据装载入数据仓库。R数据收集4. 数据更新对于数据仓库内的数据存在着周期性更新的工作。即数据仓库初期装载完成后,在数据仓库的生命周期内,系统需要通过对源数据的管理,时刻保持数据源与数据仓库之间的映射关系,通过后台抽取程序(包括集成与分割、聚集、转换、映像等),实现源数据的动态抽取,来达到数据仓库的不断更新,以反映数据的历史变化。R数据收集数据周期性更新的任务主要包括:要定期地从其数据源获取新的数据;要根据分析或运行的需要,对不存在的数据进行补充、对不合理的数据进行祛除、对不一致的数据进行调整;对于存放过久、意义不大的数据要进行删除。R四、数据集市数据集市数据集市是数据仓库的部门级的子集,它只关注所选择的主题,往往涉及某个单独主题或者单个类型的分析。数据集市通常用于向组织中的职能部门提供信息。也可用于划分数据仓库的数据以反映那些在地理位置上分离的企业,其中各区域都是相对独立的。在有些数据仓库实现中,数据集市就是指微型数据仓库;而在另一些实现中,它是数据仓库的一个部分。数据集市R2. 数据集市的创建创建数据集市有两种基本方法。第一种是直接从OLTP数据库系统中获取数据,放入需要数据的数据集市中,此时数据集市设计为完全独立的微型数据仓库,作为分布式数据仓库的成员来构成总体结构。第二种是从OLTP系统中获取数据放入中心数据仓库中,然后数据从数据仓库中流入相应的数据集市中。数据集市R3数据集市的设计原则无论数据集市以何种方式构建,提供何种功能,它们一定要设计为主数据仓库的组件,以使数据组织、格式和模式在整个数据仓库中保持一致。不一致的表设计、更新机制或维度层次结构会妨碍数据在整个数据仓库中的重新使用,并会导致由同一数据产生不一致的报告。数据集市应从数据仓库的组件的角度来进行设计,而不要管其单独的功能或建设方式如何。这样就在整个组织中提供了信息的一致性和可用性。数据集市R五数据仓库的系统开发1、规划规划活动是数据仓库开发的重要和首要环节。在数据仓库规划中要建立开发数据仓库系统的目标、确定数据仓库系统涉及的范围、以及制定开发计划。数据仓库的系统开发R2、数据仓库分析数据仓库分析阶段的工作主要是在掌握了企业或决策者的需求的基础上定义数据仓库的体系结构。定义体系结构是为开发数据仓库确定技术基础和确定新型决策支持系统的应用结构。数据仓库的系统开发R在需求定义的基础上应考虑如下的问题:来源。数据应该来自于什么硬件和怎样的DBMS?传输。数据通过什么样的拓扑结构传送过来?目的地。数据发送到数据仓库的什么硬件环境和DBMS中?元数据。如何访问和存储数据定义、关系、业务规则和变换等。变换。变换数据是利用特殊工具还是自行编制数据变换程序?访问。最终用户怎样才能看到数据?数据仓库的系统开发R数据仓库的系统开发3、数据仓库设计数据仓库的设计包括主题域设计、物理数据库设计、源系统分析、数据变换设计等内容。R数据仓库的系统开发1)主题域设计主题域设计的中心工作是根据决策需求来确定主题,选择数据源,对数据仓库的数据组织进行逻辑结构设计,创建数据仓库的数据模型。具体工作任务是:给出主题域范围。所需的细节水平。生成初步概括表。建立数据仓库的数据模型。R数据仓库的系统开发2)物理数据库设计设计数据仓库中的物理数据库是基于用户的需求,着重于某个主题,开发数据仓库中数据的物理存储结构,即设计多维数据结构的事实表和维表。物理数据库设计内容包括:所有的控制表、粒度表、事实表和域表。域表、代码表和变换表的实际布局可以采用两种途径。一种是每个域、代码等都在一个独立的表中。另外一种是定义一个公共的表。R建立概括表可以增强数据仓库的性能。因此,当对数据访问要求的性能水平较高时应该建立概括表。概括数据时,最常用的维度是时间维(按月等)和地理维(按地区等)。数据仓库的系统开发R3)源系统分析该项任务的内容是确定数据从何而来,其工作内容具体包括:初选,列出可能成为数据来源的系统或文件完整性检查质量评价模型调整数据扩展数据仓库的系统开发R4)数据变换设计变换设计是进行数据转换程序的设计,即从源系统中抽取数据、清理数据、格式化数据、综合数据装载等过程的编码。数据仓库的系统开发R其具体的内容包括:变换规范变换过程控制设计和评审程序确认业务度量历史数据转换过程测试数据数据仓库模型的修正数据仓库的系统开发R4. 数据仓库实施数据仓库实施阶段有两大任务,第一是建立数据仓库,第二是数据仓库填充。1)建立数据仓库建立数据仓库的目标是建立数据仓库,并检验变换规则和计算是否准确。另外,如果有元数据的话,应将它加载到数据仓库的数据库中。数据仓库的系统开发R数据仓库的系统开发数据仓库建立的主要工作是数据和元数据的加载。具体工作包括下列内容:变换实施变换过程实现初步的数据加载控制和评审过程元数据的加载系统测试R数据仓库的系统开发2)数据仓库填充和试运行即装载来自转换与变换的、为用户所接受并具有业务性的数据,然后组织试运行。数据仓库填充和试运行工作内容是:填充运行软件实现数据培训和访问培圳用户接受性测试R数据仓库的系统开发5. 运行管理一般将数据仓库的发展总结为报表、分析、预测、实时决策和事件触发的自动决策五个阶段:1)报表应用主要是把企业内不同来源的信息集成到一个单一的仓库中,以报表的形式为企业跨职能或跨产品的决策提供重要的参考。本阶段所面临的最大挑战是将来源、结构各异的数据进行集成,其基本特点是通过数据集成来回答预先设置的一些问题,告诉决策者“发生了什么”。R2)分析应用在报表应用的基础上,决策者所关心的重点发生转移,从“发生了什么”转向到“为什么会发生”。分析活动就是了解所获得的报表数据的内涵。本阶段的主要应用是随机分析,其主要特征是需要支持数据仓库的并发查询和大批量用户,所面临的挑战是提高数据仓库的性能,建立联机分析处理(OLAP)环境。数据仓库的系统开发R3)预测应用预测阶段是数据仓库支持决策者预测未来,回答“将要发生什么”。为了得到所需的预测特性,高级数据分析通常采用复杂的数学函数(如对数、指数、以及复杂的统计函数等)来分析大量的历史数据。本阶段的特点是利用数据仓库进行高级分析的最终用户数量不多,但建模及评测的工作量极大,对系统资源的消耗也非常大。数据仓库的系统开发R4)实时决策企业需要准确地了解“当前应当发生什么”,从而需要建立动态数据仓库,使能实时决策以有效地解决当前的实际问题。动态数据仓库的目标是能够逐项产品、逐个部门、逐阶段地作出最佳决策,缩短重要业务决策及其实施之间的时间。本阶段的重要特点是将动态数据仓库所作的数据分析转换变成可操作的决策,从而提供一种全新的决策支持,使数据仓库的价值得到最大化。数据仓库的系统开发R5)事件触发的自动决策由事件触发,利用动态数据仓库自动决策,达到“希望发生什么”的层次。 从以上数据仓库应用的演变过程,可以清楚地看出数据仓库应用是一个逐渐演进的过程。因此,最终用户访问方法的设计、定义和开发将贯穿于数据仓库的开发和运行管理阶段。数据仓库运行管理还包括有管理元数据、开发用户决策的数据分析工具和管理数据仓库环境等工作。数据仓库的系统开发R六、联机分析(OLAP)技术概述 联机分析(ONLINE ANALYSIS PROCESS, OLAP)技术就是专门用来支持复杂的分析操作,侧重对决策支持人员和高层管理人员的决策支持,可以实现快速灵活地大量数据的复杂查询处理,并且以直观的形式提供给用户。OLAP技术概述R1. OLTP和OLAP的关系 在OLTP中,数据分离出来以数据表的形式和应用捆绑在一起。 但是随着应用的不断发展,人们认识到操作型数据和分析型应用必须分离。这就引起了数据库应用从OLTP到OLAP技术的转变。OLAP技术概述R所谓OLAP是针对特定问题的联机数据访问和分析。通过对信息的很多种可能观察形式进行快速的、稳定的、一致的和交互式的存取,允许决策人员对数据进行深入的观察。OLAP技术概述ROLAP是以数据库或者数据仓库为基础的,其最终数据来源与OLTP一样都是来自底层的数据库系统。但是由于两者的使用用户不同,其在数据的特点和处理方式上也表现出很大的不同。表9.1给出了OLTP和OLAP之间的差别。OLAP技术概述ROLAP技术概述R2. 多维数据库(MULTIDIMENSION DATABASE) 传统的关系数据库一般采用二维表的形式来表示数据。 多维数据库扩展了关系数据库模型,它提出了一个可以包含超过两个维的数据结构,这种数据结构就是多维数据库,多维数据库又称为数据立方体(CUBE)。OLAP技术概述R在维的交叉处,可能有不止一个数据元素,在多维数据库中把这种维的交叉处称为度量(MEASURE)。OLAP技术概述R3. OLAP的存储模式 根据OLAP实现时采用的存储模式的不同,现在主要存在以下三种OLAP结构:OLAP技术概述R 基于多维数据库的OLAP-MOLAP MOLAP是以多维数据库为核心建设的基于多维数据库的OLAP。多维数据库有时不仅在于多维概念的表达清晰,更重要的是它有着高速的综合处理速度。OLAP技术概述R基于关系数据库的OLAP-ROLAP在ROLAP中,关系数据库将多维数据库中的多维结构划分为事实表和多维表来实现和多维数据库类似的功能。OLAP技术概述R混合OLAP-HOLAPHOLAP系统综合了基于多维数据库的OLAP系统和基于关系数据库的OLAP系统的优点。它把事实表保存在关系数据库中,充分利用了成熟的关系模型所带来的高性能、高可靠性的特点,同时又把聚集信息保存在多维数据库中,很好地满足了联机分析处理的需要。OLAP技术概述R七、SQL SERVER 2000中的数据仓库组件 关系数据库 SQL SERVER 2000使用关系数据库作为数据仓库的基础。 SQL SERVER 2000数据仓库的核心实际上就是SQL SERVER 2000的关系数据库引擎。SQL SERVER 2000数据仓库组件 R 数据转移服务(DTS) 数据仓库需要从众多的数据源中获得数据,这些数据源可能是文本文件、电子邮件,也可能是其他数据库系统,因此整合不同的数据源到一个数据仓库中就显得必不可少了。SQL SERVER 2000数据仓库组件 R 联机分析处理(OLAP) 数据仓库的主要目的是对大量的数据进行分析并辅助决策支持,SQL SERVER 2000中的联机分析处理工具可以有效地组织数据仓库的大量数据并从中寻求有效的信息。SQL SERVER 2000数据仓库组件 R英语查询基于英语的查询可以有效地缩短用户和计算机之间的技术鸿沟,SQL SERVER 2000的ENGLISH QUERY用于开发基于英语的查询应用。通过它提供的语言分析引擎,程序员可以开发出高性能的采用英语来查询数据库的应用程序,从而提供给决策支持制定人员使用。SQL SERVER 2000数据仓库组件 R元数据服务数据仓库的基本数据就是元数据(META DATA)。SQL SERVER 2000中的工具将大量的元数据存放在MSDB系统数据库中。SQL SERVER 2000的元数据服务提供了浏览这些元数据的有效支持,同时开发人员还可以在应用程序中使用这些元数据。SQL SERVER 2000数据仓库组件 R复制工具SQL SERVER 2000的复制工具能够分发数据并协调不同的数据库之间的更新操作,尤其是复制工具能够有效地把中央数据仓库中的数据分发到数据集市中。SQL SERVER 2000数据仓库组件 RR数 据 挖 掘 P233数 据 挖 据 技 术 概 述数 据 挖 据 的 定 义数据挖据的过程模型及常用技术目前数据挖据的主要应用一、数据挖掘技术概述 数据挖掘是一门综合性的技术,涉及到很多学科-数据库、人工智能和数理统计等等。 目前其主要研究内容包括基础理论、发现算法、数据仓库、可视化技术、定性定量互换模型、知识表示方法、发现知识的维护和再利用、半结构化和非结构化数据中的知识发现以及网上数据挖掘等。R数据挖掘技术概述数据挖掘与数据仓库技术有着密切的关系。R数据挖掘技术概述数据挖掘库可能是你的数据仓库的一个逻辑上的子集,而不一定非得是物理上单独的数据库。但如果你的数据仓库的计算资源已经很紧张,那你最好还是建立一个单独的数据挖掘库。R数据挖掘技术概述数据挖掘和OLAP的不同之处: OLAP是决策支持领域的一部分。OLAP分析过程在本质上是一个演绎推理的过程。数据挖掘与OLAP不同的地方是,数据挖掘不是用于验证某个假定的模式(模型)的正确性,而是在数据库中自己寻找模型。他在本质上是一个归纳的过程。R数据挖掘技术概述 chapter_9 数据挖掘和OLAP具有一定的互补性。 在利用数据挖掘出来的结论采取行动之前,你也许要验证一下如果采取这样的行动会给公司带来什么样的影响,那么OLAP工具能回答你的这些问题。R数据挖掘技术概述二、数据挖掘(DATA MINING)的定义 数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。R数据挖掘的定义以上定义包括好几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。R数据挖掘的定义数据挖掘的目标是从数据中找到感兴趣的模式,用这些模式来决定商业策略或发现不正常的情况。R数据挖掘的定义三、 数据挖掘的过程模型及常用技术 以TWO CROWS公司的数据挖掘过程模型为例进行讨论。 基本数据挖掘步骤包括:定义商业问题、 建立数据挖掘模型、分析数据、准备数据、建立模型、评价模型和 实施。数据挖掘的过程模型及常用技术R数据挖掘常用技术包括:人工神经网络,即仿照生理神经网络结构的非线形预测模型,通过学习进行模式识别。决策树,它代表着决策集的树形结构。R数据挖掘的过程模型及常用技术遗传算法,基于进化理论,并采用遗传结合、遗传变异、以及自然选择等设计方法的优化技术。近邻算法,将数据集合中每一个记录进行分类的方法。规则推导,从统计意义上对数据中的如果-那么规则进行寻找和推导。 R数据挖掘的过程模型及常用技术四、目前数据挖掘的主要应用 网站的数据挖掘 生物信息或基因的数据挖掘 文本的数据挖掘目前数据挖掘的主要应用R面向对象的数据库技术可以直接处理一些复杂的对象、描述这些对象的复杂特征,因此,它可以满足当前一些新的数据库应用的需要。这些新的应用中的数据大部分是不能利用关系模型和实体-联系模型来充分加以描绘的。R面向对象的数据库技术P237这些新的应用包括: 计算机辅助设计(CAD)CAD数据库存储了与一个工程设计相关的数据,包括所设计物品的各个组件、这些组件之间的相互关系等。R面向对象的数据库技术计算机辅助软件工程(CASE)CASE数据库存储了用于辅助软件开发者的一些数据。这些数据包括源代码、软件模块间的依赖关系、变量的定义和使用,以及软件系统的开发历史等。R面向对象的数据库技术多媒体数据库多媒体数据库包含图像数据、空间数据、音频数据、视频数据等等。这种类型的数据主要用于存储照片和地理数据,以及语音邮件系统、图形系统和视频点播系统等。R面向对象的数据库技术办公自动化系统办公自动化包括基于工作台的文档的生成和检索工具、维护日程安排的工具等。办公自动化数据库必须允许对日程、文档和文档内容进行查询。R面向对象的数据库技术超文本数据库在互连网上存在大量的超文本。所谓超文本就是经过增强的文本,它带有指向其他文档的链接。为了对它进行索引,超文本也可以是有结构的。超文本数据库必须支持基于链接的文档检索,以及根据文档结构对它进行查询的功能。R面向对象的数据库技术一、面向对象数据模型 面向对象数据模型包括对象、类、继承、对象标识和对象包含这些方面的内容。R面向对象的数据库技术对象在面向对象数据模型中,一个对象可以看成是对应的E-R模型中的一个实体。在对象结构中封装了这个对象的相关数据和代码。它们是一个包含对象本身数据的变量集合,即对象的属性、一个对象所响应的消息的集合和一个方法的集合。R面向对象的数据库技术类一个类中的所有对象共享一个公共的定义,尽管它们对属性所赋予的值不同或方法的具体实现上有不同。R面向对象的数据库技术继承性面向对象的数据模型中每个类可派生出它的子类,子类继承父类的属性和方法。父类中包含了共同的属性和方法,子类中只定义属于自己的属性和方法,称为类的继承性。子类可以继续派生自己的子类。而一个子类的父类也可以有几个,它可以从每一个父类那里继承公共的属性,即为多重继承。R面向对象的数据库技术对象标识(Object IDentification, OID)在面向对象数据库系统中每一个对象都有一个唯一的标识,称作对象标识。对象标识用来识别不同的对象。一个对象始终保持自身的标识不变,即使它的一些或全部属性的值或方法的定义多次改变。在面向对象系统中使用的对象标识不需要用户定义标识符,每个对象在创建时被系统自动赋予一个标识符。R面向对象的数据库技术R对象包含对象包含的并不是其它对象本身,而是这些对象的对象标识,对象包含是通过对对象OID的引用来描述的。包含其他对象的对象称为复杂对象或复合对象。可以存在多层包含,这样就产生了对象间的包含层次(Containment Hierarchy)。面向对象的数据库技术二、面向对象数据库系统中的程序设计语言 在具体程序设计实现时有两种不同的途径: 对象-关系系统,是通过增加复杂类型和面向对象的特征来扩展某种数据操纵语言(例如SQL),在关系系统上提供面向对象扩展的系统。R面向对象的数据库技术持久化程序设计语言,是一种合适的现有的面向对象的程序设计语言(例如C+和Smalltalk),在它基础上扩展数据库功能,以便能对数据库进行处理。持久化的含义是从持久化的数据来的。持久化的数据是指数据库语言所操纵的数据,这些数据即使在创建数据的程序已经终止后它们仍然存在。R面向对象的数据库技术传统的面向对象的程序设计语言是不能操作任何持久化的数据的,它们所能直接操纵的唯一持久数据就是文件。在一个典型的面向对象的系统中持久化程序设计语言是用以处理持久数据而扩充了结构的程序设计语言。在这种语言中,查询语言和宿主语言完全集成,再不用进行SQL语句的嵌入了。R面向对象的数据库技术在一个分布式数据库中,一个应用可以对其所需的数据进行透明的操作,这些数据在不同的数据库中分布、由不同的DBMS管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络支持。一个客户/服务器系统可以看作是一般分布式系统的一个简单的特例。RP246分布式数据库技术分布式数据库技术分布式数据库系统概述分 布 式 数 据 存 储分布式数据的查询处理分布式数据库系统的事务处理数据对象的命名方式与目录表的管理更 新 传 播R一、分布式数据库系统概述 一个分布式数据库系统是由很多在物理位置上分开的地方上的数据库系统通过通信网络连接在一起的,在每一个地方上的数据库系统本身是一个完整的数据库系统,但是不同位置的数据库可以协同工作,用户可以通过分布式系统访问到网络上任何位置的数据库中的数据,就好像是在本机上访问一样。R分布式数据库系统概述目前最著名的分布式数据库系统有以下三个:INGRES/STAR, INGRES的分布式数据库组件;ORACLE的分布式数据库可选组件(DISTRIBUTED DATABASE OPTION);DB2的分布式数据库支持工具(DISTRIBUTED DATA FACILITY)。这些系统都提供了建立在关系模型上、基于SQL的分布式数据处理的支持。R分布式数据库系统概述无论是哪一种分布式数据库系统,都应该满足一个最基本的要求:分布式数据库系统应该是在内部层次上实现的,而不是在外部或者应用程序层次实现的,使用户在使用分布式系统的时候,应该完全感觉不到系统是分布的。从这个角度说,目前的客户/服务器应用系统只是一个能够提供远程数据存取的系统。R分布式数据库系统概述二、分布式数据存储 一个描述实际应用系统中某个关系的表,在分布式数据库中的存储可以采用下述几种方法: 复制就是在一个分布式数据库系统中维护一个关系表的几个完全相同的副本,各个副本可以存储在不同位置的节点上。分布式数据库存储R复制就是在一个分布式数据库系统中维护一个关系表的几个完全相同的副本,各个副本可以存储在不同位置的节点上。R分布式数据库存储分片,是指为了应用对数据物理存储的需要,将给定的关系分成几个小块或片段,每个片段是一个逻辑上完整的数据库的一个部分,各个片段存储在不同的节点上。一般来说,一个分片可以由选择操作和投影操作的任意组合来产生。这些操作都是由关系模型的关系操作来完成,所以我们说分布式数据库是采用关系模型的。R分布式数据库存储分片的重要特性是分片要具有独立性称为分片透明性。分片透明性是指在逻辑上,用户或应用程序不必考虑关系的分片,用户看到的是一个数据视图,在这个视图中各个分片是通过合适的连接和合并逻辑重新组合在一起的。分片的变化不会影响到用户或应用程序。R分布式数据库存储复制与分片相结合的方法就是将关系划分为几个片段,系统为每个片段维护几个副本。也就是说,数据复制和数据分片技术可以用于同一个关系,分片可以被复制成几个副本,而分片的副本又可以进一步被分片。R分布式数据库存储三、分布式数据的查询处理 在集中式系统中,衡量某个优化策略的基本准则是磁盘的访问量。 而在一个分布式系统中优化策略要综合考虑磁盘开销和网络开销问题。R分布式数据库的查询处理在分布式系统的查询处理中原则上应该:尽量减少对网络的利用,即尽可能减少要传送的数据信息的数量和大小。尽可能减少利用网络,使我们在进行查询优化过程时要使查询优化进程本身是分布的,查询执行的进程也是分布式的。R分布式数据库的查询处理整个查询优化过程是由两个步骤完成的:首先是参与查询的各个地点上存在的数据库对于查询要求由一个位置上的数据库做出全局优化策略。然后才是参与查询的各个地点上的数据库中的本地优化。R分布式数据库的查询处理在实际分布式数据库系统中,为了提高查询效率,减少数据传输的时间,有些优化策略还可以允许在两个位置的数据库系统中并行地进行处理。为了提高查询性能,在分布式系统中可以采用对查询进行转换、进行简单的连接处理和半连接等策略。R分布式数据库的查询处理四、分布式数据库系统中的事务处理 代理:是指在一个分布式系统中,一个单独的事物可以涉及多个位于不同位置的节点上的代码的执行,事务甚至可以对多个节点中的数据同时进行修改。R分布式数据库系统中的事务处理在分布式数据库系统中每个事务都可以看作是由多个代理组成的,代理即是指在每一个节点上代表一个事务执行的进程。R分布式数据库系统中的事务处理为了保证一个给定的事务(在分布式环境中,它是由不同节点上的代理组成的)在分布式环境中具有原子性,系统必须保证这个事务的所有代理要么全部一起提交,要么全部一起回滚,这在目前的系统中是采用两阶段提交协议(Two Phase Commitment Protocol,2PC)来实现的。R分布式数据库系统中的事务处理1. 并发控制 (1) 封锁协议 分布式系统中的并发控制是基于封锁的。 网络传输开销问题 在一个分布式系统中,设置、释放封锁的请求基本上是由网络上传送的消息完成的,而消息就意味着网络上的传输开销。R分布式数据库系统中的事务处理解决办法就是采用主副本策略。对一个给定的数据对象,拥有它的节点将处理所有有关该对象的封锁操作。这样针对封锁而言,一个对象的所有副本的集合可以看作是一个单一的对象,而消息的总数也将减少到2N+3(一条封锁请求、一条封锁授权、N条修改消息、N条确认消息和一条解锁请求)。R分布式数据库系统中的事务处理这种方案也会带来一个问题,就是如果其中一个主副本不能被使用了,一个事务就会失败,即使事务是只读的而且有一个本地副本可用。R分布式数据库系统中的事务处理锁管理器的管理机制单一锁管理器方式,是指每个系统选定一个节点(设为Si),只在这个节点上维护一个单一的锁管理器。这种方式的优点是实现简单、对于死锁的处理也比较简单。缺点是节点Si容易成为瓶颈,另外若Si出现故障,则并发控制就不能实现了。R分布式数据库系统中的事务处理多协调器的方式,可以在多个节点上设置锁管理器。每个锁管理器管理数据项封锁和解锁请求的一个子集,每个锁管理器位于不同的节点上。这种方式可以避免瓶颈问题,但死锁的处理变得复杂了。R分布式数据库系统中的事务处理多数协议,每个节点维护自己的锁管理器,这时的锁管理器是负责管理存储在该节点上的数据项的封锁和解锁请求。如果数据项在多个节点中存有副本,则封锁请求必须送到存储有该数据项副本的所有的节点中。R分布式数据库系统中的事务处理这种方式以一种分散的方式处理数据的副本,可以避免集中控制的缺点。但是对于死锁的处理更加复杂,尤为突出的一个问题是即使只有一个数据项被封锁时也可能发生死锁。可以对所有节点按照相同的预定顺序请求数据项副本上的封锁,以避免死锁。R分布式数据库系统中的事务处理有偏协议,类似多数协议。不同之处在于,共享锁请求比排它锁请求的实现要方便一些。系统同样在每个节点上维护一个锁管理器,锁管理器管理存储在该节点上的所有数据项上的锁。R分布式数据库系统中的事务处理主副本方式,是选择一个副本作为主副本,对每个数据项而言它的主副本位于一个节点上,这个节点称之为主节点。事务要对一个数据项封锁时,只在该数据项所在的主节点上请求封锁就可以了。但是当主节点发生故障时,即使包含数据项的其它接点的副本是可用的,该数据项也不能被访问了。R分布式数据库系统中的事务处理(2)时间戳 分布式系统是采用给每个事务一个唯一的时间戳的方式实现事务的可串行化的。在分布式系统中,产生唯一时间戳的方法有两种:R分布式数据库系统中的事务处理一种是集中式的,即由一个节点来分发时间戳的,这个节点可以利用一个逻辑计数器或自己本地的时钟来达到这个目的。另一种是分布式的,每个节点利用逻辑计数器或本地时钟产生唯一的局部时间戳,通过将唯一的局部时间戳和唯一的节点标识符结合起来产生一个唯一的全局时间戳。R分布式数据库系统中的事务处理(3)死锁处理 由于在分布式系统中事务的执行是分布的,封锁的方法会引起全局死锁的问题,全局死锁涉及两个或两个以上节点的死锁。R分布式数据库系统中的事务处理对于全局死锁,采用任何一个节点的内部信息来进行死锁检测是无法检测出来的。在实际分布式系统中,采用了其他的死锁检测方法,如超时机制,在这种机制中假设在预定时间内不工作的事务发生了死锁。R分布式数据库系统中的事务处理2. 恢复控制 在分布式数据库系统中,是采用两阶段提交协议完成恢复控制的。 对于一个事务,系统要求对不同的独立的分布的DBMS中的数据处理要么执行提交(COMMIT),要么执行回滚(ROLLBACK),对一个DBMS执行提交而对另一个DBMS执行回滚是没有意义的。R分布式数据库系统中的事务处理 因此,事务需要发出一个全局范围内的提交或回滚。 该全局范围内的提交或回滚由一个称作协调者的系统部件控制,协调者保证参与事务的资源管理器(也称作参与者)对它们各自的更新操作所作的提交或回滚是一致的,正是两阶段提交协议使协调者提供了这样的保证。R分布式数据库系统中的事务处理假设事务已完成数据处理过程,它将发出系统范围内的提交请求,对于两阶段提交协议,协调者在收到提交请求后将进入以下两个阶段进行处理:R分布式数据库系统中的事务处理协调者要求所有的参与者做好准备,即每个参与者必须将事务对本地资源的所有操作的日志登记选项强制写入物理日志中。若成功写入物理日志中,参与者将向协调者发出准备好的响应,否则发出未准备好的响应。R分布式数据库系统中的事务处理(2) 当协调者收到来自所有参与者的响应时,它将在自己的日志中登记其关于事务的决定,并将该记录项强制写入物理日志中。 如果所有的响应都是“准备好”,其决定就是“提交”该事务;如果其中有一个响应是“未准备好”,其决定就是“回滚”该事务。R分布式数据库系统中的事务处理接着协调者将向所有的参与者发出它的决定信息,每个参与者根据该决定对事务的本地代理进行本地的提交或回滚,每个参与者必须在第二个阶段完成协调者的提交或回滚的决定,而协调者日志中的记录的事务决定的登记项指出了从阶段一到阶段二的转变。R分布式数据库系统中的事务处理当参与者为本地代理完成提交或回滚操作后,还要向协调者发回一条“确认”消息,表示事务的执行完毕。当协调者收到了所有的确认信息后,整个两阶段提交的过程就结束了。R分布式数据库系统中的事务处理如果系统在整个处理过程中出现了故障,重新启动系统后将在协调者的日志中查找事务决定的记录项。如果找到该记录,两阶段提交过程将从其被中止的那一点继续执行;如果没有找到,系统将假设事务回滚,并完成相应的回滚操作。R分布式数据库系统中的事务处理在实际的分布式数据库系统中,采用了一种两阶段提交协议的变形模式,称为假想提交和假想回滚。R分布式数据库系统中的事务处理假想提交的优点在于:当事务成功提交后可以减少所需的消息数量。假想回滚模式,则可以在当事务不成功进行回滚时减少所需的消息数量。R分布式数据库系统中的事务处理五、 数据对象的命名方式与目录表的管理1、 数据对象的命名方式 在分布式数据库中我们必须保证不同的节点上不会使用同一名字代表不同的数据对象。 因此需要一种命名方法把用户所知道的名称映射成系统所知道的名称。数据对象的命名方式与目录表的管理R以R*系统为例讨论这种命名方法。在R*系统中给一个数据对象一个外部名和一个系统名。外部名是用户使用该对象时给出的名字,比如在SQL 的SELECT语句中给出的数据表名就是该数据表的外部名。R数据对象的命名方式与目录表的管理系统名是指数据对象的全局唯一内部标识。系统名由四个部分组成:数据对象的创建者的标识数据对象创建者所在节点的标识数据对象的本地名生成数据对象的节点的标识(即数据对象
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。