首页 > 范文大全 > 正文

基于面向对象数据库系统的应用系统开发

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于面向对象数据库系统的应用系统开发范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:介绍了面向对象数据库系统(OODBS)的基本原理,引入了利用基于开源的面向对象数据库DB4O实现OODBS的方法。在此基础上,利用DB4O对“新闻信息系统中的内容管理器”进行了设计,展示了利用DB4O实现OODBS具体应用的方法和途径。

关键词:面向对象数据库系统;数据模型;内容管理系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)09-2033-04

1 面向对象与面向对象数据库系统

面向对象(OO)方法的核心思想,是将系统问题域中的实体对象,直接映射为软件的构成元素。认为客观世界本来是由许多不同种类的对象构成的,在不同对象之间的相互联系和相互作用下,才构成完整的事物。

面向对象方法学所引入的对象、方法、消息、类、实例、继承性、封装性等重要概念,为软件开发的分析和设计带来新的思维过程和方法,对于实现大型的、复杂的系统分析和设计奠定了良好的科学技术基础。

近年以来,数据库开发商们都已经在关系数据库系统中很好地支持了对象到关系表的映射,如Oracle8i 、DB2-5等等。但是,利用面向对象建模技术所建立起来的对象模型,无法直接映射到关系结构中,需要通过某种方法,进行必不可少的转换。但是更重要的,是概念上的混乱和额外开发负担所带来的问题。

面向对象数据库系统(OODBS)能直接对应面向对象(OO)数据模型,支持自定义的各种数据类型和结构,并提供数据建模基础上的复杂数据操纵能力,包括:定义专用的控制运算,定义语义关系运算,以及事务管理运算,等等。

OODBS 是持久共享对象库的管理者;每个对象库对应模型所定义的对象集合。

2 面向对象数据库系统的特性

面向对象数据库系统(OODBS) 赋予数据库设计和应用开发人员很强的面向对象能力,从而大大扩展了数据库系统的应用领域,提高了开发人员的工作效率和应用系统的质量。面向对象数据库系统具有以下特性:

① 具有表示和构造复杂对象的能力。

② 封装性和信息隐藏技术提供了程序的模块化机制。

③ 能够表达继承和类层次的关系。

④ 一般为原生数据库,直接使用编程语言操作数据库,提高程序员开发持久层阶段的效率。

3 开源的面向对象的数据库DB4O

DB4O(Database 4 Object)就是一家来自加州硅谷的开源面向对象数据库公司 db4objects 设计和实现的一款开源的性能卓越的纯面向对象数据库。目前支持.NET和java两种编程语言。

db4o主要特性如下:

① 100% 原生的面向对象数据库。

② 高性能db4o 官方公布的基准测试数据,如表1所示(表中的数值表示相对速度)。db4o 比采用 Hibernate/MySQL 方案在某些测试线路上速度高出 44 倍之多!并且安装简单,仅仅需要 400Kb 左右的 .jar 或 .dll 库文件。

③ 支持多种平台db4o 支持从 Java 1.1 到 Java 5.0,此外还支持 .NET 、 CompactFramework 、 Mono 等。

④ 开源模式 与其他 ODBMS 不同,db4o 为开源软件,通过开源社区的力量驱动开发 db4o 产品。

4 J2EE系统的设计

目前比较成熟的WEB应用的模型,即J2EE系统的架构模型——MVC2,MVC+Struts,如图1所示。

本研究结合面向对象数据库DB4O的特性和J2EE系统的特性,以内容管理系统CMS(Content Management System)作为实现的载体。

4.1 内容管理系统模块的设计

根据新闻管理系统的特殊性,分为前台系统和后台管理系统。前台系统的功能模块如图2所示。

后台管理的系统功能模块如图3所示。

4.2 内容管理系统数据库设计

内容管理系统最为主要的数据库表的设计新闻这张表,其他的表的设计都是围绕这张表进行,所以整个系统的数据库表的设计如图4所示。

所有表的id都由系统生成唯一的标识,User作为News表的user属性的类型,Type作为News表的type属性的类型,Comment作为News表的comments属性的类型,并且comments还是数组类型,这样能够很好的体现此系统中每个数据表的对象关系。

4.3 内容管理系统的实现

由于面向对象数据库DB4O不同于传统的关系型数据库,而其中最大的特点是不再有sql语句对数据库进行操作,所以对于和数据库交互的开启、关闭、增、删、改、查的操作封装城公用类(BaseDAO)进行相关的操作。而这些对数据库的操作中最有特点的则是查询,因为没有sql语句,所以在此封装了一个玫举用于判断对于某个字段的查询是相等,相似,大于,小于,还是不相等。查询操作符的玫举封装代码,如图5所示。

在查询操作时就能够和关系数据库类似的进行相等、相似、大于、小于、不相等的查询。生成组合查询条件的代码,如图6所示。

生成组合查询条件的代码说明:传入参数,query为查询条件的实例,fields为查询的字段名,values为对应查询字段具体的值,queryTypes为对应查询条件的操作类型即相等、相似、大于、小于、不相等之一。Fields,values,queryTypes为相同大小的数组,并且按照数组下标一一对应。

4.4 新闻系统的特殊查询

新闻系统大部分的操作都是查看最新的新闻,结合DB4O数据库在执行查询(client.query())时的一些特性,即每次会取出数据库中此对象类的所有IDs,此处为所有News对象的ID。所以,单独对这部分操作进行处理。多个查询操作在一段短时间访问getNewsList方法时,在第一个查询操作还没有关闭数据库之前到来的查询,继续使用第一个操作查询打开的连接和得到的数据集合对象(ObjectSet)由此提高性能。

5 结束语

面向对象的数据库在J2EE系统中的应用,就目前而言应用不是很广泛,但是就其自身的特性在某一些领域运用面向对象的数据库可能会起到优化系统,提高性能的作用。目前DB4O是主要用于嵌入式应用开发的数据库,但是它优良的性能,而且比较优秀的事务管理,同样能让其在企业应用中合理的应用能发挥很好的作用。此内容管理系统是把面向对象的数据库DB4O用于J2EE项目中的一次尝试,并且取得了不错的效果。不过是不是适合更复杂的企业应用系统还需要进一步的探索和研究。

参考文献:

[1] 夏素霞,袁宗福,金立平.OO模型中ODL语言的研究与实现[J].计算机应用与软件,2005(5).

[2] 王意洁.面向对象数据库的并行查询处理与事务管理[M].长沙:国防科技大学出版社,2005.

[3] 徐洁磐.面向对象数据库系统及其应用[M].北京:科学出版社,2003.

[4] 王珊,萨师煊.数据库系统概念[M].北京:高等教育出版社,2006.

[5] (印度) Kumar B V, Sangeetha S, Subrahmanya S V.深入浅出J 2 EE架构 应用程序设计与部署的原理[M].北京:清华大学出版社,2006.

[6] (美) Darren Broemmer.J 2 EE应用与实践技巧 Java设计模式、自动化与性能[M].北京:电子工业出版社,2004.

[7] Rosen Jiang,张黄瞩,Chris.开源面向对象数据库DB4O之旅[EB/OL].http:///developerworks/cn/java/j-db4o/

[8] 《DB4O-6.1-tutorial》,DB4O开发手册.