一种基于树结构实现SQL查询条件的方法和系统与流程

文档序号:12802379阅读:477来源:国知局
一种基于树结构实现SQL查询条件的方法和系统与流程

本发明属于数据库查询技术领域,具体涉及一种基于树结构实现sql查询条件的方法和系统。



背景技术:

随着计算机技术的快速发展,各行业中的业务系统趋向完善,并积累了大量的业务数据形成具备一定规模的数据库。如税务系统数据库。数据库中的标准数据查询语言,通常情况下会选择结构化查询语言(structuredquerylanguage,sql),通过各种sql指令来控制和使用数据库。

对于税务数据库而言,税务局工作人员在数据库中查询纳税人及其相应的风险等内容,常常需要编辑sql条件语句。对于具备一定计算机数据库基础的人员来说,编辑一条正确的sql语句需要一定的思考过程;而对于只熟悉税务业务的一线操作人员,编辑一条正确的sql语句则变得难上加难。

现有技术中,为了在相应的数据库中使用sql查询语句,就把固定的条件写死在系统中,由熟悉数据库技术的操作人员专门进行修改等管理,使用者使用的时候只能调用已经写死在系统中的sql语句,而不能依据自己的需要编辑sql语句。这样一来,一般业务人员不能根据自己的需要方便地修改查询条件,而修改或生成一条语句也需要复杂的流程,造成了工作效率低下。虽然目前有一些系统提供文本输入查询语句的功能,可以在文本状态下修改查询条件,但是这些操作对业务人员要求很高,同时要求sql代码编写的技术人员在系统中存入大量的可指向文本语言的sql命令,对数据库中的sql语句有很大的依赖性,而其查询的灵活性依赖于原始数据库,而无法实现使用者的完全自主;且一次性写入所有的sql语句可能性很小,仍需要大量的后期修改。

申请号为201110391988.5的名称为《自动生成sql语句的方法》的中国专利,公开了一种能够实时依据生成函数调用指令、条件参数以及表格定义类自动生成所需sql语句的方法,但是,在所述技术中,不熟悉数据库及sql语言的一般业务人员仍然不能方便地操作。如在税务数据库的实际应用中,税务局的业务操作人员仍然难以通过这种方法直接使用税务数据库。



技术实现要素:

本发明实施例的目的是提供一种基于树结构实现sql查询条件的方法,通过在选取数据元的过程中即引入树结构的直观界面,取消执行体对象的概念,用户通过勾选、拖拽等操作,直接实现sql查询条件,使用者可以在不具有数据库结构知识的前提下完全自主的根据自己的需要进行sql查询条件的编辑,提高工作质量和工作效率。

根据本发明的一个方面,提供了一种基于树结构实现sql查询条件的方法,所述方法包括如下步骤:

步骤s1,在数据库中建立数据元的树结构;

步骤s2,从数据库中读取所述数据元的树结构,通过异步树的方法展示数据元,根据预先设定的查询条件勾选相应的数据元;

步骤s3,将所勾选的数据元放入候选列表作为候选数据元,对所述候选数据元进行候添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作定制条件树;

步骤s4,通过定制的条件树实现所述预设的sql查询条件。

上述方案中,所述方法还包括:

步骤s5,删除异步树中的勾选条件,释放数据元。

上述方案中,所述步骤s2进一步包括:展示所述数据元的层级结构,并在所述异步树的每一个节点前设置勾选框。

上述方案中,所述步骤s3还包括:记录定制条件树过程中的全部或部分操作并进行提取,作为公式进行保存,并将所保存的公式作为数据元,存入数据库,补入数据元的树结构中。

上述方案中,所述步骤s3中,

通过拖拽、提取的方式执行添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作;

所述添加字段操作包括:选择数据元的运算条件对所述候选数据元进行四则运算;所述新建括号操作包括:在添加字段的基础上,在数据元父节点产生一个括号的节点;所述编辑字段操作包括:修改当前已保存的条件信息相对应的操作;拖动条件树的节点改表节点顺序;所述删除字段操作包括:删除条件树中的条件信息。

根据本发明的另一个方面,还提供了一种基于树结构实现sql查询条件的系统,所述系统包括:树结构建立单元;数据元勾选单元;条件树定制单元;实现单元;其中,

所述树结构建立单元用于在数据库中建立数据元的树结构;

所述数据元勾选单元与数据库相连,用于从数据库中读取所述数据元的树结构,通过异步树的方法展示数据元,根据预先设定的查询条件勾选相应的数据元;

所述条件树定制单元与所述数据元勾选单元相连,用于将所勾选的数据元放入候选列表作为候选数据元,通过对所述候选数据元进行候添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作定制条件树;

所述实现单元与所述条件树定制单元相连,通过定制的条件树实现所述预设的sql查询条件。

上述方案中,所述系统还包括:删除单元,与所述数据元勾选单元相连,用于删除异步树中的勾选条件,释放数据元。

上述方案中,所述数据元勾选单元进一步用于展示所述数据元的层级结构,并在所述异步树的每一个节点前设置勾选框。

上述方案中,所述条件树定制单元同时与所述树结构建立单元相连,并进一步用于记录定制条件树过程中的全部或部分操作并进行提取,作为公式进行保存,并将所保存的公式作为数据元,存入数据库,补入数据元的树结构中。

上述方案中,所述条件树定制单元所执行的操作中,通过拖拽、提取的方式执行添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作;所述添加字段操作包括:选择数据元的运算条件对所述候选数据元进行四则运算;所述新建括号操作包括:在添加字段的基础上,在数据元父节点产生一个括号的节点;所述编辑字段操作包括:修改当前已保存的条件信息相对应的操作;拖动条件树的节点改表节点顺序;所述删除字段操作包括:删除条件树中的条件信息。

从以上实施例可以看出,本发明实施例的基于树结构实现sql查询条件的方法,在通过树结构的方式提供数据元选择的前提下,从数据库中获取数据元的层级结构,通过异步条件树的方法展示数据元列表;通过勾选树结构中的数据元,将数据元加入定制查询条件中的候选列表;从候选列表中选择数据元及条件,在定制条件树结构产生一条查询条件。定制条件树的结构在方案组建的时候就对该方案内部的所有指标进行统计,算出方案内能够通过拖拽、提取等操作完成sql查询条件的定义,从而直观地提供数据元,进行条件的编辑、条件的组合这一系列功能,直接实现sql查询条件,使用者可以在不具有数据库结构知识的前提下完全自主的根据自己的需要进行sql查询条件的编辑,提高工作质量和工作效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例的基于树结构实现sql查询条件的方法流程示意图;

图2为本发明第二实施例的基于树结构实现sql查询条件的系统结构示意图。

具体实施方式

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

为便于对本发明实施例的理解,下面详细描述本发明的实施方式,通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

第一实施方式

本实施方式的基于树结构实现sql查询条件的方法,包括如下步骤:

步骤s1,在数据库中建立数据元的树结构。本步骤从数据元的建立和选取开始就引入数据元的树结构,建立树结构的直观界面,方便不具备数据库结构基础知识的使用者也可以实现完全自主的对数据库的使用。

步骤s2,从数据库中读取所述数据元的树结构,通过异步树的方法展示数据元,根据预先设定的查询条件勾选相应的数据元。

本步骤中通过异步树的方式展示数据元,具体的,可以展示所述数据元的层级结构,并在所述异步树的每一个节点前设置勾选框。例如,在税务系统的数据库中,数据元的层级结构为:运作层-登记业务域-纳税人综合信息-纳税人识别号。树结构每个节点文字前面设置勾选框。勾选子节点时,其父节点也勾选上;取消父节点的勾选时,其子节点也取消勾选。后台数据库存储勾选节点的信息。

步骤s3,将所勾选的数据元放入候选列表作为候选数据元,对所述候选数据元进行候添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作定制条件树。

优选的,通过拖拽、提取的方式执行添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作。例如,在界面右键点击条件树,有四个按钮可以选择:添加字段,新建括号,编辑字段,删除字段。点击相应的按扭,弹出相应操作的按扭,窗口中通过下拉列表进行相应的选择,执行相应的操作。如,点击添加字段按钮后,弹出添加字段窗口。窗口中通过下拉列表选择数据元。选择数据元的四则运算符。选择该数据元的条件,如大于、小于100等。所述新建括号操作包括:在添加字段的基础上,在数据元父节点产生一个括号的节点;所述编辑字段操作包括:修改当前已保存的条件信息相对应的操作,和/或拖动条件树的节点改表节点顺序;所述删除字段操作包括:删除条件树中的条件信息。

优选的,步骤s3还可以进一步包括:记录定制条件树过程中的全部或部分操作并进行提取,作为公式进行保存,并将所保存的公式作为数据元,存入数据库,补入数据元的树结构中。

为了解决特定公式的需要:如sum(avg(月收入-抵扣款)/月份额),在创建定制条件树的过程中可以将一部分公式提取出来,暂时保存。保存后的部分公式可以取代数据元,他们完全相同。这样一来就可以编辑复杂公式。

步骤s4,通过定制的条件树实现所述预设的sql查询条件。

优选的,所述方法还可以包括:

步骤s5,删除异步树中的勾选条件,释放数据元。也就是说,可以在实现sql查询条件后,将这里节点取消勾选,则相关的指标定制条件树会自动删除,而需要在新的预设条件下重新建立。

下面结合附图1,通过具体的第一实施例对本实施方式进行详细的说明。图1为本发明第一实施例的基于树结构实现sql查询条件的方法的流程示意图。

如图1所示,本实施例的基于树结构实现sql查询条件的方法,以税务系统的数据库为例进行说明,具体包括如下步骤:

步骤s101,在数据库中建立数据元的树结构。

步骤s102,从数据库中获取数据元的树结构,通过异步树的方法展示数据元。

步骤s103,判断所述数据元是否勾选,将所若未勾选,则返回步骤s102,继续获取新数据元;若已勾选,则执行步骤s104。

步骤s104,通过拖拽、提取的方式执行添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作。具体的,在界面右键点击条件树,有四个按钮可以选择:添加字段,新建括号,编辑字段,删除字段。点击相应的按扭,弹出相应操作的按扭,窗口中通过下拉列表进行相应的选择,执行相应的操作。如,点击添加字段按钮后,弹出添加字段窗口。窗口中通过下拉列表选择数据元。选择数据元的四则运算符。选择该数据元的条件,如大于、小于100等。所述新建括号操作包括:在添加字段的基础上,在数据元父节点产生一个括号的节点;所述编辑字段操作包括:修改当前已保存的条件信息相对应的操作,和/或拖动条件树的节点改表节点顺序;所述删除字段操作包括:删除条件树中的条件信息。

步骤s105,通过定制的条件树实现所述预设的sql查询条件。

另外,本实施例还可以包括:

步骤s106,从所述定制条件树的过程中提取公式,具体操作为:记录定制条件树过程中的全部或部分操作并进行提取,作为公式进行保存

本步骤是为了解决特定公式的需要:如sum(avg(月收入-抵扣款)/月份额),在创建定制条件树的过程中可以将一部分公式提取出来,暂时保存。

当成功提取公式后,执行步骤s107,若未能成功提取公式,则返回步骤s104。

步骤s107,对所述公式进行后台解析,并将所保存的公式作为数据元,存入数据库,补入数据元的树结构中。保存后的部分公式可以取代数据元,所述公式与原始数据元的地位完全相同。这样一来就可以进一步编辑复杂的公式。

特别的,本实施例还可以包括:

在步骤s102中,删除异步树中的勾选条件,释放数据元。

本实施例的基于树结构实现sql查询条件的方法,在通过树结构的方式提供数据元选择的前提下,从数据库中获取数据元的层级结构,通过异步条件树的方法展示数据元列表;通过勾选树结构中的数据元,将数据元加入定制查询条件中的候选列表;从候选列表中选择数据元及条件,在定制条件树结构产生一条查询条件。定制条件树的结构在方案组建的时候就对该方案内部的所有指标进行统计,算出方案内能够通过拖拽、提取等操作完成sql查询条件的定义,从而直观地提供数据元,进行条件的编辑、条件的组合这一系列功能,直接实现sql查询条件,使用者可以在不具有数据库结构知识的前提下完全自主的根据自己的需要进行sql查询条件的编辑,提高工作质量和工作效率。

第二实施方式

下面结合附图2,通过第二实施例对本实施方式的基于树结构实现sql查询条件的系统进行详细的说明。

图2为本发明第二实施例的基于树结构实现sql查询条件的系统结构示意图。

如图2所示,本实施例的基于树结构实现sql查询条件的系统,包括:树结构建立单元21;数据元勾选单元22;条件树定制单元23;实现单元24;其中,

所述树结构建立单元21用于在数据库中建立数据元的树结构;

所述数据元勾选单元22与数据库相连,用于从数据库中读取所述数据元的树结构,通过异步树的方法展示数据元,根据预先设定的查询条件勾选相应的数据元;

所述条件树定制单元23与所述数据元勾选单元22相连,用于将所勾选的数据元放入候选列表作为候选数据元,通过对所述候选数据元进行候添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作定制条件树;

所述实现单元与所述条件树定制单元相连,通过定制的条件树实现所述预设的sql查询条件。

本实施例的实现sql查询条件的系统,还可以包括:

删除单元25,与所述数据元勾选单元22相连,用于删除异步树中的勾选条件,释放数据元。

优选的,所述数据元勾选单元22进一步用于展示所述数据元的层级结构,并在所述异步树的每一个节点前设置勾选框。

优选的所述条件树定制单元23同时与所述数据元树结构建立单元21相连,进一步用于记录定制条件树过程中的全部或部分操作并进行提取,作为公式进行保存,并将所保存的公式作为数据元,存入数据库,补入数据元的树结构中。

优选的,所述条件树定制单元23所执行的操作中,通过拖拽、提取的方式执行添加字段、和/或新建括号、和/或编辑字段、和/或删除字段的操作;所述添加字段操作包括:选择数据元的运算条件对所述候选数据元进行四则运算;所述新建括号操作包括:在添加字段的基础上,在数据元父节点产生一个括号的节点;所述编辑字段操作包括:修改当前已保存的条件信息相对应的操作;拖动条件树的节点改表节点顺序;所述删除字段操作包括:删除条件树中的条件信息。

本实施例的基于树结构实现sql查询条件的系统,在通过树结构的方式提供数据元选择的前提下,从数据库中获取数据元的层级结构,通过异步条件树的方法展示数据元列表;通过勾选树结构中的数据元,将数据元加入定制查询条件中的候选列表;从候选列表中选择数据元及条件,在定制条件树结构产生一条查询条件。定制条件树的结构在方案组建的时候就对该方案内部的所有指标进行统计,算出方案内能够通过拖拽、提取等操作完成sql查询条件的定义,从而直观地提供数据元,进行条件的编辑、条件的组合这一系列功能,直接实现sql查询条件,使用者可以在不具有数据库结构知识的前提下完全自主的根据自己的需要进行sql查询条件的编辑,提高工作质量和工作效率。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,而相应的模块或单元,可以通过具体的硬件得以实现,如可编辑逻辑控制器plc、中央处理器cpu,相应的存储元件可以通过cd-rom、cd-ram实现。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1