SQLServer2008基本教学教程(20).ppt

上传人:小** 文档编号:3685773 上传时间:2020-10-16 格式:PPT 页数:40 大小:1.22MB
返回 下载 相关 举报
SQLServer2008基本教学教程(20).ppt_第1页
第1页 / 共40页
SQLServer2008基本教学教程(20).ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《SQLServer2008基本教学教程(20).ppt》由会员分享,可在线阅读,更多相关《SQLServer2008基本教学教程(20).ppt(40页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、2020年10月16日,第1页,第20章 XML技术,本章概述 本章要点 本章内容,2020年10月16日,第2页,本章概述,在支持WWW的技术中,可扩展标记语言(eXtensible Markup Language,简称为XML)被认为是最重要的技术之一。XML已经对数据的存储和处理产生了深远的影响,并且今后其优势会更好地展现出来。实际上,XML是一系列相关技术的集合,这些技术包括DTD、XML Schema、CSS和XSLT等。本章将介绍Microsoft SQL Server 2008系统中获支持的XML技术。,2020年10月16日,第3页,本章要点,为什么要使用XML语言 类型化数据

2、和非类型化数据的特点 XML数据类型的特点 XML架构的作用和使用方式 XQuery/exist/modify技术的特点 FOR XML子句的类型和使用方式 XML索引的类型和特点 OPENXML函数的作用和使用方式,2020年10月16日,第4页,本章内容,20.1 概述 20.2 XML数据类型 20.3 查询XML数据 20.4 使用FOR XML子句 20.5 使用XML索引 20.6 使用OPENXML函数 20.7 本章小结,20.1 概述,Microsoft SQL Server 2008系统通过引入更多的功能增强了对XML数据的支持。Microsoft SQL Server系统

3、提供了XML数据类型用来存储XML数据。XQuery和XSD (eXtensible schema definition,即:可扩展的架构定义)支持这种XML数据。并且这种XML数据与Microsoft SQL Server 2008关系型数据库引擎紧密集成。Microsoft SQL Server 2008提供了XML触发器、XML数据复制、大容量的XML数据插入等操作的支持。,2020年10月16日,第5页,20.2 XML数据类型,XML数据类型是Microsoft SQL Server 2008系统为了增强XML技术支持而引入的新功能。就像INT、CHAR等数据类型一样,XML数据类型

4、可以用在表中列的定义中、变量的定义中和存储过程的参数定义中。XML数据类型既可以存储类型化数据,也可以存储非类型化数据。如果存储在XML列中的数据没有与XSD架构关联,那么这种数据是非类型化数据。如果存储在XML列中的数据与XSD架构关联,那么这种数据就是类型化数据。,2020年10月16日,第6页,创建ProductInfo表,2020年10月16日,第7页,使用INSERT语句插入XML数据,2020年10月16日,第8页,使用INSERT语句插入一个不正确的XML数据,2020年10月16日,第9页,使用INSERT语句插入一个不一致但是正确的XML数据,2020年10月16日,第10页

5、,定义ProductDescXMLSchema架构,2020年10月16日,第11页,定义一个与ProductDescXMLSchema架构关联的表,2020年10月16日,第12页,插入符合XSD架构的XML文档,2020年10月16日,第13页,插入不符合XSD架构的XML文档,2020年10月16日,第14页,查看定义的XSD架构文本信息,2020年10月16日,第15页,20.3 查询XML数据,对于XML列中的数据,可以使用相应的技术对其进行操纵,这些技术包括XQuery技术、Exist技术和Modify技术。下面介绍这些技术。,2020年10月16日,第16页,使用XQuery技术

6、,XQuery是一种可以查询结构化或半结构化XML数据的语言。由于Microsoft SQL Server 2008系统提供了对XML数据类型的支持,因此可以将XML文档存储在数据库中,然后使用XQuery语句进行查询。XQuery基于现有的XPath查询语言,并且支持迭代、排序结果以及构造必须的XML的功能。Transact-SQL支持XQuery语言的子集。,2020年10月16日,第17页,查询多个元素,2020年10月16日,第18页,查询单个元素,2020年10月16日,第19页,查询类型化数据,2020年10月16日,第20页,使用XML数据类型方法,Microsoft SQL S

7、erver 2008系统提供了一些内置的可以用于XML数据类型的方法。与普通关系型数据不同的是,XML数据是分层次的,具有完整的结构和元数据。XML数据类型方法可以用于提取存储在XML数据类型中的XML文档的内容。这些方法包括Exist方法、Modify方法、Query方法、Value方法等。Query方法在20.3节中已经涉及了,下面主要讲述Exist方法和Modify方法。,2020年10月16日,第21页,使用XML Exist方法,2020年10月16日,第22页,使用XML Modify方法,2020年10月16日,第23页,20.4 使用FOR XML子句,使用FOR XML子句可

8、以把Microsoft SQL Server 2008系统的表中数据检索出来并且自动表示成XML的格式。在Microsoft SQL Server 2000版本中,FOR XML有3种模式,即RAW、AUTO和EXPLICIT。在Microsoft SQL Server 2008系统中,由于增加了XML数据类型,因此也增强了FOR XML的功能,这些增强功能包括TYPE模式、PATH模式、嵌套FOR XML查询和内联XSD架构等。下面将详细地研究这些内容。,2020年10月16日,第24页,FOR XML RAW,FOR XML RAW是最简单的FOR XML模式,该模式将查询结果集中的每一行

9、转换为带有通用标识符或可能提供元素名称的XML元素。在默认情况下,行集中非NULL的每列值都将映射为元素的一个属性。也就是说,RAW模式表示元素名称是row,属性名称是列名称或列的别名。,2020年10月16日,第25页,使用FOR XML RAW模式,2020年10月16日,第26页,按照XML结构查看检索结果,2020年10月16日,第27页,FOR XML AUTO,使用FOR XML AUTO也可以返回XML文档。但是,使用AUTO关键字和使用RAW关键字得到的XML文档形式是不同的。使用AUTO关键字,Microsoft SQL Server使用表名称作为元素名称,使用列名称作为属性

10、名。SELECT关键字后面的列的顺序用于确定XML文档的层次。,2020年10月16日,第28页,使用FOR XML AUTO,2020年10月16日,第29页,使用FOR XML EXPLICIT,2020年10月16日,第30页,使用TYPE指令,由于SQL Server 2008系统支持XML数据类型,因此可以通过指定TYPE指令,将FOR XML查询结果返回为XML数据类型,方便在服务器上处理FOR XML的查询结果。,2020年10月16日,第31页,使用FOR XML PATH,作为一种新增功能,FOR XML PATH子句比FOR XML RAW和FOR XML AUTO子句的功

11、能强大,并且比FOR XML EXPLICIT子句更加简单。FOR XML PATH子句允许用户指定XML树状数据中的路径。FOR XML PATH子句可以更加简单地完成FOR XML EXPLICIT子句具备的功能。,2020年10月16日,第32页,嵌套的FOR XML查询,Microsoft SQL Server 2000系统限定FOR XML子句只能用在查询语句的顶层,不能在子查询中使用FOR XML子句。但是,Microsoft SQL Server 2008系统增强了这方面的功能,用户可以在子查询中使用FOR XML子句,从而实现嵌套的FOR XML查询。 例如,在如图20-24所

12、示的示例中,使用了一个嵌套的FOR XML查询。,2020年10月16日,第33页,内联XSD架构生成,在FOR XML子句中,可以请求在查询返回结果的同时返回一个内联架构。如果需要XSD架构,可以使用XMLSCHEMA关键字。需要注意的是,只能在RAW和AUTO模式中指定XMLSCHEMA,不能在EXPLICIT模式和PATH模式中指定内联XSD架构,2020年10月16日,第34页,20.5 使用XML索引,XML数据类型支持最大达2GB的数据。当查询XML数据时,XML数据将会对系统的性能带来巨大的影响。为了提高XML查询的性能,可以在具有XML数据类型的列上创建索引。 XML索引可以分

13、为两个类别,即主XML索引和辅助XML索引。,2020年10月16日,第35页,创建XML索引,2020年10月16日,第36页,20.6 使用OPENXML函数,20.4节已经讲过,使用FOR XML可以把Microsoft SQL Server系统中的数据生成XML文档,使用OPENXML则是使用FOR XML的逆过程。也就是说,使用OPENXML可以从XML文档中返回数据的行集。,2020年10月16日,第37页,使用OPENXML函数示例,2020年10月16日,第38页,20.7 本章小结,本章介绍了XML技术。首先,介绍了XML技术的演变和发展历程。其次,详细介绍了XML数据类型的

14、特点和使用方式,分析了类型化数据和非类型化数据的特点。接下来,对查询XML数据技术进行了分析。之后,介绍了XML索引的类型和特点。最后,讨论了OPENXML函数的作用和使用方式。,2020年10月16日,第39页,【思考和练习】,1. 为什么要使用XML语言? 2. 如何使用XML数据类型? 3. 类型化数据和非类型化数据的特点是什么? 4. XML架构的作用和使用方式是什么? 5. 如何使用XQuery技术? 6. Exist技术的特点是什么? 7. Modify技术的特点是什么? 8. FOX XML PATH的作用是什么? 9. XML索引的类型和特点是什么? 10. OPENXML函数的作用和使用方式是什么?,2020年10月16日,第40页,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com