当前位置: 首页 > 专利查询>微软公司专利>正文

结构化查询语言中的路径表达式制造技术

技术编号:2831633 阅读:285 留言:0更新日期:2012-04-11 18:40
用于经由采用引用连接扩展查询语言以通过捕捉多张表之间的现有联接的语义来定义连接的简单公式化的系统和方法。这一引用连接允许编译器利用数据库中的现有关系,并利用关于引用约束的现有知识来将引用连接表达式无歧义地变换成所涉及的列上的等效内部连接。因此,可提供更简单的查询句法和语义来表达对例如主键/外键关系的多表连接导航。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及查询语言,尤其涉及利用数据库中的现有关系的连接的公式化。专利技术背景计算机技术(例如,微处理器速度、存储器能力、数据传输带宽、软件功能 等)的日益进步一般对计算机在各种行业中的应用做出了贡献。通常提供了常被配 置为服务器阵列的更强大的服务器系统来服务源自诸如万维网等外部源的请求。当可用电子数据的数量增长时,以便于用户友好且快速的数据搜索和检索的可管理方式储存这些数据变得愈发重要。数据库管理系统(DBMS)通常可管理任 何形式的数据,包括文本、图像、声音和视频。当今, 一种常见的方法是将电子数 据储存在一个或多个数据库中。 一般而言,典型的数据库可被称为有组织的信息集合,其中数据被结构化使得计算机程序可快速搜索和选择例如期望的各个数据。通 常,数据库内的数据是经由一张或多张表来组织的。这些表被排列成行和列的数组。据此,数据库和文件结构是由软件应用程序来确定的。同样,表可包括一组记录,且记录包括一组字段。记录通常被索引为表内的 行,而记录字段通常被索引为列,使得索引的行/列对可引用表内的一个特定数据。 例如,行可储存与销售交易、个人或项目有关的完整的数据记录。同样,表的列可 定义具有相同的通用数据格式的行的离散部分,而列可定义记录的字段。对这类表的查询可根据标准查询语言(例如,结构化查询语言(SQL))来 构造以访问数据库中的表的内容。同样,数据可经由外部源输入(例如,导入)到 表中。此外,数据库应用程序设计者通常可例如使用诸如实体关系模型和统一数据 模型语言(UML)等数据建模语言来对世界建模。这些模型可按照实体和关系来表示世界。例如,在持有与作者(Author)和文 档(Documents)有关的数据的数据库中,文档和作者可作为实体来对待,且由…… 编写(WrittenBy)可被设计为关系。关系定义通常可具有与其相关联的基数。由此,在数据库环境中,可以存在一对一 (1:1)、一对多(1:N)以及多对多(N:M) 关系(其中N和M是整数)。一对一和一对多关系可通过引用约束在SQL中捕捉。同样,多对多关系通常 可通过引入捕捉这一关系的中间表(例如,WrittenBy)来建模。通常,SQL査询 和更新语句的语义稳固地扎根于关系代数学。然而,通过连接导航多个表的当今的 各种SQL査询的公式化通常太过冗长。例如,在作者和文档表的多对多关系中,其中文档可具有多个作者而作者可 编写多个文档,首先需要清楚地说明表之间的关系。随后,需要指定连接条件并应 用各种过滤器表达式。因此,公式化这类査询可能需要釆用多个表,且在SQL级 别处,与这一连接有关的所有细节通常应当被清楚地说明。因此,需要指定可能会 进一步导致冗长公式化的多个定义,这会导致对应用程序开发者的难以处理的接口 以及系统资源的浪费。因此,需要克服与常规系统和设备相关联的上述示例性缺陷。专利技术概述以下提出了本专利技术的简化概述以提供对本专利技术的一个或多个方面的基本理 解。这一概述不是本专利技术的广泛综述。它既不旨在标识本专利技术的关键或决定性要素, 也不旨在描绘本专利技术的范围。相反,该概述的唯一目的是以简化的形式提出本专利技术 的某些概念,作为之后提出的更详细描述的序言。本专利技术提供了可通过经由采用引用连接捕捉多个表之间的现有联接的语义来 扩展查询语言并定义连接的简单公式化的系统和方法。这一引用连接(REFJOIN) 可利用数据库中的现有关系(例如,关系型元数据中捕捉的主键-外键关系)来公 式化句法简明性。为在两个源表(例如,左表源(LTS)和右表源(RTSp之间提供 根据本专利技术的引用连接, 一般在两者之间应仅存在一个引用约束。例如,当SQL编译器可以无歧义地映射引用连接实现的简洁表示法时,其中 通常在关系之间仅存在一条路径。在其它情况下,可提示用户提供附加信息以唯一 地定义这一单一路径。由此,根据本专利技术的一方面的SQL编译器可采用关于引用 约束的现有知识来允许将引用连接(REF JOIN)表达式无歧义地变换成列上的等 价INNERJOIN (内部连接),该连接参与两张表之间的引用约束。因此,可提供 更简单的査询句法和语义来表达例如对主键/外键关系的多表连接导航。在另一方面,本专利技术的引用连接可被变换成内部连接,其中如果在多张表之间存在无歧义的引用完整性约束,则某些表可保持未暴露以提供导航期间的表跳跃。例如, 一旦在表l (Tl)和表2 (T2)之间存在经由表3 (T3)的无歧义引 用完整性约束路径,则T1 REF JOIN T2可被转换成T1 INNER JOIN T3 INNER JOINT2而不暴露T3的列。在本专利技术的又一方面,用户可引用文档视图来获得所需的值,其中在更新期 间,引用连接可促进对底层基表的相应原语更新的自动变换,并以正确的顺序执行 基表更新以满足引用完整性约束。因此,本专利技术的引用连接(REF JOIN)可便于 由REF JOIN定义的对象视图的插入、删除和更新的自动转换。这一自动转换到相 应的正确且有序的等效基表更新序列通常通过考虑在对文档视图有贡献的底层基 表之间定义的引用完整性约束来执行。根据本专利技术的再一方面,可提供动态地学习所创建的各种关系(与静态的现 有外键(FK)-主键(PK)关系相比)的关系型连接组件,因此当数据库增长时, 这一关系连接可指导编译器清楚地说明引用连接。另外,本专利技术可便于由对象关系 系统映射到关系型模型。为实现上述和相关目的,本专利技术因而包括了以下完全描述的特征。以下描述 和附图详细阐明了本专利技术的某些说明性方面。然而,这些方面仅指示了可采用本发 明的原理的各种方式中的几种。当结合附图考虑时,从本专利技术的详细描述中可以清 楚本专利技术的其它方面、优点和新颖特征。附图简述附图说明图1示出了根据本专利技术的一方面的引用连接系统的框图。 图2示出了根据本专利技术的一方面的多张表之间的引用连接操作的具体示例。 图3示出了可实现本专利技术的各方面的查询编译管线的框图。 图4示出了根据本专利技术的一方面经由引用连接来简化连接的公式化的示例性 流程。图5示出了根据本专利技术的一特定方面的使用引用连接的视图更新的示例性方法。图6示出了根据本专利技术可随着数据库的增长动态地学习表之间的联接约束的 关系型联接的框图。图7示出了可采用根据本专利技术的一方面的引用连接的客户机-服务器的框图。 图8示出了其中可实现本专利技术的各方面的合适的计算环境的简要概括描述。 图9示出了可采用根据本专利技术的一方面的引用连接的客户机-服务器的示意图。专利技术详述现在参考附图来描述本专利技术,在所有附图中,使用相同的参考标号来指相同 的元素。在以下描述中,出于解释的目的,阐明了众多具体细节以提供对本专利技术的 透彻理解。然而,很明显,本专利技术可以在没有这些具体细节的情况下实践。在其它 情况下,以框图形式示出了公知的结构和设备以便于描述本专利技术。如本申请中所使用的,术语组件、处理程序、模型、系统等指的是计算机相关的实体,它们或者是硬件、硬件和软件的组合、软件、或执行 中的软件。例如,组件可以是,但不限于处理器上运行的进程、处理器、对象、可 执行码、执行线程、程序和/或计算机。作为说明,服务器上运行的应用程序和服 务器都可以是组件。 一个或多个组件可驻留在进程和/或执行线程内,且组件可位 于一台计算机上和/或分本文档来自技高网...

【技术保护点】
一种便于数据库查询的系统,包括:接收与数据库交互的查询的编译器;以及关系型连接组件,它经由引用连接扩展相应的查询语言来捕捉与所述数据库相关联的多张表之间的现有联接的语义,以减少探查或导航所述数据库所需的语法。

【技术特征摘要】
【国外来华专利技术】US 2005-4-14 11/105,8781.一种便于数据库查询的系统,包括接收与数据库交互的查询的编译器;以及关系型连接组件,它经由引用连接扩展相应的查询语言来捕捉与所述数据库相关联的多张表之间的现有联接的语义,以减少探查或导航所述数据库所需的语法。2. 如权利要求l所述的系统,其特征在于,所述现有联接包括在关系型元数 据中捕捉的主键-外键关系。3. 如权利要求2所述的系统,其特征在于,在左表源和右表源之间提供所述 引用连接和存在左表源和右表源之间的一个引用约束。4. 如权利要求3所述的系统,其特征在于,所述一个引用约束包括所述引用 连接的表达式到相关联列的等效内部连接的无歧义变换。5. 如权利要求l所述的系统,其特征在于,所述编译器将所述引用连接变换成内部连接,并在所述数据库的导航期间提供表跳跃。6. 如权利要求l所述的系统,其特征在于,如果在关系之间仅存在一条路径,则所述编译器无歧义地映射由所述引用连接实现的简洁表示法。7. 如权利要求1所述的系统,其特征在于,还包括动态地学习所述数据库中 创建的各种关系的另-一关系型连接组件。8. 如权利要求l所述的系统,其特征在于,还包括由用户引用以获得所需的 值、且用于以正确的顺序执行基表更新以满足引用完整性约束的文档视图。9. 如权利要求1所述的系统,其特征在于,所述编译器还包括将所述引用连 接的结构化査询语言(SQL)变换成等效关系型代数树的语法分析器/代数化器。10. 如权利要求9所述的系统,其特征在于,所述编译器还包括为所述引用 连接搜...

【专利技术属性】
技术研发人员:B拉塔克瑞施纳C坎宁安E扎伯克利特斯基JA布莱克利
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1