[发明专利]一种数据查询方法和系统在审
申请号: | 201310561848.7 | 申请日: | 2013-11-12 |
公开(公告)号: | CN103577590A | 公开(公告)日: | 2014-02-12 |
发明(设计)人: | 蒋步星 | 申请(专利权)人: | 北京润乾信息系统技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京天悦专利代理事务所(普通合伙) 11311 | 代理人: | 田明;任晓航 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 查询 方法 系统 | ||
技术领域
本发明涉及数据存储及查询技术领域,具体涉及一种新的数据查询方法和系统。
背景技术
RDB(Relational Database,关系数据库)及其上的SQL(Structured Query Language,结构化查询语言)是当前信息系统中应用最广泛的数据存储与查询方案。RDB将数据存储于若干物理表(关系数据库中存放数据的基本单元,有若干数据结构相同的记录构成,上下文清晰时将简称表)中,每个表由若干数据结构相同的记录构成,记录的属性称为字段。其中某些字段并指定为表的主键,要求这些字段(组)的取值在表内记录中唯一(即没有两条记录在这些字段上的取值相同),这样可以用这组字段值为唯一确定一条记录。
当某个表的记录要引用另一个表的记录时(如员工表的所在部门字段将引用部门表中的记录),则建立引用表到被引用表的外键,引用表中每条记录的某些称为外键的字段取值为被引用表的某记录的主键。一个表可以建立多个引用其它表的外键,还可以建立引用本表的外键(如人员表中的配偶字段仍然引用人员表中的记录),也可能针对同一个被引用表建立多个关联(如人员表中的出生地区和工作地区均引用地区表)。
一个业务系统的数据可能有多个表构成,这些表之间均可能有关联,有时关联还不止一个,甚至还有与本表自己的关联。这样,在RDB中,这些表将构成一个网状结构,N个表之间的关联数量是N2级别的,很不利于应用开发人员理解业务数据的体系结构。同时,表与表之间的耦合度也非常高,导致应用程序的局部维护修改都很困难。
当要取出多个有关联表中的记录时,SQL采用连接语法来书写,其基本原理可以理解为将多个表中的记录先做完全叉乘(即笛卡尔积),再使用引用表的外键与被引用表的外键相等的过滤条件将叉乘出来的不必要的记录去除,从而得到最后的结果。如果有涉及N个表,则两两之间均有可能有关联,则可能书写出来的连接过滤条件会有N*(N-1)/2个,复杂度也是N2级别的,导致书写非常困难。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种数据查询方法及系统,降低数据表理解及书写的复杂度,改善业务系统的数据结构的可理解性。
为实现上述目的,本发明采用的技术方案如下:
一种数据查询方法,包括以下步骤:
(1)抽取业务系统中的各项维度;
(2)建立所述业务系统的若干逻辑表,并建立各逻辑表与所述的维度之间的关联关系;所述的逻辑表用于描述业务系统的业务数据;
(3)根据业务系统的物理表,建立物理表与各逻辑表之间的映射关系;所述的物理表用于存储业务系统的业务数据;
(4)根据逻辑表以及按规则定义的逻辑数据查询语法,编写逻辑查询语句LSQL;
(5)依据物理表与逻辑表之间的映射关系,将逻辑查询语句LSQL转化为结构化查询语句SQL,并将SQL语句在数据库中执行完成业务数据的查询。
进一步,如上所述的一种数据查询方法,步骤(1)中,在抽取业务系统中的各项维度时,还包括抽取各项维度所包含的层次,并确定各项维度的层次之间的计算关系;所述的各项维度的层次包括基础层和汇总层;所述的汇总层是指该层次能够由其它一个或多个基础层次计算出来。
进一步,如上所述的一种数据查询方法,步骤(2)中,所述的逻辑表包括若干逻辑字段,建立逻辑表与所述的维度之间的关联关系的具体方式为:
将逻辑表的外键设置为指向某个维度或者某个维度的层次的字段,逻辑表的主键为逻辑表中一个取值唯一的字段或者多个取值唯一的字段组。
进一步,如上所述的一种数据查询方法,建立物理表与逻辑表之间的映射关系的具体方式为:
a)在物理表中选择与每个逻辑表相对应的基表,逻辑表中的每个逻辑字段都能够由所述的基表计算而来;
b)建立逻辑表的主键与基表主键之间的映射关系;
c)建立逻辑表中非主键逻辑字段与基表字段之间的计算关系。
进一步,如上所述的一种数据查询方法,步骤a)中,根据逻辑表所描述的业务数据的数据范围确定与其对应的基表。
再进一步,如上所述的一种数据查询方法,步骤c)中,所述的逻辑表中非主键逻辑字段与基表字段之间的计算关系是指逻辑表中的每个逻辑字段由基表字段构成的表达式表示。
更进一步,如上所述的一种数据查询方法,步骤(5)中,将LSQL查询语句转化为SQL语句的具体方式为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京润乾信息系统技术有限公司,未经北京润乾信息系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310561848.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种组合式昆虫饲养盒
- 下一篇:一种新型高强度路牌结构
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置