计算机科学与技术专业中英互译 外文翻译

上传人:1777****777 文档编号:38093769 上传时间:2021-11-05 格式:DOC 页数:8 大小:41.51KB
收藏 版权申诉 举报 下载
计算机科学与技术专业中英互译 外文翻译_第1页
第1页 / 共8页
计算机科学与技术专业中英互译 外文翻译_第2页
第2页 / 共8页
计算机科学与技术专业中英互译 外文翻译_第3页
第3页 / 共8页
资源描述:

《计算机科学与技术专业中英互译 外文翻译》由会员分享,可在线阅读,更多相关《计算机科学与技术专业中英互译 外文翻译(8页珍藏版)》请在装配图网上搜索。

1、中北大学2012届英文文献及中文翻译 毕业设计说明书英文文献及中文翻译外文资料译文面向对象数据库系统:概念与展望在过去几年面向对象数据库系统已经成为数据库研究中的主要课题。大量的研究机构正工作于个别方面或完整的系统原型。但是,有哪些特征组成这样一个系统仍然存在很多混淆。本文试图定义主要的特征和特性。它区分了基本定义和一个扩展的定义。对于面向对象数据库系统,后者试图包含一些更广泛的要求,因为它们引入非标准的应用。此外,本文试图通过那些可能被实现的特征和在研究工作中展示的一些开发领域来识别出最重要的变量。1.前言当今最为棘手的数据库问题之一是如何充分支持新类别数据库应用,这些应用通过传统数据库系统

2、没有很好的提供。例如,计算机辅助设计/计算机辅助制造案例,大量数据精密的人工智能应用或者图像和声音处理要求数据库系统的能力远远超过传统的(关系)数据库系统。传统数据库基本缺点的例子有:1.1复杂的结构化对象的人工表示关系数据库模型不支持复杂的结构化对象建模,因为它只允许用户通过平面关系建立对象模型。既然关系都处于同一层次,其他重要的关系是丢弃或保留完全由应用程序决定。1.2.不能以一个适当的方式模拟对象的属性为了让用户自然地模拟复杂对象的结构和有效的附加数据类型,不仅应该提供该数据库系统的数据模型,而且还应当由用户定义。1.3复杂的结构化对象的操作语义是不可表达的关系数据模型技术无法捕获操作语

3、义(即一套适用于行动的对象),它们通常和复杂结构的对象相关联。相反,这些语义通常完全由用户在他们的应用程序中指定。1.4不支持不同层次的抽象对象,在一般情况下,不是静态的,而是相对应发展中的世界。因此,必须提供灵活性。该系统应允许在不同的层次上观察同一对象。1.5缺乏触发器,约束和事件机制先进的数据库应用程序需要强大而高效的触发器,约束和事件机制,以便能够为这些应用程序建立固有的复杂度模型。1.6复杂的数据库访问通常程序和数据库语言之间的接口是简略的,因为每一种语言提供了一种不同类型的系统以及不同的计算模型。此外,通常最后考虑接口的设计,这往往导致“阻抗不匹配”,因为,在任一系统中大量的元信息

4、(例如,结构和运算)是反映在接口上而不是通过接口。这些元信息必须在两种语言中冗余的定义。另外,数据和运算需要通过接口时就必须转换。根据不同的语言通过这样的转换可能会保留一些以前的语义,例如,数据结构在两种语言中不被充分支持。而且,数据库系统允许在同一时刻处理一组二维数组,而在一个时间片内程序语言根据记录行动。 数据库被认为是用来尽可能完整,准确地描述一个应用程序的相关语义。允许一个数据模型为数据和运算结构的规范定义一般规则,也就是说,它定义了微观语义和它可以被表达的方式。关系数据库模型过于简单,不能以一种适当的方式表达先进数据库应用的语义。如果在数据库中可以表达更多的语义,那么应用程序和数据库

5、的边界就很少会相交,更容易保持一致性,可以提供高效的物理机制。因此,公共数据库主要组成部分的总目标,是扩展数据库技术来获取更多的含义。面向对象世界不仅提供了强大的建模概念,也提供了一个框架,来描述和管理程序、数据,除此之外,还解决了阻抗不匹配的问题。同时,面向对象程序语言组织认为有必要将一些数据库功能和面向对象程序语言相结合,例如数据的持久性和共享性。本文将集中讨论的问题是什么是面向对象数据库系统以及目前与此技术相关的问题。因此,我们首先将在一个比较直观的基础上讨论面向对象的范式。接下来我们会讨论面向对象数据库系统的根源和第一个非正式定义。第4章通过更详细的讨论面向对象数据库系统的特性来介绍这

6、项技术的特点。此外,还会处理一些已经公开的问题,这些问题必须解决以使面向对象技术产生一种数据库系统的成功变种。2、面向对象范式2.1前言编程语言服从不同的范式。目前最常见的范式是命令范式。功能范式(至少在它的纯粹的形式)消除了变量,并且因此避免了副作用的问题。说明性或逻辑编程减轻了程序员的负担,声明了一个问题是如何解决的。它允许他们用来描述该生产怎样的计算机,并让计算机确定这些结果是如何得以实现的。但是,什么是面向对象编程范式的本质?伦茨奇如下描述面向对象程序语言领域(/Rent82/):“面向对象编程出现于20世纪80年代,而结构化编程出现于20世纪70年代。人人都喜欢它。各厂商因为支持它而

7、推广他的产品。每个经理都对它赞不绝口。每个程序员都实践它(不同的)。并且没有人知道它是什么。”尽管第一个发言有点言过其实,然而它的不确定性描述这部分是与术语对象相关联的。一个原因是“面向对象”目前是一个时髦词,它吸引了很多人用它来生产或完成他们的工作,因此,我们将在下面,给予我们的特点与面向对象的概念第一次直观的规范关联。2.2典型描述 让我们假设,我们走进一个房间,在那里我们看到一些人,一些椅子,一张桌子等等。对于观察者来说,房间内部是一组对象,对象是人类的认知本质,它在良好定义的对象中剖析他的环境。但是我们不仅是认识到对象,更多的是将他们和一些函数联系起来。所以我们知道哪些消息(活动)将以

8、什么样的方式起作用。例如,如果我们打开收音机,我们知道将听到音乐或单词。大多数情况下,尽管我们不知道该以什么方式实现这些函数,但是我们知道哪些对象是适合的。 进入房间后,我们看到一位女士坐在打印机旁。虽然我们之前没有见过她,但是我们还是对她有所了解:她有一个名字,她说一种语言,她可以移动,等等。我们知道这些是因为她属于这个类或人类这个范畴;更确切的说,她是一个女人,并且最有可能是我们的新秘书。现在假设我们走进房间,要求某人将一封信带到邮局。有两个以上的人在这个房间,我们的经理和一位学员。如果我们要求学员去,他最有可能的反应是回答:“是,先生”。如果我们要求经理去,他的反应可能是怀疑我们的健康状

9、况。尽管两个人都属于同一种类(男),但是他们对于同一事件的反应不同。 这个简单的典型描述已经使我们能够推断出一些一般规则或关于我们的环境的特点:我们的环境完全由对象组成。环境和对象来自行为,对象由函数来描述。大多数情况下我们知道对象的功能,但是不知道这些功能是如何实现的。对象反映事件。只能由对象自己决定,以什么方式对事件做出反应。不同的对象可能对同一事件做出不同的反应。对象继承特点和能力,作为在一个特殊类或类别中的结果。2.3特点的非正式论述 虽然上述特点是相当直观的,然而,他们组成了面向对象范式的主要特征。更正式的特征转换成下列特点:在一个面向对象系统中任何东西都是一个对象。没有任何区别,例

10、如,用户定义的对象和系统定义的对象(统一处理)。对象被封装,这意味着他们通过一直操作被描述,就像一个可见的接口。封装是面向对象系统的一个特别重要的特征,因为它确保了一个对象的接口它的(内部)表示是独立的。无论是执行它的操作(通常成为方法),还是它的结构,都是可见的。为了强调对象的独立性,对象通过传递消息来通信。这个通信的范例,假定用户不应该直接使用对象,相反,他发送一个消息给对象,并且,由对象自己决定以什么方式对此作出反应。 一个对象属于一个类,而类本身也作为对象来处理。类是特殊操作的一个模板(如new)可以用来创建新的对象。同一个类中对象有共同的操作,并且,因此有统一的行为。类的另一个重要特

11、点是继承,允许定义一个类为另一个类的特殊化,从而支持类之间层次关系的管理以及软件的可重用性。继承的核心思想是为定义一个新(子)类提供一个简单而强大的机制,这个新类继承已经存在(之前)的类中的结构和运算。可能增加新的方法或新的结构而旧的方法和结构可能被覆盖。在上面的例子中,经理和学员可能被模拟为属于不同的类,这两个类作为员工类的特殊化来实现。这就允许程序员对同一个信息模拟不同的行为,而常见的行为从之前的(雇员)类继承。而类,例如雇员和女性,在现实生活中可能重叠,但在面向对象环境中他们通常不能重叠:通常假设每一个对象基于一个精确的基类。不同的对象对相同的消息有不同的反应能力(上面的特征6)被称为多

12、态性如果底层系统支持运行时类型检查和后期绑定,那么继承和多态性可以得到最好的利用。而后期绑定明显提供了更多的灵活性,由于执行运行时检查的必要性,所以降低了效率和和程序的安全行。有些人认为,面向对象系统必须支持后期绑定,而有些却不这么认为。3.面向对象方法领域的陈述3.1前言尽管那Rentsch的文章(见最后一章)的目的是面向对象编程语言,但是对于面向数据库系统领域的信息更准确。面向对象数据库系统的定义受到相当打的争议,并且在同意一个公共定义前,可能保持很长一段时间。3.2历史根源面向对象数据库技术的根源通常用术语语义数据模型/HaML81的发展和程序语言学科中基于抽象的语言的发展描述,这些知识

13、描述了人工只能的思想,(尤其。通过框架模型/Minsky/Mins75),可能也影响了面向对象数据库的思想。然而,人工智能主要认为是面向对象数据库领域的应用,而很少作为导致这项技术的第三方规程。3.3自上而下和自下而上的方法根据这些历史根源可以观察到两个主要方法。研究人员从数据库组中遵循自下而上的方法,首先,他们试图通过在系统架构的各层次上支持复杂对象的概念,调整传统数据库技术成面向对象。自下而上的方法主要由编程人员遵循。他们试图允许对象持久和共享来改编面向对象程序语言成为数据库的技术。自下而上的方法在对象服务器的最底层实现,也就是说,是允许系统在物理层上充分处理复杂对象的一个容器。为了处理复

14、杂对象可能会添加访问路径或索引技术来反映对象的一般和特殊属性。接口层上的一般操作,将提供整个对象或对象的部件,换句话说,如果数据库系统提供一个模型,这个模型允许用户通过数据库中一个正确的对象(以数据模型概念的方法)来描述一个微观世界的实体(无论其复杂性和结构),那么这个数据库系统是面向对象的,并且,除此之外,为开发对象的结构(这对应面向对象的结构的概念,如通过Dittrich/Ditt87来介绍)提供适当的操作,从面向对象程序语言得出概念,如继承和数据抽象是以面向对象的观点,作为阻抗不匹配的问题设计的。该数据库系统的数据语言和相应的编程语言仍然可以遵循不同的编程模式。自上而下的方法以面向对象编

15、程语言作为基础,通过从数据库系统得到的概念丰富它的功能,具有持久性(即使一个应用程序结束了,对象仍然存在),并且对象是共享的(独立的应用程序可能同时使用相同的数据)。这些活动的结果可能是一种编程语言,其中有持久性数据和非持久性数据的简单数据模型。在更广泛的意义上,这些系统实现行为面向对象,由Dittrich定义(/Ditt88/)这种方法的优点是对于数据访问和应用程序是唯一的语言,缺点是大多其他数据库概念的基本或丢失的实现,例如索引技术,并发控制和可靠性机制或优化的数据库查询机制。几乎所有整合数据库概念的编程语言都失败的主要原因是:编程语言环境和数据库系统是在不同的文化上设计的。为了分类,计算

16、和一致性,他们通常建立在不同的概念上。在(命令)编程语言中典型的分类系统包括数组,列表和原子类型,而在数据库语言中典型的分类系统包括集,记录和原子类型。在编程语言中典型的计算模型有充分的处理能力,而在数据库语言中典型的计算模型包括搜索和简单的更新能力。在编程语言中的一致性概念通常比数据库系统弱。3.4面向对象数据库系统的基本定义如果我们采取上述两种方法仔细看看,当人们忽略了其他,那么假定捕捉一些真正的面向对象数据库系统的特征就似乎变得合理。有人会因此而认为一个真正的数据库系统会成为两种方法的结合。据此,第一个工作上的定义是(又见(/Banc88/):定义3.1面向对象数据库系统(基本定义)一个

17、面向对象数据库系统应该符合两个标准:它应该是一个数据库管理系统,并且应该是一个面向对象系统。第一个标准转化为六个特征:持久性,二级存储管理,数据共享(并发),数据的可靠性(交易管理和恢复),特殊查询工具和架构修改。第二个可以转换为6个特征:类型/类,封装/数据抽象,继承,多态/后期绑定,计算完整性,对象的一致性,复杂对象和可扩展性。4、面向对象数据库系统的特征尽管Rentsch引述的目的在于面向对象编程语言,但是他对面向对象数据库系统的思想更准确。一个面向对象数据库的定义是相当大的争论,并且在业界得出一个公共的定义之前,可能会持续很长一段时间。4.1类型和类在这一节,我们首先将介绍传统观念的类

18、型和类,因为它们是常用的。然后,我们将这一概念扩充的更全面,使这一概念能在更多的面向对象数据库系统中使用。现代编程语言,例如,像PASCAL,将类型定义和变量申明区分开来,以分开类型的定义和使用。一种类型的简单概念,它包括一组所有可能的值的无限集合(它的域)和对这些值的一组操作。通过限制一个特定类型的变量来假定这个类型的值。一个类型可能是原子的或结构化的。一个原子的(基本的或简单的)数据类型被认为是不可分解的(从用户的角度来看)的数据类型,如整型或字符型。一个结构化(合成的)的数据类型或数据结构是一个数据类型,这个数据类型的值是由一些与结构相关的构成要素构成。这些数据类型由用户考虑什么时候访问

19、这些数据结构的。例如整型或字符串。由于数据结构是一种数据类型,它对它的值有一组操作。此外,可能有操作用于它的构成要素(/StWe85)。它通过使用已有的数据类型和类型构造函数来建立,例如数组,集合,清单,记录。在编程语言中类型是增加程序正确性和有效性的一个工具。通过强制用户声明他使用的对象的结构,系统将检查用户有没有对对象执行错误的分配或操作。因此,类型用于编译是检查程序的正确性,消除运行时必要的检查。另一个优点是,可以限制编译时过程的调用。通过这一点,像上下文的创造和过程调用这种昂贵的操作可以用便宜的操作来代替,例如转移。此外,如果没有类型系统,那么编译器不可以优化代码。由于编译器无法确定执

20、行一个操作的过程,它就无法确定这个操作是否有副作用或者会影响到控制流。因此,公共子表达式清除,无效代码删除和其他公共优化一般不适用。它可以区分两种类型的分型:静态类型和强壮类型(/Wegn89)。如果所有表达式的类型可以在编译是确定(在编译时完成类型检查),那么这个编程语言被认为是静态类型的。如果在编译时这个类型可以兼容所有表达式的描述,可以从静态程序描述中确定值,那么这个语言被认为是强壮类型的(可以引入一些运行时类型检查的必要性)。每一个静态类型的语言总是强壮类型的,但是反过来不一定是,因为强壮类型语言允许程序员使用,例如,一般的操作,如排序,找到了一种算法的结构统一适用于一个范围内的类型。这里应当指出,上述的类型定义尤其针对编程语言的需要第 8页 共 7页

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

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

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


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