




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
13.3XML查询语言Xquery
面对XML数据量的指数级的增长,必然要求更有效的数据管理能力和更快、更精确的查询。因此,如何从XML数据源中准确有效地查询所需信息,也就变得越来越重要。要做到这一点,必须要有一个让你能够准确地获得所需信息、更新XML数据源中数据的可表达的查询语言,XQuery正是这样的语言。
XQuery是一种将查询表示成表达式的功能语言。通过它所支持的多种表达式,它的查询可以有各种不同的形式,各种XQuery表达式可以完全嵌套,也支持子查询。目前,数据库业界的三大主流厂商Oracle、IBM、Microsoft都已经在各自的产品中提供了对XQuery规范的支持。
13.3.1XQuery概述
13.3.2XQuery语法简介1.文字与注释2.数值类型3.XQuery的模块结构
XQuery模块包括三个部分:名字空间和模式声明、函数定义、查询表达式。其中模式声明和函数定义不是必需的。4.XPath路径表达式
5.条件表达式
6.算术表达式与布尔表达式
7.FLWR表达式
13.3.3FLWR查询FLWR描述了典型XQuery的结构。在FLWR语句中,数据被绑定到变量,然后,再在后续步骤使用该变量。FLWR例句:FOR$bINdocument("Ch10-5-1.xml")/bib/vendor/bookWHERE$b/price=102AND$b/year="2001"RETURN$b/title相当于SQL语句:selectb.titlefrombib.vendor.bookasbwhereb.price=102andb.year='2000'结果为:<title>Office2000VBA编程技术</title>13.3.4查询深入
在FLWR查询语句中,还可以使用if…then…else…这样的选择结构:
if<条件表达式>then<表达式一>else<表达式二>除路径表达式和FLWR表达式之外,XQuery还有5种基本的表达式模式:元素构造符、算子和函数表达式、条件表达式、限定表达式、列表构造符、数据类型表达式。通过它们的多种组合,可以产生具有丰富而强大的查询检索功能的查询语句。
13.4基于关系数据库的XML处理
在XML数据和关系数据库之间有两个问题,一个问题是如何将存储于关系数据库中的数据用XML的形式表达出来,即XML的发布问题;另一个问题是如何将XML数据存储于关系数据库中,并能提供基于XML查询语言的查询。图13-3表示了XML存储和查询系统的体系结构。
13.4基于关系数据库的XML处理(2)13.4.1关系数据的XML发布
为了在XML和数据库之间传输数据,需要在文档结构和数据库结构之间进行相互的映射,这样的映射通常分为两大类:模板驱动和模式驱动。1.模板驱动的映射这种方法的原理是首先定义一个模板,然后在模板中嵌入SQL指令,这些命令将交给数据库关系系统进行执行。
2.模型驱动的映射模型驱动的映射是指数据从数据库到XML文档的传送用一个具体的模型。它通过在DTD/Schemas中定义数据模型的方法,建立数据库中数据与XML文档中数据的映射。
13.4.2将XML文档中的数据装入关系数据库
将XML文档中的数据装入关系数据库有两种通用的方法。一种是可以将整个文档输入到数据库的列中。其二就是可以将文档“撕碎”后放到多个关系型表格中。第二种方法充分利用了数据库的查询引擎和强大的更新功能,但是从不规则XML数据到SQL的映射比从SQL到XML的映射要困难得多。
13.4.3关系式数据中产生XML文档
在SQLServer2000中通过使用SELECT语句可以把查询结果存储为XML文档而不是通常意义上的结果集,这样通过比原来少得多的编码就可以使Web应用或其他应用直接使用XML文档。将关系数据库的查询结果显示成XML文档是通过FORXML语句来完成的。在使用FORXML语句的同时可以指定XML的MODE(RAW、AUTO、EXPLICIT)以及XMLDATA的模式(Schema)。13.4.3关系式数据中产生XML文档(2)FORXML语句的语法规则为:FORXMLmode[,XMLDATA][,ELEMENTS][,BINARYBASE64]各参数的含义说明如下:
(1)mode:指定XML模式。XML模式决定所得到的XML的形式,mode共有三种取值,即RAW、AUTO、EXPLICIT。
(2)XMLDATA:指定应返回XML-Data架构,文档的架构被预先设计为内嵌式架构。(3)ELEMENTS:如果指定ELEMENTS选项,则列作为子元素返回;否则,列将映射到XML特性。只有在AUTO模式下才支持该选项。
(4)BINARYBASE64:如果指定BINARYBase64选项,则查询所返回的任何二进制数据都用base64编码格式表示。小结XML是跨平台的数据交换语言,也被认为是一种跨平台的数据交换语言,因此本章对其进行了简单的介绍。本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冠状动脉造影及支架植入术
- 2-6逻辑运算的公式
- 原发性肝癌患者护理查房 2
- 上海市浦东新区浦东2025年招生伯乐马模拟考试(三)生物试题含解析
- 山西财经大学华商学院《中外设计史》2023-2024学年第二学期期末试卷
- 上海海关学院《数理统计理论与方法》2023-2024学年第一学期期末试卷
- 新疆伊宁市第七中学重点达标名校2025年高中毕业班零诊模拟考试英语试题含答案
- 山西警官职业学院《药物分离工程》2023-2024学年第一学期期末试卷
- 九江理工职业学院《影视专业英语》2023-2024学年第一学期期末试卷
- 南京师范大学泰州学院《电气安全》2023-2024学年第二学期期末试卷
- 2024糖尿病酮症酸中毒诊断和治疗课件
- 妊娠期糖尿病产后护理
- 老挝万象钾矿百万吨级规模氯化钾开发项目可行性分析研究的开题报告
- 编辑打印新课标高考英语词汇表3500词
- 2023年湖南省烟草专卖局(公司)真题
- 22G101基础平法识图与钢筋计算
- 2024年专升本考试-专升本考试(机械设计基础)笔试历年真题荟萃含答案
- 对中标候选人的异议书
- 2024年北京市自来水集团长辛店分公司招聘笔试参考题库含答案解析
- -医院感染预防与控制标准操作规程SOP第2版
- 老人疫苗接种健康知识讲座
评论
0/150
提交评论