DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > 数据库基础 > DB4O

面向对象数据库及db4o的优势

如果大家已经决定开始用db4o,而且大家对一些理论不太感兴趣的话,大家可以跳过这篇文章。当然这篇文章的所说的内容也不一定对,都是一些个人的感受,如果有不同意见,大家一起讨论。

首先是面向对象数据库,面向对象的数据库的概念已经出来很久了,但是一直没有成为数据库的主流,现在数据库的主流还是关系数据库。面向对象数据库的概念可以参考面向对象的编程中的对象。但数据库又有很大不同,比方说编程中的对象有属性,有方法,对象与对象之间的通讯一般通过事件来进行。但数据库从本质上讲只是一个数据的容器,这就使得方法和对象之间的通讯并不那么重要。对象之间有继承,这一点在PostgreSQL和Oracle中也有实现,从这种意义上讲,PostgreSQL和Oracle也是面向对象的数据库。

这种纯理论的东西我并不太想研究太多,可能也正是因为这点,我永远都成不了专家。但是,我们在实际使用过程中,可以很形象的体会到db4o和PostgreSQL及Oracle的区别,其他的关系型数据库更像是一个数据库,而db4o感觉是为面向对象的语言服务的,更像是一种面向对象的语言的辅助产品。可以这样说,PostgreSQL和Oracle是独立的数据库,适用于任何的语言,数据库内容实现了对象的概念(当然是一种与关系表相类似的对象概念)。而db4o是专门为一门面向对象的语言服务的数据存储类库,难以脱离语言而单独存在。

db4o的劣势非常明显,就是很多编程语言不能用(现在可以用的好像只有.net和java),如果你用这两种语言之外的东东,那么很不幸,你与db4o无缘,但他的优势也同样明显,主要优势如下:
1)以存对象的方式存取数据(不过你考虑一下完全以对象的方式去考虑数据的存取对传统的数据库设计思维来说是多么大的颠覆)
2)无需数据库服务器,只需要一个数据文件,且dll大小仅为300多k,非常适合作为嵌入式数据库;当然,db4o也有C/S的工作模式。
3)提供Query By Sample, Native Query和Simple Object DataBase Access(SODA),还有LINQ四种方式进行数据查询,操作简便且功能强大,和sql说byebye。当然,我觉得最好用的是LINQ(如果你有LINQ的开发经验的话,这个真是非常非常简单的)

最后说几句,那就是db4o对程序开发效率的影响:如果仅仅从上面几条你可能没有看出db4o的优势,但你一旦在程序中使用,你会发现数据的存储与读取操作流畅而自然,完全是为面向对象的语言而生的。
本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号