[发明专利]一种重构报表查询的结构化查询语言的方法及装置有效
申请号: | 200910163603.2 | 申请日: | 2009-07-30 |
公开(公告)号: | CN101609473A | 公开(公告)日: | 2009-12-23 |
发明(设计)人: | 纪大松 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人: | 彭愿洁;李文红 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报表 查询 结构 语言 方法 装置 | ||
1.一种重构报表查询的结构化查询语言的方法,其特征在于,包括:
针对报表查询的初始结构化查询语言,将所述初始结构化查询语言 的主数据表作为第一关系树的根节点;将所述主数据表直接关联的从数 据表作为所述根节点的子节点;并将所述初始结构化查询语言中除了所 述主数据表和从数据表之外的数据表,作为关联节点分别关联至所述子 节点,以生成完整的第一关系树;
将所述初始结构化查询语言中SELECT、GROUP BY和ORDER BY 子句中包括的数据表作为查询列;
将所述初始结构化查询语言中WHERE、HAVING和ON子句中包 括的数据表作为条件列;
将所述查询列和条件列中的数据表的节点,在所述第一关系树中标 记为必须节点;并依据所述必须节点及其祖先节点生成第二关系树;
对所述第二关系树进行中序遍历;并按照遍历得到的节点所存储的 连接字段生成连接结构化查询语言;
将所述初始结构化查询语言中的连接部分替换为所述连接结构化 查询语言。
2.如权利要求1所述的方法,其特征在于,所述将所述初始结构 化查询语言中的连接部分替换为所述连接结构化查询语言之后,还包 括:
将所述替换后的初始结构化查询语言作为报表查询的执行结构化 查询语言进行查询。
3.一种重构报表查询的结构化查询语言的装置,其特征在于,包 括:
第一生成模块,用于针对报表查询的初始结构化查询语言,生成该 结构化查询语言中各个数据表之间的第一关系树、查询列和条件列;所 述第一生成模块具体包括:产生根节点子模块,用于将所述初始结构化 查询语言的主数据表作为所述第一关系树的根节点;产生子节点模块, 用于将所述主数据表直接关联的从数据表作为所述根节点的子节点;关 联子模块,用于将所述初始结构化查询语言中除了所述主数据表和从数 据表之外的数据表,作为关联节点分别关联至所述子节点;产生查询列 子模块,用于将所述初始结构化查询语言中SELECT、GROUP BY和 ORDER BY子句中包括的数据表作为查询列;产生条件列子模块,用于 将所述初始结构化查询语言中WHERE、HAVING和ON子句中包括的 数据表作为条件列;
第二生成模块,用于依据所述第一关系树、查询列和条件列生成第 二关系树;所述第二生成模块具体包括:标记子模块,用于将所述查询 列和条件列中的数据表的节点,在所述第一关系树中标记为必须节点; 第一生成子模块,用于依据所述必须节点及其祖先节点生成第二关系 树;
第三生成模块,用于依据所述第二关系树生成连接结构化查询语 言;所述第三生成模块包括:遍历模块,用于对所述第二关系树进行中 序遍历;第二生成子模块,用于按照遍历得到的节点所存储的连接字段 生成连接结构化查询语言;
替换模块,用于将所述初始结构化查询语言中的连接部分替换为所 述连接结构化查询语言。
4.如权利要求3所述的装置,其特征在于,还包括:
查询模块,用于将所述替换后的初始结构化查询语言作为报表查询 的执行结构化查询语言进行查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910163603.2/1.html,转载请声明来源钻瓜专利网。