资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第12章 XML技术 本章的重要概念 (1)从SGML、HTML到XML的发展,XML文档、DTD(文档类型定义)、XML模式,XML数据库的存取方法。(2)XML查询语言XQUERY的基本功能、基本概念,简单查询的表达,各种类型查询的表达,复杂查询的表达。(3)基于关系数据库XML的处理,XML存储和查询系统体系结构,XML数据到关系数据库的存储映射,基于关数据库的XML查询。 本章概述l随着因特网的快速发展,XML(可扩展标记语言,eXtensible Markup Language)不仅作为Internet上的一种数据发布语言出现,同时作为数据交换语言,正应用于其它很多领域如数据交换、标准定一等。同时XML数据的各种存储与查询的技术也日益成熟,在XML查询语言、XML数据的存储方法、查询代数、查询优化和索引技术方面等方面出现很多研究成果和成熟方法,绝大多数数据库管理系统厂商均在它们的产品中增加了对XML数据处理的模块,同时也出现了专门针对XML数据的存储系统,并应用在很多实际系统中。主要内容lXML概述 l常用的XML查询语言:XQUERY l基于关系数据库的XML处理 XML概述 l从SGML、HTML到XML lXML是SGML的一个子集,它试图将HTML的简单性与SGML的强大功能结合起来。XML的设计目的明确地定位为万维网上的应用。设计工作基于两个重要的准则:易于编写处理XML的计算机程序,以及人和系统能花费极少的代价将HTML移植到XML中。 1996年W3C正式成立XML工作组。1998年2月,XML1.0被W3C正式确认为W3C推荐标准。其特点为: lXML可直接在因特网上使用 lXML应支持广泛的应用 l使用方便,结构简明 l表达能力强,适于计算机进行处理XML、DTD与XML Schema l 一个XML文档由序言和文档实例两个部分组成。序言包括一个XML声明和一个文档类型声明,二者都是可选的。文档类型声明由DTD定义,它定义了文档类型结构。序言之后是文档实例,它是文档的主体,它是DTD的一个实现。l XML文档中最重要的组件是元素(element)。每个元素都有一个类型,类型声明可以放在文档内部或放在外部DTD文件中。元素可能具有一组属性(称为属性列表),每个属性说明有属性名和属性值类型。在文档中,用开始标记和结束标记来确定元素的边界。元素之间的包含关系是一种树型结构。一个XML文档就是一棵有根、有序、带标记的树。 一个XML文档 XML技术内幕 NatanyaPitts $25一个XML文档其中的book.dtd为: XML数据库 l纯粹的XML存取方法:它是专门针对XML格式文档进行存取管理和数据操作的数据库,数据库中的数据和元数据完全采用XML结构表示,其底层针对XML数据的特点,采用相应的存储结构,而不是采用现有的数据存储工具。l基于关系数据库的存取方法:它是在关系数据库基础之上扩展了XML支持模块,它将XML数据存储在关系数据库中,在查询时将XML数据查询语言转换成关系数据数据库查询语言。 返回常用的XML查询语言:XQUERY l例12.3 查询每本书的作者人数以及每位作者的名字,语句为: FOR $book IN /book /指定变量$book的取值范围是结点 LET $authors := $book/author /把变量$authors赋值为$book的子结点 RETURN FOR $author IN $authors RETURN $author/last/text() 基本概念 l表达环境 表达式环境指的是一切能影响表达式的最后结果的元素。这些元素主要可以分成两类:静态环境和动态环境。 l文档顺序和类型值 l类型 XQuery对类型有严格的要求,其类型主要包括XML的结点类型、XML schema的原子类型以及一些特别的派生类型。简单查询 l字符表达式 l变量 l路径 l序列 l运算符 lFLWR表达式 各种类型的查询 l构造查询结果的结构 l限定查找的范围 l指定查询条件 lFLWR的嵌套 lif-then-else语句 l量词 ltype switch语句 l对查询的结果进行排序 l名字空间的约定 lSchema的导入 l自定义函数的使用 复杂查询l查询ref信息 l关联 l投影 l分组(grouping) 基于关系数据库的XML处理 l目前XML数据的存储主要主要有两种方式,一种是基于关系数据库的方法,另一种是纯的XML数据存储系统。 l在XML数据和关系数据库之间有两个问题。一个问题是如何将存储于关系数据库中的数据用XML的形式表达出来,即XML的发布问题;另一个问题是如何将XML数据存储于关系数据库中,并能提供基于XML查询语言的查询。 关系数据的XML发布 l基于模板驱动的映射 这种方法的原理是首先定义一个模板,然后在模板中嵌入对数据库访问的命令,这些命令将交给数据库关系系统进行执行。 l基于模型驱动的映射 数据从数据库到XML文档的传送用一个具体的模型,而不是用户定义的模型实现的。 (1)表格模型 (2)数据专用的对象模型 XML存储和查询系统体系结构 图12.2 XML存储和查询系统体系结构图 XML数据到关系数据库的存储映射 l不考虑DTD的映射 以边为中心的方法 以结点为中心的映射方法 l考虑DTD的映射 这种方法是针对不同的DTD根据其结构的特点和查询的方法设置映射关系,在这种方法中DTD中的每个元素对应的关系中的一列。 产生映射方法的步骤 l简化DTD l将DTD和xml文档转换为图的形式 l将DTD映射至关系表的三种方法 (1)BasicInlining的方法 (2)SharedInlining的方法 (3)HybridInling的方法 l 三种方法的比较与小结 将XML文档中数据装入关系表 l关系表生成之后便是xml数据装入工作,即根据映射关系,将XML文档内容存储到关系数据库中。对于XML文档中的每一个元素,为其分配一个唯一标识UID(类似面向对象数据库中的Oid),由它在具有相同标签的元素集中唯一标识该元素。按照关系模式的定义,XML文档中的字符串数据、元素唯一标识构成的层次结构关系及元素的顺序语义等信息被组装成元组插入到数据库视图中。由于XML元素和属性值的类型都是字符串,组装时需要转化成视图中字段的定义类型。 返回基于关系数据库的XML查询 l需要解决的三个问题 l转换使用简单路径表达式的查询至SQL 查询通过如下步骤被翻译为SQL: 若存在关系表所对应的根结点,则将代表此根结点根路径表达式加入到SQL查询的from子句中。 路径表达式被翻译为表间的联接(若元素是内联的则不需)。 l转换有简单循环的路径表达式至SQL 小 结 lXML数据的处理技术是近年来学术界研究的热点,同时也引起了工业界的关注。因此这部分的技术正处在高速发展的期间,这方面相关的知识也有很多,如:XML数据的解析,XML数据的索引技术、XML数据的存储技术、基于XML的数据交换、集成技术等。l本章先是简单介绍一下XML的基础知识和基本结构,然后介绍了一种目前比较常用的XML查询语言XQUERY,随后介绍了基于关系数据库管理系统的XML数据处理方法。如果感兴趣可以就XML技术的其他内容进行深入学习。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号