用户名: 密码: 验证码:
面向对象技术在关系数据库中的应用与研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
在计算机新的应用领域以及管理信息系统、办公自动化等传统应用领域中,面临的共同问题是大型工程复杂数据的管理问题。单纯依靠传统的数据库系统是难以胜任的。因此,把先进的面向对象机制和方法与数据库技术相结合而形成新一代的面向对象的数据库管理系统是面向对象技术和数据库管理系统发展的必然产物。在数据库中应用面向对象技术有二种策略:一是设计全新的面向对象数据库管理系统(OODBMS);二是将传统的关系数据库加以扩展,增加面向对象的特性,建立对象-关系型数据库管理系统(ORDBMS)。
    目前,OODBMS还不成熟,还存在一定问题和局限性。它缺乏坚实的形式化理论的支持,没有一个切实可行的标准,缺乏数据库的许多功能,以至产品之间的兼容性和可移植性比较差,这已成为它广泛应用的主要障碍。虽然它可以用于开发具有复杂数据类型的应用系统,但它不能与关系数据库系统兼容,没有提供使关系数据库和面向对象数据库相互转换的"通道",同时,它也缺乏RDBMS的一些功能特点,在需要利用传统的RDBMS的功能来完成面向对象的工作时,它就无能为力了,这使得其应用领域受到很大的局限。
    ORDBMS是对传统RDBMS的扩展,它是将面向对象的思想引入数据库中,实现了复杂对象的属性的存储。但ORDBMS不支持对象操作的存储,因此它不是纯粹意义的OODBMS。
     由于OODBMS的局限性,现在人们在开发面向对象应用时大多仍采用RDBMS。因为RDBMS是建立在严格的数学集合论基础上的,数据结构简单、清晰,具有强大的查询能力,RDBMS成为实现信息系统的基本技术。但RDBMS只能对数据进行操作,不能对对象进行存取。这使得用先进的面向对象方法分析、设计所得的结果无法在RDBMS中实现。
    本论文提出在用RDBMS开发面向对象应用系统时,可以采取在应用与RDBMS之间封装逻辑上的对象层来实现面向对象的数据库。其基本思想是:用面向对象编程语言为RDBMS设计开发一个接口层(持久层),持久层和位于其下RDBMS相结合共同管理实体类对象在RDBMS中的存取,而实体类对象的存储操作对控制类对象是透明的,控制类对象只需和实体类对象通信,这在某种意义上实现了面向对象的数据库。
    持久层在存储一个对象时,将对象的静态部分(属性)通过对象/关系转换规则存储在数据库的表中,而对象的行为通过继承持久层提供的公共数据库访问接口获得。本论文给出了持久层的整体框架结构,对持久层存取对象的实现原理进行
    
    了详细的介绍,同时给出了应用持久层开发面向对象应用的开发流程。
    为配合持久层开发面向对象应用,我们同时提出了自动生成持久类的CASE工具的概念,应用自动类生成器可以大大提高开发效率,减少手工编码出错的几率。
    为高效、快捷的设计和开发持久层和自动类生成器,我们采用最新的软件系统开发过程--USDP。统一软件开发过程给出了一种以UML作为建模语言进行软件开发的过程指导,能够支持整个软件开发周期,并大大提高应用的开发效率。
The administrative issue of large engineering sophisticate data are commonly confronted in new computer application field and management information system or OA etc traditional field.Dependence on the traditional database system is difficult with competent.Therefore,the advanced object_oriented mechanism and method combination with database technique into new generation object_oriented database management system is the necessary result of the development of OO technique and database management. There are two stategy for OO technique appliance to database. one way is to design completely new OODBMS;Another way is to expand traditional database to ORDBMS with OO speciality.
    At present,the OODBMS technique is not mature,and present some problem and limitation.It lacks the support of the solid formal theories,feasible standard,and database function,so that the compatibility and portability of product is poor,that is the main handicap for abroad application.Although it can used for the development of the applied system with sophisticat data type,it isn't compatible with RDBMS and doesn't provide the gateway by which OODBMS and RDBMS can transform mutually.Meanwhile,it lacks the functional specialty so that it is powerless for accomplishment of OO tasks with traditional database.
    The ORDBMS is the extension of traditional RDBMS,which introduce the OO ideology into the database to realize the storage of complicated object.But ORDBMS doesn't support the storage of object method,so it is not pure OODBMS in some meaning.
    Because of the limitation of OODBMS,now people would rather select RDBMS to develop OO application.RDBMS is based on firm mathematics set theory with simple and clear data structure,and powerful query function,so it has become the basic technology for realization of information system.But RDBMS can only manipulate data,is incapable of storage and access of object.That cause the result of the analysis and design with OO method can't realize in RDBMS.
    This paper put forward a method which can realize the OODBMS by using the object layer which is encapsulated between the application and the RDBMS when developing a OO application system.The basic thought is follow:
    Using the OOPL to produce a interface layer (persistence layer) which can
    
    combine with RDBMS below that to manage the storage and fetching of entity object in RDBMS,so the operation for the storage of entity object is transparent for the control object,which only communicate with it.In some sense ,that realize the OODBMS.
    The persistence layer story the static part of object through the object/relation mapping rule and inherit the common database interface to realize the behavior when story a object.
    We bring forward a CASE tool concept which automate the generation of persistenc class in order to develop a OO application with persistence layer.The auto class generator can improve the efficiency and reduce the error probability.
    In order to efficiently and fast design the persistence layer and auto class generator,we adopt the newly USDP.USDP give out a process guideline based on UML for software development.It can support the whole software development lifecycle and improve the efficiency of software development.
引文
[1]. 雷光复,面向对象的新一代数据库系统,国防工业出版社,2000.
    [2]. 扬静,张建沛,关系数据库实现面向对象数据库的方法 ,电脑学习,1997.1.
    [3]. 肖韦器,冯玉才,面向对象数据库与关系数据库的比较研究,计算机研究与发展,1995 ,No.6.
    [4]. M.Jackson,Thirty years (and more) of database,Information and software Technology,41 (1999) ,969-978.
    [5]. 车敦仁,周立柱,关系数据库与面向对象数据库的集成 ,软件学报,1996, vol7 No.11.
    [6]. Arthur M. Keller2 ,Richard Jensen,Shailesh Agarwal,Persistence Software: Bridging Object-Oriented Programming and Relational Databases,Persistence Software 1.1998.
    [7]. Wolfgang Keller, Jens Coldewey,Relational Database Access Layers ,Shortened Version for PLoP3 Book.26.03.2001.
    [8]. 唐潜,用Java类封装RDB库表--在关系数据库上运用OO技术探讨,计算机应用研究,1999,Vol.11.
    [9]. G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide.Addison-Wesley, Reading, MA, 1999.
    [10]. Desmond D'Souza ,Alan Cameron Wills. Objects, Frameworks and Components with UML .ICON Computing,2001.
    [11]. Gregor Engels, Reiko Heckel, and Stefan Sauer. UML - A Universal Modeling Language.Springer-Verlag Berlin Heidelbergpp. 24-38, 2000.
    [12]. Ivar Jacobson,Grady Booch,James Rumbaugh,统一软件开发过程,机械工业出版社,2002.
    [13]. Don Roberts, Ralph Johnson. Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks .University of Illinois 2001.
    [14]. Philippe Kruchten.Architectural Blueprints-The "4+1" View Model of Software Architecture.IEEE Software 12 (6) November 1995, pp. 42-50.
    [15]. 连城,面向对象数据库与关系型数据库的转换和过度,南京邮电学院学报,1996,No.6.
    [16]. Michael Blaha ,William Premerlani ,宋今,赵丰年,面向对象的建模与设计在数据库中的应用,北京理工大学出版社,2001.
    [17]. 吴思,陈莘萌,OO模式向关系数据库模式转换的规则和算法,小型微型计算机系统 ,2001.5.22.
    [18]. 范玉顺,曹军威,复杂系统的面向对象建模、分析与设计,清华大学出版社,2000, 17-29.
    [19]. J.Rumbaugh.eral,Object-Oriented Modeling and Design. Prentice Hall International.1991.
    
    
    [20]. D.M.Kroenke,Database Processing Fundamentals.Design and Implement,5th ed,Prentice-Hall,Englewood Cliffs.NJ,1995.
    [21]. R.Elmasri, S.B.Navathe,Fundamentals of Database Systems.3rd ed.,Addison Wesley,Reading.MA,2000.
    [22]. 李必信,王云峰,李宣东,面向对象的类型-子类型分析及推理规则,计算机科学, 1999,Vol 26 No.7.
    [23]. 王崇毅,面向对象数据库查询优化策略在关系数据库中的应用,微型电脑应用,1999, No.11.
    [24]. 黄锡纬,毕厚杰,关系数据库和对象数据库范式和操作研究,小型微型计算机系统,1999,Vol.8 No.11.
    [25]. 李俊山,贺升平,面向对象的科研数据库管理系统,计算机工程与设计,1998.6,Vol 19.
    [26]. 田卫东,面向对象关系数据库的构造方法,计算机应用,1994, No.3.
    [27]. 李定兰,掏树平,面向对象数据库存储方法的研究,上海铁道大学学报, 1999, No.8.
    [28]. 许卫平,陈树法,面向对象数据库管理信息系统的研究与实现,微机发展,1998, No.1.
    [29]. 张红,田凌云,面向对象数据库系统--数据库的一个重要发展发展方向,重庆工业管理学院学报,1998,No.6.
    [30]. 徐永嘉,曾庆丰,用统一建模语言(UML)设计关系数据库,昆明理工大学学报,2001,No.2.
    [31]. G.Antonial,G.gasazza,Object-oriented Design Patterns Recovery ,The Journal of Systems and software ,59(2001) 181-196.
    [32]. 王意洁,钟武,一个基于Win32平台的面向对象数据库系统,计算机科学,1999.2.Vol 26.
    [33]. N.Gorla, C.-T.Liu,FHIN:an efficient storage structure and access method for object_oriented databases.INFORMATION AND SOFTWARE TECHNOLOGY, 1999,Vol.41.
    [34]. Houman Younessi,An Algorithm for Automatic Construction of Class Diagrams,The Computer Journal, Vol.43,No.6, 2000.
    [35]. Christian Soutou,Modeling relationships in object-relational databases,Data & Knowledge Engineering ,36 (2001) 79±107.
    [36]. J.W.Rahayu,E.Chang,T.S.Dillon,D.Taniar,A methodology for transforming inheritance relationships in an object-oriented conceptual model to relational tables,Information and software Technology, 42(2000)571-592.
    [37]. Wolfgang Keller, Christian Mitterbauer, Klaus Wagner,Object-Oriented Data Integration Running Several Generations of Database Technology in Parallel ,German, ONLINE 1996, International Congress , Hamburg, Article Number C 644.
    [38]. TIM MENZIES,Object-Oriented Patterns: Lessons from Expert Systems SOFTWARE-PRACTICE AND EXPERIENCE, VOL. 1(1), 1 (DECEMBER 1997).
    
    
    [39]. Malcolm P. Atkinson, Fran?ois Bancilhon, David J. DeWitt, Klaus R. Dittrich, David Maier,Stanley B. Zdonik,The Object-Oriented Database System Manifesto in "Deductive and Object-Oriented Databases", Proceedings of the First International Conference on Deductive and Object-Oriented Databases (DOOD'89), pp. 223-240.
    [40]. Andreas Wittkowski,Datenbank ,design & Performance,slide presentation,sd&m Internal Lecture Series, 1996.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700