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

技术编号:12021063 阅读:137 留言:0更新日期:2015-09-09 18:20
本发明专利技术公开了一种可视化SQL条件树构建方法,判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;依此类推,直到全部条件均分解为属性运算表达式;根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。进一步地,将所述SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。本发明专利技术还同时公开了一种可视化SQL条件树构建装置。

【技术实现步骤摘要】

本专利技术涉及通信领域中业务运营支撑技术,尤其涉及一种可视化结构化查询语言(Structured Query Language, SQL)条件树构建方法及装置。
技术介绍
随着信息技术的发展,企业的信息量与日俱增,业务系统越来越复杂,从而对数据分析的要求也越来越高。面对当前日益复杂的数据分析需求,分析人员往往需要设计复杂的业务分析SQL,在设计过程中通常存在如下几个问题:第一、大部分业务分析人员掌握的有关数据库方面知识不深,无法完全手工进行复杂业务的SQL编写;第二、从安全方面考虑,往往需要避免业务分析人员直接编写数据库SQL脚本,换而使用映射后的业务SQL脚本;第三、现有的数据分析产品在构建复杂SQL时,在简易性、易懂性方面存在一定的欠缺。面对上述问题,亟需一种简便、快速,同时又能满足复杂业务数据分析需求的数据分析方法,使复杂数据分析工作的效率提升。另外,现有业界的数据分析产品,如商业的cognos、bo、MicroStrategy、以及开源的Pentaho、SpagoBI等,在构建数据分析的SQL条件语句时,只是简单地将用户所定义的各个条件一一罗列,采用默认与(and)的运算关系进行组合,当需要处理SQL条件随意组合的复杂业务数据分析需求时,在易用性与直观性方面存在不足。申请号为201110163280.4的中国专利申请文件,公开了一种复杂SQL语句的生成方法,可以直接应用于数据库系统的测试过程,能解决手工编写组合关键字SQL语句出错率高、效率低的问题。该申请文件通过SQL关键字、组合SQL语句和生成方法,同时根据用户指定的关键字生成复杂SQL,其重点在于构造复杂SQL的完整语法,并不侧重复杂SQL在条件上的构造方法,也不侧重于用户从业务的角度构造复杂SQL的方法,在构造的方法与展现的方法上仍存在层次不清晰、难以理解等弊端。
技术实现思路
有鉴于此,本专利技术实施例希望提供一种可视化SQL条件树构建方法及装置,能够使整个SQL条件语句的构建过程方便快捷、简明易懂,有效满足复杂业务数据分析的需求。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术实施例提供了一种可视化SQL条件树构建方法,该方法包括:判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组;依此类推,直到全部条件均分解为属性运算表达式;根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。上述方案中,所述条件组或子条件组包括各个属性运算表达式间、或属性运算表达式组合间的与或关系;所述属性运算表达式包括各个SQL属性与值之间的运算关系。上述方案中,所述方法还包括:将所述SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。上述方案中,所述条件组名称对应根节点、中间节点以及叶子节点分别为:默认条件组、子条件组以及属性运算表达式中各个SQL属性的名称。本专利技术实施例还提供了一种可视化SQL条件树构建装置,该装置包括:判断模块、构建模块;其中,所述判断模块,用于判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组;依此类推,直到全部条件均分解为属性运算表达式;所述构建模块,用于根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按照所述判断模块确定的各层的中间节点和叶子节点构建SQL条件树。上述方案中,所述装置还包括显示模块;其中,所述显示模块,用于将由所述构建模块构建的SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。本专利技术实施例所提供的可视化SQL条件树构建方法及装置,判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组;依此类推,直到全部条件均分解为属性运算表达式;根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。进一步地,将所述SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。如此,本专利技术实施例在进行复杂业务数据分析时,通过可视化的操作界面,采用树型结构与条件组结合的方式,使整个SQL条件语句的构建过程方便快捷、简明易懂,能有效满足复杂业务数据分析的需求,提升数据分析工作的效率,降低数据分析的成本。【附图说明】图1为现有技术中cognos构建数据分析条件的界面示意图;图2为本专利技术实施例可视化SQL条件树构建方法的实现流程示意图;图3为本专利技术实施例可视化SQL条件树构建装置的组成结构示意图;图4为本专利技术实施例一种SQL条件树的组成结构示意图;图5为本专利技术实施例可视化SQL条件树的实际应用效果图。【具体实施方式】图1为现有技术中cognos构建数据分析条件的界面示意图,如图1所示,cognos在构建SQL条件时,是将各个逻辑条件并排放置在界面上方,如此,不能直观地体现SQL条件中逻辑条件组合的层次关系。在本专利技术实施例中,判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组,依此类推,直到全部条件均分解为属性运算表达式;之后,先根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。进一步地,还可以将所述SQL条件树通过操作界面以条件组名称和运算关系两列进行展现。图2为本专利技术实施例可视化SQL条件树构建方法的实现流程示意图,如图2所示,本专利技术实施例可视化SQL条件树构建方法本文档来自技高网
...

【技术保护点】
一种可视化结构化查询语言SQL条件树构建方法,其特征在于,所述方法包括:判断待构建SQL条件中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第一层叶子节点,对不属于属性运算表达式的条件作为第一层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第一子条件组;判断各第一子条件组中的各个条件是否属于属性运算表达式,将属于属性运算表达式的条件分别作为第二层叶子节点,对不属于属性运算表达式的条件作为第二层中间节点,并将不属于属性运算表达式的条件按与或关系划分为一个以上第二子条件组;依此类推,直到全部条件均分解为属性运算表达式;根据所述待构建SQL条件构建默认条件组,并将默认条件组作为根节点,再按确定的各层的中间节点和叶子节点构建SQL条件树。

【技术特征摘要】

【专利技术属性】
技术研发人员:魏建荣彭家华谢志崇徐林
申请(专利权)人:中国移动通信集团福建有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1