基于星形数据库的检索方法及装置制造方法及图纸

技术编号:15551892 阅读:68 留言:0更新日期:2017-06-08 01:48
本发明专利技术公开了一种基于星形数据库的检索方法及装置,涉及计算机领域,该方法主要包括:接收用户选择的查询条件;将所述查询条件解析得到一个条件大集合;根据所述条件大集合查询数据库,得到所述大集合查询结果;按照各个查询模块将所述大集合查询结果分类,得到每个所述查询模块对应的查询结果。本发明专利技术的实施例可以使得查询语句简单,利于代码的维护和查询条件的修改。

Retrieval method and device based on star database

The invention discloses a method and device for retrieving star based on database, relates to the field of computer, the method includes: receiving user selection query conditions; the query conditions of a large set of conditions; according to the conditions set by the database query, a large collection of query results; each query module the large collection of query results according to the classification, each of the query module corresponding to the query results. The embodiment of the invention can make the inquiry statement simple, and is favorable for the maintenance of the code and the modification of the inquiry condition.

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种基于星形数据库的检索方法及装置
技术介绍
随着计算机计算和处理能力的不断提升,人们对大型数据库中提炼目标数据的要求也越来越丰富。星形数据库,是指由一个或多个事实表,以及事实表中引用的任意数量的维表组成。随着用户对数据展示的需求越来越深入,对于各个模块间的联动查询要求越来越复杂。现有技术中,对于星形数据库的检索是通过不同条件在SQL中拼接不同的where条件来进行解决,查询语句很复杂。并且,随着用户对这种组合查询的需求增多,查询语句的复杂度将会进一步增大。如果需要对某个条件进行修改,需要批量的对所有涉及到该查询条件的地方进行修改,不便于代码的维护,以传统的方式写出来的SQL语句不利于业务上的理解。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的基于星形数据库的检索方法及装置。一方面,本专利技术提供一种基于星形数据库的检索方法,该方法包括:接收用户选择的查询条件;其中,所述查询条件中包含多个查询模块,每个查询模块作为所述查询条件中的一个子条件;所述查询模块用于对星形数据库中的数据进行子条件过滤;将所述查询条件解析得到一个条件大集合,所述条件大集合中包含多个子条件;根据所述条件大集合查询数据库,得到所述大集合查询结果;按照各个查询模块将所述大集合查询结果分类,得到每个所述查询模块对应的查询结果;所述查询模块对应的查询结果为从所述大集合查询结果中筛选出的满足所述查询模块对应的子条件的结果数据。另一方面,本专利技术提供一种基于星形数据库的检索装置,包括:接收模块,用于接收用户选择的查询条件;其中,所述查询条件中包含多个查询模块,每个查询模块作为所述查询条件中的一个子条件;所述查询模块用于对星形数据库中的数据进行子条件过滤;解析单元,用于将所述接收单元接收到的查询条件解析得到一个条件大集合,所述条件大集合中包含多个子条件;查询单元,用于根据所述整合单元整合的条件大集合查询数据库,得到所述大集合查询结果;分类单元,用于按照各个查询模块将所述查询单元查询到的大集合查询结果分类,得到每个所述查询模块对应的查询结果;所述查询模块对应的查询结果为从所述大集合查询结果中筛选出的满足所述查询模块对应的子条件的结果数据。借由上述技术方案,本专利技术提供的基于星形数据库的检索装方法及装置,通过将查询条件对应的多个查询模块整合成一个条件大集合,使得查询代码简化,不用再对不同条件在SQL中拼接不同的where条件,使得查询语句简单,利于代码的维护和查询条件的修改。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术一个实施例中的星形数据库示意图;图2示出了本专利技术实施例中的一种基于星形数据库的检索方法图;图3示出了本专利技术另一个实施例中的基于星形数据库的检索方法流程图;图4示出了本专利技术另一个实施例中的一种基于星形数据库的检索装置示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为了便于对本专利技术实施例的理解,下面对星形数据库进行简单介绍。在星型模式下,一个或多个事实表中可以引用任何数量的维表,事实表和维表可以按照不同层面协助用户进行分析和归类。其中,事实表中包含的是主要数据。事实表中通常会包括一个汇总的数据,如价格和单位出售量大。可以理解的是,在一个星型模式中有可能具有多个事实表。另外,维表通常是小于事实表,包括属性描述的事实。通常每个维度是一个单独的表,因此根据实际需要可以将维表加入到事实表中。此外,星形数据库中通常会有一个简单的维表的主键,而事实表则会有多个,形成一组事实表。由于一个专门的多维数据库管理系统很可能既昂贵又不方便,星型模式是一种结合多个事实表和维度表的存储方式可以较全面的记录数据,因此成为常用的实现多维数据库(MDDB)功能的数据库形式。并且,星形数据库模式的查询较为简单,因为一个事实表不依赖于其他事实表表,因此加入和去除条件可以更简单直观。例如,如图1所示,在需要查询满足“中性句子”和“正面句子”出现的“关键词”为“APEX”的所有的句子中对应的“正面词”和“热词”时,目前的解决方案仍然是通过不同条件,在SQL中拼接不同的where条件来进行解决。通过现有技术的这种方式,在星形数据库中的数据查询语句将会变得很复杂,而随着这种组合查询的增多,查询语句的复杂度将会进一步增大。此外,如果需要对某个条件进行修改,会批量的对所有涉及到该查询的地方进行修改,不便于代码的维护。并且,以传统的方式写出来的SQL语句不利于业务上的理解。本专利技术一个实施例提供一种基于星形数据库的检索方法,如图2所示,该方法可以包括以下步骤:101、接收用户选择的查询条件。其中,所述查询条件中包含多个查询模块,每个查询模块作为所述查询条件中的一个子条件,所述查询模块用于对星形数据库中的数据进行子条件过滤;。查询条件可以是多个选项由用户选择,也可以是用户输入的关键词,本实施例对此不做限定。例如,所述多个查询模块包括关键词模块、情绪性质模块和词语热度模块。值得说明的是,查询模块除了可以包括上述关键词模块、情绪性质模块和词语热度模块之外,还可以包含其他模块,本实施例这里不再一一举例。102、将所述查询条件解析得到一个条件大集合。其中,所述条件大集合中包含多个子条件。103、根据所述条件大集合查询数据库,得到所述大集合查询结果。104、按照各个查询模块将所述大集合查询结果分类,得到每个所述查询模块对应的查询结果;所述查询模块对应的查询结果为从所述大集合查询结果中筛选出的满足所述查询模块对应的子条件的结果数据。借由上述技术方案,本专利技术提供的基于星形数据库的检索装方法,通过将所述查询条件解析得到一个条件大集合,使得查询代码简化,不用再对不同条件在SQL中拼接不同的where条件,使得查询语句简单,利于代码的维护和查询条件的修改。本专利技术另一实施例提供一种基于星形数据库的检索方法,如图3所示,该方法可以包括:201、接收用户选择的查询条件。202、判断所述查询条件是否符合规定格式;若所述查询条件不符合规定格式,则执行步骤201;若所述查询条件符合规定格式,则执行步骤203。其中,所述规定格式为符合模块划分规则的格式。203、将所述查询条件解析成一个条件大集合。在本实施例中,以如图1所示的星形数据库为例,如果需要查询满足“中性句子”和“正面句子”出现的“关键词”为“APEX”的所有的句子中对应的“正面词”和“热词”,可以先将所有维度对应成一个大的查询集合。本文档来自技高网...
基于星形数据库的检索方法及装置

【技术保护点】
一种基于星形数据库的检索方法,其特征在于,包括:接收用户选择的查询条件;其中,所述查询条件中包含多个查询模块,每个查询模块作为所述查询条件中的一个子条件;所述查询模块用于对星形数据库中的数据进行子条件过滤;将所述查询条件解析得到一个条件大集合,所述条件大集合中包含多个子条件;根据所述条件大集合查询数据库,得到所述大集合查询结果;按照各个查询模块将所述大集合查询结果分类,得到每个所述查询模块对应的查询结果;所述查询模块对应的查询结果为从所述大集合查询结果中筛选出的满足所述查询模块对应的子条件的结果数据。

【技术特征摘要】
1.一种基于星形数据库的检索方法,其特征在于,包括:接收用户选择的查询条件;其中,所述查询条件中包含多个查询模块,每个查询模块作为所述查询条件中的一个子条件;所述查询模块用于对星形数据库中的数据进行子条件过滤;将所述查询条件解析得到一个条件大集合,所述条件大集合中包含多个子条件;根据所述条件大集合查询数据库,得到所述大集合查询结果;按照各个查询模块将所述大集合查询结果分类,得到每个所述查询模块对应的查询结果;所述查询模块对应的查询结果为从所述大集合查询结果中筛选出的满足所述查询模块对应的子条件的结果数据。2.根据权利要求1所述的基于星形数据库的检索方法,其特征在于,所述根据所述条件大集合查询数据库,得到所述大集合查询结果,包括:将所述条件大集合中每个所述查询模块对应的子条件提取出来,并分解成多个条件小集合;根据所述条件小集合查询数据库,得到每个所述条件小集合对应的小集合查询结果;将每个所述条件小集合查询结果合并,得到条件大集合查询结果。3.根据权利要求1所述的基于星形数据库的检索方法,其特征在于,在接收用户选择的查询条件之后,还包括:判断所述查询条件是否符合规定格式;其中,所述规定格式为符合模块划分规则的格式;若所述查询条件不符合规定格式,则获取用户再次输入的查询条件;若所述查询条件符合规定格式,则执行所述将所述查询条件解析得到一个条件大集合。4.根据权利要求1所述的基于星形数据库的检索方法,其特征在于,还包括:当接收到用户选择的附加查询条件时,将所述附加查询条件解析成对应的附加查询模块;将所述附加查询模块加入到已有的所述查询模块中。5.根据权利要求1所述的基于星形数据库的检索方法,其特征在于,还包括:当接收到用户删除已有查询条件时,使用用户删除的查询条件,对所述大集合查询结果进行过滤;其中,所述按照各个查询模块将所述大集合查询结果分类为:按照各个查询模块将过滤后的大集合查询结果分类。6.一种基于星形数据库的检索装置,其特征在于,包括:接收模块,用于接收用户选择的查询条件;其中,所述查询条件中包含...

【专利技术属性】
技术研发人员:樊思国
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

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

1