探讨XML数据库技术

摘要:现在XML 已经得到广泛应用。在数据库领域,许多关系数据库系统提供了存储XML文件的功能。 但是关系数据库仅提供对XML文件本身进行存储或者读取的功能,并不能从 DOM 树检索部分文档或节点。因而就产生了原生XML数据库,XML数据不经任何转换而按原结构形状直接存入数据库内,因而对XML的应用来说是最优的。该文即是在这个方向上做了一些初步的探索。

关键词:XML;数据库;关系数据库;数据库映射

中***分类号:TP311文献标识码:A 文章编号:1009-3044(2010)19-5143-02

1 XML与数据库

现在对XML数据库的应用一般分为支持XML的数据库系统和原生XML数据库。现在很多企业都把XML作为数据库的一个补充,大的数据库厂商都在数据库产品内置了对XML的支持,这样将XML与数据库配合使用,这样的相互配合利用可以使它们各自发挥出威力,也能提高信息产品的灵活性。但是基于关系型数据库管理系统的支持XML的数据库系统也存在着一些问题:映射过程复杂繁琐;对较复杂的数据结构,映射的速度很慢;映射过程中会丢失元数据信息;存入和取出的XML文件可能不一致;数据必须有严格的结构;不支持包含混合内容的文件;灵活性、扩展性较差。如果你要查询历史数据、存储Web页面、进行电子商务,而XML又在其中作为数据传输载体,则你就需要选择支持XML的数据库和中间件。原生XML数据库为XML文档定义了一个(逻辑)模型,并根据该模型存取文件。它有一个XML文档作为它的基本的逻辑存储单元,就像关系型数据库在表格里也有一行作为基本的逻辑存储单元。原生XML数据库并不需要一些特定的潜在的物理存储模型,例如它可以建立一个关系型、层次型或面向对象的数据库,或使用专有的存储格式,例如索引,压缩文件。

2 XML数据库与关系型数据库的比较

如表1所示,XML数据库有其自身的优点:可存储以文档为中心和以数据为中心的XML;有很大的灵活性;适用于处理结构复杂、深层嵌套的数据,适于处理半结构化数据和非结构化数据;它是多种异构数据源的数据共享和集成;异构系统间的互操作。但XML数据库也有自身的缺点:产品不成熟;许多标准仍处于发展过程中;技术不为大家所熟悉;不适合事务处理;支持的工具较少;产品间的可互操作性较差。

3 XML与数据库映射

为了在数据库和XML文档之间传递数据,必须在文档结构和数据库结构之间建立映射,这种映射可以有两个分类:模板驱动和模型驱动

1) 以模板驱动映射

模板驱动就是通过在XML文档中嵌入可以被中间层功能支持的sql指令来实现数据的映射。值得注意的是,当前基于模板驱动的映射只能应用于在关系数据库和XML文档之间传递数据。

2) 以模型驱动映射

模型驱动就是通过在DTD/Schemas中定义数据模型的方法,建立数据库中数据与XML文档中数据的映射。模型驱动的映射是一种深层次的映射,是模式和模式之间的映射。XML文档和面向对象数据库的结构都是树型结构,这两者的映射相较XML与关系数据库的映射来得简单。所以采用模型驱动。将XML文档映射到面向对象数据库,也就是根据DTD/Schemas生成数据库模式过程。具体实现步骤为:

① 按照深度有限原则从XML文档树的树叶往树根进行遍历;

② 每当碰到除叶结点和根结点以外的内部结点,就查看数据库中是否存在对应的抽象数据类型,若不存在,则创建,并保证该结点所有子结点是该抽象数据类型的域;

③ 循环遍历XML文档树也就是重复2),直至根结点的直接子结点(次根结点);

④ 创建基于次根结点所对应抽象数据类型的对象,该对象是根结点所对应的对象;

⑤ 将XML文档中各元素的属性值填入对象的相应域。

3) 对DOM对象的操作

查找DOM对象的例子

・ document.getElementById()

・ document.getElementsByClassName()

・ document.getElementsByName()

・ document.getElementsByTagName()

操作dom对象的例子

・ node.appendChild()

・ node.removeChild()

・ None.innerHTML = ‘test’

总而言之,现在人们正在尝试通过把XML文档映射到不同数据库模型的模式定义的方法来表示层次化的数据。

4 XML数据库技术的应用

XML文档有两种用途,分别是:以数据为中心的文档(data-centric documents)和以文档为中心的文档(document-centric documents),区分它们的目的在于它们各自不同的特性将影响到我们如何选择XML在数据库中的存储方式。

1) 以文档为中心 (Document-centric model)

XML作为标记语言最初的用意,提供一种比HTML更好的方法来描述内容,如:书本、电子邮件、广告、XHTML文件等 ,主要为人类设计的。它具有不规则的结构,而且数据的粒度也比较大。

2) 以数据为中心 (Data-centric model)

XML用作结构化数据的存储和交换格式。有非常规则的结构,主要是方便机器处理。例如:定货单、飞机时刻表、科学数据、股市报价等 。从严格意义上讲可细分为结构化数据和半结构化数据(semi-structured data)。

5 关于xml文档解析或编程接口

对于XML文档之上的任何处理,比如转换后装入数据库,或是查询,都会经过一个XML数据解析器。

SAX和DOM是针对XML文档的两种不同的应用程序编程接口API ,目前的XML数据库产品均支持这两种解析方式。

DOM的解析过程是将整个XML文档读入,然后构建一个驻留内存具有层次的树结构,应用程序则可用DOM提供的一组接口来操作这个树结构,因而DOM被认为是基于树或基于对象的解析。

SAX是基于事件的解析,SAX采用一种顺序访问快速读写XML数据的方式,解析文档时,会针对不同对象触发一系列事件,并激活相应的事件处理函数(程序员编写),从而完成对XML文档的访问。SAX事件是无状态的,事件仅仅给你发现的文本,但它不会告诉你什么元素包含这文本,你必须自己编写状态管理代码;另外SAX事件不是持久的。

6 从数据库读数据然后写到xml的例子

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.OleDb;

namespace DB2XML

{class Program

{static void Main(string[] args)

{var con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"Nwind.mdb\"");

con.Open();

var adapter = new OleDbDataAdapter("select * from customers", con);

var db = new Northwind();

adapter.Fill(db);

db.WriteXml("customers.xml");

}} }

7 未来的技术发展方向

1)异构数据源的集成。如何从对数据的集成过渡到对系统的集成,从而在远景目标上实现类似于网格计算(grid computing)概念的系统,恐怕是XML数据库工作者的核心任务之一。

2)底层索引结构。 B+并不是最好的。

3)并发加锁协议。

4)XML模式规范化是一个值得关注的方向。

8 结束语

无论如何,XML正在迅速地发展和不断地完善中,前景非常光明。例如, XML查询语言(XQL)即是针对XML在数据库方面的应用。在这个领域内,还有很多问题有待我们去研究和解决。

参考文献:

[1] Chaudhri A B.XML数据管理-纯XML和支持XML的数据库系统[M].邢春晓,译.北京:清华大学出版社,2007.

转载请注明出处学文网 » 探讨XML数据库技术

学习

毛纺织工业建筑历史及调查

阅读(39)

本文为您介绍毛纺织工业建筑历史及调查,内容包括毛纺织厂历史,毛纺织工业主要在哪里。[摘要]本文根据呼和浩特市毛纺织工业历史的发展,通过调查研究部分毛纺织厂工业建筑历史及现状,提出了该类工业建筑保护更新的建议,并补充完善了该地区产

学习

DaaS与SaaS你选哪个等

阅读(26)

本文为您介绍DaaS与SaaS你选哪个等,内容包括daassaas,daassaas平台是什么。DaaS与SaaS你选哪个SaaS?穴Software-as-a-Service软件即服务?雪大家都不会陌生。今天我要探讨的话题也是跟SaaS有关的,那就是DaaS模式。什么叫DaaS模式呢?简单来说就

学习

旱柳扦插栽培技术

阅读(59)

本文为您介绍旱柳扦插栽培技术,内容包括旱柳扦插,旱柳育苗方法。摘要:旱柳是一种速生丰产树种,是西北地区行道绿化、新农村四旁绿化主栽树种。从苗圃地选择、整地做畦、种条采集与处理、扦插育苗、水肥管理、田间管理等方面,详细阐述了宁

学习

透过《非诚勿扰》谈孟非的主持风格

阅读(76)

本文为您介绍透过《非诚勿扰》谈孟非的主持风格,内容包括非诚勿扰的孟非个人简介,非诚勿扰孟非主持风格。[关键词]《非诚勿扰》;主持人孟非;自我形象;语言运用中国电视娱乐节目最近十年的发展可以说是日新月异、百家争鸣,甚至有的地方节目收

学习

万州烤鱼 烤红京城

阅读(30)

餐饮业亦如时尚类的很多东西一样,都是一股潮流过后又涌动着另一股潮流。就像《生活秀》这个电影让鸭脖子成为饮食潮流一样,北京的“独一味万州烤鱼”餐厅再掀餐饮业巨浪,一夜之间烤热了北京城的大街小巷,成为北京餐饮业的一朵奇葩!如果你来过

学习

王雷、李小萌荧屏最美小夫妻

阅读(64)

本文为您介绍王雷、李小萌荧屏最美小夫妻,内容包括王雷李小萌跟着你到天边全程,王雷李小萌爱情写真集。王雷、李小萌经过七年恋爱长跑终于喜结良缘,日前,他们一身情侣装做客《超级访问》,自曝相识相恋细节,并互相“控诉”,王雷爆料李小萌生活

学习

中西方悲剧比较

阅读(23)

本文为您介绍中西方悲剧比较,内容包括中西方悲剧结尾比较,中西方悲剧主题的不同点。亚里士多德在《诗学》中认为悲剧是“描写的是严肃的事件,是对有一定长度的动作的摹仿;目的在于引起怜悯和恐惧,并导致这些情感的净化”,悲剧艺术一直以其独

学习

赛维:日落光伏

阅读(28)

本文为您介绍赛维:日落光伏,内容包括赛维光伏公司怎么样,赛维光伏联系电话。如果没有当初的急速扩张,不可能造就赛维昔日的辉煌,但同样不可能促使赛维迅速走向破产的边缘。他曾以400亿元身家登顶中国能源行业富豪榜。然而短短五年,他掌舵的

学习

蒸汽冷凝水回收技术

阅读(40)

本文为您介绍蒸汽冷凝水回收技术,内容包括蒸汽冷凝水回收装置设计规范,蒸汽冷凝水自动回收方案。【摘要】在工业生产中,蒸汽作为热量载体被广泛的应用,蒸汽的冷凝水含有巨大的余热资源,回收不当浪费严重。本文重点介绍了几种常见的回收方式

学习

经济全球化背景下世界经济格局多极化发展趋势研究

阅读(25)

本文为您介绍经济全球化背景下世界经济格局多极化发展趋势研究,内容包括经济全球化对全球经济格局的影响,新世纪以来经济全球化的发展趋势。【摘要】在经济全球化背景下,生产要素的全球重组与配置,是贸易、金融、投资、生产在全球范围内的

学习

英语交互式教学法初探

阅读(42)

本文为您介绍英语交互式教学法初探,内容包括英语教学互动模式国外研究,英语教学法的研究现状。英语教与学是一个动态的,发展的,统一的过程。在英语课堂中运用交互式教学模式有利于调动学生学习语言的积极性、主动性和创造性,提高学生的语言

学习

《善本书室藏书志》著录域外文献之因及学术价值管窥

阅读(33)

本文为您介绍《善本书室藏书志》著录域外文献之因及学术价值管窥,内容包括中国古籍善本书目的四部分类法,本稿中国古籍善本书目书名索引。[摘要]付梓于光绪末年的《善本书室藏书志》是清末一部具有解题性质的善本书志,著录有34部刊刻于高

学习

生意经:小本生意大着做

阅读(51)

本文为您介绍生意经:小本生意大着做,内容包括做小本生意的生意经,生意经大全集。有些生意是做不大的,但可以做强,这里面需要不少技巧。帮忙陈利华开始做生意是给父亲帮忙。因为父亲开着一家蜜饯加工厂,随着人们的口味越来越刁,甜腻腻的干果

学习

日用陶瓷装饰风格

阅读(36)

本文为您介绍日用陶瓷装饰风格,内容包括日用陶瓷用什么装饰,日用陶瓷装饰设计。当代世界级的名牌日用瓷器,已不再是产自中国,而是产自德国、英国、日本。中国的日用陶瓷相对陈设陶瓷来说发展落后。在世界范围内尚未建立起自己的当代设计,更

学习

提升机要文件管理人员素质的路径探讨

阅读(39)

本文为您介绍提升机要文件管理人员素质的路径探讨,内容包括机要文件管理人员应具备哪些条件,机要文件管理人员审查制度。摘要机要文件的管理具有实效性、准确性和保密性等特殊性质,这也无形中对其管理人员提出了更高的要求。作为机要文件

学习

电子文件的销毁

阅读(31)

本文为您介绍电子文件的销毁,内容包括纸质文件销毁的方法,电子文件的处置中销毁的流程。由于形成、传输和利用方便,电子文件的数量剧增。尽管这些文件的储存空间远远小于纸质文件,但是,数量庞大的电子文件会增加电子信息系统的负担,既降低系

学习

多重对话中的意义符码的生成

阅读(31)

【作者简介】电视剧《推拿》海报进入二十一世纪,以残疾人为主角的内地电视剧并不多见。2004年的《穿越激情》(《爱过我就放了我》)和2005年的《花开有声》是其比较有代表性的作品。在历史剧、谍战剧和青春剧占据主场的今天,2013年8月,央视黄

学习

手机中的文件管理器

阅读(27)

本文为您介绍手机中的文件管理器,内容包括手机中的文件管理软件有什么用,手机中的文件管理弄没了怎么找回。TotalCommander电脑中许多人在用TC(TotalCommander),其实现在TC也有手机版本了,不仅可以进行移动、复制、删除等基本操作,而且可以批

学习

在“走进走出”中生成有效课堂

阅读(35)

【摘要】有效课堂是有利于学生发展的课堂,因此在课堂中教师要有生命的意识、生活的态度、敬业的精神,始终立足学生,走进学生心灵与生活,观察了解,体验感悟,沟通交流;走出学生思维与视觉,预设方案、组织课堂、唤醒学生。走进与走出之中,实现师生思

学习

利用数据库备份技术保证数据安全

阅读(35)

随着时间的推移,历史生产数据量海量增加,各种建立在生产数据基础上的决策支持系统、报表系统等应用也不断增加,对数据的安全性提出越来严格的要求,为了保证日报、月报等生产数据的安全,采用冷备份、热备份和逻辑备份三种备份技术,建立了一套适

学习

王生成:将大公益理念广而告之

阅读(58)

做公益短片应该有传播正确公益理念的心态,没有一个一以贯之的核心理念,广而告之这个栏目就不会运行这么多年。公益跟商业之间可以找到一个恰到好处的结合点。你或许没听说过王生成,但你一定听说过“广而告之”。1987年,中国第一条公益广告“

学习

略谈电子文件的几个问题

阅读(33)

本文为您介绍略谈电子文件的几个问题,内容包括如何看懂电子版的文件,电子文件的生命周期。随着科学技术的发展,计算机的广泛应用,电子文件在档案部门收集档案的过程也大量出现。因此我们要认清电子文件及其特点,以及归档前的工作等等问题,才