徐颖
【摘 要】随着计算机技术的发展,计算机的应用领域日益广泛,从科学计算逐步发展为处理社会事务数据的工具。数据库理论在近几年来不断的完善和发展,并且在商业化推广应用上取得了瞩目的成绩,数据库技术已经成为了计算机技术的重要基础领域之一。本文主要是对面向对象的数据库技术的发展状况进行了系统地分析。
【关键词】数据库技术;面向对象数据库;对象关系数据库
近十几年来,将其他技术渗透到数据库系统中的研究和实践得到了快速发展,其中最重要的成果就是面向对象的数据库技术。面向对象的数据库将面向对象方法和数据库技术紧密的结合在了一起,并且已经有了一些理论和实践的成果。
1 数据库的发展
随着计算机技术的发展,计算机的应用领域也不断的扩大逐渐的从科学计算发展到社会事务的数据处理,在这样的背景下数据库也就产生了。现在数据库已经发展成为计算机技术的主要领域之一。数据库产生于20世纪60年代中期,至今为止共经历了三次具有历史意义的飞跃。第一次是数据模型概念的产生,在计算机算计操作系统产生之后,人们为了建立一套数据组织操作系统加强了对数据文件组织、管理等方面的研究,它产生的基础是一层次模型和网络模型。在“大型共享数据库的关系模型”的论文中,系统的提出了数据库关系模型,这一套理论为数据库的进一步发展奠定了充足的理论基础。第二次是以关系数据库为代表,到了80年代已经出现了众多关系型的商品化系统,使数据库更加广泛的应用于企业管理、辅助决策等社会事务数据的处理中。这些商业数据库系统,使数据库更加广泛的应用到企业管理、情报检索,辅助决策等。第三次是面向对象数据库、知识库、媒体库。计算机技术不断的发展,应用领域也在不断的壮大,数据库越来越多的和通讯网络、人工智能、多媒体技术融合,相信第三代数据库即将到来。
2 面向对象数据库的设计思想
面向对象数据库设计思想主要由两部分构成:一方面,将面向对象的语言向数据库的方向发展,通过使用一系列的程序对这些对象进行处理,并在数据库这种无限的虚拟空间当中储存。另一方面,不断的扩展数据库系统,通过建立一种综合的语义数据概念集,在现实实体和数据库之间搭建一种桥梁。对于面向对象数据库的方法不同的人有不同的理解,如何将面向对象的方法与数据库结合在一起,不同的人有不同的方法,具体的策略有以下几种:第一,建立一套全新的数据库模型和数据语言模型,这种模型不借助现有的任何系统,现阶段许多的研究性面向对象数据库多采用这种方案。第二,利用对象的某一种能力来拓宽数据库语言,像C++语言就是从C这种语言扩展而来的,因此,在下一代数据库产品中也可以加入对象机制。这种方式在面向对象程序语言的基础上增加数据的功能。第三,提供一个可以扩充的面向对象的数据库系统。第四,借助数据库的能力扩充面向对象的程序设计语言。在面向对象的语言中加入持久性、事务管理、查询等数据库的特征,使其具有数据库的特性。第五,在传统的宿主语言中融入面向对象的语言结构。目前,对面向对象数据库存在着两种理解,一种是广义的将使用面向对象的数据库系统都统一称作面向对象数据库系统,另一种是理解相对狭隘一点,主要是一种革命化的方法全面引进对象的概念和技术。
3 传统数据库的局限性
传统的数据库与面向对象的数据库相比具有较强的局限性。首先,传统的数据库中大多都采用数据模型,因而结构化较强主要是面向机器语法的数据模型,它只能够储存有限的零散数据关系。现实中的对象结构往往是比较复杂的,对象与对象之间有着密切的联系,这种复杂性也就决定了传统的数据库并不能对这些对象进行数据处理。传统的数据库并不能解释数据之间更深层次的联系,不能对数据进行抽象化处理。其次,传统的数据库只能解决一些简单固定的数据类型,更加复杂的数据类型要通过用户编写程序借助高级语言来完成。再次,结构与行为存在完全分开的现象。传统的关系数据库技术的功能仅仅局限于正文、数字型的事物处理。从程序员的角度来看标识对象一般包括结构表示和行为规格说明这两方面的内容。传统的数据库是一种语法数据库,比较注重数据的独立性,难以抽象的模拟某些行为,对象的行为特征在传统的数据库中只能通过某些程序来表示,大量的语义难以从毫无意义的编码中恢复完整,这也就导致了结构与行为的分离。最后,传统的数据库存在着阻抗失配的现象。主要表现为编程模式不同和类型系统不同,这样的数据库可能会出现信息丢失的现象。此外,传统的数据库不能为层次数据提供结构支持,缺乏对版本配置的管理,并且程序语言和数据库语言之间存在着不协调现象。传统数据库的这些特性也就制约了它在更大范围发挥作用。传统的数据库能够处理的对象有限,难以适应新领域的新要求,二者之间产生了不可调和的矛盾,正是这种矛盾推动技术的革新和发展。
4 面向对象的数据库具有的新特征
随着数据库的快速发展,社会其他领域也扩大了对数据库技术的需求,这些领域在为数据库开辟了广阔天地的同时,也向数据库提出了更高的要求。面向对象的数据库,是在面向对象的模型与先进的数据库结合形成的一种新型的数据库类型。
新的应用领域所处理的对象一般结构较为复杂,用二维的关系结构图难以全面完整的表示出来,结构往往更加复杂有层次。在新的领域中对某一对象的处理经常会涉及到时间的变化,并且要保存大量的数据,部件还要具有可重用性。处理的数据量往往比较大,可能会有超长的正文数据、图形、图像、声音等数据。在20世纪80年代,Atkinson根据自己的研究经验发表了一篇宣言,这是第一次对面向对象数据库系统的概念和特征进行概述,可总结概括为三个方面的特征。第一,必备的,复杂对象、对象表示、可扩充、计算完备、恢复性和持久性等。第二,可选类,这一类的特性是为了让系统更加完备,多重继承性、设计事务所处理版本、类型检查等。第三,开放的。设计人员可以根据具体的需求可选择的需求,分别是设计范型、表示系统、系统的单一性。
面向对象的数据库要具有以下几个特征:首先,由属性和操作共同组成的对象。其次,能够进行归类,可以将几个有着共同特性的对象归为不同的类型。再次,可扩充性,当数据库增加一种新的对象后不会对原有的对象的应用产生影响。最后,多态性。面向对象的数据库能够针对不同的对象对相同的信息做出的不同反应做出不同的处理,并且能够充分的理解信息内容。
5 面向对象数据库的实现方法
面向对象数据库是面向对象技术和数据库结合的产物,它一直备受工业界和学术界的关注。面向对象数据库与传统的数据库相比具有很多的优势,能够对构造复杂的对象进行处理,它集成和发展了类层技术使软件能够进行重用。第一代数据库和第二带数据库都得到了蓬勃发展,随着科学技术的发展和数据库应用范围的扩大,不同的应用领域对数据库提出了更高的要求。
面向对象技术和数据据库的结合一般是沿用四种种发展途径,第一种是建立单纯的面向对象数据库管理系统,这种途径在面向对象的语言的基础上增加数据库的功能,支持持久对象和信息共享。面向对象数据库能够通过利用类来处理多媒体类型的数据,还能够利用继承性的特点来实现对象结构和方法的重用。面向对象的数据库与传统的数据库相比在开发速度和系统维护方面有很强的优越性。第二种实现方法是将传统的数据库的功能进行扩展,增加数据库面向对象的特性。这种系统一方面具有很强的通用性,能够支持被广泛使用的SQL,另一方面能够面向对象,能够支持较为复杂的对象的复杂行为,这两方面的优势也就体现了数据库和面向对象技术的最好的结合。第三种是扩充关系数据库系统,这是一种在传统的数据库基础上形成的,将数据库的系统开放,允许由用户定义的抽象的数据类型加入到系统中来。第四,数据库系统工具包,这种方法的出发点是认为没有任何一种DBMS能够满足下一代应用所有的需求,因此要通过提供工具包,使每个层次上的数据库都能够进行扩充,从而满足不同的需求。对象技术和数据库技术的结合的优点,吸引着全球的数据库开发商竞相研究,如何实现二者的结合是竞争的焦点。
6 面向对象技术和数据库技术结合的进展
现阶段,我们通过对扩充关系数据库、支持持久对象的程序设计语言、面向对象的数据库系统、数据库系统工具包,这四个方向进行研究和开发,已经取得不少的成果,但是这4方面的发展是不平衡的,一些方向上获得了主导性收获,而另外一些收获甚少甚至没有了发展的必要,于此同时也有了新的发展方向。
6.1 扩充性关系数据库
这种方法是最占优势,它能够最全面的满足社会对面向对象数据库的各项要求。
6.2 支持持久对象的程序语言
在这个方向上的研究也取得了一些具有重要意义的成果,从社会角度而且它仍然具有很强的开发的必要,但是从商业实践的角度来看,它并不成功,它只能是一种纯粹的程序设计语言。不过在这个方向上取得的成果对对象数据库的研究和发展产生了积极的影响。现在许多的导航式的程序设计的界面都受到了持久的程序设计语言的影响,并且持久数据的收集模式的研究成果可以直接应用到面向对象的数据库的研究中去。
6.3 面向对象的数据库系统
在面向对象的数据库系统的研究方向的研究是十分活跃的,许多的专家学者都专注于这一方面的研究。Atkinson在1989年发表的“面向对象数据库系统宣言”,系统的陈述了面对对象数据库的必备特性。经过多年的研究和发展面向对象的数据库系统取得了许多的成就,其中包括基本对象模型、对复杂的对象支持、以及模式化演化等。一些新兴的公司推出了OODB的产品。
6.4 数据库系统工具包
这种方法的发展并不如预期的效果好,现在已经很少人用了。这类工具包相对比较繁琐,不能够根据对象的具体特点进行灵活的处理。并且,面向对象的数据库已经具备了可扩充性,不用在设计构建一个数据管理设施了。
6.5 面向对象的客户包装层
这是一种全新的将面向对象技术和数据库结合在一起的方式,这种方法在关系数据库的基础之上加上一层对象包装层,这样在面向对象的客户端就可以在传统的数据库基础上运行了。这些产品一般都会生成几个类,这些类就能够将程序员和底层的数据库连接在一起。
7 面向对象数据库在人事工资系统的应用
人事工资信息管理是人事部门最繁琐的日常项目,它不仅仅涉及到员工的具体信息,还要查阅大量的工资政策和历史条款和工资套改情况。我国的人事工资系统的开发和应用时从20世纪80年代开始的,一共经历了三个阶段。第一个阶段是80年代末至90年代初,这一阶段管理信息仅仅只能提供一些简单的查询和打印,工资信息处理也仅仅局限于输入员工的信息进行查询。第二个阶段,是90年代中期这时我国的工资管理信息系统开始引入工资标准这一内容,能够提供简单的工资变动功能,系统不能取代人工为用户确定工资档次。第三阶段是,近几年来我国逐渐构建了一套认识工资信息系统,将人事部门从繁琐的工资调整事务中摆脱出来。
要想在人事工资系统中应用面向对象的数据库,就必须先要确定问题域和系统边界,然后再识别对象的关联,添加对象类的关联属性,最后识别对象的方法来确定对象事件。人事工资信息的问题,首先要根据各种信息筛选出所有可能的对象,并对新进员工进行分类,通过关联分析,确定几个对象之间的相互依赖,相互作用的关系,发现边缘情况。确定新进员工的编号、姓名、学历等信息属性,职务级别异动要确定人员、级别、异动时间等属性。利用适当的继承关系,把类组成一个有层次继承性的系统,每个类的上层都有父层,下边有子层。对象模型建立后还要向数据库的模型进行映射,这是一个复杂的过程。面向对象的设计方法使数据库变成了一个相互关联的复杂对象的集合,通过面向对象的数据库可以模拟现实世界的实体关系,使这种模型自然而然的和现实世界产生了密切的联系。这样一方面大大减轻了人事部门的工作难度;另一方面,提高了数据的准确度,如果程序内大对象发生了变化后,它不会对程序的其他编码产生影响。
8 结语
随着计算机技术的不断的发展,面向对象技术与数据库技术结合在一起并得到了充分的发展。面向对象的数据库弥补了传统数据库的缺陷,把时间和对象的操作融合到数据库中,能够有效的记录并对相关的数据进行系统的处理和分析。
【参考文献】
[1]秦秀媛.高速发展的面向对象数据库技术发展趋势展望[J].计算机光盘软件与应用,2013,19(19):12-13.
[2]杨玉芬.对象管理在面向对象数据库中的应用研究[J].吉林大学学报:信息科学版,2013,31(5):24-25.
[3]马瑞丽.面向对象技术在数据库系统设计中的应用浅析[J].小作家选刊:教学交流,2013,16(7):15-16.
[责任编辑:汤静]