深入讲解达梦数据库的"XQuery"查询优化
http://tech.ddvip.com 2008年02月23日 社区交流
内容摘要:达梦关公司的DM XML支持项目是以达梦关系数据库为平台,扩展了对XML的支持,研究和实现基于关系数据库XQuery查询优化技术,实现了高效的XQuery查询。
XML(eXtensible Markup Language可扩展标记语言)数据的自我描述性使其具有高度的结构化,良好的存储格式等特点,而且XML文档和HTML一样便于网络传输。因此,XML被广泛应用而成为数据定义,数据交换和数据共享的主要标准。
目前XML 数据库主要研究的方向分为两大块,一是Native XML数据库系统,也称原生或纯XML数据库,如Tamino、Ipedo等;二是XML-enabled 数据库系统,即在已有的关系数据库系统或面向对象数据库系统的基础上扩充对XML的支持,这种数据库的优点在于可以充分利用已有的非常成熟的关系数据库技术。在关系数据库系统上扩展对XML支持的一个重要部分就是实现XQuery查询。
达梦关公司的DM XML支持项目是以达梦关系数据库为平台,扩展了对XML的支持,研究和实现基于关系数据库XQuery查询优化技术,实现了高效的XQuery查询。
XQuery相关概念
XQuery是XML的查询语言,XQuery与XML文档的关系相当与SQL与关系数据的关系。与XQuery紧密相关的一个概念是XPath,他们都是W3C的推荐规范。XPath是XML文档的路径语言,用来在XML文档中对文档数据进行寻址。XQuery是XPath的扩展。目前这两个规范的最新版本是XPath 2.0和XQuery 1.0,前者是后者的严格句法子集,并已成为推荐标准。
XPath表达式通过若干“路径步”在XML文档中进行定位(navigate)。对于每一步(step),一个“轴”(axes)用来描述本步中的中间结果森林所包含文档节点(以及这些节点的子树),XPath表达式中包含13种轴,其中通常使用的children和descendant-or-self轴缩写为 / 和 // 。
FLWOR表达式是XQuery对XPath的重要扩展之一,即for,let,where,order,return表达式的组合。for,let表达式以不同的方式将一个序列绑定到一个变量,这个序列可以是XPath路径表达式返回的节点序列,where,order表达式对这些序列的输出进行过滤和排序,return表达式输出结果序列,这个序列可以是带有绑定变量的路径表达式,而且return表达式支持XML片断的构造。
来源:豆豆网转载 作者:赛迪网 DM 责编:豆豆技术应用