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