已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关系模式下x m l 数据存储策略研究与实现 硕士研究生:杨海波指导老师:董逸生( 教授) 东南大学 提要 x i v l l 正逐渐成为互联网数据呈现和交换的新标准。因为它己被人们接受并广泛应用于电 子商务、电子数据交换、电子图书馆等领域。随着x m l 文档的大量出现,如何对x m l 文档 进行有效的管理成为一个急需解决的问题。利用已有的关系数据库管理系统是个不错的选择。 但是,x m l 数据和关系数据是两回事。如何在关系模式下存储x m l 数据是当前的一个研究 热点。 本文的研究工作和贡献主要集中在以下几个方面: 1 对已有的关系模式下x l v f l 存储策略进行了科学的分类。通过分类,揭示了在模型 映射策略的研究方面有待解决的问题,从而使得研究工作的目标更清晰。 2 在前人的基础上,提出了一个新的x m l 数据模型x d g r m 。模型映射策略需要数 据模型的支持。x d g r m 直接支持对x i v l l 数据建模。实质上,它是一个以边为中 心的模型,面向关系,能很好地引导从x m l 数据到关系数据的转换。 3 在x d g r m 模型的基础上,提出了新的存储策略x e , d o e 及实现技术。x e d g e 策 略具有很好的可扩展性。 4 通过试验对比,在查询方面,相对于边表策略,x e d g e 策略具有很大的优势。 5 基于x e d g e 策略获得的关系数据,提出了改进搜索引擎的建议。 关键词:x m l ,关系,关系模式,存储,图,模型,策略 i 田l e 匝n t 汀1 0 nan ds t u d yo fx m es t o r a g e s t r a i e d yij n d e r r e a i j i o n a ls c h e 队 m a s t e rc a n d i d a t e :y a n gh a i - b os u p e r v i s o r :p r o f d o n gy i - s h e n g s o u t h e a s tu n i v e r s i t y a b s t r a c t x m li se m e r g i n ga san e wm a j o rs t a n d a r df o rr e p r e s e n t i n ga n de x c h a n g i n gd a t ao l lt h e i n t e r n e t b e c a u s ei th a sb e e na c c e p t e da n da p p l i e dt om a n yf i e l d ss u c ha se - c o m m e r c e ,e l e c t r o n i c d a t ae x c h a n g e ,e l i b r a r y , e t e h o wt om a n a g et h o s ex m ld o c u m e n t s ? i th a sb e c o m eab i gp r o b l e m a sm o r ea n dm o r ex m ld o c u m e n t sa r ea p p e a r i n g i ti san e a t i d e at ou s er e l a t i o n a ld a t a b a s e m a n a g e m e n ts y s t e m ( r d b m s ) b u t , x m ld a t aa n dr e l a t i o n a ld a t aa r ed i f f e r e n tt h i n g s h o wt o s t o r ex m ld a t au n d e rr e l a t i o n a ls c h e m ah a sb a 7 , o m eah o tt o p i cf o rr e s e a r c h i ti sn o ts oe a s yt os t o r ex m ld a t au n d e rr e l a t i o n a ls c h e m a a i m i n ga tt h i sp r o b l e m , m y c o n t r i b u t i o n sa g el i s t o da sf o i l o w s : 1 t oa d d r e s st h ep r o b l e mc o r r e c t l y , c l a s s i f ys t r a t e g i a si n t ot w og r o u p s a m o n gt h o s e s t r a t e g i e s , m o d e l - m a p p i n gs t r a t e g i e sa l ep r e f e r r e d 2 t bg u i d et h r o u g ht h ec o n v e r s i o nf r o mx m ld a t at or e l a t i o n a ld a t a , an e wg e n e r a lx m l d a t am o d e lh a sb e e np r o p o s e d , w h i c hi sb a s e do no t h e rm o d e l s 3 t oi m p l e m e n tt h ec o n v e r s i o n , an e ws t r a t e g yh a sb e e np r o p o s e d i ti sb a s e do nx d g r m 4 t of o c u so nt h ee f f e c t i v e n e s so fs t r a t e g ym o d e l si nt e r m so fq u e r yp r o c e s s i n g , a n e x p e r i m e n th a sb e a nd o n eo nx m a r k d a t as e t a sar e s u l t , t h ex e d g es t r a t e g yi s s u p e r i o r t ot h ee d g es t r a t e g y 5 t ba p p l yt h ex e d g es t r a t e g y , n ”s u g g e s t i o n sh a v e b e e nm a d ef o ri m p r o v i n g t r a d i t i o n a ls e a r c he n g i n e s k e yw o r d s :x i v i l ,r e l a t i o n , r e l a t i o n a ls c h e m a , s t o r a g e ,g r a p h ,m o d e l ,s t r a t e g y i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 日期;型:! :7 第一章绪论 1 1 引言 第一章绪论 x m l 1 正逐渐成为互联网数据呈现和交换的新标准。像h t m l 2 1 一样,x m l 提供标签和层次化的结构 来呈现文档。但是,h t m l 主要关心的是一个数据项如何被显示,而x m l 关心的是如何描述一个数据项。 x m l 用自定义的标签来描述自己的数据。x m l 正在兴起一场新的w e b 革命。 据调查,x m l 已被人们接受,广泛应用于电子商务、电子数据交换、电子图书馆等领域。粗略地讲, x m l 被应用于两类场景中。 场景l 由于x m l 是s g m l t 3 j 的一个子集,继承了s g m l 的许多特性,因此,它的一个主要应用是呈 现文本文档。为了减少复杂度,也为了在w e b 更容易的传播,现在,许多s g m l 文档被转换为x m l 文 档。这样,x m l 的现实意义不仅方便了数据的交换和集成,更有利于w e b 搜索。因为,x m l 不仅包含 了内容,也包含了结构信息。与传统关键词搜索相比,结构和内容相结合的搜索给用户提供了更理想的查 询和更精确的结果。 场景2 随着w e b 的发展,越来越多的公司在利用互联网做生意。x m l 正逐渐成为生意伙伴之问的 数据交换标准,也是异构数据源之间的数据交换标准。 随着x m l 文档的大量出现,如何对x m l 文档进行有效的管理成为一个急需解决的问题。也就是说, 用什么样的技术来管理x m l 文档。是用新技术,还是已有的技术? 同时,不得不考虑这样一个现实问题: 许多公司严重地依赖于传统的数据库技术,尤其是关系数据库技术。也就是说,大量的商业数据是以关系 模式存在的。x m l 与关系数据库技术的结合是不得不面对的问题。 1 2 主要研究内容 本文主要对关系模式下x m l 存储策略进行了深入研究 本文的主要研究内容及组织如下: 在“第二章”部分,研究了x m l 及相关技术。总结了国内外研究动态,指出了存在的问题,提出了 本人在本课题上的主攻方向。 在“第三章x m l 数据通用参考模型( x i ) g r m ) ”部分,研究了已有的与模型映射策略相关的x m l 数 据模型。在此基础上,设计了一个直接支持x m l 数据建模的、面向关系的x m l 通用数据模型。 在“第四章x e d g e 策略”部分,利用x d g r m 模型,提出了新的模型映射策略来存储x m l 数据, 并实现了该策略。 在“第五章试验对比”部分,准备了专门的x m l 测试数据集,对比了边表策略和x e d g e 策略,确 认了本文提出的策略的优势。 在“第六章改进w e b 搜索引擎的建议”部分,介绍了x e d g e 存储策略的实际应用。通过x e d g e 提供的x m l 语义信息,改进索引词的权重,使得搜索引擎支持对x m l 信息的检索,并提高检索的精确 度。 在“第七章总结与展望”部分,总结了本人的论文工作,同时也指出了存在的问题和不足。 1 3 本文的主要贡献 如何利用关系数据库技术来存储x m l 文档关键在于存储策略的研究。目前,国内外都对关系模式下 l 东南大学硕士学位论文 的x m l 存储策略进行了大量的研究“删口2 1 1 2 4 1 2 5 1 1 2 6 1 2 7 l 嘲 1 2 9 】啪肼j 州【” 关系模式下沮。数据存储策略的研究源于s t o r e d ( s e m i - s t r u c t u r e dt or e l a t i o n a ld a t a ) 策略。这 一策略的借鉴意义在于,充分挖掘咀数据的信息,提高查询效率。在s t o r e d 策略之后,大体上形成 了两种研究策略:结构映射策略( s t r u c t m m a p p i n gs t r a t e g y ) 和模型映射策略( m o d e l - m a p p i n g 触g y ) ”1 。 总体而论,结构映射方法在查询效率和外存储空间上要优于模型映射方法,但后者的应用范围广。 本文主要贡献在于:罗列并归类了x m l 存储技术领域已有的存储策略。在已有模型映射策略研究的 基础上,设计了一种直接支持3 g v l 数据建模的、面向关系的x m l 通用数据模型。同时,利用新建的模 型,提出了新的模型映射策略来存储x m l 数据。通过试验对比。确认了本策略的优势。本文对策略中的 不足之处进行了剖析,并提出了可能的发展及改进方向。 2 第二章国内外研究动态 第二章国内外研究动态 这一章中,将综合论述国内外与本课题相关的研究动态,指出存在的问题,并提出自己的主攻方向。 本章余下部分的安排如下:2 i x m l 、x m l 数据模型和x m l 查询,介绍了与本文相关的x m l 核心特 征。2 2 x m l 存储技术,明确课题和研究范围。2 3 国外动态,综合近十年来的研究成果,对它们进行了科 学分类。2 4 国内动态,重点介绍了结构映射策略。2 5 存在的问题,指出了各种策略的不足。2 6 本论文 的主攻方向,明确研究的重点是模型映射策略。 2 1 l 、x m l 数据模型和x m l 查询 在计算机的发展史上,人们发现如果a s c h 文本被标记上标签,那么机器就容易处理它。遵从共同标 准的文档的出现,使得不同的用户之间交流非常方便。 x m l 是一种标记语言。更准确的说,它是一种元标记语言。它允许用户为不同类型的文档创建不同 的标记集合。x m l 是w 3 c ( w o d dw i d ew e bc o n s o r t i u m ) 为w e b 应用而设计的一个s g m l 的简单子集。 它的主要目的是便利不同系统之间的数据交换,尤其是通过互联网的数据交换。 2 1 1x m l 文档 x m l 文档具有一种层次化的格式,被用于互联网上呈现信息和交换数据。一个x m l 文档从根元素开 始,由嵌套的元素结构组成。每一个元素都有一个标签。除了嵌套元素外,一个元素可以有属性值对或子 元素或两者都有。图1 描述了一个系( d e p a r t m e n t ) 的信息。在这个文档中,一个系是学生的集合。同时, 一个学生由姓名、学号和所注册课程等信息组合而成。系由元素 来表示;它以根元素的形式出现。 这个系有一个属性“d e p t ”;它唯一地与其他元素区别开来。每个学生也有一个属性“”。所有id s t u d e n ti d 的学生以这个属性为排序的依据,值小的被排在文档的前面。文档的第一行不是元素,而是处理指令 ( p r o c e s s i n gl n s t r u c t i o n ) 第二行也不是元素,而是文档类型声明( d o c u m e n tt y p ed e c l a r a t i o n ) 。文档类型 声明包含或指向标记声明( m a r k u pd e c l a r a t i o n s ) 。文档类型声明可以指向包含标记声明的外部子集或直接 包含标记声明的内部子集,或同时包含两者。标记声明提供了文档类的语法。这个语法就是通常所说的文 档类型定义( d o c u m e n t t y p ed e f i n i t i o n 或d t d ) 。 ! d o c t y p ed e p ts y s t e m d e p t d t d s t l c s l 0 c s 2 0 s t 2 图1 一个x m l 文档的例子 d t d 描述x m l 文档的结构,类似于x m l 文档的模式。一个d t d 文件通过指定子元素和属性的名字 3 东南大学硕士学位论文 定义元素的结构。同时,通过操作符“”( 包括空对象的集合) 、。+ ”( 至少包含一个对象的集合) 、“? ”( 可 选) 和“l ”( 或) 指定子元素的结构。除了指定类型为“a n y ”之外,所有的值都是字符串类型的。“a n y ” 的含义是它代表的值可是任意的x m l 片断。每一个元素可以有多个属性;属性之间的位置关系是不重要 的。每个元素可以有一个特殊的“”类属性;它在同一个元素中只能出现一次。这个属性在x m l 文档 范围内唯一地指定了这个元素,从而这个属性所在的元素可以通过特定“i d r e f ”类属性被另一个元素引 用。在d t d 文件中并没有指定谁是根元素。在创建遵从这个d t d 定义的x m l 文件时。根元素被最终唯 一指定。而x m l 文档里的根元素可以是d t d 文件中定义的任何一个元素。 ! e l e m e n td e p t ( s t u d e n t b ! e l e m e m ts t u d e n t ( n a m e , e n r o l l p 图2d t d 文件( d e p t d r l ) 图2 显示了一个d t d 定义。它为菜类x m l 文档定义了元素的结构。也就是说,用户可以根据定义 创建许多不同的x m l 文档。而图1 中的x m l 文档就是遵从了这个d t d 定义的文档。从d t d 定义中可 以看出,元素“d e p t ”的子元素的标签只能是“s t u d e n t ”但是,一个系可以由零个或多个学生组成。元 素“d e p t ”有且仅有一个“i d ”类属性“d e p ti d ”。元素“s t u d c n t ”有“n a m e ”和“e n r o l l ”子元素,有 且仅有一个“i d ”类属性“s t u d e n ti d ”。元素“n a m e ”和“e n r o l l ”没有子元素。标记“# r e q u i r e d ”指 示如果创建遵从这个d t d 的x m l 文档时,相应的元素出现,那么这个属性必须出现在这个相应的元素中。 标记“# p c d a t a ”指示元素内容的类型,这里的x m l 字符串是经得起语法检查的。 x s :c o m p l e x t y p cm i x e d = ”t r u e ”b k s 仃抽g ) ) ) + a b b r e v i a t e d s t e p :f ”i ”i ( ” s t e p q u a l i f i e r s ) r a n g e e x p r :# p r i m a r y e x p r t o ”p r i m a r y e x p r p r i m a r y e x p r :v a r i a b l e l i t e r a lf u n c t i o n c a l i 图4 x p a l h 的形式定义 建立在上面的语法基础之上,本文给出了一些核心的路径表达式操作,如图5 。 下面考虑一个对具体的x m l 文档( 如图1 ) 的查询。查询的要求是选择所有注册了“c s i o ”课程的 学生的名字。这个查询用x q u e r y 语言来描述,如图6 。f l w r 是f o r - l e t - w h e r e r e t u r n 的缩写。首先。 每一个学生( s t u d e n t ) 都与变量$ s t u d v n t 绑定( 第一行) 。其次,只有那些注册了课程“c s l 0 ”的学生才 会被选中( 第二行) 。这里通过x p a t h 路径表达式导航到“e n r o l l ”元素,然后判断它的值是否为“c s l 0 ”。 最后,被选中的学生的名字被输出剑新建立的x m l 元素内部。 5 东南大学硕士学位论文 1 p a r c n t - - c h i k le 舀,d e p t s t u d m t 2 m w , e s t e r 蛐e 辱,d e p t n m 3 b r a m h 嘻e 吕d 雕伽畦r 吐【蚓n 妇m 4 q d 醯唱e 骱鼬畦州习 5 t e x t u a ls e a r c h e g , c s l 0 图5x p a t h 的部分核心操作 2 1 3w 3 c 推荐的x m l 数据模型 f o r $ s t u d e n t 缸d e p t w h e r e $ s t u d e n f f e n r 0 1 1 = s 1 0 ” r e t u r n $ s m d e n t n a m e 图6 x q u e r yf l w r 表达式 这一节,对上一节提到的x m l 数据模型迸行补充说明。 尽管元素引用是存在的,w 3 c 推荐的x m l 数据模型是一个树模型,而不是图模型。因此,一个n m l 2 1 4 小结 图7 w 3 c 推荐的x m l 数据模型实例 文档在逻辑上被描述为一棵 树实例。一个m 。文档的根 元素就是一棵树的根;元素与 子元素的关系变成了树节点 之间的父子关系。l d s 和 i d r e f s 被当作一般的元素来 处理。图7 是图1 的w 3 c 推 荐的x m l 数据模型实例。 到目前为之,本文介绍了与本课题相关的由w 3 c 组织定义的x m l 核心特征。当然,有关x m l 标记 语言的更多特征不是本文所能完整描述的。本文认为,良构性、有效性、实体引用、注释、处理指令等特 征是一些“边缘”特征而已。在核心数据装载入关系数据库前,可以由解析器处理。核心x m l 数据载入 关系数据库正是本文研究的落脚点。 2 2x m l 存储技术 2 2 1x m l 的应用 回顾自1 9 9 6 主导全球信息网( w o r l dw i d ew e b ,w w w ) 技术规范的w 3 c 组织投注有关资源和人力致 力于x m l 规格的发展,并在1 9 9 8 年2 月正式公告x m lr e c o m m e n d a t i o n1 0 版的规格以来,x m l 无疑成 为信息技术与电子化应用领域热门的话题。自x m l 正式规格公告7 年多以来的发展和变迁可谓日新月异。 x m l 正逐渐成为互联网数据呈现和交换的新标准。像h t m l 一样,n m l 提供标签和层次化的结构来 6 l f l ;i i i 防l i i 矿耋3li墩 第二章国内外研究动态 呈现文档。但是。h t m l 主要关心的是一个数据项如何被显示。而x m l 关心的是如何描述一个数据项。 x m l 用自定义的标签来描述自己的数据。正是,x m l 文档的这种自描述特性使得它成为一种很好的信息 无损描述语言。同时,一个程序去解释用x m l 描述的信息成为可能。因此,x m l 正在兴起一场新的w e b 革命。 据调查,x m l 已被人们接受,广泛应用于电子商务、电子数据交换、电子图书馆等领域。 2 _ 2 2 存储策略 随着x m l 文档的大量出现,如何对x m l 文档进行有效的管理成为一个急需解决的问题。也就是说, 用什么样的技术来管理x m l 文档。是用新技术,还是己有的技术? 其中,选择何种存储策略或设计某种 存储策略也是一个非常重要的问题。因为,面对同一种查询语言,或面对同一个查询语句,不同的存储策 略将获得不同的查询效率。 目前,人们己提出了多种不同的存储羡略。这些策略,根据不同的底层系统,可以分为以下三类: 1 、文件系统策略 这种策略也可称为文本方法( t h et e x ta p p r o a c h ) 【l ”。它利用文件系统,把每一个x m l 文档保存在 一个文本文件中。那么,如何在这一策略的基础上实现查询引擎呢? 一种方法是,解析整个x m l 文档, 以树的形式驻留内存。查询便建立在这棵树上。人们发现解析时间统治了整个查询执行时间,效率低得让 人无法接受。为了改进这一方法,人们引入了索引技术。针对x m l 文档的特点,人们建立了路径索引( t h e p a t h i n d e x ) 和值索引( t h e v a l u e i n d e x ) ,以方便路径和谓词查询。事实证明,采用了索引技术的查询引擎 极大地提高了查询效率。遗憾的是,如果对x m l 文档进行更新,这些索引的维护变得很困难。 2 、新的数据库系统策略 这种策略的基本思想是,首先建立新的数据模型;在此基础上建立新的数据库管理系统。这就意味着 需要重新考虑存储、索引、查询、事务管理、恢复等技术。目前,人们集中在两种模型上进行新的数据库 系统策略的研究。它们分别是对象模型( 0 0 m o d e l ) 1 1 6 1 和半结构化模型( s e m i s t r u c t u r e d m o d e l ) p 7 1 。哳e 【1 7 】、 t a m i n o 1 s l 、r u f u s 、s 仃1 l d e l 【2 0 1 就是这样一些开发半结构化数据模型特征的专门数据库管理原型系统。对 象数据模型与半结构化数据模型非常相似。但是,面向对象数据库管理系统( o o d b m s ) 应用还不广泛。 3 ,关系模式策略 这种策略的基本思想是,把x m l 标记的数据放入一定的关系数据模式( r e l a t i o n a ld a t as c h e m a ) 中, 从而利用这个数据模式对这些数据进行管理。 通过几十年的研究和发展,关系数据库技术现在已经很成熟了。关系数据库管理系统( r d b m s ) 被 广泛应用于结构化数据的管理。x m l 不断上升的重要性给关系数据库管理系统的提供商提供了新的机会。 事实上,主要的d b m s 提供商( 如i b m 、m i c r o s o t t 、o r a c l e ) 投入了大量的资源去改善它们的系统,使得 系统支持半结构化的x m l 数据。人们对关系数据库技术与x m l 的结合如此感兴趣。原因是多方面的。 1 、学术机构的贡献 许多学术机构及其研究者对使用关系数据库管理系统来存储和处理x m l 文档非常感兴趣,并投入了 大量的精力。 2 ,社会和经济的原因 想象一下一个长期使用r d b m s 管理信息和数据组织。这个组织投入了大量的人力、物力和财力去管 理这个数据库系统。处于商业目的,这个组织必须以x m l 的形式发布关系数据。同时,来自商业伙伴的 x m l 格式的数据必须被有效的保存和管理。如存入自己的关系数据库系统。如果要组织个x m l 系统。 下面的两种情况是显而易见的:一是同时搜索这两种类型的数据:二是利用已有数据库管理系统。 3 、技术的原因 为了解释这个原因,有必要知道为什么首先出现的是关系数据库管理系统。回到1 9 7 0 年。c o d d 提出 了关系模型口”。从此掀起了一场数据库技术的革命。c o d d 的关系模型简单而强大。说它简单是它抓住了 基本的操作集。在这个操作集上强大而复杂的查询能够被解析。简单的操作使得高效的实现成为可能。关 系模型的强大反映在它的逻辑数据独立性上。也就是说,层次和网状模型可以用关系来表示并且可以用关 7 东南大学硕士学位论文 系模型的操作重构它们。物理数据的独立性是另外一个优点。也就是说,用户可以用描述性的语言定义查 询语句,由数据库系统自动负责物理存储和访问。 几十年以后,关系方法已无可争议成为数据管理的主要方法。关系数据库系统在存储、访问控制、查 询处理和优化方面的技术已相当成熟。对一个组织来说,如果事务处理、可恢复性和安全对它来说是很重 要的,那么r d b m s 是它的不二选择。 除了上面的几个原因之外,新的数据库技术( 如为x m l 专门研制的数据库引擎) 又不成熟。那么, 在可预见的将来,用关系方法和当前的数据库管理系统来存储x m l 文档是不得不认真研究的。 既然要研究关系数据模式下的x m l 存储策略,关键要解决以下的问题:关系模式下的x l v i l 存储可 行吗? 关系模式下的x m l 存储策略有效吗? 通过总结课题方向至少l o 年以来的国内外动态得知后一个问 题仍旧没有得到最终解决。本人希望通过本文的工作对这一问题的最终解决贡献自己的力量。 2 3 国外动态 在可预见的将来,大量的x m l 数据会存储在关系数据库中。x p a r e n t 2 2 】认为,当要把x m l 数据存储 在商业数据库管理系统里时,为存储x m l 数据而进行存储模型设计的问题就变成了数据库模式的设计问 题。 关系模式下x m l 数据存储策略的研究源于s t o r e d ( s e m i - s t r u c t u r e d t or e l a t i o n a ld a t a ) 策略。 2 3 1s t o r e d 这一策略的基本思路是:从分析x m l 数据出发,利用数据挖掘技术抽取模式;接着通过自己建立的 s t o r e d 查询语言把抽取的模式映射为关系模式,并把x m l 数据聚集到确定的关系模式中。 如何获得到有效的关系模式是一个非常关键的问题。s t o r e d 在w l sd a t a - m i n i n g a l g o r i t h m 驯算法的 基础上,综合考虑了目标应用程序的任务等因素设计了一个启发式算法。 为了数据的完整性,如果有数据不能进入关系模式,就把它存入溢出图( o v e r f l o w g r a p h ) 。 这一策略尽管有模式映射过程,但它不是基于结构的。因此,它是不需要x m l 模式文件的。事实上, 这一策略的模式映射过程是建立在半结构化的数据模型基础之上的。 这一策略的借鉴意义在于,充分挖掘x m l 数据的信息,提高查询效率。 在s t o r e d 策略之后,大体上形成了两条研究路线:结构映射策略( s t r u c t u r e - m a p p i n gs t r a t e g y ) 路线 1 2 4 】口5 1 1 2 6 l 印1 和模型映射策略( m o d e l - m a p p i n gs t r a t e g ) ) 路线b 1 | ”1 1 2 8 】口9 】p o 】。前者是在诸如d t d 、x m ls c h e m a 图8 x m l 的结构类型模型 8 等模式文件的帮助下,在没有预定 义关系模式的前提下进行x m l 到 关系的模式转换。后者的思路是, 先建立一个数据模型,在没有模式 文件的帮助下,根据模型的特点和 查询的任务,预先定义一个关系模 式。 2 3 2 模型映射策略 下面对结构类型模型策略、边 表策略分别进行讨论。 l 、结构类型模型策略 c _ f f a v e 3 0 提供了这种策略。首 先,每种原子结构类型都有对应的 第二章国内外研究动态 表,如,元素对应元素表。接着,用一个关系表存储元素与它们的组成部分( 子元素或字符数据) 之间的 父子关系。为了实现引用查询和跨文档查询还可增加链接表。从图7 和图8 的对比中可以看出,它提供 的x m l 数据模型与w 3 c 推荐的x m l 模型类似。它们都是以节点为中心的x m l 数据模型。所不同的是, 属性不在图中,而以列表的形式表示。 图9 是这种策略预定义的规范化关系逻辑模式。 对重要关系的简要说明如下:元素关系表提供一种方法,可以从叶结点向上回溯到根节点。元素关系 表和孩子关系表的结合提供了双向路径搜索。孩子关系表不仅用于区别要素类型元素和字符数据。还可用 于扩展当前模式( 如扩展原子结构类型) ,来实现与其他x m l 要素( 例如注释) 的互操作。 图9 结构类型模型策略预定义的关系模式 该策略的优点是,查询原子结构数据非常直接、方便和灵活。 当然,它也是有局限的,因为当它把文档完全分解为原子组成部分时,它丢失了数据类型信息( 可能 是x m ls c h e m a 提供的信息) ,并且没有利用x m ls c h e m a ( 或d t d ) 表明的结构信息。另一方面, 整个文档的重构,代价很大。 x r e l p l 也提供了一种面向节点的策略。 2 、边表策略口” 它是种典型的模型映射策略。边表策略首先给出了一个类似o e m p q 的数据模型来表示没有模式定 义的x m l 文档。因此也把称它为基于属性和属性值的映射策略。这个模型是不同于w 3 c 推荐的x m l 数 据模型的。首先,它是一个图数据模型。并且,它是一个在以边为中心的图数据模型。图1 0 就是一个x m l 文档实例( 图1 ) 的边表策略数据模型。 这一策略的预定义关系模式如下: 9 东南大学硕士学位论文 e d g e s ( s o u r c e ,o r d i n a l ,舢e ,f l a g , 协l 罾吒v a l u e ) 其中,由 形成主键。 边表策略的特点是x m l 数据的有向图信息被保存在一个单独的边表中;表中每一元组对应有向图中 的一条边。 图1 0 x m l 边表模型实例 图l o 对应的e d g e s 表如表 l 边表( 不考虑节点1 1 和 1 2 ) 。 在边表的基础上,通过不断 地分割或连接,可以形成很多变 种。 水平分割可以形成多个值 内嵌的属性表( a t t r i b u t et a b l e s w i t hv a l u e - i n l i n i n g ) 。它的关系 模式如下:a ( s o u r c e ,o r d i n a l , f l a g , t a 蚋v a l u e ) 其中,由 形 成主键。 垂直分割是为了把结构和 值分开。它的关系模式如下: e d g e s ( s o u r c e , o r d i n a l , n a m e ,f l a g , t a r g e t ) v 噼( r i d ,v a l u o 其中,值类型( t y p e ) 可以是字符串( s t r i n g ) 、数值( i n t ) 。 对所有的属性表进行连接可以形成通用表( u n i v e r s a lt a b l e ) ,它的关系模式如下: u n i v e r s a l ( s o u r c e ,o r d i n a l n l ,f l a g 1 ,t a r g 嘞l ,o r d i n a l n 2 ,n a 趾,t a 唱e t 2 o r d i n a l s , ,f l a 舀岫t a r g e t 止) 边表策略的研究说明了一个简单的策略也可获得很好的性能。总的来说,值内嵌的属性表策略是最优 的。 表1 边表 s o u r c e t a g o r d i n a l t a r g e tf l a g v 甜u e & 0 d e p t l& 1 r e f n u l l & l d e p t _ i d 1& 2n m d e p t l & ls t u d e n t3& 3r e fn u l l & ls t u d e n t3& 4r e fn u l l 3 s t u d e n t _ i d 1& 5a t t r“1 2 3 ” & 3n a m e2& 6c d a t a“s t l ” & 3e n r o l l3& 7c d a t a“c s lo , & 3e m o l l4& 8c d a t a c $ 2 0 4 s t u d e n t _ i d l& 9a t t r“1 2 4 ” 4 n a n l e 2 & 1 0c d a t a “s t 2 ” m o n e t l 2 9 1 是另一个边表策略的变种。 小结:尽管以节点为中心的x m l 数据模型和以边为中心的x m l 数据模型具有相通性。比如,结构 类型模型策略和边表策略在预定义的关系模式上有可转换性 3 0 1 。但是,与以节点为中心的策略相比,以边 1 0 第二章国内外研究动态 为中心的策略更有利于x m l 数据的查询9 0 j 。 2 3 3 结构映射策略 充分利用x m l 模式文件,并进行模式级的映射,是这一策略的特点。目前,研究者更多地是利用d t d 。 但它们的出发点不尽相同。有的人从d t d 蕴涵的语义出发进行研究;有的人从d t d 图出发,并在把它简 化后进行分析。共享内嵌策略( s h a r e d i n l i n i n gs t r a t e g y ) 是一种典型的结构映射策略。 s h a n m l 2 4 是x m l 与关系数据库结合研究的经典之作。它关注了两个层次的问题:底层的数据存取和 面向用户的查询语言转换。它对三个关键问题进行了详细研究:如何进行从x m l 数据到关系数据的模式 转换( s c h e m ac o n v e r s i o n ) ? 如何进行查询语言转换( q u e r yl a n g u a g ec o n v e r s i o n ) ? 如何转换关系数据 集为x m l 文档( c o n v e r t i n gr e l a t i o n a lr e s u l t st ox m l ) ? 整个的处理过程是这样的:首先,把d t d 转换 为关系模式;第二步,解析遵从d t d s 的x m l 文档,并把它们载入商业的关系数据库系统中;第三步, 把x m l 查询语句转换为s q l 查询语句:最后以x m l 的形式返回查询结果。整个过程可以用图来表示。 如图1 1 。 t d d “u ,m l lf l i 戳 r i a m d m a t i c :t r a n s l a t i o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西河池都安瑶族自治县招聘县属国有企业领导班子人员笔试历年常考点试题专练附带答案详解试卷3套
- 城乡污水设施一体化项目建设工程方案
- 2025国家能源投资集团有限责任公司高校毕业生夏季招聘186人笔试历年常考点试题专练附带答案详解试卷3套
- 第一单元写作《学习扩写》教学设计 2024-2025学年统编版语文九年级下册
- 2025中禹(福建)数字科技有限公司招聘2人笔试历年常考点试题专练附带答案详解试卷3套
- 2025年及未来5年市场数据中国废弃净化器行业市场发展现状及市场前景预测报告
- 供热网络设备选型与配置方案
- 单县公务员考试孟彬试题及答案
- 大城县公务员考试试题及答案
- 城乡公务员考试面试试题及答案
- 髋臼发育不良的全髋关节置换术PPT医学课件
- 48个英语音标表打印
- 道岔改道作业指导书
- 个人咨询服务合同个人咨询服务合同书
- 四川省2023年普通高等学校高职教育单独招生文化考试(普高类)英语试题(含答案解析)
- 全国“创新杯”电类说课大赛课件一等奖作品组合逻辑电路设计 (说课)
- LY/T 2565-2015竹塑复合材料
- GB/T 9120-2010对焊环板式松套钢制管法兰
- GB/T 679-2002化学试剂乙醇(95%)
- GB/T 22901-2008纸和纸板透气度的测定(中等范围)通用方法
- FZ/T 01057.1-2007纺织纤维鉴别试验方法 第1部分:通用说明
评论
0/150
提交评论