第十六章XML数据库学习资料

上传人:youn****329 文档编号:136952036 上传时间:2020-07-04 格式:PPT 页数:69 大小:614KB
返回 下载 相关 举报
第十六章XML数据库学习资料_第1页
第1页 / 共69页
第十六章XML数据库学习资料_第2页
第2页 / 共69页
第十六章XML数据库学习资料_第3页
第3页 / 共69页
第十六章XML数据库学习资料_第4页
第4页 / 共69页
第十六章XML数据库学习资料_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《第十六章XML数据库学习资料》由会员分享,可在线阅读,更多相关《第十六章XML数据库学习资料(69页珍藏版)》请在金锄头文库上搜索。

1、AnIntroductiontoDatabaseSystem,中国人民大学信息学院,数据库系统概论AnIntroductiontoDatabaseSystem第十六章XML数据库,AnIntroductiontoDatabaseSystem,第十六章XML数据库,16.1概述16.2XML简介16.3XML数据模型16.4SQL/XML16.5小结,AnIntroductiontoDatabaseSystem,16.1概述,XML(eXtendedMarkupLanguage)可扩展的标记语言用户可以定义自己的标记,用来描述文档的结构W3C(WorldWideWebConsortium)在19

2、98年制定的一项标准,用于网上数据交换是标准通用标记语言SGML的一个子集,AnIntroductiontoDatabaseSystem,概述(续),XML在SGML和HTML的基础上发展起来的相对于HTML,XML具有如下的一些特点:更多的结构和语义可扩展性自描述性数据与显示分离简洁性,AnIntroductiontoDatabaseSystem,16.2XML简介,一、XML说明(XMLdeclaration)对XML文档处理的环境和要求的说明必须在文档的第一行例如:,AnIntroductiontoDatabaseSystem,二、元素,元素(element)是XML文档的主要组成部分标

3、记名区分大、小写开始于字母或下划线(_),后面可以跟任意长度的字母、数字、句点(.)、连接符(-)、下划线或冒号起始标记形式是,终止标记形式是嵌套有且只有一个根元素,AnIntroductiontoDatabaseSystem,元素(续),BeijingLibraryDatabaseSystemConcepts26.50KailyJoneSilenSmithIntroductiontoXML18.80KailyJoneAQuerylanguageforXML26.50KailyJone图16.1一个XML文档示例,AnIntroductiontoDatabaseSystem,三、属性,描述元素

4、的有关信息格式为:如。属性值必须出现在单引号或双引号中一个元素可以有任意多个属性,每个属性取不同的属性名,AnIntroductiontoDatabaseSystem,四、处理指令,处理指令(processinginstructions)是为使用一段特殊代码而设计的标记为处理XML文档的应用程序提供信息。组成:处理指令名称和数据其格式为。例如,AnIntroductiontoDatabaseSystem,五、注释,注释以结束注释可以在XML文档的任何地方插入,AnIntroductiontoDatabaseSystem,六、良构的XML文档,良构的(well-formed)XML文档是指:文档

5、的构造从语法上都是正确的只有一个顶层元素,即根元素至少包含一个元素,即文档中必须有根元素所有的起始标记都有与之对应的终止标记,或者使用空元素速记语法所有的标记都正确的嵌套每一个元素的所有属性具有不同属性名,AnIntroductiontoDatabaseSystem,七、实体,用来定义重复使用的文档内容格式为:例如引用实体的格式为,AnIntroductiontoDatabaseSystem,XML数据类型(续),例2可以将一个XML文档加入书店bookstore中。INSERTINTObookstoreVALUES(1492,xmlparse(English);,AnIntroduction

6、toDatabaseSystem,XML数据类型(续),XMLCast将某种SQL预定义类型的数据转换为一种XML类型将某种XML类型的数据转换为其他的SQL预定义类型或XML类型格式XMLCAST(value-expressionAStype),AnIntroductiontoDatabaseSystem,16.4SQL/XML,16.4.1XML数据类型16.4.2XML发布函数16.4.3XML提取函数,AnIntroductiontoDatabaseSystem,16.4.2XML发布函数,XML发布函数的作用:从关系数据创建XML结构一、XMLElement函数创建一个XML元素,可

7、以指定元素名字例3SELECTe.id,XMLELEMENT(NAMEEmp,e.fname|e.lname)ASresultFROMemployeese;,AnIntroductiontoDatabaseSystem,XML发布函数(续),假设关系表employees如下:,查询返回的结果是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),嵌套使用例4SELECTe.id,XMLELEMENT(NAMEEmp,XMLELEMENT(NAMEname,e.lname),XMLELEMENT(NAMEhiredate,e.hire)ASresultFROMe

8、mployeese;,AnIntroductiontoDatabaseSystem,XML发布函数(续),查询返回的结果是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),参数是子查询例5SELECTe.id,XMLELEMENT(NAMEEmp,XMLELEMENT(NAMEname,e.lname),XMLELEMENT(NAMEdependants,(SELECTCOUNT(*)FROMdependantsdWHEREd.parent=e.id)ASresultFROMemployeese;,AnIntroductiontoDatabaseSyste

9、m,XML发布函数(续),返回的结果可能是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),二、XMLAttributes函数为构建的元素生成一组属性仅在XMLElement函数中使用,AnIntroductiontoDatabaseSystem,XML发布函数(续),例6SELECTe.id,XMLELEMENT(NAMEEmp,XMLATTRIBUTES(e.id,e.lnameASname)ASresultFROMemployeese;返回的结果可能是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),三、XMLN

10、amespaces给出名空间Namespaces例7SELECTe.id,XMLELEMENT(NAMEadmi:employee,XMLNAMESPACES(ASadmi),XMLATTRIBUTES(e.workdeptASadmi:department),e.lastname)ASresultFROMemployeeseWHEREe.job=ANALYST;,AnIntroductiontoDatabaseSystem,XML发布函数(续),可能的结果是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),四、XMLForest函数生成一组元素,AnIn

11、troductiontoDatabaseSystem,XML发布函数(续),例8SELECTe.id,XMLFOREST(e.hire,e.deptASdepartment)ASresultFROMemployeese;结果是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),五、XMLConcat函数将两个以上的XML数据值串接起来例9SELECTe.id,XMLCONCAT(XMLELEMENT(NAMEfirst,e.fname),XMLELEMENT(NAMElast,e.lname)ASresultFROMemployeese;,AnIntrodu

12、ctiontoDatabaseSystem,XML发布函数(续),返回的结果可能是:,如果某个结果返回空值,则不出现在串接中。,AnIntroductiontoDatabaseSystem,XML发布函数(续),六、XMLAGG函数XMLAGG是一个聚集函数参数是一个XML数据类型的表达式,AnIntroductiontoDatabaseSystem,XML发布函数(续),例10SELECTXMLELEMENT(NAMEDepartment,XMLATTRIBUTES(e.deptASname),XMLAGG(XMLELEMENT(NAMEemp,e.lname)ASdept_list,COU

13、NT(*)ASdept_countFROMemployeeseGROUPBYdept;,AnIntroductiontoDatabaseSystem,XML发布函数(续),假设关系表employees加上了2条记录,共4条记录:,AnIntroductiontoDatabaseSystem,XML发布函数(续),返回的结果是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),ORDERBY子句指定返回值的串接顺序例11SELECTXMLELEMENT(NAMEDepartment,XMLATTRIBUTES(e.deptASname),XMLAGG(XMLE

14、LEMENT(NAMEemp,e.lname)ORDERBYe.lname)AS“dept_list”,COUNT(*)ASdept_countFROMemployeeseGROUPBYdept;,AnIntroductiontoDatabaseSystem,XML发布函数(续),返回的结果是:,AnIntroductiontoDatabaseSystem,XML发布函数(续),七、XMLComment函数生成注释例12XMLCOMMENT(Thisisacomment)结果生成,AnIntroductiontoDatabaseSystem,XML发布函数(续),八、XMLPI函数生成处理指令

15、例13XMLPI(NAMEincludeFile,/POs/template.hls)结果生成,AnIntroductiontoDatabaseSystem,16.4SQL/XML,16.4.1XML数据类型16.4.2XML发布函数16.4.3XML提取函数,AnIntroductiontoDatabaseSystem,16.4.3XML提取函数,一、XMLQuery函数XML数据的查询语言SQL/XML提供将XQuery嵌入SQL的机制,对存储在关系数据库中的XML数据可以用XQuery进行查询返回的数据类型为XML,AnIntroductiontoDatabaseSystem,XML提取

16、函数(续),例14选出价格低于80的所有英文书,返回价格和作者名SELECTXMLQUERY(for$bibin$doc/biblang/text()=English,$bookin$bib/bookWHERE$book/price$book/price,$book/author/namePASSINGbibASdocRETURNCONTENT)ASresultFROMbookstore;,AnIntroductiontoDatabaseSystem,XML提取函数(续),返回的结果可能是:,Xquery中的return子句有构造XML的功能,AnIntroductiontoDatabaseSystem,XML提取函数(续),二、XMLTable函数从XML数据中提取信息,返回结果是一个二维的关系表(列的定义用XPath路径表达式),AnIntroductiontoDatabaseSystem,XML提取函数(续),例15选出价格低于80的英文书,显示书名、作者名、出版年份和价格(返回关系表的格式)。SELECTT.title,T.author,T.yea

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号