




已阅读5页,还剩92页未读, 继续免费阅读
(计算机软件与理论专业论文)基于关系数据库的xml数据管理.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中山大学硕士学位论文基于关系数据库的x m l 数据管理 基于关系数据库的x m l 数据管理 计算机软件与理论 硕士生姓名:李虹 指导老师:李磊教授 摘要 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 作为一种半结构化数据语言,被广泛 地采纳,并成为互联网上数据描述和数据交换的一种标准。随着x m l 应用的 迅速发展,如何管理x m l 文档便成为人们的研究重点。目前,针对x m l 文档 的规则性,人们提出了两大类的x m l 数据库,一类是x m l 本源数据库( n a t i v e x m ld a t a b a s e ,简称n x d ) ,另一类是基于传统数据库的支持x m l 的数据库 ( x i v i l - e n a b l e dd a t a b a s e ,简称x e d b ) 。由于n x d 是一个全新的研究领域, 很多关键的技术和问题尚在探讨中,难以在短期内得到广泛的应用,而x e d b 则可以继承传统数据库的成熟的技术和经验,能够在较短的时间内投入使用, 并能向下兼容传统数据库,因此它比n x d 更受人们青睐。 目前,人们对x e d b 的研究主要从以下三方面展开:一、x i v i l 文档在传统 数据库中的存储策略;二、x m l 文档的快速定位技术;三、x m l 文档操作在 传统数据库中的实现。本文在前人工作的基础上,继续从以上三方面研究基于 关系型数据库的x m l 数据管理。其中,x m l 文档的快速定位技术和x m l 文 档查询在关系数据库中的实现将是本文的研究重点。针对x m l 文档的快速定 位技术,本文提出了一种基于d t d 的稀疏编号模式。以本文提出的基于d t d 的稀疏范围函数为理论基础,该编号模式能够被广泛地应用在各种编号模式, 特别是紧凑型编号模式上,以解决紧凑型编号模式所存在的由于结点插入而导 致的频繁的编号重整的问题,从而提高x m l 文档操作的总体效率。针对x m l 文档查询在关系数据库中的实现,本文提出了基于d o m 的动态查询处理模型。 该模型不仅能够兼容处理对关系数据和x m l 文档的查询,克服基于s q l 的 x m l 查询所存在的弊端,而且充分吸收了d o m 对x m l 文档的数据处理思想, 对x m l 文档查询采用结点定位,逐步展开的数据处理模式,实现了灵活多样 的x m l 文档查询。此外,该模型充分利用了编号模式的快速定位的优势,不 需要将整个文档加载进内存就可以实现快速的x m l 文档查询,突破了d o m 对 操作对象的局部完整性的要求,而其原理更能用以实现对x m l 文档分片的更 新处理。 采用基于x m l 文档树编号的关系存储策略,结合本文提出的基于d t d 的 稀疏编号模式和基于d o m 的动态查询处理模型,本文建立了支持x m l 的 e b a s e i i i 关系数据库原型并在此之上进行了一系列的对比测试,结果表明, 中山大学硕士学位论文 基于关系数据库的x m l 数据管理 本文所提出的基于d t d 的稀疏编号模式有效地降低了由于x m l 文档内部数据 的插入而导致的编号重整的次数及规模,大大提高了x m l 数据操作的总体效 率;而基于d o m 的动态查询处理模型在保持较高的文档查询效率的同时也的 确提高了数据操作的兼容性、灵活性和便易性,成功克服了支持v 见的s q l 查询所存在的弊端。 关键词: x m l 、d t d 、编号模式、路径表达式、文档树、d o m 、查询 中山大学硕士学位论文 基于关系数据库的x m l 数据管理 t h e m a n a g e m e n to f x m l d a t ao nr e l a t i o n a ld a t a b a s e c o m p u t e r s o f t w a r ea n d t h e o r y n a m e :l i h o n g s u p e r v i s o r :l il e i a b s t r a c t x m l ( e x t e u s i b l em a r k u pl a n g u a g e ) i sas e m i - s t r u c t u r e dd a t af o r m a tu s e dt o p r e s e n ta n de x c h a n g ed a t ao nt h e i n t e m e t w i t ht h er a p i dd e v e l o p m e n to fx m l a p p l i c a t i o n , h o w t o m a n a g e x m lf i l e s h a sb e c o m e p e o p l e s r e s e a r c hf o c u s c o n s i d e r i n gx m lf i l e s m g u l a r i t y , t w ok i n d so f x m l d a t a b a s e sh a v eb e e np r o m o t e d , o n ei sn x d ( n a t i v ex m l d a t a b a s e ) ,t h eo t h e ri sx e d b ( x m l e n a b l e dd a t a b a s e ) s i n c en x di san e wm s e a l c ha r e a ,m a n yc r i t i c a lt e c h n i q u e sa n d p r o b l e m sa l e s t i l li n r e s e a r c h , i ti sq u i t ei m p o s s i b l ef o ri t t ob ew i d e l yu s e di nr e c e n tf u t u r e w h i l e c o m p a r a t i v e l y , w i t h s o m a n yv a l u a b l et e c h n i q u e sa n de x p e r i e n c eo nt r a d i t i o n a l d a t a b a s e s ,x e d bi s a b l et ob ew i d e l yu s e di nq u i t eas h o r tt i m e a n dd u et oi t s c o m p a t i b i l i t y t ot r a d i t i o n a ld a t a b a s e s ,x e d bi sm u c hm o r e p o p u l a r t h a nn x d t h ec u r r e n tr e s e a r c ho nx e d bi sm a i n l ya r o u n dt h e f o l l o w i n ga s p e c t s :t h ex m l f i l e s s t o r a g e i nt r a d i t i o n a l d a t a b a s e s ,t h er a p i dl o c a t i n go fx m l f i l e sa n dt h e r e a l i z a t i o no fx m l o p e r a t i o n si nt r a d i t i o n a ld a t a b a s e s b a s e do np e o p l e s p r e v i o u s w o r k ,t h et h e s i sc o n t i n u e st h er e s e a r c ho nt h em a n a g e m e n to fx m l d a t ai nx e r d b c x l v l l - e n a b l e dr e l a t i o n a ld a t a b a s e ) a n dt h er e s e a r c hf o c u s e si nt h i st h e s i sa r eo n t h er a p i dl o c a t i n go f x m lf i l e sa n do nt h er e a l i z a t i o no f x m l q u e r i e si na r e l a t i o n a l d a t a b a s e a st ot h er a p i d l o c a t i n go f x m lf i l e s ,t h i st h e s i sp r o m o t e s ad t d c o n c i o u s s p a r s en u m b e r i n gs c h e m e b a s e do nt h ed t d c o n c i o u ss p a r s er a n g ef u n c t i o n d e f i n e di nt h i st h e s i s ,o u rs c h e m ei ss ou n i v e r s a lt h a ti ti sa b l et ob ec o m b i n e dw i t h o t h e rn u m b e r i n gs c h e m e s ,e s p e c i a l l yt h ec o m p a c t n u m b e r i n gs c h e m e s ,t oh a n d l et h e f r e q u e n tf i l er e n u m b e r i n g i n gc a u s e db yn o d ei n s e r t i o n , a n dt h u st oi m p r o v et h e o v e r a l le f f i c i e n c yo f x m ld a t ao p e r a t i o n s a st ot h er e a l i z a t i o no fx m l q u e r i e si na r e l a t i o n a ld a t a b a s e ,t h i st h e s i sp r o m o t e sad o m b a s e dd y n a m i cq u e r ym e c h a n i s m t h eq u e r ym e c h a n i s mc a l ln o to n l yh a n d l et h eq u e r i e so fr e l a t i o n a ld a t at o g e t h e r w i t hx m l f i l e s ,c o n q u e rt h ed e f i c i e n c yo fs q l b a s e dx m lq u e r ym e c h a n i s m ,b u t a l s oa l l o w p e o p l e t oc u s t o m i z et h e i rv a r i o u s q u e r i e s b e c a u s eo fi t sd a t a s d o m - b a s e dp r o c e s sm o d e ,w h i c hi st h a ti t p r o c e s s e sx m lq u e r i e sw i t hn o d e l o c a t i n gs t y l e a n do u t s p r e a d si t s t e pb ys t e p w i t ht h ea d v a n t a g eo fn u m b e r i n g s c h e m e sr a p i dl o c a t i n g ,o u rq u e r ym e c h a n i s mc a nh a n d l ex m _ l q u e r i e se f f i c i e n t l y 中山大学硕士学位论文基了= 关系数据库的x m l 数据管理 w i t h o u tl o a d i n gt h ew h o l ex m lf i l ei n t om e m o r y , t h u sb r e a k st h r o u g hd o m s d e m a n do fl o c a li n t e g r i t yo ni t so b j e c t t h eu n d e r l y i n gp r i n c i p l eo ft h em e c h a n i s m c a nb ee x t e n d e dt or e a l i z et h ex v l l u p d a t eo f d a t af r a g m e n t s w i t ht h er e l a t i o n a l s t o r a g es t r a t e g y b a s e do l i n u m b e r i n gs c h e m e ,o u r d t d - e o n c i o u ss p a r s en u m b e r i n gs c h e m ea n da l s oo u rd o m - b a s e dd y n a m i cq u e r y m e c h a n i s m ,w es e tu pa na n t e t y p eo f x m l - e n a b l e de b a s e i i ir e l a t i o n a ld a t a b a s ea n d c a r r yo u tas e r i e so fc o m p a r i s o nt e s t so ni t t h er e s u l t ss h o wt h a tt h ed t d - c o n c i o u s s p a r s en u m b e r i n gs c h e m ed o e sr e d u c et h ef i e q u e n c ya n ds c a l eo ff i l er e n u m b e r i n g c a u s e d b y n o d ei n s e r t i o na n di m p r o v et h eo v e r a l le f f i c i e n c yo fx m ld a t a o p e r a t i o n s , a n dt h a tt h ed o m - b a s e d d y n a m i cq u e r ym e c h a n i s md o e si m p r o v et h ec o m p a t i b i l i t y , f l e x i b i l i t ya n dc o n v e n i e n c eo fd a t ao p e r a t i o n sw h i l ek e e p i n gh i g hq u e r ye f f i c i e n c y , a n d s u c c e s s f u l l yc o n q u e r t h e d e f i c i e n c yo fs q l - b a s e dx m lq u e r i e s k e y w o r d : x m l ,d t d ,n u m b e r i n gs c h e m e ,x p a t h ,o r d e r e dt r e e ,d o m ,q u e r y 4 中山大学硕士学位论文基于关系数据库的x m l 数据管理 第1 章引言 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l 1 】) 作为一种计算技术 出现不过是短短几年前的事情。它是一种概念,以其简易性和灵活性而颇得人 心,并逐渐成为互联网上共享数据的描述标准 2 】,驱动了互联网应用程序编写 方式的动态改变。 x m l 的起源可以追溯到1 9 9 6 年万维网协会( w 3 c ,h t t p :w w w w 3 c o r g ) 所设计的一种可扩展标记语言。这种语言成功地将s g m l 3 的灵活性和强大功 能与已经被广泛采用的h t m l 4 结合起来,但是却比s g m l 更为简化,更为易 用。x m l 正是由这种可扩展标记语言演变而成的。1 9 9 8 年2 月,x m l1 0 成 为了w 3 c 的推荐标准。此后,x m l 及其相关的规范一直在不断地完善和发展。 2 0 0 4 年2 月4 日,万维网协会发布了x m l1 1 ,它是至今最为完善的一个版本。 与h t m l 不同,咀是面向数据描述,而不是数据显示的,它清楚划分出 文档内容和可视化显示两个部分。x m l 的这种自描述以及半结构化特性使其非 常适合用于描述互联网上的各种数据,并作为数据共享的描述标准。随着x m l 应用的推广,越来越多人投身到x m l 数据库【5 ,6 ,7 】的研究领域。目前,x m l 数据库一共分为两大类,一类是x i v l l 本源数据库( n a t i v ex m ld a t a b a s e ,简 称n x d ) ,另一类是基于传统数据库的支持x m l 的数据库( x m l e n a b l e d d a t a b a s e ,简称x e d b ) 。n x d 主要存储以文档为中心( d o c u m e n t c e n t r i e ) ,数 据规则模糊的x m l 文档:x e d b 则主要存储以数据为中心( d a t a - c e n t r i c ) ,具 有较清晰的数据规则的x m l 文档。显然,这两类数据库的适用面各有不同, 事实上,谁的适用面越广,谁的生存能力就越强,所以双方的研究人员都在努 力寻找某种途径去扩展各自的适用范围。从根本来说,由于n x d 是针对x m l 的自身特性而专门设计的一种全新的数据库,其适用性似乎更强,但是,从1 9 9 9 年到现在,n x d 仅仅经历了5 年的研究和发展,其技术依然不成熟,许多关键 问题尚在探讨中,所以它难以在短期内得到广泛的应用和推广。相反,传统数 据库经历了几十年的发展,技术非常成熟,应用也非常广泛。在此基础上,x e d b 可以继承这些宝贵的经验和技术,能够在较短的时间内投入使用。并且,由于 x e d b 能够向下兼容原有的传统数据库,所以它能够被迅速的推广,得到人们 的青睐。其中。受关系数据库在传统数据库中的支配地位的影响,支持x m l 的关系数据库( x m l e n a b l e dr e l a t i o n a ld a t a b a s e ,简称x e r d b ) 更是x e d b 领域的重点研究对象。 一直以来,人们对x e r d b 的研究主要围绕以下三方面展开: x m l 文档在关系数据库中的存储策略 8 ,1 7 】。 x m l 文档的快速定位技术 1 8 3 6 1 。 x v i l 文档操作在关系数据库中的实现【1 8 ,3 7 4 0 1 。 中山大学硕士学位论文 基于关系数据库的x m l 数据管理 如何扩展传统的关系数据库系统,采用何种关系映射策略,建立什么样的 存储框架来支持x m l 这种新的数据类型,这是x e r d b 的首要研究课题。目前, 一共有四种支持x m l 的关系存储策略,分别是:用户自定义的关系存储策略 1 5 】、基于x m l 图的关系存储策略 8 1 2 ,1 5 】、基于d t d s 或s c h e m a 的关系存 储策略 1 3 ,1 5 1 7 和基于x m l 文档树 4 l 】编号的关系存储策略 1 4 ,1 5 】。 由于x m l 具有特殊的自描述与半结构化特性,仅仅依赖于传统的关系数据 库的索引技术,使用再好的关系存储策略,依然无法解决这种数据库对x m l 路径查询 4 2 ,4 3 ,4 4 及更新 4 5 的效率低的问题,所以,更多的研究人员把目 光集中在x e r d b 的快速定位技术上。目前,最热门的快速定位技术是编号模 式( n u m b e r i n gs c h e m a ) 技术 2 2 3 6 1 。其思想是:按照前序、中序、后序或指 定顺序遍历x m l 文档树 4 1 1 为树中每一个结点或每一条路径指定唯一的编 号,通过编号之间的数学关系来确定这些结点之间的树型关系。根据编号的紧 凑性,编号模式可以分为紧凑型编号模式 2 2 2 5 ,3 0 3 3 ,3 6 和稀疏型编号模式 【2 6 2 9 ,3 4 ,3 5 ;根据编号对象的不同,编号模式又可以分为结点编号模式 2 2 , 2 4 2 6 ,2 8 - 3 2 ,3 4 和路径编号模式 2 3 ,2 7 ,3 3 ,3 5 ,3 6 1 。由于结点编号模式 和路径编号模式归根结底都离不开对结点的识别,因此结点编号模式是最根本 的研究对象。 数据操作是数据存在的最终目的,没有任何操作的数据是无意义的。因此, 如何在关系数据库中进行x m l 文档查询和更新也是人们的另一个研究重点。 就x m l 文档查询而言,目前,一共有三种查询语言,分别是x m l q l f 4 2 1 、 x q l 4 3 和x p a t h 4 4 。其中,x s l t 4 6 和x p a t h 配合使用的查询处理机制是当 前最流行的x m l 文档查询处理机制。许多流行的关系数据库所支持的x m l 查 询语言都是以x p a t h 为基础的。例如,通过扩展通用的关系数据库语言s q l 4 7 1 , s q ls e r v e r 2 0 0 0 整合了对x m l 文档的查询处理。 围绕以上三个方面,本文继续深入研究基于关系数据库的x m l 数据管理。 研究重点是x m l 文档的快速定位技术以及x m l 文档查询在关系数据库中的实 现。针对x m l 文档的快速定位技术,本文提出了一种基于d t d 1 1 的稀疏编号 模式。以本文提出的基于d t d 的稀疏范围函数为理论基础,该编号模式能够被 广泛地应用在各种编号模式,特别是紧凑型编号模式上,以解决紧凑型编号模 式所存在的由于结点插入而导致的频繁的编号重整的问题,从而提高x m l 文 档操作的总体效率。针对x m l 文档查询在关系数据库中的实现,本文提出了 基于d o m 4 8 ,4 9 】的动态查询处理模型。该模型不仅能够很好地兼容对关系数 据和x m l 文档的查询,克服基于s q l 的x m l 查询所存在的弊端,而且充分 吸收了d o m 对x m l 文档的数据处理思想,对x m l 文档查询采用结点定位, 逐步展开的数据处理模式,实现了灵活多样的x m l 文档查询。与d o m 不同的 中山大学硕士学位论文基于关系数据库的札数据管理 是:该模型充分利用了编号模式的快速定位优势,不需要将整个文档加载进内 存就可以实现快速的x m l 文档查询,突破了d o m 对操作对象的局部完整性的 要求,适用于处理分片存储的x m l 文档的查询,而其原理更能用以实现对x m l 文档分片的更新处理。 本章对全文内容进行概述。首先指出本文研究的问题及所提出的解决方案; 然后指出本文贡献;最后给出下文结构。 1 1 编号模式的存在问题及解决办法 编号模式是当前最流行的x m l 文档的快速定位技术,特别是紧凑型的编号 模式,它们的设计如此巧妙,可以通过简单的数学运算来确定目标结点集,从 而回避了路径查询过程的连接处理问题,大大提高了路径查询的效率。但是, 在实现路径查询的快速定位的背后,紧凑型的编号模式所存在的问题是:结点 插入有可能导致频繁的编号重整,从而大大降低了路径更新的效率,影响了系 统的总体性能。下面,我们以e x i s t 3 1 为例,说明紧凑型编号模式所存在的问 题,并提出相应的解决办法。 1 1 1 存在问题 e x i s t 是在 2 4 】的基础上提出的改进方案,它的编号过程如下: 首次遍历x m l 文档树:对树中的每一层,找出具有最多子结点的 结点,并将该结点的子结点数设置为该层的编号参数。 根据x m l 文档树中各层的编号参数,按需往文档树中插入辅助结 点,使得同一层的结点具有相同数目的子结点。 按文档树的层次从小到大( 根节点所在的层次最小) ,同一层从左 到右的顺序再次遍历x m l 文档树,并对树中每个结点进行递增编号( 起 始编号为1 ,递增步为l ,具体内容请参见【3 1 或本文4 ,l 的e x i s t 编号模 式) 。 由于e x i s t 编号模式是一种紧凑型的编号模式文档树中同一个结点的相 邻两个子结点的编号相差1 ( 因为递增步为1 ) ,当结点插入发生在这两个相邻 的子结点之间时,编号重整无可避免;此外,当一个位于第n 层的结点的子结 点数已经达到第r l 层的编号参数时,往该子结点序列尾插入结点也将导致编号 重整。 由此可见,虽然e x i s t 编号模式能辅助实现路径查询的快速定位,但它却没 有很好地解决结点插入时频繁的编号重整的问题。这也就决定te x i s t 编号模式 o 中山大学硕士学位论文 基于关系数据库的x m l 数据管理 只适用于面向路径查询而不是路径更新的数据库系统。以此类推,其余的紧凑 型编号模式也面i 临着相同的问题。 1 1 2 解决办法 显然,通过引入稀疏处理技术,上述问题能够被较好地解决。但是,目前 来说,尚没有人提出通用而具体的稀疏处理方案。例如,【2 9 只提出了一个抽 象的稀疏处理框架,而没有明确指出各处稀疏范围的确定。更多的情况是用户 根据具体应用定制不同的稀疏处理方案,这对于一个面向多元化用户和应用的 数据库系统来说显然是不可行的。此外,至今还没有人提出基于d t d 的稀疏处 理方案。事实上,结合d t d 对元素的定义约束以及元素在文档中的实际出现情 况,我们可以获得文档中可能发生结点插入的元素分布。针对以上情况,我们 提出了基于d t d 的稀疏编号模式。 基于d t d 的稀疏编号模式依赖于基于d t d 的稀疏范围函数来决定各层的 编号参数以及相邻子结点之间的稀疏程度。基于d t d 的稀疏范围函数通过分析 d t d 对元素内容的抽象约束,特别是“”“+ ”运算约束,再结合元素在待 编号的文档中的实际出现情况,准确地把握了文档中可能发生结点插入的位置 以及这些位置上可能发生的结点插入的类型,为将来的结点插入预留了空间, 从而有效地降低了由于结点插入而导致的编号重整的次数及规模。 1 2 基于s q l 的x m l 查询的存在问题及解决办法 随着x s l t 4 6 和x p a t h 4 4 1 的兴起,一些流行的支持x m l 的关系型数据库 ( 如s q l s e r v e r2 0 0 0 ) 也相应地建立起相关的机制来处理x p a t h 查询。然而, 由于它们所采用的查询处理机制是建立在通用的关系型语言s q l 4 7 之上的, s q l 结构并不提供层次封装,使得这种查询处理机制操作起来相当复杂,不仅 不能保证输出文档与原文档的结构一致,而且也限制了查询结果显示的灵活性 和多样性。下面,我们以s q ls e r v e r2 0 0 0 对x m l 文档查询的处理机制 3 8 为 例。说明基于s q l 的x m l 查询所存在的问题,并提出相应的解决办法。 1 2 1 存在问题 s q l s e r v e r2 0 0 0 是常用的支持x m l 的关系数据库之一,通过扩展s q l 语 型,引入f o rx m l 和o p e n x m l 子句( 详细的语法说明请参见5 2 1 ) ,它整合 了对x m l 文档的查询处理:通过在s q l 语句中引入o p e n x m l ,s q ls e r v e r 能够将x m l 文件以表或视图的方式展现,然后在此基础上进行s q l 查询,通 中山大学硕士学位论文 基于关系数据库的x m l 数据管理 过f o rx m l 将查询结果以x m l 文档片段的形式输出。 显然,受s q l 语型的非层次结构所限,这种x m l 文档的查询处理机制存 在着以下弊端( 请参考程序清单5 - 8 ) : 使用o p e n v 几配合i n s e r t 语句将x m l 文档片段加载进数据库时, 采用类似u n i v e r s a l 表的映射方式,造成大量的数据冗余;并且,通过f o r x m l 语句重组表中的数据时,有可能使所展现的x m l 文档片段与原文档 片段的结构不一致。 虽然通过f o rx m l 子句,我们能够以不同的x m l 文档片段展现由 o p e a x m l 所输出的表数据,但是,受o p e n x m 子旬中的用户自定义的关 系模式所限,f o rx m l 子句所展现的x m l 文档片段不能超出自定义的关 系模式所涉及的数据范围。 l 。2 2 解决办法 针对上述问题,本文提出了基于d o m 4 8 ,4 9 的动态查询处理模型。通过 抽取查询条件,对查询条件进行简单的扩展,该模型能够兼容处理对x m l 文 档和其它数据类型的查询。在处理x m l 文档查询时,该模型根据d o m 的数据 处理思想,对) 0 订l 文档树采用结点定位,逐步展开的查询处理模式,巧妙地 划分了查询描述与结果显示的界限,既可以按需保证输出文档与原文档的结构 一致,又可以定制灵活多样的x m l 文档查询。此外,与d o m 不同的是。该模 型充分利用了基于编号模式的索引技术,不需要将整个文档装载进内存就可以 实现快速的结点定位,突破了d o m 对操作对象的局部完整性的要求。 1 3 本文贡献 本文的研究成果是: 定义了基于d t d 的稀疏范围函数。 提出了基于d t d 的稀疏编号模式。 提出了基于d o m 的动态查询处理模型。 实现了支持x m l 的e b a s e i - i i 关系数据库原型。 本文最重要的贡献就是定义了基于d t d 的稀疏范围函数,并提出了以此为 理论基础的基于d t d 的稀疏编号模式。该编号模式的核心依据是:对于一篇待 加载的x m l 文档,通过将d t d 对元素的定义约束与元素在该文档中的实际出 现情况相结合,可以分析出该文档中哪些地方可能发生什么类型的数据插入。 应该为哪些地方预留多少编号。根据这些分析结果去指导结点编号,并为以后 主些奎兰堡主堂垡堡苎 ! 苎王差墨墼塑堕堕茎坚! 墼塑笪里! 的结点插入预留一定的空间,则可以降低由于x m l 内部数据的插入两导致的 编号重整的次数及规模。虽然本文是在e x i s t 的基础上实现该编号模式,并对其 进行检验的,但是,从原理上说,该编号模式具有相当强的通用性,能够辅助 其他编号模式,成功降低编号重整的次数及规模,从而提高数据操作的总体效 率。 本文的又一贡献是提出了基于d o m 的动态查询处理模型,使得逻辑查询能 够同时兼容对关系数据类型以及x m l 文档的处理。该模型充分吸收了d o m 的 数据处理思想,采用结点定位、逐步展开的数据处理模式,不仅能够按需保证 所输出的x m l 文档片段与原文档的结构一致更能定制出灵活多样的x m l 文 档查询。此外,该模型充分利用了基于编号模式的索引技术,不需要将整个文 档装载进内存就可以实现快速的结点定位,突破了d o m 对操作对象的局部完 整性的要求,适用于处理分片存储的x m l 文档的查询,而其原理更能用以实 现对x m l 文档分片的更新处理。 将以上研究成果结合起来,采用基于x m l 文档树编号的关系存储策略 1 4 , 1 5 ,本文成功地实现了支持x m l 的e b a s e i i i 关系数据库原型,并在此之上进 行了一系列的对比测试。结果表明,本文所提出的基于d t d 的稀疏编号模式有 效地降低了由于x m l 文档内部数据的插入而导致的编号重整的次数及规模, 大大提高了x m l 数据操作的总体效率:丽基于d o m 的动态查询处理模型在保 持较高的文档查询效率的同时也的确提高了数据操作的兼容性、灵活性和便易 性,成功克服了基于s q l 的x m l 查询所存在的弊端。 1 ,4 下文结构 以下内容,第2 章介绍x m l 语言的基础知识;第3 章介绍支持x m l 的关 系数据库的存储策略;第4 章先以e x i s t 编号模式为代表,简单介绍当今流行的 x m l 文档的快速定位技术,然后重点描述本文所提出的基于d t d 的稀疏编号 模式;第5 章先简单介绍x m l 查询语言的发展历史,然后以s q ls e r v e r2 0 0 0 为例,介绍基于s q l 的x m l 查询处理机制,最后给出本文提出的基于d o m 的动态查询处理模型;第6 章给出本文所实现的支持x m l 的e b a s e i l i 关系数据 库:第7 章为总结和展望。 中山大学硕士学位论文基于关系数据库的x m l 数据管理 第2 章x m l 简介 x m l 1 1 ( e x t e n s i b l em a r k u pl a n g u a g e ) 的起源可以追溯到1 9 9 6 年万维网协 会( w 3 c ,h t t p :w w w w 3 c o r g ) 所设计的一种可扩展标记语言。这种语言成功 地将s g m l 3 的灵活性和强大功能与已经被广泛采用的h t m l 4 结合起来,但 是却比s g m l 更为简化,更为易用。x m l 正是由这种可扩展标记语言演变而 来,并逐渐成为互联网上信息描述和信息共享的强大途径。 x m l 是一种使用标记来标记内容的数据描述方法。与h t m l 不同,x m l 的标记是可以自定义的,也就是说,使用者可以根据自己的需要按照某种标准 化形式任意地扩展x m l 。x m l 的自描述与半结构化特性使其具有以下优点: 自定义的标记使数据描述更清晰,更灵活。 x m l 清楚划分出文档内容和可视化显示两个部分,与h t m l 相比,它 更适合用于b 2 b 和企业内部网的解决方案。 x m l 是开放的,它能够实现不同用户和不同程序之间的数据共享和交 换。 2 1x m l 文档 格式正规的y a v i l 文档会遵守w 3 c 的x m l1 0 推荐标准 1 】的语法要求。下 面是一个简单的格式正规的文档: 程序清单2 - 1 m y x m l x m l ? x m lv e r s i o n = “10 ”? 2 3 l i ny i ns t t e e t k i t t y 2 3 3 l2 3 4 5 6 r o n gh u ar o a d ( ,n f o r m a t i o n 1 4 中山大学硕士学位论文基于关系数据库的x m l 数据管理 2 1 1 标记语法 字符:x m l 指定的字符均在1 6 位的u n i c o d e2 1 字符集( 参见 h a p :w w w u n i c o d e o r g ,h t t p :w w w i s o o h ) 。合法的x m l 字符包括三个a s c i i c o 控制符,所有普通的a s c i i 可显示字符,以及所有其他统一代码字符值。 命名:所有x m l 命名都必需以字母、下划线或冒号开头,后面跟着有效命 名字符。有效命名字符除了合法的x m l 字符,还包括数字、连字符和旬点。 但是,在实际应用当中不应该使用冒号,除非是用作命名空间分隔符。 与h t m l 不同,几乎所有的x m l 标记都是大小写敏感的。 2 1 2 文档部分 一个格式正规的x m l 文档由三个部分组成: 可选的序言:包括x m l 声明、注释、处理指令、空白或文档类型声明。 文档的主体:由个或多个元素组成,其形式为一棵层次树。元素是x m l 标记的基本组成部分。元素使用标记进行分隔,每一个元素都必须由一个起始 标记和一个结束标记分隔开,中间可以包含其他元素、字符数据、字符应用、 实体应用、p i 、注释和c d a t a 。 可选的尾声:包括注释、处理指令或空白。 例如,在程序清单2 - 1 中,“ ? x m l d t d ”属于序言,“ ”属于文档主体。 2 2d t d 定义 数据都是有一定含义的。那么,使用者应当如何指定。文档的书写规则, 应当如何让其他人了解自己的文档或在自己的基础上进行二次开发呢,这些都 离不开一套被称作文档类型定义( d o c u m e n t t y p ed e f m i t i o n ,d t d 1 ) 的信息集 合。为了解决使用d t d 时所遇到的一些障碍x m l 引入了模式( s c h e m a 5 0 , 5 1 ,5 2 】) 和命名空间( n a m e s p a c e 5 3 ) 1 。 d t d 使用正式的语法定义x m l 文档的结构和允许值。x m l1 0 推荐标准 专门描述了如何构建d t d ,以及如何将它与根据其中规则编写的文档相关联。 通过创建d t d ,能够正式而精确地定义词汇表,从而显示地约束了文档的有效 1 由于d t d 与s c h e m a 配台使用n a m e s p a c e 的本质是相同的,为r 简化说明,本文所研究的x m l 数据库 暂时仪限于管理遵i fx m l 1 0 推荐标准的x m l 文档即所管理的这些x m l 文档仅支持d t d 类型声明。 1 5 中山大学硕士学位论文 基于关系数据库的x m l 数据管理 性。下面是与程序清单2 - 1 相关联的d t d 。 程序清单2 - 2 m y d t d d t d c ! 一d t df o rm y x m l x m l _ ) ! e l e m e n ti n f o r m a t i o nf e m p l o y e e ) ! e l e m e n t a g e 傅p c d a r a p 2 2 1d t d 基本语法 d t d 通过四种标记声明来定义x m l 文档中允许出现的内容,表2 - 3 列举了 与这些声明相关的关键字及其含义。其中,前两个声明与x m l 文档中的主要 信息元素和属性相关。 表2 - 3d t d 声明标记 d t d 关键字含义 e l e m e n tx m l 元素类型声明 卢i 厂r l l s t元素的属性声明 e n t i t y可重用的内容声明 n 0 1 l t l o n 不需要解析的外部内容( 例如:二进制数据) 的格式声明,以及用于处 理杖# 内容的外部应用程序 对于大部分儿文档来说,元素和属性的类型声明足以定义x m l 文档的 有效性。实体( e n t i t y ) 和表示法( n o t a t i o n ) 只起到辅助作用。其中,实 体用于简化x m l 词汇表的设计,它的作用类似于c ,c 十+ 中的i n c l u d e 语句。表 示法则用于处理非x m l 内容。在本文中,我们将忽略实体与表示法的具体定 义语法,有兴趣的读者可以参考w 3 cx m l 1 0 推荐标准【1 】。 元素定义 元素类型是通过e l e m e n t 标记来声明的。除了关键字以外,标记还提供 所声明的元素的名称和内容规范,o p 。元素内 容可以分为四种类型:空、元素、复合及任意。 中山大学颈士学位沦文 ! 兰! 墨叠墼篓壁堕型! 墼堂笪里! 空元素中不包含文本,也不包含子元素,但是它可以有属性。空元素的内 容用关键字e m p t y 标记,0 p 。 任意内容的元素允许元素具有任意形式的内容。这种元素的内容用关键字 a n y 标记0 p 。 内容为元素或复合元素的元素采用内容模型( c o n t e n tm o d e l ) 来定义元素内 容的内部结构。内容模型是由圆括号包括的若干子元素名称、运算符和 # p c d a t a 关键字的组合。运算符用于说明元素包含的元组,以及元素和字符数 据之间的组合关系( 参见表2 - 4 ) 。 请看程序清单2 - 2 的m y d t d d t d 。 表2 - 4元素声明中内容模型所采用的运算符 运算符含义 i表不于兀素、元组或字符数据间具有严格的先后顺序 i表示予元素、元组或字符数据间具有选择关系 , 表示子元素、元组或字符数据是可选的,即可有可无 _ 表示子元素、元组或字符数据可以不出现,或出现多次 + 表示子元素、元组或字符数据至少出现1 次,但可以出现多次 属性定义 属性是对元素的补充和修饰,它能够将一些简单的特性与元素相关联。通 过属性,我们可以给元素绑定大量信息。对于含属性的元素,至少要通过一个 a t t l i s t 标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民用爆炸物品安全员培训课件
- 民法肖像权课件
- 大学军事考试题目及答案
- 我国新质生产力的发展趋势
- 河南新质生产力先锋图谱
- 民族课件边框
- 新质生产力主题写作:标题技巧
- 新质生产力企业立意高远
- 培养新质生产力的时代意义
- 新质生产力发展倡议书撰写指南
- 信息安全岗位竞聘
- 食品经营许可和备案管理办法培训2024
- 住院患儿实施院内转运临床实践指南2023版课件
- 打包机吊装方案
- 如何列好小说提纲
- 【新教材】部编道德与法治六年级上册-全册-表格式教案教学设计
- 文言实词本义引申义
- 07J902-3 医疗建筑(卫生间、淋浴间、洗池)
- 2024年电工(高级技师)职业鉴定理论考试题库-下(多选、判断题)
- 2024年网上大学智能云服务交付工程师认证考试题库800题(含答案)
- 公共数据交换技术规范
评论
0/150
提交评论