[发明专利]用于处理数据库的设备和方法有效
申请号: | 200810160838.1 | 申请日: | 2008-09-11 |
公开(公告)号: | CN101388034A | 公开(公告)日: | 2009-03-18 |
发明(设计)人: | 服部雅一 | 申请(专利权)人: | 株式会社东芝 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海市华诚律师事务所 | 代理人: | 丁利华 |
地址: | 日本国东京*** | 国省代码: | 日本;JP |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理 数据库 设备 方法 | ||
技术领域
本发明涉及用于处理用来处理具有分级结构的结构化文档的数据库的设备和方法。
背景技术
近年来,由于结构化文档,如XML文档的逐渐流行,在其中储存结构化文档的数据库(例如,XML数据库)越来越流行。作为能用来对此种数据库进行查询的语言的实例,提出了XQuery。
XQuery是能用来进行XML查询的功能型语言,其特征在于具有FLWR语法。FLWR语法表示包括FOR子句,LET子句,WHERE子句,和RETURN子句的语法。使用XQuery的处理实例在M.Fernandez,J.Simeon,B.Choi,A.Marian,G.Sur,Implementing XQuery1.0:The Galax Experience,VLDB2003中有所说明。
在XQuery的FLWR语法中,FOR子句将序列中的项目结合到变量。另一方面,LET子句将整个序列结合到变量。通过组合FOR子句和LET子句,可以进行适合于XML的高级查询。(不用LET子句则无法表达XML重构和聚合)。
在XQuery中,通过使用LET子句,还可以调用具有嵌套结构的查询,在该结构中使用了多个FOR子句。
在当前可得的数据库产品中,经常执行LET子句,从而与用于功能型语言的处理系统兼容。在执行过程(implementation)与用于功能型语言的处理系统兼容的情形中,当如上所述对嵌套结构进行查询时,要考虑嵌套结构中外XQuery数据与内XQuery数据之间存在输入输出关系。因此,当已经完成外XQuery数据的处理时,要将处理的各结果,作为变量,转发到内XQuery数据以致能处理内XQuery数据。
为了使用XQuery进行高级查询,如上所述的嵌套结构不可或缺;然而,问题在于,在执行过程与用于功能型语言的处理系统兼容的情形中,具有双重或更多嵌套结构所需的计算量很大。
具体说来,因为用于功能型语言的处理系统是在已经处理外部的多重循环之后再处理内部,内XQuery数据的处理将调用与多重循环中的循环数量相同的次数。因此,即使嵌套结构中的嵌套数量仅增加一,计算量也会大量增加。
发明内容
根据本发明的一个方面,数据库处理设备包括接收单元,其从另一部分语法树接收请求获取与结构化数据库中所包含的部分语法树中储存的各个元素(element)相同的元素对应的信息的处理的获取请求,该处理是执行嵌套结构中多重循环的处理,并且每一个元素在多重循环的每一个中被当作变量使用;识别符赋值单元,其将唯一识别符赋值到元素表中储存的每一个记录,每一个元素表是为多重循环中的每一个循环创建的;结合单元,其通过对已经赋值有识别符的元素表执行叉积结合处理来创建叉积结合表,在该叉积结合表中将多个识别符赋值给每一个记录;信息获取单元,其基于每一个元素表中包括的元素,获取在获取请求中指定为被获取目标的信息;单次循环表创建单元,其对每一个循环创建储存记录的单次循环表,在该记录中所获取的信息,识别符,和元素互相对应;结合表创建单元,其通过将对每一个循环分别创建的单次循环表结合来创建赋值有多个识别符的循环间结合表;以及对应控制单元,其基于赋值给叉积结合表的多个识别符和赋值给循环间结合表的多个识别符,控制叉积结合表中的记录与循环间结合表中的记录之间的对应。
根据本发明的另一方面,数据库处理方法包括从另一部分语法树接收获取请求获取与结构化数据库中所含部分语法树中储存的各元素相同的元素项对应的信息的处理请求,该处理是执行嵌套结构中多重循环的处理,并且每一个元素用作每一个多重循环中的变量;将唯一的识别符赋值到元素表中储存的每一个记录,每一个元素表是为多重循环中的循环的每一个创建的;通过对已经赋值有识别符的元素表执行叉积结合处理来创建叉积结合表,在叉积结合表中将多个识别符赋值给每一个记录;基于每一个元素表中包括的元素,获取在获取请求中指定为获取目标的信息;对每一个循环创建储存记录的单次循环表,在该记录中所获取的信息,识别符,和元素互相对应;通过结合对各循环分别创建的单次循环表,创建赋值有多个识别符的循环间结合表;以及基于赋值给叉积结合表的多个识别符和赋值给循环间结合表的多个识别符,控制叉积结合表中的记录与循环间结合表中的记录之间的对应。
附图说明
图1是说明本发明第一实施例所对应的数据库处理设备的总体配置的示意图;
图2是说明代表具有分层结构的结构化文档的XML数据的实例的示意图;
图3是说明图2所示的XML数据,使用树结构表示的概念图,;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于株式会社东芝,未经株式会社东芝许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810160838.1/2.html,转载请声明来源钻瓜专利网。