一种可视化结构化查询语言条件树构建方法及装置的制造方法

文档序号:8922575阅读:467来源:国知局
一种可视化结构化查询语言条件树构建方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域中业务运营支撑技术,尤其涉及一种可视化结构化查询语言(Structured Query Language, SQL)条件树构建方法及装置。
【背景技术】
[0002]随着信息技术的发展,企业的信息量与日俱增,业务系统越来越复杂,从而对数据分析的要求也越来越高。面对当前日益复杂的数据分析需求,分析人员往往需要设计复杂的业务分析SQL,在设计过程中通常存在如下几个问题:
[0003]第一、大部分业务分析人员掌握的有关数据库方面知识不深,无法完全手工进行复杂业务的SQL编写;
[0004]第二、从安全方面考虑,往往需要避免业务分析人员直接编写数据库SQL脚本,换而使用映射后的业务SQL脚本;
[0005]第三、现有的数据分析产品在构建复杂SQL时,在简易性、易懂性方面存在一定的欠缺。
[0006]面对上述问题,亟需一种简便、快速,同时又能满足复杂业务数据分析需求的数据分析方法,使复杂数据分析工作的效率提升。
[0007]另外,现有业界的数据分析产品,如商业的cognos、bo、MicroStrategy、以及开源的Pentaho、SpagoBI等,在构建数据分析的SQL条件语句时,只是简单地将用户所定义的各个条件一一罗列,采用默认与(and)的运算关系进行组合,当需要处理SQL条件随意组合的复杂业务数据分析需求时,在易用性与直观性方面存在不足。
[0008]申请号为201110163280.4的中国专利申请文件,公开了一种复杂SQL语句的生成方法,可以直接应用于数据库系统的测试过程,能解决手工编写组合关键字SQL语句出错率高、效率低的问题。该申请文件通过SQL关键字、组合SQL语句和生成方法,同时根据用户指定的关键字生成复杂SQL,其重点在于构造复杂SQL的完整语法,并不侧重复杂SQL在条件上的构造方法,也不侧重于用户从业务的角度构造复杂SQL的方法,在构造的方法与展现的方法上仍存在层次不清晰、难以理解等弊端。

【发明内容】

[0009]有鉴于此,本发明实施例希望提供一种可视化SQL条件树构建方法及装置,能够使整个SQL条件语句的构建过程方便快捷、简明易懂,有效满足复杂业务数据分析的需求。
[0010]为达到上述目的,本发明的技术方案是这样实现的:
[0011]本发明实施例提供了一种可视化SQL条件树构建方法,该方法包括:
[0012]判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;
[0013]判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组;
[0014]依此类推,直到全部条件均分解为属性运算表达式;
[0015]根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。
[0016]上述方案中,所述条件组或子条件组包括各个属性运算表达式间、或属性运算表达式组合间的与或关系;所述属性运算表达式包括各个SQL属性与值之间的运算关系。
[0017]上述方案中,所述方法还包括:将所述SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。
[0018]上述方案中,所述条件组名称对应根节点、中间节点以及叶子节点分别为:默认条件组、子条件组以及属性运算表达式中各个SQL属性的名称。
[0019]本发明实施例还提供了一种可视化SQL条件树构建装置,该装置包括:判断模块、构建模块;其中,
[0020]所述判断模块,用于判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组;依此类推,直到全部条件均分解为属性运算表达式;
[0021]所述构建模块,用于根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按照所述判断模块确定的各层的中间节点和叶子节点构建SQL条件树。
[0022]上述方案中,所述装置还包括显示模块;其中,
[0023]所述显示模块,用于将由所述构建模块构建的SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。
[0024]本发明实施例所提供的可视化SQL条件树构建方法及装置,判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组;依此类推,直到全部条件均分解为属性运算表达式;根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。进一步地,将所述SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。如此,本发明实施例在进行复杂业务数据分析时,通过可视化的操作界面,采用树型结构与条件组结合的方式,使整个SQL条件语句的构建过程方便快捷、简明易懂,能有效满足复杂业务数据分析的需求,提升数据分析工作的效率,降低数据分析的成本。
【附图说明】
[0025]图1为现有技术中cognos构建数据分析条件的界面示意图;
[0026]图2为本发明实施例可视化SQL条件树构建方法的实现流程示意图;
[0027]图3为本发明实施例可视化SQL条件树构建装置的组成结构示意图;
[0028]图4为本发明实施例一种SQL条件树的组成结构示意图;
[0029]图5为本发明实施例可视化SQL条件树的实际应用效果图。
【具体实施方式】
[0030]图1为现有技术中cognos构建数据分析条件的界面示意图,如图1所示,cognos在构建SQL条件时,是将各个逻辑条件并排放置在界面上方,如此,不能直观地体现SQL条件中逻辑条件组合的层次关系。
[0031]在本发明实施例中,判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组,依此类推,直到全部条件均分解为属性运算表达式;之后,先根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。
[0032]进一步地,还可以将所述SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。
[0033]图2为本发明实施例可视化SQL条件树构建方法的实现流程示意图,如图2所示,本发明实施例可视化SQL条件树构建方法包括:
[0034]步骤S100:判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一层子条件组;
[0035]步骤SlOl:判断各第一层子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二层子条件组;
[0036]步骤S102:依此类推,直到全部条件均分解为属性运算表达式;
[0037]步骤S103:根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。
[0038]这里,所述条件组或子条件组包括各个属性运算表达式间、或者属性运算表达式组合间的与或关系;所述属性运算表达式包括各个SQL属性与值之间的运算关系。
[0039]进一步地,本发明实施例的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1