首页> 中国专利> 具智能查询能力的数据库查询系统与方法

具智能查询能力的数据库查询系统与方法

摘要

本发明公开了一种具智能查询能力的数据库查询系统与方法。本发明所揭露的系统,包括有:一个智能记忆库、一个数据库、以及一个分析查询模块。使用者输入查询对象后,会先由智能记忆库寻找有无对应的查询语句,若有则以此查询语句查询数据库,若无则将这些查询对象交由分析查询模块产生数个查询语句,并查询数据库而计算对应的查询组合分数,以找出查询代价较小的查询语句而记录于智能记忆库中。之后,若使用者再次以相同的查询对象查询时,可自动选出此查询语句用以查询数据,避免使用较差效益的查询语句查询数据库而降低数据库的查询效益。

著录项

  • 公开/公告号CN101206654A

    专利类型发明专利

  • 公开/公告日2008-06-25

    原文格式PDF

  • 申请/专利权人 英业达股份有限公司;

    申请/专利号CN200610170792.2

  • 发明设计人 邱全成;叶建华;

    申请日2006-12-22

  • 分类号G06F17/30(20060101);

  • 代理机构11006 北京律诚同业知识产权代理有限公司;

  • 代理人梁挥;祁建国

  • 地址 中国台湾台北市

  • 入库时间 2023-12-17 20:15:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-07

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20100414 终止日期:20171222 申请日:20061222

    专利权的终止

  • 2017-11-03

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20171017 变更前: 变更后:

    专利申请权、专利权的转移

  • 2017-11-03

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20061222

    著录事项变更

  • 2010-04-14

    授权

    授权

  • 2008-08-20

    实质审查的生效

    实质审查的生效

  • 2008-06-25

    公开

    公开

查看全部

说明书

技术领域

本发明涉及一种数据库查询系统与方法,尤其涉及一种具智能查询能力,可自动产生输入的查询对象所对应的查询组合的数据库查询系统与方法。

背景技术

随着计算机运用普及化,资料数据的记录渐渐由记录于纸本文件转为记录于电子媒介(或文件),各类数据可记录于这些电子媒介(或文件)而汇整为数据库。数据库里最常使用的功能为查询数据,使用者可通过下达查询指令,例如以SQL指令查询,而由数据库撷取相关联的数据。举例来说,将问卷调查数据,包括受测者的性别、年龄、嗜好、收入、以及每周看电影次数等储存于数据库中。使用者若想知道年龄层大于20岁的电影市场,可通过下达简单的查询指令得知,例如:Select Movie_Times_Week From Survey--_Inf where age>20,而使用者还可通过较复杂的查询指令及运算,得知上述年龄层的潜在电影市场总值,使用者可下达例如:Select SUM(ICOME)From Survey_Inf where age>20以得知年龄层在20岁以上的受测者收入总值,以及下达例如:SelectSUM(Movie_Times_Week)From Survey_Inf where age>20得知年龄层在20岁以上的受测者每周观看电影的总次数,并将查询道的20岁以上的受测者收入总值减掉每周观看电影的总次数所花费的金额,便可得到上述的潜在电影市场总值。

然而,欲将数据库的功用发挥的淋漓尽致,往往取决于下达的查询指令的良莠,而查询指令的良莠取决于使用者对数据库(例如字段意义)的了解,以及下达的查询指令的复杂度,例如以一个较复杂的SQL指令撷取数据可能较以多个较简单的SQL指令撷取数据费时,因此较复杂的SQL就可被视为质量较差的查询指令。由此可见,人为操作因素可能会迫使在搜集与管理数据库的数据的效能大打折扣,因此需要一种可独立于人为操作的数据库查询系统与方法,避免与改善上述的缺失。

发明内容

本发明所要解决的技术问题在于输入查询对象后可自动产生对应的查询语句,用以在数据库查询数据。

为实现上述目的,本发明通过系统与方法两方面达成,本发明所揭露的系统,包括有:一个智能记忆库,用以储存多个查询对象及其对应的查询语句;一个数据库,用以储存数据供使用者查询;以及一个分析查询模块,用以产生这些查询对象对应的对象组合,并依据一个查询算法产生对应的查询语句,以查询此数据库从而输出一个结果集。其中,上述的分析查询模块更计算这些查询语句对应的查询组合分数,并纪录最小的查询组合分数对应的查询语句于智能记忆库,及将由数据库的输出,汇集成一个结果集。

本发明所揭露的具智能查询能力的数据库查询方法,包括有下列步骤:首先输入至少一查询对象,以查询对应的至少一查询语句;之后,若判断有对应的查询语句,则依据这些查询语句查询数据库,以输出一个结果集;然后,若判断不具有对应的查询语句,则依据这些查询对象产生数个对象组合,并依据一个查询算法产生这些对象组合对应的查询语句用以查询数据库;接着依据此数据库的输出计算这些查询语句对应的多个查询组合分数;最后,找出最小的查询组合分数,并记录此查询组合分数对应的查询语句,及输出此查询语句对应的结果集。

由上述系统与方法可知,本发明通过产生查询对象对应的查询语句,并计算及记录这些查询语句对应的查询代价较小的一个查询语句,而在往后以相同的查询对象查询时,得以自动取出对应的查询语句来查询数据,以避免人为操作数据库时,下达较差效益或错误的查询语句而降低数据库系统的使用效益。

有关本发明的详细特征与实作,兹配合图示在实施方式中详细说明如下,其内容足以使本领域的技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容及图式,任何本领域技术人员可轻易地理解本发明相关的目的及优点。

附图说明

图1为本发明实施例所提的数据库查询系统示意图;

图2为本发明实施例所提的数据库查询方法流程图。

其中,附图标记:

110:智能记忆库

120:数据库

130:分析查询模块

132:查询演算模块

134:结果值比对模块

具体实施方式

为让本发明的上述及其它目的、特征和优点能更显而易懂,下文特举出一实施例,并配合所附图式,作详细说明如下。

图1为本发明实施例所提的数据库查询系统示意图。请参照图1,本实施例的数据库查询系统(以后简称系统)包括一个智能记忆库110用来储存输入的查询对象以及这些查询对象对应的查询语句;一个数据库120,用来储存数据以供使用者查询;一个分析查询模块130,用来产生查询对象对应的对象组合,以及依据一个算法来产生对应的查询语句,并用这些查询语句在数据库120查询出一个结果集。另外,分析查询模块130会依据每一查询语句查询所需的时间以及回传的结果集的成员个数计算出对应的查询组合分数。这些查询组合分数代表使用这些查询语句查询数据库120的代价。分析查询模块130会找出这些查询组合分数中最小值(在本实施例中,有较小的查询组合分数代表对应的查询语句可以用较短的时间查询出较精确的数据),并将这个最小的查询组合分数所对应的查询对象及查询语句储存于智能记忆库当中,并将查询到的结果集输出予使用者。

接续上一段落,上述的分析查询模块130中还包括一个查询演算模块132以及一个比对模块134。查询演算模块132存放计算查询对象对应的多种查询语句的算法,查询演算模块132可通过此算法依据查询对象的关系产生一些对象组合,以进一步依据这些对象组合产生对应的查询语句。当分析查询模块130产生数个查询语句,并以这些查询语句查询数据库120后得到查询结果,分析查询模块130会将这些查询结果汇集成一个结果集。此时,比对模块134则会依据这些结果集的成员个数以及产生这些结果及所需时间产生对应的查询组合分数,并更进一步判断出最小的一个查询组合分数及其对应的查询语句,用以将这个查询语句记录于智能记忆库110。当使用者下次输入相同的查询对象时,系统便不需再次产生对应的查询语句,而可直接由智能记忆库提取查询语句来查询数据。

附带一提,本系统的智能记忆库110可以例如是一个硬盘或是一个闪存等可用以储存查询对象与对应的查询语句的媒介,而查询语句在本实施例中,例如是一种结构化查询语言指令(Structured Query Language,SQL),任何本领域的技术人员,当可依本实施例的教示加以修改,在此不限制其范围。

图2为本发明实施例所提的数据库查询方法流程图。请参照图2,本实施例的数据库查询方法包括如下步骤:首先,输入至少一个查询对象(步骤210),这些查询对象例如是使用者欲下达的选取对象以及范围,而不是例如SQL等数据库查询指令;此时,系统会判断是否具有这些查询对象对应的查询语句,查询语句例如为SQL或其它用以查询数据库的查询指令,若判断具有对应的数个查询语句,则依据这些查询语句查询该数据库,以输出一结果集(步骤220);若判断不具对应的查询语句,则依据这些查询对象产生数个对象组合,并依据一个查询算法产生这些对象组合对应的查询语句用以查询数据库(步骤230);然后,依据数据库输出的数据来计算这些查询语句对应的查询组合分数(步骤240);最后,找出最小的查询组合分数,并记录此查询组合分数对应的查询语句,及输出查询语句对应的结果集(步骤250)。

在本实施例中的查询算法为依据输入至少一个查询对象与数据库字段的关系产生对象组合及其对应的查询语句,其包括步骤如下:首先寻找系统的数据库是否包含输入的查询对象;若判断完全不包含这些查询对象,则输出一个错误信息,例如:数据库不包括您欲寻找的数据,请再次输入。若判断包含至少一个查询对象,则依据这些查询对象在数据库的数个表格的的关联性产生对象组合的排列,例如输入A、B、C等三个查询对象据关联性的表格个数各自为5个表格、1个表格、1个表格,此时对象组合例如为ABC,代表依关联性高低查询,先查询A对象相关的信息,再查询B对象,之后再查询C对象;最后,依据这些对象组合产生对应的查询语句。

承上述,系统分别以产生的各个查询语句自动查询数据库,并将由数据库搜寻到的结果汇集为各个查询语句对应的结果集,结果集包含的字段例如查询对象字段、查询语句字段、所需时间字段、结果成员字段等,用以清楚表示使用者查询的项目、系统产生的数个查询语句、搜寻数据库所需时间、以及由数据库搜寻到的数据。另外,系统更会计算出在步骤240提及的查询组合分数。下达查询语句的质量取决于查询时间以及找出的数据多少,一般而言,使用者希望以越短的时间找出精确的数据,而当下达的查询语句越精确,所找到的结果成员的个数当然越少。举例来说,在商品数据库中欲寻找茶类饮品的售价信息,若单以饮品作为收询的资料,则找出的结果成员个数太过繁多,甚至可能搜寻到碳酸饮料的售价数据。若以茶类饮品、宝特瓶包装、以及销售地点作为查询项目,则虽然找到信息较精确,然而却增加搜寻数据库的时间。查询组合分数就是用来代表以一个查询语句查询数据库的质量,其计算方式为将结果集的结果成员个数加上查询数据库所耗费的时间加总。每一个查询语句均会有对应的查询组合分数,在本实施例中较小的查询组合分数对应的查询语句的质量越高,而较大的查询组合分数所对应的查询语句的质量越低。系统的分析查询模块里的比对模块会选出最低查询组合分数所对应的查询语句作为较佳的查询语句,而记录于智能记忆库。

综上所述,本发明因采用智能记忆库储存具较佳查询质量的查询语句,以及通过分析查询模块自动产生查询对象对应的数个查询语句而输入数据库查询及判断具较佳查询质量的查询语句,进而加以储存,而至少有以下优点:

(1)使用者仅需输入查询项目即可自动产生查询语言。

(2)不需对数据库的表格或字段作深入了解,即可进行操作。

(3)系统自动产生具较高查询质量的查询语句,避免使用较差效益的查询语句查询数据库而降低数据库的查询效益。

当然本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的普通技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号