面向对象数据库.doc_第1页
面向对象数据库.doc_第2页
面向对象数据库.doc_第3页
面向对象数据库.doc_第4页
面向对象数据库.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象 小论文面向对象数据库摘要: 面向对象数据库是一种能够满足复杂数据结构和海量存储的新型数据库。本文由阐述面相对象数据库系统的定义展开论述,内容主要包括面向对象数据库的发展介绍,面向对象的6种基本技术(数据库转换技术,模式演进技术,索引技术,视图类实现技术,版本管理技术和安全建模技术),通过面向对象数据库与传统的关系数据库的比较来论述面向对象数据库的优势以及其未来的发展前景。概述:关于“什么是面向对象数据库系统?” Francois Bancilho把OODB定义为:“一个面向对象的数据库系统应该满足两条准则:它应该是一个数据库管理系统,而且还是一个面向对象的系统。第一条准则是说它应该具备六个特征:永久性、外存管理、数据共享(并发)、数据可靠性(事务管理和恢复)、即席查询工具和模式修改。第二条准则是说它应具备八个特征:类/类型、封装性/数据抽象、继承性、多态性/滞后联编、计算完备性、对象标识、复杂对象和可扩充性。” 面向对象数据库系统(Object Oriented Data Base System,简称OODBS)是数据库技术与面向对象程序设计方法相结合的产物,是为了满足新的数据库应用需要而产生的新一代数据库系统。首先它是数据库系统, 其次它也是面向对象系统。综上所述, 我们将面向对象数据库简写为: 面向对象数据库=面向对象系统+ 数据库能力。面向对象数据库与传统的关系数据库对比之下,可以看出面向对象数据库在海量存储和数据库复杂性当面优势,同时可以畅想未来面向对象数据库的发展趋势以及与传统的关系数据库之间相互联系相互影响之后所形成的更加完善而优化的数据库。1. 面向对象数据库的发展数据库发展经历了三个阶段。第一阶段是层次和网状数据库, 过程化程度较高, 一般用户使用困难; 第二阶段是关系数据库, 它以关系演算和关系代数为其数学基础, 以二维表为其数据结构, 利用非过程化数据操纵语言进行数据库管理, 具有较高数据独立性。上述两种数据库尽管设计和控制方式不同, 但都用于一般事务处理, 统称为传统数据库。近年来, 随着网络技术、多媒体技术、空间信息科学、信息管理、人工智能、软件工程技术和数据挖掘技术等领域的发展及新的社会需求出现,传统数据库已不能满足人们的要求。为了适应海量信息和复杂数据处理要求, 新一代数据库应运而生, 它们结合特定应用领域, 分为多媒体数据库、空间数据库、演绎数据库、工程数据库等。早期的面向对象数据库由于一些特性限制了在一般商业领域里的应用。首先同许多别的商业事务相比,面向设计假定用户只执行有限的扩充事务;其次,商业用户要求易于使用的查询手段,如结构查询语言所提供的手段。 而开发商用于商业领域的数据库定义和操作语言未获成功,使得它们对规模较大的应用完全无法适应。面向对象数据库的新产品都在试图改变这些状况,使得面向对象数据库的开发从实验室走向市场。面向对象数据库研究的另一个进展是在现有关系数据库中加入许多纯面向对象数据库的功能。2. 面向对象数据库基本技术2.1 数据库转换技术异构数据库系统中各数据库模式和操作之间转换是一个关键研究课题。由于关系数据系统主宰当今数据库应用领域, 而面向对象数据库能满足更高一级数据库要求, 所以有必要在这两种数据库模型中建立一种映射关系, 实现模式和操作相互转换。转换一般有两种途径:从关系DB(RDB) 到面向对象DB(OODB)和从面向对象DB 到关系DB。转换包括数据模式和数据操作转换。数据模式转换指从OODB到RDB数据描述语言的转换, 基本思路是把父类属性扩展到所有子类中, 每个类映射为一个关系;类的每个属性映射为它对应的关系属性。类中不同类型属性作不同处理。方法转换是数据模式转换的重要转换, 方法有定义和调用。数据操作转换是指从OODB 到RDB 数据操纵语言的转换。2.2 模式演进技术模式演进必须保持模式一致性( 模式自身内部不能出现矛盾)。模式演化历来是面向对象数据库研究的重点与难点。其解决途径一般有以下两种: 模式改变考虑现有应用程序, 使两者相互集成和适应。开发新的高级数据库编程语言。常用演化方法有TSE( 透明模式演化) 、等价模式演化和基于数据字典的模式演化等。2.3索引技术面向对象数据库数据庞大而复杂, 若无好的索引处理, 则数据处理效率十分低下。索引化过程就是对数据进行主体和特征分析, 赋予标志的过程。数据索引技术分为三种: 继承索引、集聚索引和集成索引。2.4 视图类实现技术传统数据库视图从某个特定角度反映数据库, 不存储数据, 也不占用空间, 但可当作实表操作, 也称为虚表。OODBS中的视图具备传统数据库中的功能, 每个视图是一个“虚类”,由一个或多个类产生, 虽不能产生对象实例, 但可当作对象实例操作。面向对象数据库中所有视图构成一个有向无环图, 其基本元素是对象视图类。对象视图类从模式中源类的某个查询推导产生, 它由属性和方法构成, 存在继承和合成关系。面向对象数据库中很多操作都能自由访问数据库数据, 利用这些操作实现OODBS视图操作, 能降低复杂度并提高效率, 但容易破坏对象封装性。为了不破坏对象封装性, 我们在对象中设计一组接口, 系统通过这组接口完成视图操作, 这样会增加对象复杂性和OODBS 设计难度。为了克服这个缺点, 我们对这些接口实行标准化, 把它们与数据库中其他对象的服务结合。视图定义好后, 我们把它们集成在一起构成有向无环图, 其基本元素是对象视图类。2.5 版本管理技术工程类应用中设计工作随时间逐渐演进, 本身就是一个不断反复、试探、选择和完善的过程, 其间会产生同一被设计对象的多个版本, 它们必须妥善管理。为了降低设计复杂性, 常常采用分层逐步细化的方法。这样, 一个被设计对象由多个子对象构成, 每一个子对象同样产生多个版本。子对象某些版本合起来就构成了上层对象某个特定版本, 并且如果某个子对象创建一个新版本, 上层对象可能派生一个对应的新版本, 等等。此外, 在模式演化过程中, 常用版本管理控制对象演化过程。版本管理有两个方面: 集合管理。对所有版本管理,版本集合管理常用版本图进行管理。 引用管理。多版本系统中的对象只是逻辑上虚拟的概念, 实际存在的是该对象的各个版本, 所以, 使用对象就是引用它的某一版本。2.6 安全建模技术随着Internet 技术不断发展, 安全性已成为不可忽视的问题, 利用安全模型能精确地描述系统安全策略。安全模型和数据库系统的结合就是数据库安全建模技术。OODB 通常结合RDB 安全技术描述OODB 安全技术。常用OODB 安全模型有支持单级和多级对象的两种模型。相比之下, 多级对象模型能更好地描述现实世界实体, 是实现OODB 安全性的主流。安全建模本质是利用面向对象建模技术, 对现实世界各种安全性引入若干种安全性约束分类, 进行安全性分等, 将现实系统中的安全性语义表达成数据库系统支持的安全性模型。在此过程中可能会产生冲突, 引起数据库安全性语义的不一致性, 因此, 进行一致性检测和解决冲突是必要的。安全建模主要有两个任务: 安全性分等和一致性检查与冲突解决。其中的一致性检查与冲突解决任务由机器完成。安全性分等是由OODB 提供方法, 由应用系统设计者( 建模者) 完成。3. 面向对象数据库系统的优势与传统的数据库相比,OODB在下列方面具有一定的优势:1)缩小了语义差距 传统数据库设计往往是在问题空间采用某种语义模型,而在求解空间采用关系模型,于是就必须在这两个空间的表示之间作一个转换,这样往往会丢失语义。OODB的优势在于在这两个空间中采用了相同/近似的模型,从而使它们之间的语义差距缩小了。2)减轻了“阻抗失配”问题 传统数据库应用往往表现为把数据库语句嵌入某种具有计算完备性的程序设计语言中,由于数据库语言和程序设计语言的类型系统和计算模型往往不同,所以这种结合是不自然的,这个现象被称为“阻抗失配”。在OODB中,把需要程序设计语言编写的操作都封装在对象的内部,从本质上讲,OODB的问题求解过程只需要表现为一个消息表达式的集合。3)适应非传统应用的需要众所周知,OODB研究的目的就是为了适应诸如CAD、CAM、CASE、GIS等非传统领域的需要。OODB中,这种适应性主要表现在能够定义和操纵复杂对象,具备引用共享和并发共享机制以及灵活的事务模型(例如长事务模型、嵌套事务模型、切分事务模型),支持大量对象的存储和获取等等。4. 面向对象数据库与关系数据库数据库管理系统发展到了今天,可以说已经到了极致,多年以来,人们一直在追求数据库系统与程序设计语言的完美结合。以关系数据库为例,SQL语言是一种非过程化的面向集合的语言,它虽然用起来非常简单,但由于是解释实现,效率不如人意。因此许多应用仍然是由高级程序设计语言(如C)来实现的,但是高级程序设计语言是过程化的,而且是面向单个数据的,这使得SQL与它之间存在着不匹配,我们把它叫做“阻抗失配”。但是关系数据库在数据库系统方面发展地非常完善,有强大的管理功能和可操纵性。另外,关系模型具有坚实的数学基础。面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接。什么叫无缝连接,假设你不用数据库,用C语言编了一个程序,你可以不需要任何改动就将它作用于数据库,就好象数据库根本不存在一样,所以也有人把面向对象数据库理解为语言的持久化。由于实现了无缝连接,使得面向对象数据库能够支持非常复杂的数据模型,从而特别适用于工程设计领域。此外,面向对象数据库还吸收了面向对象程序设计语言的思想,如支持类、方法、继承等概念。 面向对象数据库很好地解决了阻抗失配的问题,但它也有缺点。它的缺点正好是关系数据库的强项,由于模型较为复杂而且缺乏数学基础,使得很多系统管理功能难以实现,如权限管理,也不具备SQL处理集合数据的强大能力。另一方面,随着多媒体数据的大量出现和应用的日益复杂,关系数据库也在不断吸收面向对象数据库的优点,出现了现在所谓的对象关系型数据库。其主要改进包括支持自定义类型,方法,继承,和引用。改变任何一种数据类型都是非常大的挑战。试想把对象数据库的优势和关系型数据库的优势整合在一起,便会出现拥有以下优势的数据库:好的处理性能 复杂数据管理 管理简便 快速开发 灵活的查询功能 标准的数据访问接口 更好地适用于商业智能应用 这么看来,数据库系统发展的趋势是,面向对象数据库和关系数据库将不断融合。而对象关系数据库由于继承了上述两者的优点,已经成为目前数据库发展的主流。5. 面向对象的前景在软件开发的各个方面使用对象技术的人群都在不停地增长。甚至在最后一个领域数据库尽管对象数据库还没有取代关系型数据库,这种增长也是十分显著的。随着新应用程序开发过程中Web接口成为一个必不可少地部分,Web服务成为应用系统交互地一种可行的机制,构建一个面向对象的世界似乎是当今的现实。 调查显示使用面向对象语言的程序员几乎无处不在。事实上,尽管有些人宣称使用C语言,但是面向对象的语言还是成为当今90的程序员的选择。调查也显示了程序员比较喜欢基于Web的应用,易用的对象编程和脚本语言。随着越来越多的有着正规培训的软件工程师进入市场,面向对象技术将成为新应用开发的唯一选择。 6. 结论面向对象新的程序设计方法学,把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象不仅简化了界面的开发,而且也提供了一种更加灵活、简单数据处理方法,这种方法从根本上改变了应用程序的构建方法。不再像关系型数据库一样用死板的二维表格来表示数据,对象技术使用类对数据进行描述。 也许关系型数据库将继续领导数据库市场,而对象数据库在市场上只占有一席之地。也许对象数据库将进一步提升市场份额,因为他们能够处理当今使用的复杂的数据。然而,我们认为还有其他的可能:数据库技术可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论