已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机技术和无线网络技术的进一步发展,移动办公等移动计算环境下的应用需求 日益强烈,同时,应用需要处理的数据量和复杂度也不断增加,这使得许多应用需要嵌入式 的移动数据库来管理数据,因此,移动数据库系统应运而生。 s w i f l d b 是东南大学数据库实验室自主开发的嵌入式移动数据库管理系统,它基于关系 数据模型,支持管理结构化数据,然而在实际的应用中,数据环境相当复杂,经常需要处理 半结构化的数据,s w i f l d b 并不支持对这类数据的管理,因此应用范围受到一定的限制。 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 数据库也成为研究热点。 综上所述。本文提出扩充s w i f l d b 系统增加x m l 数据管理。系统经扩充后,应用范置 将得到很大拓宽。另外,从性能和应用两个角度考虑,提供对x m l 数据的原生态管理,目 前,与移动嵌入式系统相关的x m l 原生态管理国内外均未见报道。 本文基于已有的s w i f l d b 系统,提出扩充方案e s w i f l d b ,提供对x m l 的原生态管理。 给出了e s w i f l d b 的系统框架,重点研究存储、索引和查询模块的设计与实现,这三个模块 都充分地利用s w i f l d b 系统的原有功能。在存储模块中,数据组织使用s w i f l d b 提供的关 系表格,一个表格关联多个x m l 文档;另外,该模块实现原生态存储x m l 文档。索引模 块提供三种索引,分别是值索引,结构索引和全文索引。值索引的建立和维护使用s w i f l d b 系统提供的b + 树索引,结构索引针对x m l 文档的树状结构,全文索引针对大文本数据类 型查询处理模块中,处理x q u e r y 查询语言的流程与处理s q l 查询语言的流程一致,并 给出了基于存储方法和索引结构的路径表达式处理。 扩充后的系统不仅保留原有的高效关系数据管理系统对格式化数据的管理能力,而且具 有对x m l 层次数据的管理能力,实际上形成一个“混合型”数据库管理系统。e , s w i f l d b 系 统合理划分功能模块,可以针对具体应用需求灵活定制,具有较高的实用价值。 关键字:移动数据库,s w i f l d b ,可扩展标记语言,原生态,存储 a b s t r a c t a b s t r a c t w i t ht h ef n r t h e td e v e l o p m e n to fc o m p u t e ra n dw i r e l e s sn e t w o r kt e c h n o l o g y , d e m a n d so f a p p l i c a t i o n so nm o b u ed e v i c e ss u c ha sm o b i l eb u s i n e s sa r e q u i r e di n c r e a s i n g l y m e a n w h i l e w h e nt h eq u a n t i t yo fd a t ab e c o m e sl a r g e rw i t hc o m p l e x i t yo fd a mp r o c e s s i n gh i g h e r , al o to f a p p l i c a t i o n so nm o b i l ed e v i c e sn e e de m b e d d e dm o b i l ed a t a b a s ef o rd a t am a n a g i n g t h u s , m o b i l e d a t a b a s es y s t e me m e r g e sa st h et i m e sr e q u i r e s w i f l d bi st h ep r o t o t y p eo fam o b i l ed a t a b a s em a n a g e m e n ts y s t e md e v e l o p e db yd a t a b a s el a b o f s o u t h e a s tu n i v e r s i t y i ti sb a s e do nr e l a t i o n a ld a t am o d e la n dc a l li n a n a g es t r u c t u r e dd a t a h o w f f v e r , t h er e a ld a t ae n v i r o n m e n ti sq u i t ec o m p l e x f r e q u e n t l yw en e e dt om a n a g es e m i - s t r u c t u r e dd a t a s w i r d bc a nn o tm a n a g et h i sk i n do fd a t a a sar e s u l t , i tc a no n l yb ea d o p t e di nal i m i t e ds c o p eo f a p p l i c a t i o n s 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 ) i sam e t a - l a n g n a g et h a td e s c r i b e sd o c u m e n t s ,i n c l u d i n g m u l t i m e d i ad o c u m e n t s i td e s c r i b e st h es t r u c q u r e ,s e m a n t i ca sw e l la st h ed i s p l a yf o r m a to f d o c u m e n t s x m ld o c u m e n t sc a nb ee x c h a n g e dc o n v e n i e n t l y a l s o , t l l e yc a nb et r a n s f o r m e da n dq u e r i e d x m l b u i l d st h eb r i d g eb e t w e e ns t r u c t u r e dd a t aa n du n s t r u c t u r e dd a t a i ti sw i d e l yu s e di nm a n yd o m a i n s t h er e s e a r c ho nx m ld a t a b a s eh a sb e c o m eah o ts p o l a c c o r d i n gt oa b o v e , t h ee x p a n s i o no fs w i f l d bt os u p p o r tx m ld a t am a n a g e m e n ti sp r o p o s e d a f t e re x p a n d i n g , t h es y s t e m sa p p l i c a t i o ns c o p ec a nb ew i d e l ye x t e n d e d w h a t sm o r e ,t h es y s t e mh a d b e t t e rt os u p p o r tn a t i v ex m ld a t am a n a g e m e n ta c c o r d i n gt ob o t he f f i c i e n c ya n da p p l i c a t i o n r e q u i r e m e n t s t i l ln o w ,r e s e a r c ho nn a t i v ex m ld a t am a n a g e m e n tt h a t i sr e l a t e dw i t hm o b i l e e m b e d d e ds y s t e mh a sn o tb e e nr e p o r t e dd o m e s t i ca n do v e r s e a s b a s e do nt h em o b i l ed a t a b a s es y s t e ms w i f l d b ,t h ee x p a n d e ds y s t e me s w i f l d bw h i c hc a n s u p p o r tn a t i v ex m l d a t am a b a g e m e l l ti sp r e s e n t e d f r a m e w o r ko f e s w i f i d bs y s t e mi sg i v e na n dt h e d e s i g na n di m p l e m e n t a t i o no fs t o r i n g , i n d e x i n ga n dq u e r y i n gi sc a r e f u l l ys t u d i e d a l lt h et h r e e m o d u l e sm e n t i o n e dm a k eu o fo r i g i n a lf u n c t i o n so f s w i f l d b i ns t o r a g em o d u l e x m ld o c u m e n t s a l eo r g a n i z e db yr e l a t i o n a lt a b l ew h i c hi si m p l e m e n t e di ns w i f l d ba n de v e r yx m ld o c u m e n ti s a s s o c i a t e dw i t har o wo f at a b l e w h a t sm o r e ,t h es t o r a g em o d u l es t o r e sx m ld o c u m e n t si nt h en a t i v e w a y e s w i f l d bs u p p o r t st h r e ek i n do fi n d e x e s ,w h i c ha r ev a l u ei n d e x ,s t r u c t u r ei n d e xa n df o i l - t e x t i n d e xr e s p e c t i v e l y t h ec r e a t i o na n dm a i n t e n a n c eo fv a l u ei n d e x e sd e p e n do nb + t r e ew h i c hi sa l s o i m p l e m e n t e di ns w i f l d b s t o r e t u r ei n d e x e sa r eu s e dt od e s c r i b et h et r e es t u r c t u r eo f x m l d o c u m e n t s f u l l - t e x ti n d e x e sa r cs p e c i a l l yd e s i g e df o rl a r g et e x td a t at y p e i nq u e r y p r o c e s s i n gm o d u l e , t h es t e p s t h a tt a k e nt oh a n d l ex q u e r yl a n g u a g ei st h es a l n ea st h a th a n d l es q ll a n g u a g ei ns w i f l d b t h e x q u e r yp r o c e s s i n gt e c h n o l o g yw h i c hi sb a s e do nt h ex m ls t o r a g ea n di n d e xi sb r o u g h tf o r w a r dt o o a r e re x p a n d i n g ,t h ee s w i f l d bs y s t e mn o to n l yp r e s e r v e st h ea b i l i t yt om a n a g er e l a t i o n a ld a t a e f f i c i e n t l y , b u ta l s op o s s e st h ea b i l i t yt om 觚a g ex m l d a t a a sam a t e ro f f u c t , i tf o r m sa h y b r i d - - a b s t r a e t d a t a b a s em a n a g e m e n ts y s t e m t h ef u n c t i o nm o d u l e so fe s w i f l d ba r er e a s o n a b l yd i v i d e ds ot h a tt h e s y s t e mc a nb ec u s t o m i z e dv e r yf l e x i b l ya c c o r d i n gt ot h ed e m a n do fa e t o a la p p l i c a t i o n t os u mu p e s w i f l d bs y s t e mp o s s e s s e sh i g hv a l u ei np r a c t i c a lu s e k e yw o r d s :m o b i l ed a t a b a s e ;s w i f l d b ;e x t e n s i b l em a r k u pl a n g u a g e ;n a t i v e ;s t o r a g e 1 1 1 东南大学学位论文 独创性声明及使用授权的说明 一、学位论文独创性声明 本人声明所星交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签名:主室2 笪日期:銎煎i a 鲷 二、关于学位论文使用授权的说明 东南大学、中国科学技术信息研究所,国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 签名:导师签名:韵日期;矿7 罗加 第1 章引言 1 1 研究背景及意义 第1 章引言 随着无线遥信技术和计算机技术的发展,移动计算技术已开始走进人们的日常生活与工 作中。所谓移动计算( c o m p u t i n g a n y w h e r e ) 1 l j 指的是在任何地点和运动状态下,便携式 设备的用户都能通过相应的网络设施从数据源处获得信息与服务。这种新型的移动计算模式 必须得到嵌入式移动数据库系统( e m d b m s ) 的支持。嵌入式移动数据库成为研究热点, 各大数据库厂商和一些科研机构纷纷推出各自的产品,如s y b a s e 的i a n y w h e r e ,i n f o r m i x 的 c l o u d s c a p e ,o r a c l e 的o r a c l e 9 i l i t e ,中国人民大学的人大小精灵等。东南大学计算机系数据 库及信息系统研究室也开发了具有完全自主知识产权的嵌入式移动数据库管理系统 s w i f l d b 2 1 。 s w i f l d b 通过同步服务器与主数据库系统如o r a c l e 、s y b a s e 、m ss q ls e r v e r 等交换数 据,它支持对关系型数据的管理。然而在实际应用中,经常遇到半结构、非结构化的数据, 比如大量的办公文档、书籍、网页数据、音频视频和图形图像数据等等。新的数据格式为数 据管理带来新的挑战,能够支持更多数据格式的产品具有更强大的竞争力。s w i 缸b 不能够 处理这些非关系业务数据,它的应用范围受到一定的限制。 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 ) 技术作为标准化的数据存储格式在当前i t 环境中 扮演越来越重要的角色,众多科研机构、企业纷纷增加对x m l 的支持。微软o f f i c e 2 0 0 3 支 持将内容导出成x m l 格式的文档,更新的o f f i c e 版本采用x m l 作为默认的文件格式。x m l 数据管理也成为研究热点,各主要关系数据库厂商i b m d b 2 1 4 , ”,o r a c l e 【6 1 ,m ss q l s e r v e r t ”】 和s y b a s e a s e i n 等都通过他们当前的相关产品提供对x m l 的支持。d b x m l l g l ,t i m b e r t g , n a t i x ! l o 】等系统实现对x m l 数据的原生态管理。然而,在移动嵌入式系统相关的领域,尚未 有产品提供对x m l 的原生态管理。 综上所述,为拓宽s w i f l d b 系统的应用范围,有必要扩充系统支持x m l 数据管理,使 其能够同时管理“传统的”s q l 数据和x m l 数据。此外,由于x m l 已成为i n t e m e t 上数 据交换的标准,将x m l 作为数据交换的中介,可以统一地对待外部异构数据源。系统经扩 充之后,形成一个开放的架构,应用范围扩大,具有更大的实用价值。 1 2 移动数据库s w i f t d b 的体系结构 移动数据库系统s w i f l d b 的总体结构包含如下部分,如图1 1 所示: 东南大学硕士学位论文 服务器f s e r v e r ) ;一般为固定结点,每个服务器维护一个本地数据库,本地数据库可以 是o r a c l e ,s y b a s e ,d b 2 或m ss q ls e r v e r 。服务器可以是彼此独立的,也可以由可靠的高 速互联网络连接在一起,构成一个传统意义上的分布式数据库系统。服务器可以处理客户的 联机请求,并可以保存所有请求的历史记录。 移动支持结点( m o b i l es u p p o r ts t a t i o n ,简称m s s ) :m s s 也位于高速网络中,并具有无 线联网能力,它们用于支持一个无线网络单元( c e l l ) 内的通信。该单元内的移动客户端既可 以通过无线链路与m s s 通信,从而与整个固定网络连通,也可以接收由m s s 发送的广播信 息。服务器与m s s 可以是同一台机器。 移动客户端( m o b i l ec l i e n t ,简称m c ) :m e 的处理能力与存储能力相对于服务器来说非 常有限,且具有移动性( 即可以出现在任意一个无线单元中) 。m c 可能是任何一种移动终端, 比如笔记本、p d a 、掌上电脑等。在它上面保存一部分数据库副本,并通过e d b m s 对本 地数据进行管理,可以通过无线链路与一个m s s 通信,通过m s s 上的o d b c 接口,e d b m s 可以与s e r v e r 进行数据交换。它经常会与服务器断接,可靠性较低,网络延迟较大。 图1 is w i f t d b 的总体结构 移动数据库应用模式采用三级应用模式,即嵌入式数据库( e d b m s ) + 同步复制服务 器十企业级d b 。其中嵌入式数据库管理系统( e d b m s ) 运行在移动终端如p d a 或笔记本 上,该环境具有数据库服务器的功能,支持数据库的基本操作,同时也可以作为远程客户通 过运行在固定网络上的同步服务器与企业中心数据库进行复制数据、保持数据同步等。 1 3 嵌入式数据库管理系统e d b m s 的体系结构1 3 1 嵌入式数据库管理系统e d b m s 体系结构如图1 2 所示 - 2 第1 章引言 圈1 2 e d b m s 体系结构 图中矩形框内部分是e d b m s 的核心。它负责本地的数据库管理,系统运行时,e d b m s 核心侦听用户请求,将s q l 语句交给词法、语法分析器进行词法、语法分析,和部分语义 检查,如无错误就生成一棵语法树,交给查询处理模块。查询处理模块先对语法树进行预处 理,包括语义检查,用户权限检查等。然后通过物理层原语和底层的o s 交互。如果是非常 简单的应用程序,也可以跳过上述流程,直接使用物理层原语来访问数据库。 e d b m s 在日志中记录自从上次同步之后本地所有插入、删除、更新操作的s q l 语句。 启动同步控制模块时,日志上传到同步服务器,同步服务器对上传的s q l 语句进行适当的 改写,构成同步事务提交给中心数据库执行,然后e d b m s 又以增量更新的方式从中心数据 库下载本地数据的最新版本,从而完成移动事务。 1 4 本文工作 本文将对移动数据库管理系统s w i r d b ,提出扩充方案e s w i f i d b ,使其嵌入式数据库管 理系统( e d b m s ) 部分具备管理x m l 文档的能力。扩充后,关系型数据与x m l 数据并存 于e s w i f i d b 系统中。 本文首先给出e s w i f i d b 系统的整体框架设计,然后详述与原生态x m l 数据管理密切 相关的存储、索引以及查询三个模块的设计实现方案。对x m l 文档的管理需要实现如下具 体功能: 1 ) 使用关系表格x m l t a b l e 来组织管理x m l 文档集。一个表格对应多个x m l 文档。 x m l 文档的实际内容存储在数据文件中,创建的索引存储在索引文件,提供对x m l 文档 的添加、删除、读取及更新操作 - 3 一 奎堕查兰堡主兰垡鲨壅 2 ) 实现x m l 文档的原生态存储。数据文件实现页面存储策略,x m l 文档经分裂后存 储到底层数据文件的页面。对x m l 文档中的大文本、图像等数据类型,采用单独的页面进 行存放以提高存取效率。采用易于转换为d o m 树模型的私有格式保存垤l 文档,并充 分考虑节省存储空间 3 ) 索引模块提供以下三种索引;值索引,结构索引,全文索引。值索引建立在文档的 属性值上或者元素内容上,索引的建立和维护使用s w | i p , d b 已经实现的b + 树。结构索引将 区间编码、结点逆序列表和路径索引思想结合在一起处理路径表达式。全文索引专为大文本 数据建立,提供针对大块文本内容的关键字查询。 4 ) 给出处理x q u m - , 查询语言的流程,对x q u m - y 的核心部分一路径查询,给出了基 于存储方法和索引结构的查询处理技术 - 4 第2 章x m l 与数据库 2 1x m l 简介 第2 章x m l 与数据库 可扩展标记语言( e x t e n s i b l e m a r k u p l a n g u a g e ,x m l ) l l 】是当代最热门的网络技术之一, 被称为“第二代w e b 语言”,“下一代网络应用的基石”。x m l 是s g m l 的一个简化但严格 的子集。它继承了s g m l 的扩展性、自描述特性和强大的文件结构化的功能,但摒除了s g m l 过于庞大复杂和不易普及化的缺点。x m l 作为一种自描述的语言,主要具有以下特点:半 结构化,自描述性和可扩展。 近来x m l 技术作为标准化的数据存储格式在i n t e m e t 环境中扮演越来越重要的角色, 它事实上已经成为数据交换的标准。在人们日常生活中接触到的大量的数据( 尤其是w e b 上的数据) 大多是文档型数据,要有效地管理这些数据,使用x m l 是最合适的。i d c 最近 发布的一份报告显示,在5 0 0 家受访企业的i t 部门中,有2 9 的企业宣称正在大量使用 x m l 存储库和数据库;有相同比例的受访者称正在探索这方面的应用需求和前景。此外, 该项研究还发现x m l 技术的应用非常广泛,包括编辑器、基于x m l 的电子表格和x m l 图表等。其中,约有三分之一的受访者在使用其中的某一种技术。 2 1 1x l v i l 文档 x m l 文档可以划分为两种类型;面向文档处理的文档和面向数据处理的文档1 1 2 】,它们 各自不同的特性将影响到如何选择x m l 在数据库中的存储方式。 面向文档处理的x m l 文档是指利用x m l 来描述一般的文档型数据,如w e b 页面、用 户手姗等。它们以复杂或无规则的结构和混合内容为特征,而且文档的物理结构非常重要。 这些文档的处理侧重于给用户提供信息的最终表示,因此它们也被称作面向表示的文档。对 这类文档的操作一般包括检索整个文档、搜索关键词、修改一部分或重排一部分。 面向数据处理的x m l 文档主要利用x m l 来传送数据,如销售订单、病人记录和科学 实验数据等。它们的物理结构,如元素的顺序,或者数据被存储为属性还是子元素,通常不 是很重要。它们的特征是具有规正的结构,并且同时带有那些数据结构的多个实例,类似于 关系数据库系统中的多条记录。这些文档的处理通常侧重于应用程序间的数据交换,因此它 们也被称作面向消息的文档。对这类文档的操作一般包括检索文档的一个指定部分、搜索元 素和数据的一个特定的结合、修改或删除一个简单的元素或一块简单的数据,或者给文档添 加一个新元素 5 东南大学硕士学位论文 在实际的使用中,面向文档与面向数据的两种文档类型常常参合在一起。比如,在医院 的病人管理应用中,病人的病历是经过详细设计并且是面向数据的,像姓名,个人信息等; 同时,该文档可以包含半结构化的数据,如病人的患病史,医生的病例分析等。又如,面向 文档的x m l 文档比如用户手册,也可能包含细粒度的结构规则的数据,比如作者和修订日 期等等。 2 1 2x m l 相关技术 2 1 2 1f i d ,x m ls c h e m a d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 是一套关于x m l 标记符的语法规则, 它告诉你可以在文档的什么地方使用哪些标记,它们应该按什么次序出现,哪些标记有哪些 属性等。d t d 的出现,赋予了x m l 文档可扩展性、结构性和可验证性。如果一个x m l 文 档是合式的( w e l l - f o r m e d ) ,且符合d t d ,则该文档被认为是正确的( v a l i d ) 。然而,随着 x m l 应用领域不断扩大,d t d 的一些不足也暴露出来了,譬如其不同于x m l 的语法,不 支持多样的数据类型和名空间等。x m l 文档处理的自动化也要求有一种更为严格,全面的 解决方案。x m ls c h e m a 正是由于这些原因而出现的。 x m ls c h e m a 有如下优点:1 ) 与x m l 语法的一致性:它本身便是x m l 文档,因而 能用d o m ,s a x 等对它进行分析。2 ) 扩展性:如引入了丰富的数据类型,支持名空间等。 3 ) 规范性:它定义了x m l 文档的整体结构。4 ) 易用性:因为它本身便是x m l 文档,撰 写模式要比d t d 简单得多。 2 1 2 2s a x ,d o m s a x 及d o m 推荐标准由w 3 c 维护,它们是两个用于x m l 文档且受到广泛支持的a p i , 换句话说,s a x 和d o m 是处理x m l 文档的两种方式。s a x ( s i m p l e a p if o rx m l ) 是一种 基于流的、以事件处理方式工作的接口。d o m ( d o c u m e n to b j e c tm o d e l ) 贝i j 是对x m l 文档进 行分析后,在内存中建立起一个完整的树结构,然后在此基础上进行各种操作。s a x 对系 统资源要求低,速度快,但对文档的操作是只读的,所有操作须在一遍扫描中完成;d o m 的处理能力强大,可以多次反复处理,但要求大量的系统资源,尤其是对于大的x m l 文档。 d o m 提供了文档的结构化视图。与d o m 兼容的解析器读取整个文档,并通过在内存 中构造一棵对象树而提供文档的一个视图。文档的主要组件结构是对象树中的结点,访问对 象树并处理它是通过d o ma p i 。 s a x 与d o m 不同,它并非一个标准组织的产品。它是早期x m l 开发过程中,许多开 发者为了寻求一种有效的a p i 而创造出来的产品。s a x 并不把应用程序的注意力集中在整 个文档的树状图上,而是在解析时提供事件驱动。事件的内容往往是这样的形式:这里是一 个起始标记,这里有一些元素内容,这里是一个结束标记等。 6 - 第2 章x m l 与数据库 由上所述,采用d o m 方式加载大文档并不理想,因此本系统数据加载阶段采用s a x 解析。s a x 不对事件进行任何处理,事件的处理由上层应用程序完成,故可以在事件的基 础上建立合适的x m l 文档对象模型,例如可以利用s a x 解析器接收的事件构建符合自身 需求的d o m 树。对已加载入库的数据进行查询更新操作,需要在内存中重构d o m 树。 2 i 2 3x q a e r y x q u e r y ”1 是由w 3 c 推荐的x m l 上的查询语言,它的基础是表达式。每一个x q u e r y 查询包括一个或多个查询表达式。常用的x q u e r y 语法有:路径表达式;f l w o r 表达式; 元素构造器表达式:算术表达式与布尔表达式;函数调用;条件表达式;量词表达式。在这 几种表达式中,最重要的是前面两种,路径表达式和f l w o r 表达式。 路径表达式作为x m l 数据查询语言的核心部分,是一种对x m l 文档的内容进行定位, 检索的表达式。x q u e r y 中的路径表达式沿袭了x p a t h2 0 的语法。它们使用p a t h 标记从x m l 文档中选择感兴趣的结点。在这里其实是把x m l 文档看作是带有结点的树。路径表达式提 供了从结点树中选择结点的方法。 x q u e r y 中最强大的新特性是f l w o r 表达式。x q u e r y 提供该表达式来重复结点组和将 中间结果捆绑到变量。“f l w o r ”代表f o r , l e t , w h e r e , o r d e rb y 以及r e t u r n 子表达式。f o r 子 旬的用途是将一个或多个变量同表达式结合在一起,每一个变量都会被赋予一系列值,这些 值是由相应的表达式求得的,整个的内容即是这些序列值的笛卡儿乘积;l e t 子句将变量直 接与一个完整的表达式绑定在一起,如果f o r 语句存在,由l e t 创建的变量绑定就会加入到 由f o r 语句产生的元组当中,如果没有f o r 语句,h 语句将会产生一个带有所有变量绑定的 元组;w h e r e 语句适用于由f o r 语句和k 语句产生的元组,w h e r e 子句为f o r 和l e t 子句生 成的变量绑定的元组做过滤器服务,该子句是可选的;o r d e rb y 子句具有指定次序的功能, 它提供“a s c e n d i n g ”及“d e s c e n d i n g ”分别代表升序及降序,供使用者择定排列的方向;r e t u r n 语句包含一个被用于生成f l w o r 表达式结果的表达式。 2 2 x m l 与数据库 随着越来越多的机构和系统在它们的信息管理和交换策略中使用x m l ,数据管理问题 就凸现出来了。在应用中,可以把相关的x m l 文档放在一个目录下,利用文件系统进行管 理,提供查询、更改、增删等操作。但是,如果从更高的技术角度出发,对x m l 文档筒单 的文件管理是远远不够的:低效的存储组织和索引查询技术,不提供事务和安全恢复机制, 无法保证数据的完整性和一致性,没有并发控制等。 数据库产品供应商已经对这些新的数据和信息管理需求做出了回应。大部分商业的关系 型。对象关系型和面向对象型数据库系统提供了扩展、插件以及其他方式以支持对x m l 数据库的管理。除了在现有数据库管理系统中支持x m l 外,n a t i v ex m l 数据库也出现了。 7 东南大学硕士学位论文 它们的设计目标是可以直接存储、获取和操作x m l 数据,并且集成了其他相关技术。 2 2 1 国内外研究现状 所谓数据库就是一组相互有关联的数据集合。而x m l 数据库是个x m l 文档的集合, 这些文档是持久的并且是可操作的。目前x m l 数据库有三种类型【1 4 l :x m l e n a b l e d a t a b a s e ( x e d b ) ,n a t i v ex m ld a t a b a s e ( n x d ) 和h y b r i dx m ld a t a b a s e ( h x d ) - 下面分别介绍 这三种数据库: 1 ) x m l e n a b l e d a t a b a s e ( ! d b ) ,即能处理x m l 的数据库。其特点是在原有的数据 库系统上扩充对x m l 数据的处理功能,使之能适应x m l 数据存储和查询的需要。 x e d b 或者将x m l 转换成二维表的形式进行存储,或者将x m l 作为一个整体 ( b l o b c l o b 对象博储到数据库中。将x m l 数据作为一个整体存储,不能很好地解决对 x m l 数据的查询与更新问题。研究成果”4 刀说明了如何将x m l 文档映射并存储到关系数 据库,主要采用以下流程:以d t d ( 结构映射) 或者x m l 文档的树形结构( 模型映射) 为 基础,首先建立关系模式;然后将与该x m l 文档转化为相应的关系元组,存入r d b m s 。 对x m l 文档的查询处理一般利用现有数据库成熟的技术,把x m l 查询要求转换为数据库 的查询表达s q l 查询,由数据库的查询引擎优化查询表达产生查询执行计划并执行, 最后再将查询的结果转换为x m l 。 x e d b 的优点在于,它充分利用现有的传统关系数据库的资源和技术,实现上的工作量 相对比较小。它也有很多缺陷:存储前后的转换工作很烦琐;为了清除半结构化数据与二维 数据之间的差别,转换工作使原有的半结构数据部分信息丢失;转换后,在很多情况下很简 单的x m l 查询需要很多s q l 语句查询以及自连接,并且数据检索的结果不能保证是原始 的x m l 形式。 2 ) n a t i v ex m ld a t a b a s e ( n x d ) ,即原生x m l 数据库,其特点是以自然的方式处理 x m l 数据,以x m l 文档作为基本的逻辑存储单位,针对x m l 的数据存储和查询特点专门 设计适用的数据模型和处理方法。 r o n a l db o u r r e t 在“x m la n dd a t a b a s e s ”一文中给出有关n x d 的定义f ”l 。一个n a t i v e x m l 数据库是指,相对于x m l 文档中的数据,定义了x m l 文档的逻辑模型,并且按照 该模型来存储和检索文档。这样的模型至少应该包括元素、属性、p c d a t a 以及文档顺序。 x p a t h 模型以及由d o m 和s a x 中的事件所隐含的模型都是这类数据模型。就像关系数 据库以行作为表的逻辑存储基本单位一样,n x d 以x m l 文档作为n x d 的逻辑存储基本单 位。不要求有任何特殊的基本物理存储模型,它可以建立在关系的、层次的或面向对象数 据库之上,或者使用诸如索引文件、压缩文件之类的专门存储格式。 随着对n x d 的认识与技术的发展,人们对上述第三点提出不同的意见。n x d 系统是 用来处理x m l 数据的,而不仅仅是在任意数据模型的数据库系统之上附加一层对x m l 的 8 一 第2 章x m l 与数据库 处理。将x m l 映射到另一种数据模型常常引起“阻抗失配”【2 7 】,并导致功能和性能上的局 限,因此n x d 必须直接存储x m l 数据,一般采用层次数据存储模型,保持x m l 文档的 树形结构,省掉了x m l 文档和传统数据库的数据转换过程。 n x d 的优势在于: 能有效地利用存储空间,x m l 数据是半结构化的数据时,如果将其映射到关系数 据库,结果是要么出现大量空值( n u l 0 的字段,要么表格的数量过多,浪费空间或 效率低下; 查询效率的提高,n x d 对整个文件一起进行物理存储,和指向文件各个部分的物 理( 而不是逻辑) 指针可采用同一存储策略,这就可以不使用连接( j o i n s ) 或只使用物 理连接读取文件,无论哪种情况都比关系型数据库所用的逻辑连接要快; n x d 大都支持最新的x m l 技术标准。 然而,n x d 在技术成熟度上还无法与关系数据库抗衡,相应的支持人员和文档资源都 比较少,应用范围仅限于x m l ,企业如果采用n x d ,相当于引入了一种新型的i t 架构, 这种架构的集成能力、对企业技术人员技能的要求以及未来的持久性生命力还不确定,给企 业的i t 系统应用留下很多隐患和风险。 3 ) h y b r i dx m ld a t a b a s e ( h x d ) ,即混合x m l 数据库。根据应用的需求可以视其为 x e d b 或n x d 的数据库。 2 2 2 国内外主流数据库系统对x m l 的支持 在工业界,各主要关系数据库厂商m md b 2 ,o r a c l e ,m ss q ls e r v e r 和s y b a s ea s e 都有相关产品提供对x m l 的支持。 i b m 最近发布的代号为“v i p e r ”的d b 29 是“混合型”( 即多种结构的) 数据库管理系 统“,”,为用户提供同时处理关系数据和x m l 数据的强大支持。用户可以用一个数据库对 象同时管理“传统的”s q l 数据和x m l 文档。d b 2 的每个表可以包含一个或多个新的x m l 数据类型的列,表中允许自由地混合存储传统s q l 数据和x m l 数据。物理存储采用一种 经过解析的格式来存储和操作x m l 数据,保持原始x m l 文档的层次结构。d b 2 支持使用 s q l 或x q u e r y 搜索x m l 数据,可以编写一个查询同时搜索和处理这两种数据形式。其他 的对x m l 的支持包括对熟悉的管理工具的扩展,例如,备份和恢复设施( 包括用于故障恢 复的高可用性数据复制) 都支持x m l 列中存储的文档。另外,d b 2 对它的各种编程语言接 口进行了增强,从而支持轻松地访问x m l 数据,这些增强覆盖j a v a ( j d b c ) 、c ( 嵌入式 s q l 和调用级接1 :1 ) 、c o b o l ( 嵌入式s q l ) 、p h p 和m i c r o s o f t 的n e t 环境。 o r a c l ed a t a b a s e1 0 9r i 由o r a c l ex m ld b l 6 i 提供“本原”的x m l 存储和检索技术。它 基于w 3 c 的x m l 数据模型,以x m l t y p e 类型在数据库中存储和管理x m l 文档,并提供 一9 - 东南大学硕士学位论文 一组方法和s q l 操作符对其进行x m l 操作,支持x q u e r y 查询、x p a t h 查询、x s l 格式转 换和x m l 模式校验,并支持x m l 模式演化,使开发者能根据应用需要改变x m l 模式。 o r a c l ex m ld b 还提供x m l - s q l 对偶性,既可在s q l 数据上执行x m l 操作,也可在x m l 数据上执行s q l 操作。x m l 文档集以自然的文件度件夹u r l 形式进行组织和管理,这些 文档可由s q l 和p l s q l 直接访问,也可通过标准的i n t e m e t 协议f t p ,w e b d a v ,h t f p 进行存取。通过基于s q l x m l 的视图、信息库和文件夹分层组织特性的联合,数据能够以 x m l 格式直接用于应用程序。 s q ls e r v e r2 0 0 5 支持x m l 类型和x m l 模式校验,并通过x m l 类型的方法和函数来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年精准提升普高生技能应用练习集
- 2026年安徽单招乡村医生定向培养专业考试常见症状鉴别模拟题含答案
- 2026年物流行业突发事件的应急处理多选题库
- 2026年上海军转干考试数量关系与资料分析速算技巧
- 2026年职业教育东西协作行动计划题库
- 2026年深圳市公安局警务辅助人员招聘面试题及思路点拨
- 2026年山区道路驾驶三力测试练习题
- 2026年固收面试快速掌握收益率曲线的方法
- 2026年市场营销专业笔试营销策略题
- 2026年支委会建设与议事规则学习要点考核题库
- 凯迪拉克汽车-车主讲堂-夏季养护
- QMS-GC03.014-2014a品质刚性管理办法
- 《中国工业和信息化可持续发展报告2022》-24正式版
- 政务信息写作技巧课件
- CNG加气站知识培训课件
- 钻孔灌注桩施工安全控制培训教材课件
- 2021年中国戏曲学院辅导员招聘笔试试题及答案解析
- 机械制图说课(刘力)课件
- 轴承失效分析PPT
- DB11T 842-2019 近自然森林经营技术规程
- (完整word版)中国叙事学_杨义
评论
0/150
提交评论