- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种图书书目XML文档的索引机制.doc
一种图书书目XML文档的索引机制
摘要:该文针对XML,DOM和SAX协议操作大文档的缺陷,将技术成熟的关系数据库索引机制应用于图书书目查询系统,从而实现对XML文档的快速查询。
关键词:XML;关系数据库;索引
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)30-6829-04
随着网络的发展,Internet已经是家喻户晓,各行各业都渗透到Internet上。同时,信息共享和数据交换也越来越重要,Web服务发展迅速,而XML作为一种信息共享与数据交换的手段,已经逐渐成为数据表示和交换的标准,有着不可替代的重要性。经过一段时间的发展,XML已逐渐走向成熟,并在许多领域中得到广泛应用。以XML格式存储的数据也与日俱增。目前,XML在数据库方面的应用还是低效和不足的。在某种角度上,一个XML文件可以看作是一个数据库,因为XML文档具有可自描述、无限嵌套、树形结构等特点。可以借助一定工具把XML映射成传统RDBMS中的一张二维表(Table)。时下的主流数据库都支持这种转换,但这种转换效率比较低,特别对于嵌套太多的XML文档,存储起来就更加不方便,不宜于操作。为更好地支持XML,W3C还制定了一些相关技术,如文档模式(DTD、XML Schema)、查询语言(XPath、XQuery等)和编程接口(DOM、SAX等)来方便开发应用程序。但是,即便如此,XML在数据库方面的应用还存在一些明显不足:如果从更高的技术角度出发,就会发现对XML文档简单的文件管理是远远不够的,低效的存储组织、索引查询技术,不提供事务、安全恢复机制,无法保证数据的完整性和一致性,没有并发控制、移植工具和用户权限管理等。
现在传统的方式是使用DOM或SAX协议对XML文档进行操作,DOM是建立文档树来访问XML数据,建立树的过程会花费很大的系统开销,对于较大的XML文档,这种方式会很大程度上降低系统的性能,即使使用SAX协议访问,也是顺序方式查找XML文档,还是很难满足日益发展的Web服务的要求。当数据量很大时必须找到一种新的方式来提高查询的效率,人们已经开始着手研究Native XML数据库(NXD)并取得了一定的成就,Native XML数据库是一种新的数据库技术,是一个完整的数据库系统,有着传统数据库的各种功能和组件,如今NXD的技术还在研究中,一些机制还不是很完善。该文利用NXD的思想,保持XML文档的原格式,并建立索引来提高查询效率,针对一种特定情形下的数据查询基于XML文档的存储结构建立索引机制,这里要处理的是图书查询系统的图书信息,针对常见的查询建立索引,使用关系数据库来保存索引,加快查询效率的提高。
1 图书查询系统应用分析
首先,分析一下图书查询系统常用的查询有哪些种类,针对这些应用来建立索引。
1)用户要求返回具有某种属性的书目列表。这是最常用的查询方式,几乎绝大部分查询都是这种类型的查询,如题名检索、作者检索、主题词检索、出版社检索等,我们为题名检索和出版社检索为例。
问题一:查询书名为“我的童年”的书目列表。
问题二:查询“清华大学出版社”出版的书目列表。
2)返回一类书目的列表。这里可能是某一类书中的一个子类,如一个网页设计的入门者,他只是想浏览网页设计方面的书籍,并不是确定要找哪一本书。
问题三:查询类别名为“网页制作”的书目列表。
3)返回具有某一属性的书本的其他属性列表。这种应用很少,但也存在,如想要查找在清华大学出版社出书的作者列表。
问题四:查询出版社为“清华大学出版社”的书目作者列表。
2 建立索引
根据实际的应用给要查询的文档建立索引,一个书店或者图书馆里的书目是众多的,所以我们的XML文档也是非常庞大的,因此已经不可能用DOM或SAX来访问了,我们也不使用XED(XML-Enabled DBMS)的方式,把数据都存储在关系数据库中,然后转换成XML格式。我们采用了一种折中的方法,依然使用原始的XML文档方式来存储数据,但把检索中会用到的数据另外存储到关系数据库中,这样在查询的过程中使用的是关系数据库系统,效率比较好,而最终读取的结果又会依赖XML文档。将XML文档中的一部分内容读取出来,这样我们查询得到的结果依然是XML格式,XML的优势同样能够得到发挥。其具体结构如图1:
图1 XML文档检索工作流程
从关系数据库到XML文档,其实是一个定位过程,如果不通过关系数据库建立索引,我们可能是顺序方式查找需要的信息,现在把查询过程中用到的信息存储在关系数据库中的表中了,我们需要将这些表(可能不止一个表)关联到XML文档中的某个特定的位置,这样才能减轻查询的负担,常用的做法是利用XML文
文档评论(0)