根据图形操作来构建数据库查询的制作方法

文档序号:6568622阅读:185来源:国知局
专利名称:根据图形操作来构建数据库查询的制作方法
技术领域
本发明涉及数据库分析领域。更具体地说,本发明涉及操纵数据 库内的数据。
背景技术
通常把结构化查询语言(Structured query language SQL)认为 是第四代数据库语言。可以使用SQL来构建数据库并且对数据库执行简 单到复杂的查询。像大部分软件语言一样,学习并理解在SQL中所使用 的脚本可能是一个挑战。使SQL能够为更广阔的人们所使用可能是有用 的。发明内容在说明性实施例中,本发明包括用于数据分析的方法、系统和计 算机程序产品。在说明性实施例中,图解示出了数据点集合或根据数 据点集合所导出的数据。允许用户图形选择图形显示的一部分。然后 根据用户的图形选择来构造数据库查询。附加实施例包括用于执行这 些及其它方法的计算才几程序产品和系统。


图1是使用结构化查询语言的示例性数据查询; 图2是说明性实施例的框图;图3A-3B依照说明性实施例图示了图形数据点选择;图4-7图示了从分散绘图矩阵中对数据点进行图形选择;图8 A - 8 B示出了对分散绘图矩阵内的数据点进行高度简化的图形选择;图9图示了平行数据绘图;图10-11图示了对应于图9的平行绘图来对平行绘图中的数据点进 行图形选择;图12示出了从数据的马赛克(mosaic)表示中对数据点进行图形选择;图13图示了从直方图中对数据进行图形选择; 图14图示了从数据的概率密度函数表示中对数据进行图形选择;和图15-16图示了根据趋势绘图构建的SQL语句的图形选择。
具体实施方式
应当参考附图阅读以下具体描述。不必按比例绘制的附图描绘了 说明性实施例并且不意在限制本发明的范围。如这里所用,术语"数据点,,用来涉及具有一个或多个维数 (dimension)的数据库元素。取决于图形格式,数据点可以用几种不同的方式来图形表示。例如,数据点当在平行坐标系中显示时,可以 由与多个平行轴相交的多段线来表示,每个平行轴表示不同的数据点维数。然而,当在X-Y坐标绘图上显示时,数据点可以被示为点或符号。 当在分散绘图矩阵中显示时,数据点还可以被示为几个绘图中每个上 的点或符号。还可以使用根据一个或多个数据点所导出的信息来图形 表示数据点,例如包括直方图或概率密度函数绘图。图l是使用结构化查询语言(SQL)的示例性数据查询。在10示出 了数据查询并且包括各个部分。从如在14所示的数据集中如在12所示 来选择要分析的数据部分。如在16所示,在"where"语句中输入条件。 可以看出,即便根据图l中的简单查询,SQL数据查询也要求知道SQL术 语、格式和句法,以及理解怎样把数据映射到数据库中。结果,常常 由设法分析数据库、追加数据分析成本的一方来使用需要技能的SQL咨 询。图2是说明性实施例的框图。总体上在20示出了说明性方法并且该 方法可以被具体化为一种方法或者各种形式,包括计算机程序或计算机程序产品,或者^:编程来执行所述方法步骤的计算机系统。从开始块开始,所述方法通过图形显示数据而开始,该数据包括来自多个数据点的数据,如在22所示。然后用户图形选择数据点集的子集,如在 24所示。接下来,用户定义的子集被转化为SQL语句,如在26所示。然 后可以依照任何适当的方式来4丸行或4吏用SQL语句。在各个实施例中,本发明可以在数据库使用中用于提供附加功能或简化功能。例如,从包含数据点集的数据图形表示中对数据点进行 图形选择可以帮助允许执行各种操作。具有特定关系的数据点可以通 过观察它们的图形表示来标识。还可以标识数据点的趋势或相关性。 通过图形地表示数据,可以更容易地删除、标识或分析离群值。可以 更容易地标识数据点或数据点组的分布,并且可以选择具有特定分布 的数据点以用于进一步查询。还可以更容易地标识并选择数据聚类和 模式。使用本发明实施例可以帮助根源分析,并且可以更容易地标识 与数据点集相关的数据流或操作中的瓶颈。以下是用于图示可以图形显示数据的不同方式的几个例子。在一 些实施例中,数据被显示为多个数据点。在其它实施例中,依照用于 表示多个数据点的方式,例如依照概率密度函数图表或直方图来更间 接地显示数据。图3A-3B依照说明性实施例图示了图形数据点选择。参照图3A,如 在30所示,表示多个数据点,其中所述数据点例如可以是散射或X-Y绘 图。用户可以使用光标、划线工具、鼠标指示元件或任何其它适当的 输入设备或方法来定义数据点30的子集32。子集32的边缘按要求可以 是弯曲的、直的或不规则的。如果想要的话,例如可以通过点击单个 数据点30来分别选择数据点30以便包括在子集32中。可以通过用户控 制的光标来图形"刷取(brush)"数据点30,例如如果用户使用鼠标 或轨迹球的话。参照图3B,再次图形地示出了数据点40。在此例子中,数据点子 集在单个绘图内包括第一和第二不连续的数据点集合,如在42和"所 示。在一些情况下,可以选择这些点的并集以用于进一步分析。在与图3 A - 3 B相关联的本发明的说明性实施例中,根据图形选择来 产生SQL语句。特别地是,产生用于捕获在子集32中或由第一和第二不 连续的数据点42、 44集合所定义的子集中的数据点的SQL语句。^4居图形选择所产生的SQL语句可以采取多个形式。例如,SQL语 句可以描述单个数据点,所述数据点已经通过使用所选数据点的唯一 列标识符标识这种所选数据点列表来简单地图形选择。在另 一实施例 中,SQL语句可以描述所选数据点的数据参数。图4-7图示了从分散绘图矩阵中对数据点进行图形选择。现在参照 图4,在50示出了具有四个维数的分散绘图矩阵。为了说明性目的,维数涉及冷却、加热和功率类型系统。为了说明性目的,省略在构造分 散绘图矩阵中所使用的标度。可以在诸如计算机屏幕之类的图形用户 接口上扭)于显示。维数说明性地包括小时52、负载54、温度56和价格58。在说明性 实施例中,如在框60内所示,用户图形选择多个数据点。在说明性实 施例中,然后产生以下SQL语句SELECT Tablel.Hour, Tablel.Load, Tablel. OutdoorTemperature, Tablel. Ut i1i tyPriceFROM Tab lei職RE (Tablel. 0utdoorTemperature>=67 AND Tablel.0utdoorTemperature<=99)AND (Tablel.Uti1ityPrice>=0.28 AND Tablel.UtilityPrice<=0, 32)在说明性例子中,由具有指令集的软件程序产品来产生SQL语句, 所述指令集用于解释所选择用来构造所述SQL语句的图形数据。例如, 区域60的边界可以,皮标识并被转化为SQL语句。现在参照图5,所示出的另一分散绘图矩阵具有多个维数绘图,包 括小时70、负载72、温度74和价格76。在此例子中,定义了两个图形 选择区域,在78其是价格76和温度74绘图,并且在80其是负载72和小 时70绘图。然后两个图形选择区域78、 80以结合步骤为条件,以致所 选数据点的子集包括处于区域78和区域80的数据点。所产生的SQL语句 如下SELECT Tablel.Hour, Tablel.Load, Tablel. OutdoorTemperature, Tablel. UtilityPrice FROM TablelWHERE ((Tablel.OutdoorTemperature>=67 AND Tablel. OutdoorTemperature<=99)AND (Tablel.Uti1ityPrice>=0.28 AND Tablel. UtilityPrice<=0. 32))里((Table1. Hour>=14 and Tablel.Hour<=15) AND (Tablel.Load>=43728 AND Tablel.Load<=93082))加下划线的AND表明组合以结合步骤为条件。现在参照图6,所示出的又一分散绘图矩阵也具有多个维数绘图, 包括小时90、负载92、温度94和价格96。在此例子中,定义了两个图形选择区域,包括在98其处于价格96和温度94绘图,并且在100其处于 负载92和小时90绘图。在说明性实施例中,然后两个图形选择区域以 合并步骤为条件,以致所选数据点的子集包括处于区域98或区域100的 数据点。所产生的SQL语句如下SELECT Tablel.Hour, Tablel.Load, Tablel. OutdoorTemperature, Tablel.Ut i1i tyPriceFROM TablelWHERE "Tablel.OutdoorTemperature>=67 AND Tablel.OutdoorTemperature<=99)AND (Tablel. Uti1ityPrice>=0. 28 AND Tablel, UtUityPrice<=0. 32))巡((Table1. Hour〉=14 and Tablel. Hour<=15) AND (Tablel. Load>=43728 AND Tablel. Load<=93082))加下划线的OR表明组合以合并步骤为条件。在说明性实施例中, 除AND和OR函数之外,也可以〗吏用异或、与非及其它适当的函数。现在参照图7,所示出的分散绘图矩阵具有包括小时IIO、负载U2、 温度114和价格116的维数。如在118所示,图形选择单个数据点。此时 存在可以用来产生SQL语句的候选方式。在第一例子中,产生此SQL语 句SELECT Tablel.Hour, Tablel,Load, Tablel.OutdoorTemperature, Tablel.Ut i1i tyPrice FROM TablelWHERE Tablel.OutdoorTemperature=78. 1 AND Tablel.Uti1ityPrice=0.65应当注意,可以使用以上SQL语句来捕获一个以上数据点。在候选 例子中,可以只用如下SQL语句来捕获单个点SELECT TaMel. Hour, TaMel. Load, Tablel.OutdoorTemperature, Tablel.UtilityPriceFROM TablelWHERE Tablel.Date='7/29/1999 03:59:57' "where"语句反映数据点的唯一列标识符。作为选择,如果数据 点集在数据库元素集内是有限的,那么数据点的元素号码可以被用为 唯一的列标识符。在说明性实施例中,是使用第一还是第二候选方式来捕获单个数据点可以取决于其中用来图形选择数据点的方式。例如, 如果"点击,,数据点,那么可以使用第二候选方式,而如果碰巧在用 户定义的框或区域内高亮度显示所述数据点,那么可以使用第一候选 方式。在一些实施例中,可以在允许用户选择不同的格式来为图形选择的数据子集构造SQL语句的环境内使用以上方法。例如,计算机程序产 品可以具有其中使用唯一的数据点标识符来标识所选子集中的点的第 一模式和其中使用数据参数来定义所选子集中的点的第二模式。图8 A - 8 B示出了对分散绘图矩阵内的数据点进行高度简化的图形 选择。在图8A-8B中所示出的实施例示出了一些实施例的图形显示性 质。参照图8A,分散绘图矩阵130具有负载132、温度134和时间136的 维数。分散绘图矩阵130包括多个数据点138。如在图8A中所显示,没 有选择任何数据点138或者已经选择了全部数据点138。在图形显示中 除数据点的位置之外无法彼此区分单个数据点。参照图8B,现在所示出的分散绘图矩阵13O具有已经图形选择的数 据子集,如框140所示。几个数据点142在由图形框140所定义的数据子 集内。在矩阵中的其它绘图中,使用不同的标记来示出数据子集内的 点,如在144所表明。虽然在图8B中只示出了三维分散绘图矩阵,然而 此选择方式允许用户真实地看见图形选择子集怎样出现在其它维数 中。在各种实施例中,可以使用与未选数据点不同的颜色或形状来显 示数据子集内的点。还可以定义多个子集。图9图示了平行坐标绘制数据。特别地是,在平行坐标绘图中,数 据点被示为与多个平行坐标轴中的每个相交的多段线。美国专利号 5, 546, 516示出了平行坐标绘图的几个方面,在此将其公开合并以供参 考。图9中的说明性绘图具有四个维数小时152、负载154、温度156 和价格158。每条线在用于表示该维数的数据点值的点与每个轴相交。图10-11图示了对应于图9的平行绘图来对平行绘图中的数据点进 行图形选择。参照图IO,框160用来图形选择几个数据点。还3争过每个 轴152、 154、 156、 158示出了所选数据点。忽略在图9中所示出的原始 绘图中的其它线以便高亮度显示所选择的线。例如当在计算机屏幕上 显示时,可以用与未选择线不同的颜色来示出所选择的线,或者可以 使用与所示出的显示类似的显示。与图10的图形选择相关联产生的SQL语句可以如下SELECT Tablel.Hour, Tablel.Load, Tab lei.OutdoorTemperature, Tablel.UtilityPriceFROM TablelWHERE Tablel.Hour〉=14 AND Tablel.Hour<=15现在参照图ll,示出了处于轴之间位置的图形选择。特别地是, 所示出的选择框16 2表明在图11中所表示的哪些数据点被包括在内。然 而选择框162并不在轴152、 154、 156、 158之一上,而是替代地位于两 个轴152、 154之间。由此选择与一部分选择框162相交的每条线。为了 清楚起见并且如图10那样,再次忽略未从图9中所选择的数据点。在一 些实施例中,用于根据平行坐标绘图来构建SQL语句的数据点可以通过 使用解析几何方法来标识,例如通过计算在平行坐标绘图线(用于表 示单个数据点)和选择框162之间的交点。图12示出了从数据的马赛克表示中对数据点进行图形选择。马赛 克绘图提供了用于二维频率分析分类数据的方式。矩形大小对应于所 观察的单元频率,即具有给定组合的x-y类别的频率。矩形的颜色或填 充模式表示某些其它统计变量。马赛克绘图170使用多个块172来显示 在数据的三维之间的关系。在i兌明性例子中,分类维数(categorical dimension)包括在图表轴上所示出的工作日和小时以及例如由单个块 上的模式使用在17 4所示出标度所表明的平均价格。数据点被表示为块 172。如所示的,在176在框中选择三个矩形,并且它们可以表示i午多 数据点,所述数据点满足关于所述三个矩形的范畴限制。对于此例子 来说,所构建的SQL语句可以采取以下形式SELECT Tablel.Hour, Tablel.Load, Tablel.0utdoorTemperature, Tablel, Ut i1i tyPriceFROM TablelWHERE Tablel.hour=18 AND Tablel. weekday IN (6,7,1) 马赛克绘图允许对多个数据点进行范畴选择。图13图示了从直方图中对数据进行图形选择。直方图180通过分组 负载级别集并且示出在确定界限内该负载出现的频率来表明负载级 别。因此每个条182表示具有由图表的较低轴所表明值的负载的出现次 数。如块184所表明,选择包括条186的两个条。以下示出了可以使用在图13中所示出的图形选择来得出的SQL语句SELECT Tablel.Hour, Tablel.Load, Tablei.OutdoorTemperature, Tablel.UtilityPriceFROM Tablel匿RE (Tablel. Load〉Binlowl AND Tablel. Load<=Binhighl ) OR (Tablel. Load>Binlow2 AND Tablel.Load<=Binhigh2)为了此说明性SQL语句,Binlow N和Binhigh N表示第N个直方图条 的高和低界限。可以依照任何适当的方式来创建或计算高和低界限。 在一些实施例中,通过为在直方图中要考虑的变量同样地划分处于最 大和最小值之间的范围来计算高和低界限。图14图示了从数据的概率密度函数表示中对数据进行图形选择。 PDF图表190示出了用于表明相对似然性的线192,给定变量获取在底轴 上所示出的值。块194表明PDF图表的所选部分。所示出的选择包括如 下的数据点,在这些数据点中在PDF图表190中所考虑的变量具有落入 在较低轴上所示出的范围内和块194内的值。因此代表性的SQL语句是SELECT Tablel. Hour, TableUoad, Tablel.OutdoorTemperature, Tablel.UtilityPriceFROM TablelWHERE Tablel. Load>=SelectionLow AND Tablel.Load<=SelectionHigh对于SQL来说,通过观察在块194边缘的较低轴的值来设置变量 Select ionLow和Select ionHigh。应当注意,在图13和14所示出的说明性图表中,无法从在对数据 点执行图形选择中所使用的图表中区分出实际的数据点。作为替代, 根据数据点的集合导出图13-14的图表。因此使用与数据点集相关的数 据来进行选择。用。例如,如以上任何实施例所示产生的SQL语句可以被保存以供稍后 当数据已经;故更新或替换时用来对其它数椐库或相同的数据库重复分 析。如上面所产生的SQL语句还可以;故转送到其它程序以用于附加分析。图15-16图示了对SQL语句进行图形选择——根据趋势绘图来构建。说明性趋势绘图示出了在y轴上所显示的变量趋势对比在x轴上所 显示的时间。参照图15,所示出的四个趋势绘图用于小时、负载、温 度和价格。对于四个变量中的每个来说,所示出的滑块具有上和下界 限。通过移动滑块界限来允许使用多个维数的图形选择,诸如在滑块 界限202,所述滑块界限202是温度维数的下界限。图16图示了使用趋 势绘图200的图形选择。这里,已经设置了用于小时绘图的上和下界限, 如在206所示。已经选择了用于温度的下界限,如在214所示,其温度 绘图的上界限在其最大值离开。这些选择会选择多个数据点。代表性 的SQL语句是SELECT Tablel.Hour, Tablel.Load, Tablel. OutdoorTemperature, Tab lei. Ut i1i tyPr iceFROM Tab leiWHERE (Tablel.OutdoorTemperature >= 67 AND Tablel. OutdoorTemperature <- 99) AND (Tablel.Hour >= 14 AND Tablel. Hour <= 15)选择区域还可以被用户选项反向,例如通过检查"逆"或"外部" 选项。在此实施例中,然后选择位于上和下界限之外的数据。参照图 16的绘图,代表性的"外部"SQL语句是SELECT Tablel.Hour, Tablel.Load, Tablel. OutdoorTemperature, Tablel. UtilityPriceFROM TablelWHERE (Tablel.OutdoorTemperature <= 67 OR Tablel.OutdoorTemperature >= 99) AND ( Tablel.Hour <= 14 OR Tablel. Hour >= 15)那些本领域技术人员应当认识到,可以用除这里所描述并预计的 具体实施例之外的各种形式来表明本发明。据此,在不脱离如所附权 利要求所描述的本发明的精神和范围的情况下,可以进行形式和细节 上的改变。
权利要求
1.一种用于数据分析的计算机程序产品,具有用于执行以下步骤的指令使用与每个数据点相关的至少第一和第二变量来在图形用户接口上图形绘制多个数据点;允许用户图形选择所述数据点数目的子集;把用户在图形选择所述子集中的动作转化为与在图形选择的子集中所表示的数据点相关的数据库命令。
2. 如权利要求l所述的计算机程序产品,其中转化步骤包括转化 为SQL。
3. —种包括有如权利要求1所述的计算机程序产品的计算机可读 介质。
4. 如权利要求l所述的计算机程序产品,其中图形显示数据点数 目的步骤包括把所述数据点作为原始数据显示。
5. 如权利要求l所述的计算机程序产品,其中图形显示数据点数 目的步骤包括显示从所述数据点导出的信息。
6. 如权利要求l所述的计算机程序产品,其中允许用户图形选择 数据点数目子集的步骤包括允许所述用户使用光标来刷取一个或多个 数据点。
7. 如权利要求l所述的计算机程序产品,其中允许用户图形选择 数据点数目子集的步骤包括允许所述用户定义第 一和第二不连接的图 形数据点块。
8. —种用于数据分析的方法,包括使用与每个数据点相关的至少第一和第二变量来在图形用户接口 上图形绘制多个数据点;图形选择所述数据点数目的子集;把图形选择所述子集的动作转化为与在图形选择的子集中的数据 点相关的数据库命令。
9. 如权利要求8所述的方法,其中转化动作的步骤包括转化为SQL。
10. 如权利要求8所述的方法,其中图形显示数据点数目的步骤包 括把所述数据点作为原始数据显示。
11. 如权利要求8所述的方法,其中图形显示数据点数目的步骤包括显示从所述数据点导出的信息。
12. 如权利要求8所述的方法,其中图形选择所述数据点数目的子 集的步骤包括使用光标来刷取一个或多个数据点。
13. 如权利要求8所述的方法,其中图形选择所述数据点数目的子 集的步骤包括图形定义第一和第二不连续的图形数据点块。
14. 一种包括中央处理单元、存储器和图形用户接口的计算机系 统,所述系统被配置为通过使用以下步骤来进行数据分析使用与每个数据点相关的至少第一和第二变量来在图形用户接口 上图形绘制多个数据点;允许用户图形选择所述数据点数目的子集;把用户在图形选择所述子集的动作转化为与在图形选择的子集中 所表示的数据点相关的数据库命令。
15. 如权利要求14所述的计算机系统,其中所述系统进一步^皮配 置,以致转化步骤包括转化为SQL。
16. 如权利要求14所述的计算机系统,其中所述系统进一步^皮配 置,以致图形显示所述数据点数目的步骤包括把所述数据点作为原始 数据显示。
17. 如权利要求14所述的计算机系统,其中所述系统进一步净皮配 置,以致图形显示所述数据点数目的步骤包括显示从所述数据点导出 的4言息。
18. 如权利要求14所述的计算机系统,其中所述系统进一步净皮配 置,以致允许用户图形选择所述数据点数目的子集的步骤包括允许所 述用户使用光标来刷取一个或多个数据点。
19. 如权利要求14所述的计算机系统,进一步包括用于光标控制 的非键盘装置,其中所述系统进一步被配置,以致在至少一个操作模 式中,所述用户使用所述用于光标控制的非键盘装置来图形选择一个 或多个数据点。
20. 如权利要求14所述的计算机系统,其中所述系统进一步^f皮配 置,以致允许用户图形选择所述数据点数目的子集的步骤包括允许所 述用户定义第一和第二不连续的图形数据点块。
21. —种用于数据分析的计算机程序产品,具有用于执行以下步 骤的指令依照概率密度函数格式在图形用户接口上图形表示根据多个数据点所导出的数据;允许用户图形选择所述图形表示的一部分;并且 把用户在图形选择所述子集中的动作转化为与在图形选择的部分中所表示的数据点相关的数据库命令。
全文摘要
用于数据分析的方法、系统和计算机程序产品。图解示出了数据点集合或根据数据点集合所导出的数据。允许用户图形选择图形显示的一部分。然后根据用户的图形选择来构造数据库查询。
文档编号G06F17/30GK101268462SQ200680030097
公开日2008年9月17日 申请日期2006年6月16日 优先权日2005年6月17日
发明者R·纳夫拉蒂尔, S·佩特 申请人:霍尼韦尔国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1