查询一个或多个数据库的制作方法_2

文档序号:9529256阅读:来源:国知局
机304、麦 克风306、GI^模块308或用于检测来自用户的命令或感测环境的任何其他类型的装置。在 一些示例中,存在敏感屏幕包括触摸屏。
[0048] 计算设备302中还包括一个或多个输出装置360。输出装置360配置来使用触觉、 音频和/或视频刺激向用户提供输出。输出装置360可W包括显示屏(存在敏感屏幕的一 部分)、声卡、视频图形适配器卡或用于将信号转换成人或机器可理解的适合形式的任何其 他类型的装置。输出装置360的附加示例包括扬声器、阴极射线管(CRT)监视器、液晶显示 器化CD)或能够生成用户可理解的输出的任何其他类型的装置。在一些实施方案中,一个 装置可W兼用作输入装置和输出装置。
[0049] 计算设备302包括一个或多个电源315,用于向计算设备302提供电力。电源315 的非限制性示例包括一次性使用的电源、可充电电源和/或由儀儒、裡离子或其他适合的 材料开发的电源。
[0050] 计算设备302包括操作系统318,如Android彩操作系统。操作系统318控制计 算设备302的组件的操作。例如,操作系统318协助通信客户端340与处理器311、存储器 312、网络接口 313、存储装置314、输入装置180、输出装置160和电源315的交互。
[0051] 又如图3所示,计算设备302包括通信客户端340。通信客户端340包括通信模块 345。通信客户端340和通信模块345的每一个均包括计算设备302可执行的程序指令和 /或数据。例如,在一个实施方案中,通信模块345包括使得计算设备302上执行的通信客 户端340执行本发明公开中描述的一个或多个操作和动作的指令。在一些实施方案中,通 信客户端340和/或通信模块345形成计算设备302上执行的操作系统318的一部分。
[0052] 图4是根据不例实施方案的一个或多个数据库表402、404、406的概念不意图。如 所示,Ξ个数据库表图示为表402、404、406。表402表示"1136'3"且包括11曰1]16和61]1曰;[1的 列。表404表不"orders"且包括date和use;r_id的列。表406表不"orde;r_items"且包 括orde;r_id、item_name、cost的列。表402、404、406可W被存储在一个或多个数据库中。 正如所描述的,根据多种实施方案,该数据库可W其中是关系数据库、非关系数据库、基于 文件的数据库和/或非基于文件的数据库。图4所示的表仅是用于说明本发明公开的实施 方案的示例,并且绝对不限制本发明公开的范围。
[0053] 图5是图示根据示例实施方案的包括表示一个或多个数据库表的节点和叶的模 型500的概念示意图。如所示,模型500包括节点502、504、506和叶508、510,512、514、516。 在一个示例中,节点502对应于图4中的表402,节点504对应于图4中的表404,W及节点 506对应于图4中的表406。节点502连接到节点504。节点504还连接到节点506。模型 500由模型文件表示。节点502、504、506表示为单独的节点文件。模型文件和节点文件的 示例在附录A中予W说明W及在此处更详细地予W描述。
[0054] 节点502与叶508关联,节点504与叶510、512关联,W及节点506与叶514、516 关联。每个叶包括叶标识符和叶类型。任选地,叶还可W包括细节集合。叶标识符是在模 型500中唯一性地标识该叶的字符串。叶类型对应于与该叶关联的数据的数据类型。根据 一个实施方案,叶类型可W是第一类型(在本文也称为"类型I")或第二类型(在本文也 称为"类型Π")。
[00巧]正如所使用的,类型I叶是在被包括在模型输入中时将结果分组成使得该叶的值 相同的条目在结果中被分组到一个条目中的叶类型。当多于一个类型I叶包括在模型输入 中时,其结果被分组成使得结果表的每个行对应于类型I叶的每个元组具有相同值的汇总 的结果。正如所使用的,类型II叶是在被包括在模型输入中时使汇总函数应用于查询并作 为单独的列在结果输出返回的叶类型。下文提供具有类型I和类型II叶的模型输入的示 例W用于说明。
[0056]图6是图示根据示例实施方案的用于查询与图5中的模型500关联的一个或多个 数据库的模型输入600的概念示意图。如所示,模型输入600包括选择对应于图5中的节 点506的起始节点"C"W及分别对应于图5中的叶508和512的两个叶"V"和"X"。
[0057] 图7是图示根据示例实施方案的查询与图6中的模型输入600关联的一个或多个 数据库的结果输出700的概念示意图。如所示,结果输出700包含两个行,行1和行2,W及 两个列702、704。
[005引正如所描述的,模型输入600包括类型I叶,叶"V",其对应于图5中的叶508。查 询的结果被汇总为使得具有相同叶508值的每个结果被分组到结果输出700的一个行中。 在所示的示例中,name为"TJ"的用户完成了Ξ个订单(参见图4中的表404)。TJ完成的 Ξ个订单的每个订单被分组到结果输出700中的单个行(即,行2)中。结果输出700中的 列702中示出叶508的汇总分组。
[0059] 此外,模型输入600包含类型II叶,叶"X",其对应于图5中的叶512。叶512与订 单的计数关联。在结果输出700中,列704中显示数值计数,其对应于每个行的订单计数。 如所示,运些行按用户(即,按叶508的唯一值)来组织,且列704显示每个用户的订单计 数。
[0060] 作为一个示例,当运些数据库是能够被SQL(结构化查询语言)查询来查询的关系 数据库时,基于模型输入600生成的S化查询可W是:
[0061]沈LECTusers,name,COUNT(orders,id)FROMorder-iternsLEFTJOINordersON order_items.id=orders,idLEFTJOINusersONorders.user_id=users,idWHERE users,name= "TJ/'G民OUPBYuser,name
[0062] 下文更详细地描述服务器如何基于模型输入生成上面的S化查询的更详细的解 释。
[0063] 在一些实施方案中,结果输出可W基于某个叶来排序。例如,如果结果输出包括 "name"列,贝Ij可Wname列对结果输出排序。在一个实施方案中,使用一种算法来确定缺省 排序次序。例如,如果结果输出包括表示数据库中的日期或时间的列,则按该字段降序执行 排序。如果结果输出中未包括日期或时间,但是结果输出中包括一个或多个数值测量,则按 运些数值测量之一(例如,第一个数值测量)降序执行排序。如果结果输出中未包括日期 或时间或数值测量,但是按模型输入中选定的第一个字段执行排序。
[0064] 再有,在一些实施方案中,某些类型II叶无法从某些起始节点查询。运样做可能 由于不妥当的汇总产生不正确的数据。有关哪些叶无法从某个起始节点查询的局限可W基 于S化片段中使用的汇总函数来推断。例如,如果叶使用SUM汇总函数,则仅在查询起始于 该叶连接到的起始节点的情况下才可用求和,W及如果起始于使该节点与起始节点连接的 不同节点,则不可用。例如,使用航班信息的模型示例,如果"机场"节点具有计算机场总和 的类型II叶,则当模型输入起始节点是机场节点时,此叶对于模型汇入将是可用的,但是 当该模型输入是另一个节点,如航班节点时,即使航班节点联接/连接到机场节点,该叶对 于该模型输入也是不可用的。
[0065] 正如本文更详细描述的,数据库查询系统的用户可W通过在结果输出中选择特定 结果来进一步深入"挖掘"运些结果输出。选择结果生成另一个数据库查询。例如,用户可 W选择与数值"3"对应的结果706,其表示用户TJ发出Ξ个订单。
[0066] 图8是图示根据示例实施方案的用于通过从结果输出700选择结果706来查询与 图5中的模型500关联的一个或多个数据库的模型输入800的概念示意图。基于选定的结 果706的列中选定的叶(即,叶512)的"细节集合"生成模型输入800。参见图5,叶512与 标识节点C和叶V、W、Y的细节集合关联。
[0067] 如所示,模型输入800包括选择与图5中的节点506对应的单个节点"C"、分别与 图5中的叶508、510和514对应的Ξ个叶和"Y"W及具有值"TJ"的叶"V"(即, 叶508)的过滤器。基于选定的叶(即,叶512)的细节集合,选择节点506作为模型输入800 的起始节点。叶508、510和514被选为模型输入800的叶,因为叶508、510和514包括在 选定的叶(即,叶512)的"细节集合"中。再有,按结果706中选定的行对应的类型I叶的 每一个值过滤模型输入800。在此示例中,结果706与结果输出700的行2关联。结果输出 700的每个行与一个类型I叶(即,与users,name对应的叶508)关联。选择结果706进行 "挖掘"时生成的模型输入800按叶508 (即,结果输出的行2中)的值来进行过滤,在此示 例中,具有"TJ"的值。
[0068] 图9是图示根据示例实施方案的在从先前结果输出700选择结果706之后查询与 图8中的模型输入800关联的一个或多个数据库的结果输出900的概念示意图。如所示, 结果输出900包含两个行,行1和行2,W及Ξ个列902、904、906。
[0069] 模型输入800包含两个类型I叶,叶V和W,其分别对应于图5中的叶508和510。 结果被汇总为使得叶508和510都具有相同值的每个结果被分组到结果输出900的单个行 中。在所示的示例中,name为"TJ"的用户完成了Ξ次订单(参见图4中的表404)。运些 订单中的一个在1/12/13完成,W及两个订单在2/3/13完成。如所示,TJ完成的Ξ个订单 被分组到结果输出900中的两个行中,结果输出900按users,name(即,列902)和orders, date(即,列904)的每一个唯一性组合来进行组织。结果输出700中的列702中示出叶508 的汇总的分组。
[0070] 此外,模型输入800包含一个类型II叶,叶"Y",其对应于图5中的叶514。叶514 与"orderitems.id"的计数关联。在结果输出900中,对应于每个行的订单项目的计数, 显示数值计数。在所示的示例中,一个订单由TJ在1/12/13完成,W及两个订单由TJ在 2/3/13完成,如列906中所示。
[0071] 作为一个示例,当运些数据库是能够被SQL(结构化查询语言)查询来查询的关系 数据库时,基于模型输入800生成的S化查询可W是:
[0072]SELECTusers,name,orders,date,COUNT(^order-items,id)FROMorde;r_ itemsLEFTJOINordersONorder-items.id=orders,idLEFTJOINusersONorders. user_id=users,idWHEREusers,name= "TJ"G民OUPBYusers,name,orders,date
[0073] 正如所描述的,数据库查询系统的用户可W通过在结果输出900中选择结果来进 一步深入"挖掘"运些结果数据,类似于深入挖掘到图7中的结果输出700中。选择结果生 成另一个数据库查询。例如,用户可W选择与数值"2"对应的结果908,其表示用户TJ在 2/3/13发出2个订单。
[0074] 图10是图示根据示例实施方案的通过从结果输出900选择结果908来查询与图5 中的模型500关联的一个或多个数据库的模型输入1000的概念示意图。基于选定的结果 908的列中所对应的选定的叶(即,叶514)的"细节集合"生成模型输入1000。参见图5, 叶515与标识节点C和叶Z的细节集合关联。
[007引如所示,模型输入1000包含选择与图5中的节点506对应的单个节点"C"、与 图5中的叶516对应的一个叶"Z"、具有值"TJ"的叶"V"(即,叶508)的过滤器和具有值 "2/3/13"的叶"W"(即,叶510)的过滤器。基于所选的叶(即,叶514)的细节集合,选择 节点506作为模型输入1000的起始节点。叶510被选为模型输入1000的叶,因为叶510包 括在选定的叶(即,叶514)的"细节集合"中。再有,按结果908中所选的行对应的类型I 叶的每一个值过滤模型输入1000。在此示例中,结果908与结果输出900的行2关联。结 果输出900的每个行与两个类型I叶,分别与users,name和orders,date对应的叶508和 510关联。当选择结果908进行"挖掘"时生成的模型输入1000按结果输出908的行2中 的叶508和510的值(即分别具有值"TJ"和"2/3/13")来进行过滤。
[0076] 图11是图示根据示例实施方案的在从后续结果输出900选择结果908之后查询 与图10中的模型输入1000关联的一个或多个数据库的结果输出1100的概念示意图。如 所示,结果输出1100包括两个行,行1和行2,W及一个列1100。
[0077] 模型输入1000包括一个类型I叶,叶Z,其对应于图5中的叶516。结果被汇总为 使得叶516具有相同值的结果输出1100被分组到结果输出1100的单个行中。运些结果也 通过应用模型输入1000的两个过滤器来进行过滤。如所示,由TJ于2/3/13完成的两个订 单被分组到结果输出1100中的两个行中,结果输出1100按每个唯一的item_name(即,列 1102)组织。
[0078] 图12-16图示另一个示例模型的概念示意图,W及查询该模型和返回结果的对应 用户界面。
[0079] 图12是图示根据示例实施方案的包含节点1202、1204、1206、1208W及表示一个 或多个数据库表的叶的模型1200的概念示意图。在此示例中,模型1200表示航班数据,该 航班数据由四个数据库表组织,运四个数据库表对应于机场1202、航班1204、飞机1206和 事故1208。每个节点与多个叶关联。运些叶的其中一些是类型I叶W及运些叶的其中一些 是类型II叶。再有,机场节点1202连接到航班节点1204,航班节点1204连接到飞机节点 1206,飞机节点1206连接到事故节点1208。
[0080] 图13是图示根据示例实施方案的用户界面的概念示意图,该用户界面用于选择 用于查询与图12中的模型1200关联的一个或多个数据库的模型输入。如所示,机场节点 1302被选为该模型输入的起始节点。选择起始节点可W通过技术上可行的机构(包括可用 起始节点的下拉列表来实现)。当选择机场节点1302时,显示多个叶可W被选择用于模型 输入。
[0081] 在图13中,AIRPORTS_st
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1