数据库前沿技术报告

时间:2024.4.13

XML与数据库技术研究

2010E8009070022 陈海赞

1 引言

1.1 技术背景

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据占用的空间更大,但XML极其简单易于掌握和使用。虽然XML很优秀,但是为什么要把XML和数据库相联系呢?

随着Web应用的不断扩展,基于HTML的Web信息表达方式已经不能适应人们进行信息查询和对Web数据进行管理的需要。 由万维网协会(W3C)提出和设计的可扩展标记语言XML在逐步成为新一代web数据描述和数据交换标准。XML是一种自描述的半结构化语言,不仅能描述数据的外观,还可以表达数据本身的含义。在兼容原有Web应用的同时,XML还可以更好地实现Web中的信息共享与交换。XML的扩展性和灵活性允许它描述不同种类应用软件中的数据,从Web页面信息到数据记录,XML能够使不同来源的结构化的数据很容易地结合在一起。各种基于XML的应用不断涌现,产生了对XML文档进行统一管理的需求。另外,传统的数据库在基于Web的应用中遇到了诸多的障碍,传统的关系数据库和面向对象数据库无法对基于Web的半结构化数据进行有效的管理,在这种情况下XML数据库应运而生。

1.2 拟解决的问题

我们知道当存在大量数据需要处理分析的话,最好是把这些数据放到数据库中,所以几乎所有大型的商业应用系统都是和数据库相关联的,所以如果XML需要在商业领域大展宏图的话,也必须要和数据库相联系。举个例子来说明这个

问题,比如你有一个电子商务的应用程序需要使用XML来进行数据传输。你所关心的是数据本身应该具有的结构,你并不关心它在文档中实际的存储结构。如果你的应用程序很简单的话,基本的文件系统将满足你的需求,但如果应用本身很复杂的话,你就需要一个完整的开发应用环境来支持XML。从另一个方面来说,假设你有一个Web站点,它的内容是由一系列XML文档构成的,你不仅要管理这个站点,同时你需要提供给用户一个搜索该站点内容的机制。而这些都需要借助数据库来实现。选择一个数据库的最重要的因素是你是否需要数据库来存储数据或者是文档,如果你想要存储数据的话,你需要一个关系数据库或者是对象数据库来存储实际的数据,同时你需要中间件在数据库和XML文档之间建立桥梁关系,从另一方面来说,如果你想要存储文档,你需要一个内容管理系统,通过它进行文档的存储。

2 主流的解决方案

目前,对XML文档进行存取管理和查询的XML数据库分为两类:支持XML数据库管理系统(XED)和纯XML数据库管理系统(NXD)。XED(XML Enabled Database)是在原有关系数据库基础上扩展了XML支持模块,通过适当的XML API对XML文档进行查询和修改,完成XML数据和关系数据库之间的格式转换和传输。NXD(Native XML Database)则出现在XML数据处理领域内,是专门设计用于存储和管理XML文档的数据库,它以XML文档作为数据库的存储单元进行操作和管理,保持XML文档的树形结构,省掉了XML文档和传统数据库的数据转换过程。

Native XML数据库即NXD是专门存储和管理XML的数据库。与以往关系数据库不同的是,它充分考虑到XML数据的特点,以一种比较自然的方式来处理XML数据,保持XML文档的树形结构,省却了XML文档和传统数据库的数据转换过程,存取速度快,而且XML文档的格式复杂程度对其没有影响。此外,它能够支持最新的XML技术标准。有效的支持XML数据的自描述性、半结构化和有序性。系统可以直接存储XML数据,直接支持XML查询语言能够从各方面很好的支持XML数据的存储和查询,并且能达到很好的效果。

3 Native XML数据库论述

3.1 NXD定义及特性

一个纯XML数据库是指:(1)相对于XML文档中的数据,定义了XML文档的逻辑模型,并且按照该模型来存储和检索文档。这样的模型至少应该包括元素、属性、PCDATA以及文档顺序。(2)就像关系数据库以行作为表的逻辑存储基本单位一样,NXDBMS以XML文档作为NXD的逻辑存储基本单位。(3)不要求有任何特殊的基本物理存储模型,它可以建立在关系的、层次的或面向对象数据库之上,或者使用诸如索引文件、压缩文件此类的专门存储格式。

但在很多方面,XML应不同于关系模型和面向对象模型等数据模型,将XML映射到另一种数据模型常常引起“阻抗失配”,并导致功能和性能上的局限。因此,业界提出NXD必须直接存储和处理XML数据。

纯XML数据库的特性有:(1)文件集(Document Collections):支持集合(Collection)的概念,集合级别上的查询,修改操作都会反映到集合内的每个文档中。(2)查询语言(Query Languages):目前主流的是XPath,但其存在不能分组,排序和连接等缺陷,因此 XQuery作为Xpath的替代品,有希望成为纯XML数据库的专用语言。(3)更新和删除(Updates and Deletes):NXD 绝大多数产品在这方面仍是薄弱环节。(4)事务、锁定和并发(Transactions,Locking,and Concurrency);支持事务处理。锁定通常是对整个文档的,所以多用户并发性相对较低。(5)纯XML数据库提供良好的编程接口。(6)能够高效而精确的还原XML文档。

3.2 数据模型

目前XML数据模型的描述形式主要有四种途径: 1)逻辑的方法:常用的如一阶逻辑、描述逻辑以及DATALOG语言。这种方法可以依据形式化系统,建立有效的表示和推理,以及文档合法性检查机制。2)图描述的方法:多数研究者倾向于将XML文档描述为带标记的有向图/树结构。这其中最著名的就是OEM (Object Exchange Model)模型,OEM最初是专门描述半结构化数据的,由于XML的出现,对其重新进行了定义。这种描述方式对单个文档的数据查找和比较效率比较高,不需要DTD或者Schema的约束,但是也造成了跨文档、跨数据库查询的困难。3)函数式编程的方法:这种方式通过一系列形式化的操作,例如聚集、链接、导航、嵌套,对XML文档建模。这种数据模型的查询效率比较高,但是缺少对XML文档的结构限制以及完整性约束的机制。4)树自动机的方法:这种方法主要是将XML文档表示为树状结构,并利用树自动机验证文档的合法性。这

种方法可以有效地借用自动机理论对文档进行各种操作。

这四种描述形式基本上都是基于XML的图/树视图和XML的对象视图。

3.3 关键技术

3.3.1 存储机制

目前,NXD主流的存储方式有两种,一种是基于文本方式存储,即把XML作为文本存储,它可以是文件系统中的文件、关系数据库中的BLOB或特定的文件格式。这种存储方式对于恢复整个XML文档很简单,因为它不需要重建树结构,但是对于查询或恢复小部分的文档片段效率很低,需要读取和解析整个文档。另一种是基于模型方式存储。基于模型方式是指将数据的概念模型转换成物理存储模型。有些数据库将该模型存储于关系型和面向对象的数据库中,例如在关系型数据库中存储DOM时,就会有元素、属性、PCDATA、实体、实体引用等表格。有些数据库使用了专为这种模型作了优化的专有存储格式。

3.3.2 查询技术

由于需要存储大量XML数据。高效的查询能力对NXD是非常重要的。尽管开展了许多的研究工作,相对于已经发展了近30年的关系数据查询技术,NXD的查询技术还处于起步阶段。NXD查询形式化的理论基础是XML代数。它有着两方面的重要功能:一是对查询语言的语义描述;二是支持NXD的查询优化。目前多数XML代数是基于自身所采用的查询语言而提出的。

NXD的查询技术可以分为三类:1)查询语言之上的部分。如查询用户界面、查询数据视图、数据维护、触发器等;2)查询语言之下的部分,如查询优化技术;

3)查询语言本身的设计。根据关系数据查询技术发展的经验,前两种技术是应当根据相关的标准独立于查询语言的表层语法而存在。

目前NXD查询的一个重要的特点是它的查询语言的设计与它的数据模型是紧密相关的。实际上每一种XML数据模型都隐式地决定了查询语言的结构和语义描述。例如,基于图/树结构描述和基于函数式编程描述的数据模型所关联的查询语言有着显著的不同。所以,多数的XML查询语言都定义了自己的XML数据模型。

4 分析评价

由于传统的数据库本身没有针对网络的特点和要求进行设计,因此不适用于网络环境下大量存在的半结构化数据的管理。而XML数据库则具有自身特别的优势:

(1)XMI 数据库能对半结构化数据进行有效存取和管理。XML数据库的数据模型能够对不规则的数据进行映射,适合于描述异构的和动态变化的Web数据,而且更加便于对层次化的数据进行操作。而传统的关系数据库是以关系数据模型理论为基础的,所以XML的数据结构比关系数据库更具有表现力。

(2)XMI 数据库能提供对标签名称和路径的操作。传统数据库语言允许对数据元素的值进行操作,但不能对元素名称进行操作,XMI 数据库则提供了对标签名称的操作,并且包括了对路径的操作。

(3)XML数据库的知识显示丰富多样。其多样性由XSL (可扩展样式表语言)指定,而传统关系数据库的显示方式相对简单。XMI 文件中的内容是可移植数据,即具有平台无关性。而且XML是存储所有数据类型的极佳载体 。因此,用XML来表现信息的方法是信息技术的捷径。XML数据库因XML呈现的基本特征而拥有表示知识和移植数据的能力。

(4)XML数据库的查询语言丰富。传统关系数据库只能采用SQL查询语言,而XML文档查询语言包括Xquery、Xpath、XQL、XMI-QL、QUILT等,这使得XML数据库能查询各种不同结构类型的文档。

(5)XML数据库具有集成异构数据库系统的能力。XML技术具有自定义和可扩展性等优势,便于表述各种类型的数据。如,普通文档、结构化记录、具有数据和方法的对象,比如一个Java对象、数据库查询记录、图形显示以及所有Web上信息之间的链接条。这使得XML数据库可作为异构数据库 “中间件”,对相对分散的异构数据库的数据按照DTD进行集成,得到格式统一的XML文档。XMI 数据库这种屏蔽不同分散数据库的异构性,将为人类实现信息资源的共享和交换发挥重大作用。

5 结论与展望

作为一种DBMS,NXD系统还要满足如数据一致性、完整性、独立性、数据抽象、视图、控制数据冗余、数据访问控制、数据恢复、数据安全等DBMS特性。在满足这些特性的过程中还需要考虑XML文件的半结构化特性。

NXD是近几年才发展起来的,对半结构化数据能够进行有效的管理,而对结构化数据却无能为力。与传统的关系数据库技术相比,很多技术还不成熟,如不能建立与关系数据库功能相当的索引机制,没有统一的查询语言,查询更新技术不成熟。在规范化,引用完整性、安全机制等方面的研究工作才刚起步。。虽然NXD存在种种的不足,但这并没有影响它的进一步发展,随着XML的流行,技术的成熟,NXD将会有更广阔的天地。

参考文献

[1] 秦杰,杨树强,窦文华. XML数据库技术研究[J]. 计算机科学, 2003,第30卷

第8期:6-9

[2] 王杰文,李赫男. XML数据库技术研究进展[J]. 南华大学学报(自然科学

版),2006,第20卷第3期:42-46

[3] 王唯贤. XML数据库技术研究[J].河南科学,2010,第28卷第6期:736-739

[4] 郭瑞华. XML数据库技术[J]. 现代图书情报技术,2004,第9期:61-65

[5] 逯鹏,吕良双,高庆一. Native XML数据库技术综述[J]. 计算机科学, 2004,第

31卷第4期:84-88

更多相关推荐:
数据库报告

数据库原理及应用课程设计题目民航销售管理子系统数据库设计专业计算机科学与技术班级计算机2111班姓名成绩指导教师刘春燕20xx年7月1日至20xx年7月5日课程设计任务书设计题目民航销售管理子系统数据库设计设计...

数据库系统报告五

数据库系统原理实验报告实验名称数据库备份与恢复数据库安全性关系数据库完整性实验任课教师霍纬纲学号120xx1110姓名黄帅完成日期数据库备份与恢复一实验目的1通过ORACLE环境理解关系数据库的备份与恢复概念2...

数据库实践报告

中南大学数据库实验报告课题数据库原理及应用姓名林一新指导老师张祖平一实验目的与要求1熟悉ORACLE的运行环境在CLIENT端进行联接设置与服务器联通进入ORACLE的SQLPLUS的操作环境进一步建立表格并考...

数据库实施报告

数据库实施报告数据库设计好就该实施了一创建数据库1有两种方法创建数据库第一使用sqlservermanagementstudio创建数据库第二使用transactsql语言创建数据库代码USEmasterGOC...

数据库设计报告完整

数据库课程设计指导书昆明理工大学自动化系20xx年12月数据库技术是近年来计算机科学技术中发展最快的领域之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。《数据库原理及应用》课程设计重视实践环节,对于…

数据库检查报告模版

数据库系统远程性能监测报告模版文档控制修改记录审阅分发ii目录文档控制概述数据库配置非缺省的数据库参数Sga占用情况数据文件使用情况表空间管理方式和碎片TablespacesFreeSpace排序区的使用情况回...

数据库实验报告——

实验一SQLServer基本使用与数据定义一实验目的1掌握企业管理器及查询的定义方法使用方法2熟悉数据库建模及ER图的画法3掌握SQLServer中数据库及数据表的建立与管理方法4掌握数据的导入导出及数据库备份...

oracle数据库巡检报告模板

系统oracle数据库巡检报告文档控制修改记录审阅分发目录文档控制2检查总结5概要5总体概况5优化建议5介绍6目标6检查方法6检查范围6数据库配置分析7硬件配置7软件配置7数据库参数8控制文件9Temporar...

数据库开发报告

水电工程隧洞围岩分类专家系统的开发与应用1概述目前水电工程隧洞围岩分类在预可研主要采用定性的方法在可研阶段主要采用定性与定量相结合的方法定性分类是在现场对影响围岩稳定性的诸因素进行鉴别判断或对某些指标作出评判打...

数据库设计报告模板

1引言引言是对这份软件系统详细设计报告的概览是为了帮助阅读者了解这份文档如何编写的并且应该如何阅读理解和解释这份文档11编写目的说明这份软件系统详细设计报告是基于哪份软件产品需求分析报告哪份软件产品概要设计报告...

数据库实验报告(SQL)

四川师范大学计算机学院实验报告册院系名称计算机科学学院课程名称数据库原理概论实验学期20xx年至20xx年第二学期专业班级网络工程3班姓名学号指导教师俞晓实验最终成绩数据库原理实验大纲课程总学时64学分2实验学...

数据库设计报告正文

前言1本系统开发背景目的意义在学校中由于学校的教师人数增多学校对教师工作的效率提高原来的系统已经不能适应这种变化了基于这个原因来开发一个名曰教务辅助管理系统此系统比原来系统更适合需求解决了教师工作效率问题有利于...

数据库报告(29篇)