- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机理论论文开源世界里的面向对象数据库db4o.PDF
中国月期刊咨询网
计算机理论论文开源世界里的面向对象数据库db4o
摘要:介绍了开源的,面向对象数据库db4o的优点及特性,通过c#语言展示其如何在程序设计中使用和操作。细致讲
解db4o如何对数据库中的对象进行基本的加载,更新,删除操作及其三种十分重要的查询方式。
关键词:面向对象数据库,db4o,开源,程序设计
1引言
面向对象是一种认识方法学,也是一种新的程序设计方法学。把面向对象的方法和数据库技术结合起来可以使数据库
系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库系统是为了满足新的数据库应用需要
而产生的新一代数据库系统。
这里要介绍的db4o数据库就是一种Java,.NET及Mono原生的性能卓越的纯面向对象的开源的数据库引擎,由来自加
MW,Seagate,Hertz等都是它的客户。
b4o的目标是提供一个适合嵌入的功能强大的数据库引擎,用以工作在移动设备,桌面以及服务器等各种平台。其主
要特性如下:
开源模式:与其他ODBMS不同,db4o为开源软件。
原生数据库:db4o是100%的原生的面向对象数据库,直接使用编程语言来操作数据库。程序员无需进行OR映射来存
储对象,大大节省了程序员在存储数据的开发时间。
QL方案在某些测试线路上速度高出44倍之多。
零管理:使用db4o无需DBA。
db4o支持Java和.Net平台。
2设计类实例
在对db4o数据库的特点和特性有了大致了解后,我们通过一个例子来介绍db4o数据库在程序设计中的使用。事例语
言为C#语言,这个例子展示如何存储、更新、加载、删除一个只包括系统内置类型及字符串成员的简单对象实例,
这个对象是一个存储了学生(Student)的相关信息如姓名及本学期所取得学分的类。
publicclassStudent
{privatestring_name;
privateint_points;
publicStudent(stringname,intpoint)
{_name=name;
_points=points;}
publicstringname
{get{return_name;}
set{_name=value;}}
中国月期刊咨询网
publicintpoints
{get{return_points;}
set{_points=value;}}
publicvoidAddPoints(intpoints)
{points+=points;}
overridepublicstringToString()
{returnstring.Format({0}/{1},_name,_points);}}
3打开关闭数据库
Container使用Close()函数,它将会关闭数据库文件并释放其占用的系统资源。
ObjectContainerdb=Db4o.OpenFile(FilePathName);
try
{//Youcandosomethinghere}
finally
{db.Close();}
此处db作为下文引用和存储数据库文件的变量名,其打开和关闭数据库的操作后面将不再写出。
4保存对象
当我们想保存一个对象时,我们只需要简单的调用db4o的Set()方法,并传入要保存的对象作为参数即可。比如向d
b4o数据库存入一个姓名为“Liming”,学分是86的学生对象。代码如下:
Studentstu=newStudent(Liming,86);
db.Set(stu);
Console.WriteLine(Student{0},stu.Tostring());
5加载对象
db4o提供了三种不同的查询数据的方法,(1)QBE:通过实例查询;(2)NQ:db4o原生/本地化查询;(3)SODA
:一种通过数据库持久层进行的查询,查询语句被定义在字符串中,并通过持久引擎进行解释执行。其中NQ是db4o
推荐使用的查询方式。这是因为NQ方式提供了非常强大的查询功能,支持原生语言,也就意味着你可以使用Java,.n
et来判断该对象是否符合条件,这是其他数据库查询语言无法比拟的。在某些情况下,db4o核心会将NQ翻译成SODA
以获得更高的性能。
这下面分别详细介绍一下这三种查询语言。
5.1QBE查询
中国月期刊咨询网
相同
您可能关注的文档
最近下载
- 安全管理人员初复训考核试卷含答案.doc
- 多模态大模型在金融行业的实践和展望-2024年全球人工智能与大模型开发与应用.pdf
- 电子商务测试题+参考答案.docx VIP
- 2024年江苏省南京市中考历史试题卷(含答案).docx
- 数独的社交互动:与朋友一起挑战数独.pptx VIP
- 大理州经济技术开发区“2.16”建筑施工生产安全事故调查报告警示学习教育.pptx
- 2017年高考全国2卷理综试题(Word版含答案).pdf
- 医疗服务公司医疗旅游服务合作协议.docx
- 人工智能技术在高中语文教学中的实践与应用研究教学研究课题报告.docx
- 山西大学《生物化学》内部题库练习期末真题汇编及答案.docx
文档评论(0)