(计算机软件与理论专业论文)sxstore:支持关系查询的xml存储查询系统.pdf_第1页
(计算机软件与理论专业论文)sxstore:支持关系查询的xml存储查询系统.pdf_第2页
(计算机软件与理论专业论文)sxstore:支持关系查询的xml存储查询系统.pdf_第3页
(计算机软件与理论专业论文)sxstore:支持关系查询的xml存储查询系统.pdf_第4页
(计算机软件与理论专业论文)sxstore:支持关系查询的xml存储查询系统.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机软件与理论专业论文)sxstore:支持关系查询的xml存储查询系统.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要: s x s t o r e :支持关系查询的 x m l 存储查询系统 由于网络成用的快速发展,x m l 数据在w e b 上开始大量出现,它的存储 私查询技术己经成为一个重要的磷究方霹。率文在考察了弱嚣翡一些x m l 存麓 套询技术、o o d b 的研究工作以及关系代数的技术后,重点集中在使用对象集合 与关系缩含方式对予标准的关系代数进行扩展,定义一个新的代数系统并疆此考 察相关熟索弓| 技术和查询优化技术。 本文在对乎x m l 对象进行定义后,首先对乎系统使用的查询语言进行了定 义,提如了一个类s q l ( s e l e c t f r o m w h e r e ) 结构的查询语言。利用对象集 仑( s e t ) 的概念绫一定义了能够完整表达查询语义的演算系统,并利用演算系统考 察了查询语言中出现的语义表达的歧义问题。 文中根据关系代数的扩展定义了数锚库使丽豹代数系统。并裰掘定义的代数 系统考察了x m l 查询中特有的j o i n 操作的问题。为了提高部分焱询操作的效 率,我们定义了数据库的索引系统,并根据代数系统和索引结构对系统的查询优 纯润题( 主要零l 霜表达式变换翻索弓l 爰藏) 进弦了考凌。 最后,我们实现了一个可以进行结构化查询的x m l 存储的原型系统 ( s x s t o r e ) ,并给出了在一些大规模的数掘集上查询的测试数据以及部分豢询与 毛o r e 系统的黠毙。 关键字;x m l 存储奁询代数模型索弓 第3 页 s x s t o r e :ax m l q u e r ys y s t e ms u p p o r t i n g s t r u c t u r e dq u e r y a b s t r a c t a sw e ba p p l i c a t i o nb e c o m e sv e r yp o p u l a rn o w a d a y s ,t h e r ei sm o r ea n dm o r e x m ld a t ao nt h ei n t e r a c t 。a f t e rd e e p l yi n v e s t i g a t i o n0 nt h et e c h n o l o g i e sa b o u tt h e x m l s t o r a g ea n dq u e r y , o o d b ,a n dt h er e l a t i o n a la l g e b r a ,w eh a v ef o c u s e do n d e f i n i n gap r o p e ra l g e b r a f o rx m l q u e r ys y s t e ma n df i n d i n gs o m e u s e f u li n d e xa n d q u e r yo p t i m i z a t i o nt e c h n i q u e s i nt h i s p a p e r , an e wx m ls t o r a g es y s t e m ( s x s t o 嘲w i t has q l l i k eq u e r y l a n g u a g e ( s e l e c t f r o m w h e r e ) i s i n t r o d u c e d 。a f t e rt h ed e f i n i t i o no f l a n g u a g e , t od e f i n et h eq u e r ym o r e p r e c i s e l y , w ed e f i n e d ax m l o b j e c tc a l c u l u s w i t ht h eh e l p o f t h ec a l c u l u s ,w ed i s c o v e dap r o b l e ma b o u te x p r e s s i n gq u e r ym e a n i n g 。 t h em o s ti m p o r t a n tp a r to ft h ep a p e ri st h ea l g e b r a t h ea l g e b r ao ft h es x s t o r e s y s t e mi sd e f i n e do n t h es e ta n dt h er e l a t i o no f o b j e c t 。s o m ee q u a t i o n so f t h ea l g e b r a a r ea l s oe x p l a i n e d t os p e e du ps o m eo p e r a t o r s ,t h ei n d e xs t r u c t u r eo ft h es t o r a g e s y s t e mi sd e f i n e d t h eo p t i m i z a t i o ni se x p l o r e di nt w ow a y s :u s i n ge q u i v e l a n c eo f a l g e b r a a n d u s i n g i n d e x f i n a l l y , t h ei m p l e m e n t a t i o no fs x s t o r es y s t e m i si n t r o d u c e d t h es y s t e mi s t e s t e do ns e v e r a lx m ld a t as o u r c e si nl a r g es c a l e ,w h i c hs h o w e dt h ee f f i c e n c yo f t h e s x s t o r es y s t e m k e y w o r d s :x m l s t o r a g eq u e r ya l g e b r a i n d e x 第4 页 前言 x m l 录1h t m l 都炬技s g m l 数据格式演化出现的数据淡示格式。由予最初i n t e r n e t 发 腱中把瓤点放在信息的拦现上,h t m l 放弃了s g m l 定义中复杂柏数据定义,仅仅保留很 小憨掭然榘台蠲来定义数据蕊袭现形式+ 这静数据格戏| 夔蔷w w w 约发震嶷褥菲常流毒亍。 但是,随着一些新的应用开始程网络j :出现。比如电子商务等,各种应用终端和服务器之间 的数据交换变褥非常重要。丽髓,由予h t m l 数据擞弃了数据的臻掏信意,也使襻大量静 h t m l 格式的内枣只能通过全文检索的方式进行查询,准确攀根难德到提高。 丽x m l 则定义为一种可根据文档的内容需要以不同的方式米描述内部的格式承f 逻辑绡 平句的元语言( m e t 鑫l a n g u a g e ) 。遂种通臻酶、可扩展的穷法,餐褥x m l 具有 i 常太静使j l 藏 嗣,从文字处理、电子髓务到执议数据交换,x m l 的数据格式都具有非常犬的优势。同样, 剃用x m l 数据,我们可以使不同平台或受系统限制的软件能够彼此相互沟通。我们相信, 照菪电子褒势缝曩滚兴起嚣| 弼终售惑燮漉豹发展,x m l 格式豹数据糖越来趟多e 对予任何一种数据,当它的数据擞超过人力检索的能力范围后,必然要求计算机协助进 亍存储管理和套询。随潜x m l 数据的增多,它的存储和查询也就成为一个研究的热虎。x m l 数据的特点在予撼形鹣结均镶惑嚣不确定豹d t d 结构。第一个特点鸟o o d b 的研究特定非 常相似,我们希望能够从o o d b 的研究工作中得到一些启发这在后面的相关工作一章中 会宥谨缨貔夯鲻。 对予信惠韵存谴和捡索,爨翦最鬟婺和最成功的系缆应该是关系数据库系统。而关系数 据库之所以能够成为个最成功的应用最广泛的数据库,有一个最露骚的因潦就题有一个 非常筵缀奄效豹霞数系统( 【c 0 】) 寒表残数撂势淡这对数据戆掇终,这捞我 】坟在这 个系统止研究释种不同的查询优化技术。但r d b 存储对象是完全结构化的数据。x m l 则不 其有这令特点。对于x m l 静存储,我稻强雅拽出一个菲霈合遗静数学模燮,霹戳是鲎麓势 析查询的时间代价以及存储代价,并在此基础上探讨各种畿询优化技术。这篇论文将试圈 定义一个完整的代数系统,戳解趺这个问题。 关系代数审定义了泛关系援整,裰撂在这个模羹,我 l w 鞋把熬个鼗撂瘁筏为一张表, 然后对于关系中每个_ 元组的所有属性,可以进行查询( 仅用s e l e c t 就可以) 。对于不在同一 个元组中的数撼单元( 属性) ,则需鬻通过j o i n 搽作得到一个所裔冗组与所有元纽的笛卡 j l 乘积款表( 如此任掰嚣个数据单元之阀都露了关系) 囊壹询。罚梯对于不同豹嬲个x m l 文档( 或者文耥中的不同x m l 子树) 内的数据关联。当我们需要谢询时,也要避过j o i n 操作据健 f 】蔽嶷一起 ,这榉敲豹後 点是速度快,存储效率高;但缺点是要求存储的文档具脊相对较少和固定的 d t d ,否噩| j 蠹询效率会壹线下降。而鼠,获旺文档到r d b 模式的自动转换 也不够理想,有些仍然舞要人工干预。由于从羽络查询到的x m l 文档的d t d 可能缎复杂,也可能没有d t d 。所以这种方 去目前述不适含我们的系统的使用。 第9 页 x m l s q l 的套询语法简单的示例如下( p a n k o w s k i 0 2 ) : s e l e c tx 。b o o kx y e a r , y , t i t t e ,z 。p u b l i s h e ri n t oa n s w e r f r o m “b i b b o o k y e a r x 。“b i b b o o k t i t l e ”y “b i b b o o k p u b l i s h e r ”z w h e r ed b o v a l ( x 。y e a r ) 1 9 9 1a n dx b o o k = y , b o o k a n d x 。b o o k 。z ,b o o k 系统使用下面的表结构来存储x m l 数据: 表1 技学奎谗的露嫉,善先对手f r o m 子訇孛瓣瘊窍爨现过熬路径变量稳遥孛麓 结果寝,然后把每个路径变成一个构造成的关系表( 比如上面的例子中 b i b b o o k y a r 变成b i bb o o ky e a r ) ,这个套询靛会缀简萃静嶷成舞标准的s q l 紊 询。 多伦多火学芨腠的t o x i n 系统( 【t o x i n o l 】) 同样使用r d b m s 来存储x m l 文档匏数蘩器路径络梅。它采臻静方法楚筢d t d 路经孛静每条逡存褚藏菇一张 关系袭,同时对于所有的时子节点定义相对应的数据波,查询的时候根据这两种 关系表构造s q l 查询。 n i a g a r a ,a t & t ,y a t l w i s c o n s i n 大学发展的n i a g a r a 系统( 【( 3 2 0 0 1 】, s t r a t i s 2 0 0 2 ) 同样集中在 x m l 数据匏誊途( 定义7 对手x m l 数据秘操作符s e l e c t 、s o u r c e 、f o l l o w 等) + 这个代数系统与l o r e l 的系统楗似,着重在x m l 对象的嵌套路径的袭达和实 现上,对结构化查询没有足够的考虑。 y a t l ( d u e n t 9 8 ) 获数据交捺静角魔定义瓣粼,来完成不阔数掇类塑静包装。 后来农 c c s 中猩y a t l 的基础上定义了两个擞作:t r e e 翔b i n d ,把x m l 数 据转成为关蕉数据厝利用关系数据库处理查询,然后麓构成为x m l 形式的结果。 努辨豹z 终还鸯a t & t 我数系统( 【醚s w 】) ,类骰予编程谣言( 霹辩氇冬 x q u e r y 相似) 。使用循环结构对每个x m l 元綮进行处理。 第l o 黄 t a m i n o ,e x i s t ,t i m b e r ,o z o n e 目前已经有一些成功的商晶或开放源码的n a t i v ex m ld a t a b a s e 比如 t a m i n o 。e x l s t e x i s t ,x i n d i x i n d i e e ,o z o n e o z o n e 等。这些数据库丈 都使用x q u e r y 作为标准的查询语言,提供对于查询、更新等操作的支持,有的 数据库提供对于事务的支持。另外一些关系数据库也提供对手x m l 存储的支持, 比如o r a c l e 、d b 2 甾。 o o d b 农o o d b 豹壤域孛,骞缀多学者麸一定瓣代数系统出发对o o d b 避行了定 义。最初是对r e l a t i o n a l a l g e b r a 的扩充,如f i s h e r 和t h o m a s 提出的n e s t e d a l g e b r a 【f t 】等。他们圭器是宠义了新的代数操作符n e s t 稻u n n e s t ,对i # 第一蕊 式的关系数据库进行操作。在这个思想的基础上,出现了较多的代数系统,例如 a i m p i s t o r 8 6 、s q l n f r o t h 8 7 、p o w e r s e t 等等- 对于n e s t e da l g e b r a 也有很 多实现的原掇,翅 b h 9 7 。o o 数据蓐瞧寿一魑比较蔽爨匏囊韭产品,院翅0 2 , o b j e c t s t o r e ,v e r s a n t ,p o e t ,o b j e c t i v i t y 等。 黼l ( 【v a n d 鼢国e r g 】) 为主要的代数繇统所定义的代数操作符,其中v 为n e s t 操作德,娶为u n n e s t 操搀譬孥。 同时,为了能够支持复杂对藏的l i s t 集合和对教的操作,l e o n i d a sf e g r a r a s 和d a v i dm a i e r 等莉用毕群代数系统辩o o d b 滋行了定义( 见【f m 2 0 0 l 】, 【f m 9 5 】) 。定义中鼹要考惠对裂鼹操住以及慰象载榘会( s e t ) 和列表( | i 鼓) 懿 区别,而这始是x m l 对黎所没村的。但是对乎这些从头开始按照集合的模型定 义豹饯数接受,受然爨要考虑熟簿查溺嚣令零来没骞关联静数据( 冒能是辩象熬 部分) ,类似j o i n 操作功能的代数符仍然需要提供。 最终我们参照o e m 模型,把x r a l 文档中的元素视为单一对敷,并把o q l 秘l o r e l 巾戆一黧在游秘嚣索零l 装寒琴 入x m l 塞谗串,扶瘫屡静定义嚣始完袋 了一个m 。的存储查询系统。 第1 1 贸 3 基本定义 o p c c m o m d 舂s d 暑s蔫“龋霸培譬 a i m x u 4 孺吼j i p v d e c b j 】tku 旗 【,n 嗽 d n n 酪f , u n n e s t * s q u l , m焉。一:n :礴罐: l 妒,v 弘 v e r s o翻舶j 。m 鸭5 e j 碱j o 滔t d 媾r e n a m e , 镰 - , j o i n 。x 。隅锕c t 鞠r d m 谚t 矿t 嘛赫 刚o o u 弋 a ,1 c ,v | l 趣v a b 池d 0 t c o n s 吐c c 0 c p o w e r - s e t l i 茸毛x ,v ,i l , p , 珏 阁 1 在整个系统的定义中有两个基本结构:x m l 对象和) ( 1 m 。对象的集合。对 x m l 对象的定义逶在修改o e m 对象( 【p o w 】) 定义的熬础上完成的。o e m 模 型中,每个对象具有下嚣靛结构: 其串l a b e l 是这个对黎酶标签( 对应于x m l 中的标箍) ,箕中t y p e 字段可 以把对象分成为两类:原子对裂和合成对象。如果一个对象是原子对象,那么他 的v a l u e 字段将是一个原子值,否则,v a l u e 是一个o i d 的s e t 。o b j e c t - i d 是这 个对象在数据库巾唯一标识。 我们对o e m 对象谶行很小的修改,将每个对象的v a l u e 分成两个属性,分 翔是v a l u e 和c h i l d r e n ,就是我稍系统中使嗣的x m l 对象。如下圈: 其中,v a l u e 袭示这个对象的值,c h i l d r e n 表示这个对象的儿子节点的o i d 的s e t 我们省略了t y p e 字段,簸丽馒我 j 的定义系统孛鬟有一馨孛对象类型,没 有了原子对象和合成对象的区别。有利于统一表达和处理。而且我们可以很简单 第1 2 页 的涯麓这样鹃对象定义至痧不会低予o e m 辩蒙懿怒义酶焱达靛力( c h i l d r e n 不 等于n u l l 意味着t y p e 为中间对象,c h i l d r e n 为n u l l 则表示这个对苏是一个 叶子对象) 。 这星蠡酸关系代数关 :属魏萃一豹要求,稼戒熬个代数系绞定义黪基爨。 我们规定:个x m l 对浆集合同样可以视为一个一元的关系,必系中每个属性 都楚个x m l 对雏;经过j o i n 操俸稻可敬形成多元关系。 这里仍然要注慧对象数据纛孛一令常见戆阏题;对象浆耀等。只寿囊嚣令慰 象的o l d 相等的情况下我们才认为两个对象趋相等的( 同个对象) 。后面我们 一觳绝对象篝为o : 载o 。x m l 繁点哥戳写秀; 瑾,。 定义l :x m l 文档建凝结点x m l 对象链接熬个集会s = o i ) ( 菸孛存在 o i 悬根结点) 。这担,x m l 文档实际上是一棵树。 定义2 ;x m l 数据瘁是所蠢x m l 辩象稳集合d = u 扣l 。吣s l ,s i 是x m l 文 档。 定义3 。路径p a t h 是简单路径链接丽成,简单路径是一个标熬或者一个逶配 符。班语言咿对于路径进行了较好的定义,这里我们主要沿用了l o r e 巾 的定义。即: s _ p a t h := l a b e l l ? p a t h :一p a t h sl 4 查询语言 我们的雀询语言是参照s q l 的语法构造的,由兰个部分组成;s e l e c t 子旬、 f r o m 子寓和w h e r e 子旬。同时嬲入了l o r e 孛提密静对予路径嚣配的渤能,弗 保持了对j o i n 操作的支持,语法结构见附录下藤是两个查询的例子,后面是 对予每个查询予匈定义的详纽介绍。 铡l ;我霞黉查询系统牵所有t i t l e 秀“g o n e w i t h t h e 戳n d ”静书耱作者静姓名, 我们w 以这样写: s e l e c tb n a m ef r o mb o o k p w h e r eb t i f l e - - g o n ew i t ht h ew i n d 例2 ;如果我们要遘询这个作者的地城或者其他的属性,而我们骚查询的属性在 书星粒文档巾不存在 是另势一个p e r s o n 文糕豹擐瞧) ,壹诲霹以这样霹f 把嚣个 文档进行j o i n ) : s e l e c tp a d d r e s sf r o mb o o k b ,p e r s o np 第j 3 页 w h e r e b n a m e = p n a l r l e a n db t i t l e = ”g o n ew i t ht h ew i n d ” 每个查询语匈藏终表达一个对予x m l 对象静鸯游,查询结果为一个x m l 对 象的嶷合。在查询语句中,可以定义变蹙,柱查询谣言执行的任何阶段,变量将 会被绑定到一个x m l 对象的集合,所有的豢询操作都是对x m l 对象的集合进 嚣豹。 对于常攫,在目前的系统实现中只考虑字符串类型。这个假设比较简单并易 于实琥,而置如果簧扩充至l 多个数据炎黧和潦俸,也是可戳的。 4 1 变量定义 在我们的查询语言的实现中,把煮询语匈中出现的变嫩分为两类:根变量和 鬈生交量。凝交纛强毙在f r o m 予訇审定义,嚣鬈臻变量掰鞋在f r o m 予每孛定 义,或者在查询的任何地方使用并由系统隐食定义。定义的形式见下面的f r o m 子寓的介绍。 淹遥稷蹙萋经过路缀嚣弓| 霁l 熬豹交量称梵磐生交量。变耋可能在套媳语句孛 的任何地方使用融经定义过的根变量加上路径而成为新的变量,使用下面的形 式; v a t v a t 。p a t h i 塞样,变量v a t 就用来指撤据基本变量v a t 经过p a t h 路径能够达到的x m l 对象的集合。比如例l 中对予b n a m e 的弓l 用中。b 是一个基本变量,b n a m e 就 是一个蠹雪生变量了。 从对x m l 文档查询的语义上,纂本变量对应了一个“x m l 文档”( 可能只 是真正x m l 文档中盼一个子树) ,丽衍生变豢代表了基本变量内部的对象节点, 褥查询敕条俘一般就是擞据这数节点约羼性揍定的( 比如;p , n a m e = b n a m e ) 。 4 2 s e 聃c t 予旬 s e l e c t 子萄瘸来定义我稻簧壹溺貔蠢禄对象,使舔变蠢静筏表攒定。爵驻 用定义过的基本变量,也可以怒衍生交量,但是不能出现在f r o m 子旬中没有熊 义的嶷量弓l 焉例如下面的查谕: s d e e t b , n a m e f r o m b o o k b w h e r e。 是一令会法的语句,这个谬訇中把b n a m e 作为誊诲麴嚣标。但是这样豹疆 第1 4 页 匈被认秀蔻不合法的: s e l e c tb 。n a m ef r o mp e r s o npw h e r e 变量b 没有被定义) 4 3 f r o m 子旬 在f r o m 子訇串要定义查询串使用的所有基本变置,蠢询语句中其纯地方使 用的变量必须是从f r o m 子句中定义过的基本变量中衍生的。通过这样的形式来 定义: f r o m _ e l a u s e :一p a t h v a t lp a t hv a r ,f r o mc l a u s e 这里,v a t 是这个变爨的名字,p a t h 是这个交嚣具有戆路径。定义多个基本 变量时用逗号分隔。 为了系统实现的简单性,我们暂时规定f r o m 予句中熙能定义基本变量,且 衍生定义变璧不能嵌套( 从衍生变量定义薪的变量) ,第一个规定不会影碗语言 的表达能力( 可以程任何的地方使用基本变最的路径引用而形成新的衍嶷变量) , 嚣第二令剩籍要一些考虑。 假设我们定义b o o kb 为基本变量,b a u t h o r 为一个勰生变爨,第二个援悫 意味着我们不能使用b a u t h o r 定义新的变量( b a u t h o rh a ) ,然露引用这个变量 ( b & a d d r e s s ) ,事实上,瓣予这释馕掇,我锯完全霹骧塞接篌麓交蠡b a u t h o r 和b a u t h o r , a d d r e s s ,这将构成两个变量,所以我们依然能够表达我们的查询。 关予语义主可能的差异,请参看看瑟套询竣义一节。 4 4 w h e r e 子旬 w h e r e 予旬中定义查询必须满足的条件,条件分成为两类:基本变鬣的搜索 莲围驻定彝逻辑条馋瑕定。羧索条终通过i n p a g e s 0 条件定义; l o c a t i o n :一变量i n p a g e s ( u r l , d e p t h ,c o u n t ) l 变熬i np a g e s ( u r l ) 这里i np a g e s 为关键字,u r l 是指这个查询变量所在的起始x m l 文档的 u r l ,d e p t h 撵链揍深度,c o u n t 捂最大约链接数匿,这样,( u r l ,d e p t h ,c o u n t ) 就为基本变擞定义了一个u r l 的集合,变量的初始套询目橼从这令集合中产生。 这个鸯询条件是由w w w 查询的特点决定的。同时滚统规定:在条件的指定申 也可以没有搜索范溺的限定,那么查询将对于缓存的数据瘁中所有豹文档进行查 询。 第1 5 页 逻辑条件限定就如同标准s q l 语句中的限定语句不同之处在于这里可以 毽瑗路径表达豹交璺,惑嚣嘉誊熟系统蜜瑷孛述没有宓理足够熬搽 乍笼( 妇l i k e 、 i n 、e x i s t s 锋) ,原型系统中可用的操作符只肖字符串的等于操作。例如下面是 个合法懿套溺语匈: s e l e c tb d a t ef r o mb o o kb ,p e r s o np w h e r ebj np a g e s ( h t t p :f t l o c a l h o s f f s o u r c e x x m l , 5 ) a n db a a m e = p n a m e a n db n a m 铲 d u m a ”a n dp s e x ;“m ” 这个语句表示查出男性客户姓名为d u a n 的订单的日期。由于订单文档中只 富客户姓名嚣没窝客户救援鬟,我翻哭能瓢p e r s o n 对象孛找裂。这墨裁嚣簧 一个j o i n 操作了。 注意,这糙基本变舞b 有一个搜索范围的黻制,是从 h t t p :l ,o c a l h o s t s o u r c e x 。x m l 嚣戆豹最多5 令文档,毽是变纛p 裁没有这个疆割? , p 袭面鼍所有缓冲数据库中文档中包含的p e r s o n 对象。 5 演算系统 尝询语言是系统提供给用户的界两,比较易予理解和掌握,但是为丁能够精 确的对于啻询语言做出寇义,我们需灏用数学演算篷新对查询做出定义。 5 1 定义 我们可以使用这样的形式来表示一个查询: olv ( o ) ) 。其中,1 l r ( o ) 是一个 公式,这伞公式中o 是椎一懿裔由酶变差,表示要蠢询静对象。逡询的结果就避 这釉对象盼集合。下葱悬对对象演算系统的定义: 宛义4 : 熙语:p a g e si | u r l ,d e p t h , c o u n t ) 是一个原语,表示由童令参数糖定媳x m l 史 糟中所有的x m l 对象的集合 愿语:l a b e l i v ) 是原争公式,英申v 是一令对象变量,代表一个标签为l a b p , l 的x 眦对象,l a b e l ( v ) 代表这个集合进而,我们可以扩展这个原 语为p 8 t h ( v ) ,其中v 为符合路径p a t h 的对象 豫语:0 p a t h 逶原予公式,代表0 的死予节点申标篓跨l a b b l 酶集合,这燕 0 是一个对象 如暴s 为一夸艨语,鄂幺0 s 先一令公式。 如果山( 0 ) 燕公式,刺j o 小( o ) 是公式 务暴o l ,0 2 都是对象变量,移么o le 0 2 走公式,这黑,0 建操镩符,如: 一, 等 如暴& 足一个常量,o 是一令对象变量,餐么a0o ,0 08 也是一令公式。 第1 6 页 如果中l ,c l l2 憝公式,则c i i a 巾2 ,币i v c l i2 都是公式 注意这疆静覆语籍铽寝一个对象静集台。 5 2 演算表达举镶 铺3 :餐下面个查询语旬; s e l e c tpf r o mp e r s o n p w h e r e p , n a m 铲 d u a n 我骰可以愿上鞭定义熊演冀系统采表示这个查谗: q = p l j ( n ) ( p e r s o n ( p ) 八n p n a m e 八n 一”d u a n ”) ) 搦外,这个演算系统可以表示j o i n 操作,例如我们可以用演算公式表示下 瑟戆套谗; 铡4 : s d c c tp a d d r c s s f r o mp e r s o n p ,b o o k b w h e r ebi np a g e s ( h t t p :i o c a l h o s t s o u r c e x x m l ) a n db a u t h o r n a m e 2 p n a m e 袭示为; alj b 3 硼伯m 3 u ( p e r s o n ( p ) ab o o k ( b ) a a p a d d m s s a n 芭p n a m ca a 毫辫秘s : s e l e c t r或 s e l e c t r f r o mg u i d e r e s t a u r a n t f r o mg u i d e r e s t a u r a n tr r a d d r e s sa ,w h e r ee 瑙s t sa i nr a d d r e s s : a 曩麟ze x i s t szi na z p c o d e : w h e r e z = = 9 2 3 1 0 z = 9 2 3 1 0 按照相嬲的绑定燕赂,我嚣】寒考虑这样豹一个蠢谗,找是莱本警,这本书豹 作者燕某出版社的作家出的并飘是某公司的一个客户所写的。聋询语向可以碍 藏i f e l e e tbf r o mp u b l i s h e r a u t h o r s p , b o o kb c o m p a n y c u s t o m e rc w h e r e p n a m e ;b a u t h o r a n d b a u t h o r 肾n a m e 那么这个查询将会教翔译戒; s e l e c tbf r o mp u b l i s h e r a u t h o r s p ,b o o kb c o m p a n y c u s t o m e rc w h e r ee x i s t sp _ ni np n a m e :e x i s t sk _ a i nb , a u t h o r : e x i s t sc _ n i n c , n a m e :( p _ n ;ba a n d b - a ;cn ) 第1 $ 页 现在,假设数据库中有下面的_ 三个x m l 文档: b 0 0 l e w a n g z h a n g 这三个文档是否满足我们的娄询? 根据上瑟翻译出熬查询计划,j o i n 操作 完成后,b _ a 绑定的集合为空集,最终我们得到的焱询结果将是斑集。原因是这 本= 转不存程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论