• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:05来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

加新的书目,但是不能删除它们。
• 集成性—数据库对于可重用信息的共享非常适合。从会计部门来的作者数据可以在图书
目录中所共享。
看上去数据库技术的确很适合我们的需要。关系数据库和面向对象数据库两个都允许控制
小数量的信息。R D B M S和O O D B M S都允许人们编辑同一个区域的不同片段,就像我们在上面讨
论过的两个地址的例子一样。对象数据库将更进一步地允许将安全设在独立的对象上(关系型
数据库通常只允许控制某类的所有对象)。
在这一部分,我们将看一下对象和关系型数据库技术,并且看一看它们各自的好处,关于
模型化和存储分级的节点,正如我们在本节的第一部分所讨论的。
362使用XML 高级编程
下载
1. 面向对象数据库
近几年来,以对象的形式模拟真实世界的数据库已经可用了。尽管处理信息的速度比不上
关系型数据库,但它的好处是,在使用了面向对象的编程技术时,可以让信息更易于管理。从
我们当前讨论的观点中的主要好处是他们非常直观地模拟我们的节点分级。
在讨论为什么面向对象在建立X M L文档上可能是一个有用的方法之前,我们先粗略地看一
下O O的原则。
(1) 面向对象的程序设计
面向对象的程序设计—即O O P—提供一个非常有效和可靠的机制,用于编写结构良好
的程序。一个对象可以是程序员希望的任何东西,从切实的,就像汽车或一个订单,到更抽象
的,就像一个列表。一个类定义是说每一个对象应该是什么:有什么属性;是否还包含其他
类;并且类中有什么属性。
例如,对于作者的类定义可能详细说明了,一个作者有名和姓,他写的书的列表。然而,
一个作者的对象类将拥有实际的值,就像“ S t e p h e n”和“M o h r”。当一个对象从它的类定义中
被创建,这个类就称为被实例化了。
用O O方法来产生可靠代码的一个好处是与一个对象有关的信息可以被封装。这个可以有效
地用于在可以被使用的层次上展现信息。通过允许一个类从另一个类继承,封装的类可以被用
于建立在经过使用和测试的代码上。例如,假设我们有一个J a v a类P e r s o n,定义如下:
程序清单1 0 - 4
并且有一个f u l l N a m e ( )的例程,它已经被彻底地测试过,并且发现非常稳定。我们理所当然想
从中得到好处。当我们在Wr o x这个程序中开始定义A u t h o r类,可以通过继承建立在P e r s o n类上:
程序清单1 0 - 5
第10章XML和数据库使用363 下载
我们现在可以将精力集中在实现A u t h o r类上,建立在P e r s o n类的设计者已经完成的工作之上。
不需要我们写一行额外的代码,任何A u t h o r已经自动地继承了P e r s o n的特性。所以可以参照下面
的代码显示一个作者的名字:
(2) OO和X M L
可能并不需要总是观注在前面部分中对象与X M L元素之间的密切关系。回忆一下第7章中的
模式,一个作者可能看到以下内容:
程序清单1 0 - 6
为了使用D O M创建这样一个元素将要求大量调用c r e a t e E l e m e n t ( )和s e t A t t r i b u t e ( ),这样可能
会有很多的错误。使用刚刚介绍的基于面向对象的技术,我们看到创建作者的对象更稳定。例
如,下面的J a v a S c r i p t创建刚列出的作者文档中的第一部分:
程序清单1 0 - 7
364使用XML 高级编程
下载
当然可以通过使用函数来让以上部分小些,但是面向对象方法的好处是处理数据的模型,
而不只是节点。在J a v a例子中,可以说插入一个作者,而不是一个名为‘ a u t h o r’的节点。
(3) 持续性
O O数据库填补了J a v a等应用程序对持续性对象的需求。虽然也可以在一个磁盘文件或一个
关系数据库中表示A u t h o r对象,但是前者的效率很低,后者要求程序员经常在两个数据模型中
切换—关系型和层次型。的确存在很多工具,用于映射在像J a v a和C + +一类语言中的类与关系
数据库,但是对于在一个关系数据库中模拟分级数据要求对那些表做很多的连接(我们将在下
一部分看到连接和关系数据库)。如果对象树很深,这就可能用很多表来表示,结果也会相当的
慢。
(4) 好处
O O D B M S好处是在当我们真的想处理关系和深度复杂的对象时候。然而,因为它们不像一
般的R D B M S那样快,如果复杂度不大的话,后者仍然可以用来模拟对象结构。我们将看一下在
两个使用对象技术的产品上演示前面所讨论的大部分的高级技术。
(5) 面向对象数据库产品
让我们看一下两个面向对象数据库:
(6) Object Design——eXcelon 1.1
e X c e l o n 产品是受到广泛赞誉的O O数据库,最近加入了X M L 的支持。虽然一般的
ObjectStore 4.0—存在于e X c e l o n下的数据库—的行为是用于存储文件,在对象的分层中将
其作为一个单元(看一下前面的文档管理部分),e X c e l o n确实分析X M L输来产生新的对象。换
句话说,比起每个对象在数据库中是一个全X M L文档,它用的只是文档中的节点。这些节点可
以通过使用X Q L查询(参见第8章)而得到(参见图1 0 - 4)。
由于e X c e l o n能够分析节点,并将它们保存为唯一的对象,因此e X c e l o n领先于其他产品。
O b j e c t S t o r e底层的O O技术完全能够操纵这些节点。We b站点h t t p : / / w w w. o d i . c o m / e x c e l o n /上列出
了更多的信息。
(7) POET——Content Management System 2.0
C M S是基于Object Server Suite(OSS) 6.0,P O E T是自己所有的面向对象数据库。同将输入的
X M L转化为e X c e l o n对象的方式有着相似的行为, C M S允许节点在任何一级被作为“组件”进行
描绘。这些组件相互之间是独立地用于注销和版本控制,等等,这就意味着两个人可以在同一
时刻编辑同一文档的不同节点。
在结构中搜索可以有两种方法来执行,或者作为标准的文本进行广泛的搜索,或者在标记
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(120)