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