欢迎来到天天文库
浏览记录
ID:58897086
大小:239.50 KB
页数:13页
时间:2020-09-29
《XML与数据库(精品课件).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章XML与数据库7.1数据存储7.2XML与数据库的转换7.3SQLServer对XML的支持7.4Oracle对XML的支持7.1数据存储XML与数据库的关系越来越密切。从存储在不同介质中的数据自动的生成XML文档以及从不同的数据存储交换信息,将成为未来面向信息的Internet的主要特点,信息世界的多极化必将使动态XML文档不断的增加:它们用于加载任何的东西,包括图像和声音;还用于越来越多的信息交换。从多用户参与操作的需求来看,最好的方法就是利用数据库。数据存储描述的是任何用来存储数据的介质。数据存储可以是结构化
2、的文本文件、XML文件、关系数据库,甚至是某种专用的二进制格式。本节我们将对比一下如何使用关系数据库和XML文档来储存信息,然后再看看如何将这二者结合起来,以提供一种可靠的、易于存储的数据存储。数据库和XML有很多共同之处:二者都提供了构造和存储信息的方法。关系数据库以记录和字段的形式存储信息,其特点在于字段或记录之间的顺序和关系并不重要。同样可以构造一个XML文档来存储信息,其存储方式与数据库相似。不同的是,在XML文档中,各个部分之间的顺序或关系总是有意义的。对于大多数信息而言,既可以作为关系数据库存储,又可以作为X
3、ML文档存储。在很多情形中,采用哪一种存储介质并没有明显的优劣差别。但在某些情形中,哪一种更合适是很明显的。采用何种数据存储介质,不仅取决于数据本身的特性,还取决于使用数据的方式。1.数据的查询XML文档的查询和选择必须使用DOM和XPath来进行。例子:Query.cs2.更新和插入使用DOM方法,也可以很方便地实现更新和插入操作。例子:XmlAdd.cs7.1.2XML数据中信息的存储与查询7.2XML与数据库的转换现在的很多技术都支持XML与数据库的连接,如ASP,DOM,SOAP,XML-RPC等,下面就来看看利
4、用ASP.NET和DOM来实现数据库与XML的信息交换,即如何把数据库中的信息提取出来生成所需的XML文档,以及怎样把一些重要的信息写入到数据库中。7.2.1数据库到XML文档的信息传送例子:DBtoXML.cs7.2.2XML文档到数据库的信息传送例子:XMLtoDB7.3SQLServer对XML的支持SQLServer2000中的XML支持包括:使用SELECT语句中的FORXML子句检索XML数据简单的HTTPURL请求UpdategramXMLBulkloadOPENXML注意,如果只是安装了基本的SQLSer
5、ver2000,这些技术还是不可用的,需要安装XMLforSQLServer2000WebRelease1,该软件可从微软网站上免费下载。另外,这里的很多技术还需要IIS5.0或更高版本的支持方可工作。7.3.1.从SQLServer数据库中提取XML数据1.FORXML从SQLServer数据库中提取XML数据的最基本方式是在SQL查询中使用FORXML子句,告知SQLServer提供一份XML文档来作为响应。FORXML子句的基本语法如下:FORXMLmode[,XMLDATA][,ELEMENTS][,BINARY
6、BASE64]其中mode是使用该子句时需指明的下述三种模式之一:RAW——提供一份简单的几乎没有格式化的XML结果AUTO——提供一份具有更多格式选项的XML结果EXPLICIT——允许对所返回的XML结果进行显示的格式化2.简单的HTTPURL请求SQLServer2000的另一项功能是能够通过http执行查询,所需的工作仅仅是将它们标记到URL的尾部。也可以以类似的方式提供XPath查询。但是在产品级的应用程序中并不提倡这样做,因为该语法允许执行任意的查询,这样如果该数据库暴露在Internet上,将会引发潜在的安
7、全隐患。不过,在设计期间用它来进行测试还是很有用的。7.3.2.XML数据插入到数据库1.OPENXMLOPENXML的基本语法如下所示:OPENXML(iDocint[in],RowPatternnVarchar[in],[Flagsbyte[in]])[WITH(rowsetschema[colpatterns]
8、tablename)]iDoc参数指定表示XML文档的内部节点树,该参数包含由sp_xml_preparedocument存储过程所返回的值。RowPattern参数用来定义将要返回的XML文档中的元素,指
9、定OPENXML将要处理的iDoc文档的节点。节点是通过XPath表达式来指定的。Flag参数告诉SQLServer搜索属性和(或)子元素。该值可以是0(默认值,表示属性)、1(属性)或2(元素)。要同时搜索属性和元素,您需要组合这些值来生成3。WITH子句允许指定希望出现在结果集中的列、它们的数据类型及将源XML的
此文档下载收益归作者所有