CN100397398C - 从多个格式不同的物理表创建逻辑表的方法和系统 - Google Patents

从多个格式不同的物理表创建逻辑表的方法和系统 Download PDF

Info

Publication number
CN100397398C
CN100397398C CNB2005101175714A CN200510117571A CN100397398C CN 100397398 C CN100397398 C CN 100397398C CN B2005101175714 A CNB2005101175714 A CN B2005101175714A CN 200510117571 A CN200510117571 A CN 200510117571A CN 100397398 C CN100397398 C CN 100397398C
Authority
CN
China
Prior art keywords
logical
data
database
relation
databases
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005101175714A
Other languages
English (en)
Other versions
CN1790322A (zh
Inventor
R·D·德廷格
D·P·科尔茨
R·J·史蒂文斯
J·W·腾纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1790322A publication Critical patent/CN1790322A/zh
Application granted granted Critical
Publication of CN100397398C publication Critical patent/CN100397398C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例提供了用于构建包括映射到一逻辑表的逻辑字段的数据库抽象模型的方法。该逻辑表是通过使用从多个格式不同的物理表获取的数据构建的。该逻辑表允许存储在多个数据库中的逻辑上相关的数据表现为来自单个表的数据。维护存储在多个格式不同的数据库中的数据之间的关系,并且包括映射到多个数据库的多个访问方法的逻辑字段由映射到该逻辑表的单个访问方法来取代。修改为该数据库抽象模型定义的数据关系以反映该逻辑表。

Description

从多个格式不同的物理表创建逻辑表的方法和系统
技术领域
本发明涉及计算机数据库。更具体地说,本发明涉及用于在一组单独的、格式不同的、用于存储逻辑上相似或相关的数据的数据库上创建数据库抽象模型的技术。
背景技术
数据库是用于信息存储和检索的公知系统。目前使用的最普遍的数据库类型是关系数据库,这是一种表格式的数据库,其中定义了数据从而可以若干不同方式重新组织和访问该数据。关系数据库管理系统(DBMS)使用关系技术来存储和检索数据。
数据库模式描述了数据库的结构。例如,一关系模式描述了一组表、列、以及定义这些表之间的关系的主键和外键。开发了根据数据库模式查询数据的应用。例如,通常使用前端查询应用来访问关系数据库,该前端应用被配置为执行数据访问例程,包括搜索、排序、和查询构造例程。前端应用根据关系模式来查询数据。在后端,软件程序控制数据存储并响应由与前端交互的用户发送的请求(查询)。
每年各实体花费数百万美元雇用数据建模专家来设计数据仓库。数据仓库提供了用于将来自很多源的数据聚合到单个集中的数据库中的中央储存库。然而,数据仓库常常不是一合适的或甚至可行的模型。在一些情况下,数据量过大或者过于迅速地改变,以至于不能将其聚合到单个位置。这是例如很多大的生物信息数据库的情况。在其他情况下,数据源的数量可非常大,从而使得创建数据仓库的成本大得令人望而却步。
数据仓库技术的一种替代方案是数据库联邦(database federation)。数据库联邦允许在远程系统上的关系表显得是本地系统上的表。联邦数据库是运行在不共享共同的资源并通过网络相连接的独立服务器上的多个底层数据库的逻辑联合(union)。然后应用可被配置为从远程系统访问数据,而无需将数据聚合到数据仓库中。
申请日为2002年2月26日的、标题为“Application Portability andExtensibility through Database Schema and Query Abstraction”的、转让给相同受让人的美国专利申请No.10/083,075(’075申请)公开了一种提供底层数据库系统和模式的抽象视图的框架。该’75申请的框架向请求实体(即最终用户或前端应用)提供了存储在底层物理存储机制例如关系数据库中的数据的抽象表示。这样,当访问底层DBMS时,请求实体就与底层物理数据相分离。可构建基于该框架的抽象查询而不管物理数据的组成。此外,对物理数据模式的改变并不也要求前端查询应用中的相应改变;相反,可改变由该框架提供的抽象以反映所述改变。与本申请一起申请的、标题为“Abstract Query Plan”(代理人卷号ROC920040198US1)的、转让给相同受让人的美国专利申请公开了用于处理抽象查询的技术,其包括生成抽象查询的中间表示,并随后使用该中间表示来生成已解析的查询。
使用所述数据库抽象模型,定义了描述存储在底层数据库中的数据的逻辑字段,所述底层数据库包括其中数据被存储在多个数据库系统中的联邦环境。用户通过选择逻辑字段并指定条件来构造抽象查询。然后系统通过从抽象查询生成底层数据库的已解析查询来检索数据。每个逻辑字段包括指定了如何从对应于该逻辑字段的底层数据库系统中检索数据的访问方法。如果存在多于一个用于对应于该逻辑字段的数据的源,则可为单个逻辑字段定义多个访问方法,每个访问方法将该字段映射到一不同的数据库。
然而,简单地拥有每个逻辑字段的多于一个访问方法并将为每个访问方法检索的查询结果合并并不足以总是检索到正确的查询结果。就是说,该方法不一定保证检索到所希望的信息。此外,多次执行一个查询(每个数据源一次)是低效率的,并且也未能考虑到数据与该底层数据库中的其他表的关系。然而,表之间的关系在任何关系数据库中对于数据的组织都是根本性的。因此,如果查询结果依赖于分布在多个数据源中的数据的关系,则对不同格式的数据库重复地执行一查询将不能检索出正确的结果。例如,第一逻辑字段可能映射到存储在一数据库的单个表中的人口统计数据。来自该表的一个列的数据逐行地与其他列中的数据相关联。第二逻辑字段可能映射到存储在另一个使用两个表的数据库中的逻辑上相关的人口统计数据,并且数据在这两个表之间使用一定义的关系例如存储在两个表中的病人ID相关联。没有对这种关系的指示,则将数据在第一个数据库(使用单个表)和第二个数据库(使用多个表)之间链接起来是不可能的。
在多个数据库系统的格式和模式中的这些种类的差别对于创建数据库抽象模型造成了困难。考虑一下具有多个地点的一研究机构。每个地点可维护其自己的用来存储逻辑上相似的信息的数据库系统。这样,每个地点可维护一包括人口统计表(存储关于病人的信息)、检验表(存储检验结果)等等的数据库。此外,在每个地点使用的数据库模式可使用格式不同的表。例如,第一个地点可使用单个表来存储病人人口统计数据,而第二个地点可将病人人口统计数据细分到多个表中。在这种情景中,同一病人可具有存储在该研究机构的多个地点的数据库中的数据。可定义这样一逻辑字段,该逻辑字段将使用多个访问方法从每个相应的表中检索数据。因此,包括这样一逻辑字段的抽象查询可映射到具有所需数据的多个表。因为该多个表是以不同方式组织的,来自每个表的数据的简单联合会不能产生希望的查询结果。
因此,仍然需要在使用格式不同的物理表存储逻辑上相关或相似的信息的多个数据库上构建数据库抽象模型的技术。
发明内容
本发明的实施例提供了用于构建数据库抽象模型的方法,该数据库抽象模型包括映射到一逻辑表的逻辑字段。该逻辑表是使用从多个格式不同的物理表提取的数据构建的。该逻辑表允许存储在多个数据库中的逻辑上相关的数据显得是来自单个表的数据。换言之,将来自多个表的数据视为来自该逻辑表的单个列的数据。此外,维护存储在多个分离的数据库中的数据之间的关系。进一步地,可使用映射到该逻辑表的单个访问方法来取代映射到多个数据库的多个访问方法。修改了为所述数据库抽象模型定义的数据关系以反映该逻辑表。
本发明的一个实施例提供了一种用于创建存储在多个数据库中的逻辑上相关的数据的数据模型的方法。该方法一般包括,提供定义了多个逻辑字段的一数据库抽象模型,其中每个逻辑字段提供了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到该多个数据库之一中的数据的访问方法,且其中该数据库抽象模型还定义了存储在该多个数据库中的数据之间的一组关系,以及识别至少一个提供了多个访问方法的逻辑字段,其中每个访问方法映射到存储在该多个数据库的不同一个中的数据。该方法一般还包括生成一逻辑表,其中该逻辑表包括来自由所述至少一个逻辑字段的多个访问方法引用的该多个数据库的每一个的数据,使用将该至少一个逻辑字段映射到该逻辑表的单个访问方法来取代该至少一个逻辑字段的多个访问方法,以及更新所述一组关系以反映该逻辑表和该多个数据库中的其他数据之间的关系。
本发明的另一个实施例提供了一种用于从在格式不同的物理表中存储数据的多个数据库生成一逻辑表的方法。该方法一般包括,提供定义了多个逻辑字段的一数据库抽象模型,其中每个逻辑字段指定了用于该逻辑字段的名称和至少一个将该逻辑字段映射到所述物理表之一中的数据的访问方法,以及识别指定了多个访问方法的逻辑字段,其中每个访问方法映射到存储在该多个数据库之一中的一数据列。并且对于每个这种访问方法,(i)识别由该多个访问方法引用的格式不同的物理表,以及(ii)向该逻辑表的一列添加来自由该多个访问方法引用的格式不同的物理表的列的数据。该方法一般还包括,确定是否具有多个访问方法的另一逻辑字段引用了来自任何一个所述物理表的、尚未被包括到该逻辑表中的数据列,并且如果是这样,则将该数据列添加到该逻辑表,以及更新一数据库模式以包括该逻辑表,其中该数据库模式定义了存储在该多个数据库中的数据之间的关系以及包括在该逻辑表中的列之间的关系。
本发明的另一个实施例提供了一种包含多个指令的计算机可读介质,当所述指令在计算机系统上执行时被配置为执行操作。所述操作一般包括,提供定义了多个逻辑字段的一数据库抽象模型,其中每个逻辑字段提供了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到该多个数据库之一中的数据的访问方法,且其中该数据库抽象模型还定义了存储在该多个数据库中的数据之间的一组关系,以及识别至少一个提供了多个访问方法的逻辑字段,其中每个访问方法映射到存储在该多个数据库的不同一个中的数据。该方法一般还包括生成一逻辑表,其中该逻辑表包括来自由所述至少一个逻辑字段的多个访问方法引用的该多个数据库的每一个的数据,使用将该至少一个逻辑字段映射到该逻辑表的单个访问方法来取代该至少一个逻辑字段的多个访问方法,以及更新所述一组关系以反映该逻辑表和该多个数据库中的其他数据之间的关系。
本发明的另一个实施例提供了一种包含多个指令的计算机可读介质,当所述指令在计算机系统上执行时被配置为执行操作。所述操作一般包括定义了多个逻辑字段的一数据库抽象模型,其中每个逻辑字段提供了用于该逻辑字段的名称和至少一个将该逻辑字段映射到所述数据库之一中的数据的访问方法,且其中至少一个逻辑字段提供了多个各映射到存储在该多个数据库的不同一个中的逻辑上相关的数据的访问方法,以及识别具有多个映射到存储在该多个数据库中的数据的访问方法的逻辑字段。并且对于每个这种访问方法,识别由所述多个访问方法引用的格式不同的物理表,向该逻辑表添加来自由所述多个访问方法引用的表的列的数据,以及确定是否具有多个访问方法的任何其他逻辑字段引用了来自一表的尚未被包括到该逻辑表中的列,并且如果是这样,则将该列添加到该逻辑表。所述操作一般还包括更新一数据库模式以包括该逻辑表,其中该数据库模式定义了存储在该多个数据库中的数据之间的关系。
本发明的另一个实施例提供了一种用于处理抽象查询的系统。该系统一般包括多个数据库系统,以及一定义了多个逻辑字段的数据库抽象模型,其中每个逻辑字段提供了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到所述数据库系统之一中的数据的访问方法,且其中该数据库抽象模型还定义了存储在该多个数据库系统中的数据之间的一组关系。该系统一般还包括被配置为允许用户从所述多个逻辑字段构造抽象查询的用户界面,以及被配置为接收抽象查询、并作为响应生成该多个数据库系统的已解析的查询的运行时组件。
附图说明
为了更详细地理解现实本发明的上述特征、优点和目标的方式,参照在附图中示出的本发明的实施例对以上简述的本发明进行更具体的描述。
然而,附图示出了本发明的典型实施例,并因此不应被认为限制了其范围,因为本发明可允许其他同等有效的实施例。
图1示出了根据本发明的一个实施例的软件和硬件组件的关系视图。
图2A示出了根据本发明的一个实施例的软件组件的关系视图。
图2B、2C示出了一组数据库和根据本发明的一个实施例在多个分离的数据库上构建的数据库抽象模型。
图3示出了根据本发明的一个实施例的一种用于使得获自多个源的数据对所述数据库抽象模式显得好象数据都存储在单个数据库中的方法。
图4示出了根据本发明的一个实施例的一种用于生成逻辑表的方法。
图5A-5E示出了根据图4中示出的方法的逻辑表的构建。
图6A示出了一种用于生成一逻辑表和底层物理数据库中的其他表之间的一组关系的方法。
图6B示出了根据本发明的一个实施例包括对一逻辑表的引用的一示例性数据库抽象模型。
图7示出了根据本发明的一个实施例在根据图4的方法生成的逻辑表中的数据与来自其他源的数据之间的关系的视图。
具体实施方式
本发明的实施例提供了一种在存储逻辑上相关的数据的多个数据库上构建的数据库抽象模型。使用来自多个源的数据来构建一逻辑表,该逻辑表保留了存在于该多个数据库中的格式不同的表之间的关系。可通过使用不同的一组表以使表具有不同的格式,来表示相同的数据。就是说,通过使用不同的数据库模式来表示相同的数据。逻辑表是创建格式不同的物理表之间的“公分母”的一种方法,其保留了该逻辑表中的数据和该多个数据库中的其他数据之间的关系。使用映射到该逻辑表的单个访问方法来重写使用多个访问方法来映射到来自该多个数据库的数据的逻辑字段。
一般地说,该数据库抽象模型提供了到多个底层数据库的一接口,该接口符合用户的真实数据视图,而不是由底层物理存储机制用来表示该数据的视图。在该抽象模型后面是一组底层物理数据库。当多个数据储存库包括逻辑上相关的信息时,本发明的实施例生成一包括获自多个底层物理表的数据的逻辑表。因为可使用不同的关系模式将逻辑上相关的数据存储在不同数据库中,所以该逻辑表不仅是该多个底层表的简单联合。该逻辑表保留了来自不同格式的表的数据与底层数据库中的其他表和其他数据之间的关系。因此,可将该逻辑表插入数据库模式中,而不会扰乱整个数据库模式。
在以下描述中,提及本发明的实施例。然而,本发明不局限于任何具体描述的实施例。相反,以下特征和要素的任何组合,不管是否相关于所描述的一实施例,都实施和实现了本发明。此外,在各实施例中,本发明提供了相对于现有技术的大量优点。虽然本发明的实施例可实现相对于其他可能的解决方案和现有技术的优点,一给定实施例是否实现一特定优点并不限制本发明的范围。因此,以下方面、特征、实施例和优点是说明性的,而不被认为是所附权利要求的要素或限制,除非在权利要求中被明确地陈述。同样,对“本发明”的提及既不应被认为是对这里公开的任何发明主题的概括,也不应被认为是所附权利要求的要素或限制,除非在权利要求中被明确地陈述。
本发明的一个实施例被实现为与一计算机系统例如图1中所示并在下面描述的计算机系统10一起使用的程序产品。该程序产品定义了这里描述的实施例(包括方法)的功能,并可被包含在各种信号承载介质中。示例性的信号承载介质包括但不限于(i)永久性地存储在非可写存储介质(例如计算机中的只读存储装置例如可由CD-ROM驱动器读取的CD-ROM盘;(ii)存储在可写存储介质(例如软盘驱动器中的软盘或硬盘驱动器)中的可变信息;以及(iii)通过通信介质(例如计算机网络或电话网络)包括无线通信传送的信息。后一实施例具体包括在因特网或其他计算机网络上共享的信息。这种信号承载介质当载有执行本发明的方法的计算机可读指令时代表本发明的实施例。
一般地说,实现本发明的实施例的软件例程可以是操作系统的一部分或特定应用、组件、程序、模块、对象、或指令序列例如可执行脚本的一部分。这种软件例程通常包括能够通过使用计算机而被执行的多个指令。此外,程序通常包括驻留在存储器或存储设备中的、作为其操作的一部分的变量和数据结构。另外,这里描述的各种程序可基于为其实现它们的应用而被识别。然而,本领域的技术人员可理解以下任何特定术语或特定应用是为了便于描述本发明,而不是将本发明限制为仅仅用于特定应用或术语。此外,这里描述的程序的功能使用彼此交互的离散的模块或组件。然而,本发域的技术人员可理解,不同实施例可以许多不同方式组合或合并这样的组件或模块。以下描述首先描述了所述数据库抽象模型,并随后描述了生成包括获自多个格式不同的物理表的逻辑上相关的数据的逻辑表。
数据库抽象模型
图1示出了一客户机-服务器结构中的连网的计算机系统。客户计算机系统1051-N包括允许它们通过网络104与其他系统通信的网络接口。网络104可包括其中客户机系统105和服务器系统110都位于相同的大体位置的局域网,或者可包括地理上分布的系统之间的网络连接,包括通过因特网的网络连接。客户机系统105一般包括通过总线连接到存储器和存储设备(未示出)的中央处理器(CPU)。客户机系统105运行一操作系统(例如,Linux
Figure C20051011757100161
发布、Microsoft Windows
Figure C20051011757100162
IBM的AIX
Figure C20051011757100163
FreeBSD等),该操作系统管理硬件组件和运行在客户机系统105上的高级软件应用之间的交互。
在一个实施例中,用户在客户机系统105和服务器系统110之间建立网络连接。这种连接可包括一登录过程,其中用户使用例如用户名和口令或其他认证方案(例如,数字证书或生物测定认证)向服务器系统110认证该用户的身份。也考虑了不需要认证的系统。服务器系统110可包括与客户机系统105使用的硬件组件相似的硬件组件。因此,服务器系统110一般包括连接到总线(未示出)的CPU、存储器和存储设备。服务器系统110也运行一管理硬件组件和软件应用之间的交互的操作系统(例如,Linux发布、Microsoft Windows
Figure C20051011757100165
IBM的AIX
Figure C20051011757100166
FreeBSD等)。
然而,图1中所示的计算机系统仅例示了一种硬件/软件配置。本发明的实施例可使用其他配置来实现,不管该计算机系统是复杂的多用户计算系统例如由高速网络连接的单个计算机的群集,单用户工作站,还是缺乏其自己的非易失存储装置的网络电器(network appliance)。此外,尽管这里使用客户机/服务器网络配置描述了实施例,也考虑到使用分布式计算或对等处理技术的实施例。
在一个实施例中,用户使用一图形用户界面(GUI)与服务器系统110交互。在一特定实施例中,GUI内容可包括使用web浏览器122呈现在客户计算机系统1051上的HTML文档(例如网页)。在这种实施例中,服务器系统110包括一超文本传输协议(http)服务器118(例如,象开源Apache web服务器程序或IBM的Web Sphere
Figure C20051011757100167
程序那样的web服务器),该服务器适应于响应来自客户机系统105的HTTP请求,并将HTML文档传送给客户机系统105。网页本身可以是存储在服务器系统110上的静态网页,或通过使用与web服务器118交互以服务来自客户机系统105的请求的应用服务器112而动态生成的。网页可包括向与系统110交互的用户呈现查询构建界面115的页。
作为另一种选择,或作为附加,客户机应用120可提供一数据库前端,或运行在客户机系统105N上的查询应用程序。应用120和查询构建界面115允许用户构造抽象查询。在任一情况下,查询构建界面115允许用户根据一数据库抽象模型148来构造查询。数据库抽象模型148定义了可用于查询构造的逻辑字段。将查询提交给运行时组件114,该组件生成数据库156的已解析查询。
如图1所示,服务器系统110还可包括运行时组件114、DBMS服务器116、和数据库抽象模型148。这些组件的每一个都可包括在服务器系统110上执行的一软件程序(和数据文件)。DBMS服务器116(或多个服务器)通常包括被配置为管理数据库2141-3的软件应用。作为例示,可通过DBMS服务器116访问的单个数据库可包括使用SQL查询来查询的关系数据库2142,或使用XML查询来查询的XML数据库2141。然而,本发明并不限于任何特定的物理数据库存储机制,而是可被容易地扩展以在其他当前已知的或未知的这样的机制上运行。因此,数据存储机制2143示出了由DBMS服务器116管理的其他存储机制。
数据库214可存在于服务器系统110的本地存储系统中,或者可通过网络104经由远程服务器117访问。因此,既可在本地数据库系统也可在远程数据库系统上构造所述数据库抽象模型148。数据库联邦156(由虚线示出)表示本地数据库1241-3和远程数据库2144-5的联合。逻辑上相关的数据可物理地存在于作为数据库联邦156的部分的多个数据库214中。
在一个实施例中,用户使用由数据库抽象模型148定义的逻辑字段来构造抽象查询。每个逻辑字段可标识一字段名和一访问方法。该访问方法标识了数据所在的底层数据库(例如数据库2141-5),以及用于访问底层物理存储机制中的该数据的方法。在申请日为2002年2月26日、标题为“Application Portability and Extensibility through Database Schema andQuery Abstraction”的共同拥有的共同待决的专利申请No.10/083,075中更详细地描述了该数据库抽象模型、逻辑字段和访问方法的实施例。
运行时组件114被配置为生成与包含在一个或多个数据库214中的数据的物理表示一致的查询。换句话说,运行时组件是用于从抽象查询生成物理查询(例如,SQL语句)的“变换引擎”。运行时组件114获取由用户构造的抽象查询,识别与包括在该查询中的每个逻辑字段对应的信息,并生成由DBMS 116针对底层物理存储机制运行的已解析查询。在一个实施例中,运行时组件114获取抽象查询并生成与该抽象查询对应的抽象查询计划,并随后使用该抽象查询计划生成已解析查询。针对底层数据库2141-5发出该已解析查询。在与本申请一起申请的标题为“Abstract QueryPlan”的共同拥有的专利申请(代理人卷号ROC920040198US1)中更详细地讨论了抽象查询处理和抽象查询计划。
图2A示出了本发明的多个相互关连的组件,以及在由数据库抽象模型148提供的数据的抽象视图(图2A的左边)与用于存储数据的数据库系统214提供的数据的视图(图2A的右边)之间的变换。在一个实施例中,请求实体使用查询构建界面115来构造抽象查询202。查询构建界面可由应用120提供,或者可被呈现为web浏览器122上的网页。所产生的查询在这里一般被称为“抽象查询”,因为它是从逻辑字段而不是从对底层数据库2141-5中的数据实体的直接引用构造的。结果,可独立于特定底层数据表示(例如,关系数据库和模式)来构造抽象查询。
图2B进一步示出了数据库抽象模型148的一个实施例。如图所示,数据库抽象模型148包括多个逻辑字段规定2081-4(作为示例示出了4个)。各逻辑字段规定208共同创建了数据库250和251上的抽象。每个逻辑字段208创建该抽象的一部分。就是说,每个逻辑字段将数据的一逻辑项目关联到存储在一底层数据库例如数据库250和251中的数据。此外,本发明的实施例提供了从多个数据库获得数据的逻辑字段。该数据库抽象模型148还包括一关系部分270,该部分标识了存储在数据库250和251中的数据元素之间的关系。如图2B所示,数据库抽象模型148包括以下关系:
DS1.Demographic.ID=DS1.Demo_extended.ID
DS1.Demographic.ID=DS2.Demographic.ID
DS1.Demographic.ID=DS1.Test.ID
DS2.Demographic.ID=DS2.BirthAndDeath.ID
这些关系中的每一个被用于关联来自两个表的数据。在某些情况下,这些表可位于同一数据库中,而在另一些情况下,所述关系可以是位于不同数据库中的表之间的关系。
如图2B所示,数据库250和251的每一个都存储了与病人有关的逻辑上相关的信息,但是使用不同的数据库模式和格式不同的数据库表存储的。数据库250和数据库251可位于地理上不同的位置(例如图1中所示的2142和2144)。数据库250包括3个表,每个表通过一ID值相关联。人口统计(Demographic)表260包括ID、姓名、和出生日期列。人口统计扩展(Demo_Extended)表264包括ID列和死亡日期列。最后,检验(Tests)表266也包括ID值,但还包括检验值(表示检验结果的值)列和检验类型列(表示与该值相关的检验的类型)。
数据库251包括相似的数据,并且同一病人可具有存储在两个数据库250和251中、由病人ID值相关联的数据。然而,这些表的格式是不同的。数据库251包括人口统计表266,该表包括姓名和ID列,但略去了包括在数据库250中的人口统计表中的出生日期。生死表268包括出生日期列,以及ID列和死亡日期列。
数据库抽象模型148是在数据库250和251上构造的。如图所示,数据库抽象模型148包括4个逻辑字段规定208以及描述数据元素如何相互关联的关系数据270。逻辑字段规定208创建存在于数据库250和251中的关系表的抽象。每个逻辑字段规定(简称为“逻辑字段”)包括一名称和对访问方法的引用,该访问方法将该逻辑字段映射到数据库250和251中的数据。例如,逻辑字段2082包括引用病人的姓名的名称2542“姓名”。逻辑字段2082包括两个访问方法。访问方法1映射到数据库250中的一表和列,而访问方法2映射到数据库251中的一表和列。类似地,逻辑字段2081、2083、2084每个都包括两个访问方法。此外,数据库抽象模型148包括关系部分270,该部分标识了存储在数据库250和251中的数据之间的关系。关系部分270包括来自一个数据库250中的表的列之间的关系(例如,DS1.Demographic.ID=DS1.Test.ID)以及来自两个数据库中的表的列之间的关系。
虽然在该示例性数据库抽象模型148中示出的访问方法使用了“简单”访问方法,也考虑到其他访问方法。例如,可使用一逻辑字段来从一存储有很多不同检验的结果的表中抽象出一特定的检验类型。这种逻辑字段可包括一过滤器,该过滤器指定为该逻辑字段返回的结果应当仅包括指定检验的结果。在’075申请以及上面提及的抽象查询计划应用中更详细地讨论了访问方法的类型。
生成逻辑表
在使用多个数据库来存储同样的逻辑数据(例如存储在数据库250和251中的病人数据)的情况下,可使用本发明的实施例来生成一使用获自该多个数据库的数据的逻辑表。因为逻辑上相关或相似的数据可出现在来自底层数据库的多个表中,单个逻辑字段可指定多个访问方法(例如,图2B所示的逻辑字段规定2081-4)。例如,病人姓名存储在表260和266中。此外,人口统计数据是使用格式不同的物理表存储在数据库250和251中的。数据库250在单个表中存储人口统计数据,而数据库251使用两个分开的表来存储人口统计数据。在一个实施例中,一逻辑表包括获自一个或多个物理表的数据(例如,来自数据库250和251的列),并形成该逻辑表中的单个列。于是所述多个访问方法可由这样的单个访问方法所取代,该方法将一逻辑字段映射到该逻辑表中的这样的一列,该列包含来自包含逻辑上相关的数据的多个数据源的每一个的数据。
图3示出了使用获自多个源的数据(例如,来自数据库250和251的数据)来生成一逻辑表的方法300。该方法300创建一逻辑表,该逻辑表被该数据库抽象模型视为好象它完全存储在单个数据库中那样。此外,可使用本发明的实施例来合并多个使用相同的逻辑字段但不同的访问方法来映射到数据的数据库抽象模型。操作300使用将该逻辑字段映射到逻辑表中的一列的单个访问方法来取代多个将该逻辑字段映射到格式不同的表的访问方法。这使得一逻辑表对数据库抽象模型148和运行时组件114显得是单个物理表,而不会扰乱该逻辑表和底层数据库中的其他表之间的关系。
操作300在步骤302开始,其中识别具有多个访问方法的一逻辑字段。接着,在步骤304,生成一逻辑表。在一个实施例中,逻辑表从不同物理表中创建一保留了与多个数据库中的其他数据的关系的“公分母”表。参照图4描述了生成逻辑表的方法的一个实施例。在步骤306,重写在步骤302识别的具有多个访问方法的逻辑字段,以便该访问方法引用在步骤304生成的逻辑表。在步骤308,更新由关系部分270所定义的关系数据信息以反映该新生成的逻辑表。删除到现在全部由该逻辑表包含的各表和列的关系,而重写部分地引用被并入该逻辑表中的列的关系以将该逻辑表连接到底层数据库的其余部分。参照图6描述了更新关系信息的方法的一个实施例。
图4示出了根据本发明的一个实施例用于生成一逻辑表的示例性操作400。生成逻辑表被示为图3的步骤304。这里参照在图2B中示出的示例性数据库250和251来描述图4。另外,结合图4中示出的方法描述了图5A-5F。操作400在步骤402开始,其中识别包括多个访问方法的一逻辑字段(这意味着存在多个具有该逻辑字段的目标数据的数据源)。接着,在步骤406,将来自由在步骤402识别的该逻辑字段的多个访问方法引用的表的列添加到该逻辑表。例如,从“ID”逻辑字段2081开始,在步骤406,将来自数据库250的表260和数据库251的表266的ID列添加到该逻辑表。
图5A示出了在添加了由ID逻辑字段2081引用的各表之后的逻辑表502的状态。具体地,将来自人口统计表260的ID列512和来自人口统计表266的ID列522添加到该逻辑表。返回到图4,在添加了来自在步骤402标识的逻辑字段的列之后,该方法在步骤408查询在前一步骤中被包括的表中的其他列是否由具有多个访问方法的其他逻辑字段所引用。如果是这样,则在步骤410,将与任何这样的逻辑字段对应的列添加到该逻辑表502。例如,图5B示出人口统计表260和266每个都包括“姓名”列。因此,在步骤410,将由多个访问方法的姓名逻辑字段2082所引用的姓名列514和524添加到该逻辑表502。在此示例中,在步骤410,只有一个附加的列被添加到该逻辑表,然而在该步骤,根据访问方法和所涉及的实际的物理数据库,可添加多个列。
在步骤412,方法400查询是否包括在该逻辑表中的任何列被具有这样的多个访问方法的逻辑字段所引用,所述多个访问方法包括对来自尚未被包括在该逻辑表502中的表的列的引用。例如,表260包括出生日期列516。然而,表266不包括对应的出生日期列。在步骤414,由来自逻辑字段2083的第二个访问方法所引用的表被包括在该逻辑表502中。图5C示出了在包括来自数据库251的表268之后逻辑表502的状态。表268包括由逻辑字段2083中的多个访问方法所引用的出生日期列526。
然后,操作400返回到步骤408,并查询在步骤414中被包括到该逻辑表502中的表本身是否包括由具有多个访问方法的一逻辑字段所引用的其他列。例如,图5D示出了来自表268的死亡日期列528由逻辑字段2084所引用。于是操作400重复步骤412和414以将来自表264的死亡日期列518添加到逻辑表502。在图5E示出了所添加的来自表266的列。现在包括了死亡日期列。在图5E中还示出了表262和268之间的联结(join)关系532。联结关系532保留了这两个表之间的对单个表来说不需要的关系。从步骤414,该方法返回到步骤408、410、和412,而没有任何其他可添加到该逻辑表的东西。在步骤416,该方法400确定是否仍有任何具有多个访问方法的逻辑字段。如果是这样,则该方法返回到步骤402,并选择另一个具有多个访问方法的逻辑字段以进行处理。否则,该方法在步骤418结束。
操作400生成了一包括来自多个格式不同的表的数据的逻辑表502。在一个实施例中,可使用一存储SQL语句例如一共用表表达式(commontable expression)来表示该逻辑表502。在运行时执行期间,当需要从该逻辑表检索数据时,可使用该存储SQL语句。为了使用SQL生成该表,将逻辑表502中上一排的所有表(即图5E中的表260和264)联结在一起,并与联结在一起的下一排的表(即表266和268)相联合。表1示出了可用于表示使用由图5A-5E进一步示出的操作400生成的逻辑表502的两个示例性SQL语句。
表1-示例性SQL
select ID,Name,Birthdate,Deathdate from DS1.Demographic T1
left join DS2.Demographic_extended T2 on T1.ID=T2.ID
union
select ID,Name,Birthdate,Deathdate from DS2.Demographic T3
left join DS2.BirthAndDeath T4 on T3.ID=T4.ID
如果需要将来自其他数据库的表加入到该逻辑表中,则可重复该过程。当多于两个数据库包含具有逻辑上相关的信息的表,并且相应的逻辑字段具有三个(或更多)的访问方法时,可发生这样的情况。
访问方法量写和更新数据库关系
一旦完成了逻辑表502,则使用映射到逻辑表502的单个访问方法来取代所述多个访问方法。图6A示出了与首先在图2C所示相似的重写的数据储存抽象组件148。每个逻辑字段208现在包括引用该逻辑表502中的一列的单个访问方法,并且逻辑字段“姓名”、“ID”、“出生日期”、和“死亡日期”都映射到逻辑表502中的一列。此外,使用更新的关系部分270保留了该逻辑表与数据库中的其他表的关系。图6B示出了用于重写包括在数据库抽象模型中的关系数据以反映根据图4中所示的方法生成的逻辑表的方法。更新包括在数据库抽象模型148中的关系数据以在数据库中保留该新形成的逻辑表与数据库中的其他表之间的关系。
操作600在步骤602开始,其中将存储在数据库抽象模型148中的引用该逻辑表502中的多个表的任何关系从关系270中删除。就是说,从关系270中删除包括在该逻辑表中的两个列之间的关系。这些关系现在被保留在该逻辑表的结构中,因而对于抽象查询处理是不需要的。在步骤604,将在关系270中定义的相关于来自该逻辑表502之外的表的一列与该逻辑表之内的一列的关系重定向以指向该逻辑表。例如,图6B示出的关系610被重写为:
logtableschmea.demographic.id=DS1.tests.ID
这将表260和表262之间的初始关系改变为逻辑表502和检验表262之间的关系。图7进一步示出了使用这样的逻辑表的关系,该逻辑表是在图5A-5E中使用在图2中首先示出的数据库250和251生成的。
如果这些关系引用了尚未被包括在该逻辑表中的一列,则在步骤606将该列添加到该逻辑表。包括在该逻辑表中的表可包括由这样的一关系所引用的列,该关系未被具有多个访问方法的一逻辑字段所引用。例如,表260可包括与表262相关的其他列。
图6A示出了访问方法已被重写且关系信息已被更新之后的数据库抽象模型148(来自图2C)。在该示例性关系270中,现在仅包括单个条目:
logtabschema.Demographic.ID=DS1.Tests.ID
此外,逻辑字段2081现在包括引用根据上述方法生成的逻辑表502的单个访问方法。图7示出了该新的关系,以及与底层数据库250有关的已完成逻辑表502。关系702指示存储在该逻辑表的ID列的数据与检验表262的ID列之间的关系。
完成的逻辑表
一旦完成逻辑表,则可由为一逻辑字段定义的一访问方法来引用该逻辑表,就如同它是底层数据库模式的一部分那样。起初出现在多个格式不同的物理表中的所有逻辑上相关的数据现在被包括在该逻辑表中。此外,保留了包括在该逻辑表中的数据之间的关系,以及该逻辑表中和数据库中的其他表中的数据之间的关系。因此,当处理抽象查询时,运行时组件114可生成引用存储在逻辑表中的数据的已解析查询。起初使用多个查询方法引用的逻辑上相关的数据可使用映射到逻辑表502的单个访问方法来引用。
尽管以上讨论涉及本发明的一些实施例,可设计本发明的其他和进一步的实施例而不脱离本发明的基本范围,本发明的范围由附后的权利要求确定。

Claims (25)

1.一种用于创建存储在多个数据库中的逻辑上相关的数据的数据模型的方法,包括:
提供定义了多个逻辑字段的数据库抽象模型,其中每个逻辑字段指定了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到该多个数据库之一中的数据的访问方法,且其中该数据库抽象模型还定义了存储在该多个数据库中的数据之间的一组关系;
识别至少一个指定了多个访问方法的逻辑字段,其中每个访问方法引用存储在该多个数据库的不同一个中的数据;
生成逻辑表,其中该逻辑表包括来自由该至少一个逻辑字段的多个访问方法引用的该多个数据库的每一个的数据;
使用将该至少一个逻辑字段映射到该逻辑表的单个访问方法来取代该至少一个逻辑字段的该多个访问方法;
以及更新所述一组关系以反映该逻辑表和该多个数据库中的其他数据之间的关系。
2.根据权利要求1的方法,其中所述多个数据库包括关系数据库系统。
3.根据权利要求2的方法,其中所述多个数据库的每一个是使用一组格式不同的用于存储逻辑上相关的数据的表构建的。
4.根据权利要求1的方法,其中所述提供数据库抽象模型的步骤包括将为不同数据库创建的多个数据库抽象模型合并成单个数据库抽象模型,其中该合并的数据库抽象模型的至少一个逻辑字段提供了多个访问方法,每个访问方法映射到存储在不同的一个数据库中的逻辑上相关的数据。
5.根据权利要求2的方法,其中所述多个数据库包括本地数据库系统和远程数据库系统,该远程数据库系统位于相对于该本地数据库系统的远程位置。
6.根据权利要求2的方法,其中存储在所述多个数据库中的数据之间的所述一组关系包括在所述多个数据库中的关系表的列之间的主键或外键关系。
7.根据权利要求2的方法,其中所述逻辑表包括关系表,其中该逻辑表的每一列是存储在所述多个数据库中的逻辑上相关的数据的聚合。
8.根据权利要求2的方法,其中由所述一组关系定义的每个关系包括对来自第一表的第一列和来自第二表的第二列的指示,其中该第一列和第二列存储逻辑上相关的数据。
9.根据权利要求8的方法,其中所述更新所述一组关系的步骤包括:
从该组关系中删除任何其中第一列和第二列的每一个都指定包括在该逻辑表中的一列的关系;以及
以第二关系取代第一关系,其中该第一关系指示被包括在该逻辑表中的一列与来自未被包括在该逻辑表中的表的一列之间的关系,且其中该第二关系指示未包括在该逻辑表中的该列与该逻辑表的相应列之间的关系。
10.根据权利要求2的方法,其中所述生成逻辑表的步骤包括:
识别由所述至少一个逻辑字段的所述多个访问方法引用的表;
向该逻辑表添加来自由该至少一个逻辑字段的该多个访问方法引用的表中由该多个访问方法引用的列的数据;以及
确定是否具有多个访问方法的另一逻辑字段引用了来自尚未被包括到该逻辑表中的表的数据列,并且如果是这样,则将该数据列添加到该逻辑表。
11.根据权利要求2的方法,其中使用存储SQL语句来表示该逻辑表。
12.一种用于从多个数据库生成逻辑表的方法,其中所述多个数据库包含存储逻辑上相关的数据的、格式不同的物理表,该方法包括:
提供定义了多个逻辑字段的数据库抽象模型,其中每个逻辑字段指定了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到所述物理表之一中的数据的访问方法;
识别指定了多个访问方法的逻辑字段,其中每个访问方法引用存储在所述多个数据库之一中的数据列,并且对于每个这种访问方法:
识别由所述多个访问方法引用的格式不同的物理表;
向该逻辑表的一列添加来自由所述多个访问方法引用的格式不同的物理表中由该多个访问方法引用的列的数据;以及
确定是否具有多个访问方法的另一逻辑字段引用了来自任何一个所述物理表的、尚未被包括到该逻辑表中的数据列,并且如果是这样,则将该数据列添加到该逻辑表;以及
更新数据库模式以包括该逻辑表,其中该数据库模式定义了存储在该多个数据库中的数据之间的关系以及包括在该逻辑表中的列之间的关系。
13.一种用于创建存储在多个数据库中的逻辑上相关的数据的数据模型的装置,所述装置包括:
用于提供定义了多个逻辑字段的数据库抽象模型的装置,其中每个逻辑字段提供了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到该多个数据库之一中的数据的访问方法,且其中该数据库抽象模型还定义了存储在该多个数据库中的数据之间的一组关系;
用于识别至少一个提供了多个访问方法的逻辑字段的装置,其中每个访问方法引用存储在该多个数据库的不同一个中的数据;
用于生成逻辑表的装置,其中该逻辑表包括来自由所述至少一个逻辑字段的多个访问方法引用的该多个数据库的每一个的数据;
用于使用将该至少一个逻辑字段映射到该逻辑表的单个访问方法来取代该至少一个逻辑字段的多个访问方法的装置;以及
用于更新所述一组关系以反映该逻辑表和该多个数据库中的其他数据之间的关系的装置。
14.根据权利要求13的装置,其中所述多个数据库包括关系数据库系统。
15.根据权利要求14的装置,其中所述多个数据库的每一个是使用一组格式不同的用于存储逻辑上相关的数据的表构建的。
16.根据权利要求13的装置,其中所述用于提供数据库抽象模型的装置包括将为不同数据库创建的多个数据库抽象模型合并成单个数据库抽象模型的装置,其中该合并的数据库抽象模型的至少一个逻辑字段提供了多个访问方法,每个访问方法映射到存储在不同的一个数据库中的逻辑上相关的数据。
17.根据权利要求14的装置,其中所述多个数据库包括本地数据库系统和远程数据库系统,该远程数据库系统位于相对于该本地数据库系统的远程位置。
18.根据权利要求1 4的装置,其中存储在所述多个数据库中的数据之间的所述一组关系包括在所述多个数据库中的关系表之间的主键或外键关系。
19.根据权利要求14的装置,其中所述逻辑表包括关系表,其中该逻辑表的每一列是存储在所述多个数据库中的逻辑上相关的数据的聚合。
20.根据权利要求14的装置,其中所述一组关系中的每个关系包括对来自第一表的第一列的指示和对第二表中的第二列的关系。
21.根据权利要求20的装置,其中所述用于更新所述一组关系的装置包括:
用于从该组关系中删除任何其中第一列和第二列的每一个都指定包括在该逻辑表中的一列的关系的装置;以及
用于将来自未被包括在该逻辑表中的表的第一列与来自被包括在该逻辑表中的表的第二列之间的关系替换为该第一列与该逻辑表的相应列之间的关系的装置。
22.根据权利要求14的装置,其中所述用于生成逻辑表的装置包括:
用于识别由所述至少一个逻辑字段的所述多个访问方法引用的表的装置;
用于向该逻辑表添加来自由该至少一个逻辑字段的该多个访问方法引用的表中由该多个访问方法引用的列的数据的装置;以及
用于确定是否具有多个访问方法的另一逻辑字段引用了来自尚未被包括到该逻辑表中的表的数据列,并且如果是这样,则将该数据列添加到该逻辑表的装置。
23.一种用于从多个数据库生成逻辑表的装置,其中所述多个数据库包含存储逻辑上相关的数据的、格式不同的物理表,所述装置包括:
用于访问定义了多个逻辑字段的数据库抽象模型的装置,其中每个逻辑字段指定了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到所述物理表之一中的数据的访问方法;
用于识别指定了多个映射到存储在该多个数据库中的逻辑上相关的数据的访问方法的逻辑字段的装置,并且该用于识别的装置包括:对于每个这种访问方法,
用于识别由所述多个访问方法引用的格式不同的物理表的装置;
用于向该逻辑表的一列添加来自由该多个访问方法引用的物理表中由该多个访问方法引用的列的数据的装置;以及
用于确定是否具有多个访问方法的任何其他逻辑字段引用了来自任何所述物理表的、尚未被包括到该逻辑表中的数据列,并且如果是这样,则将该数据列添加到该逻辑表的装置;以及
用于更新数据库模式以包括该逻辑表的装置,其中该数据库模式定义了存储在该多个数据库中的数据之间的关系。
24.一种用于处理抽象查询的系统,包括:
多个数据库系统;
定义了多个逻辑字段的数据库抽象模型,其中每个逻辑字段指定了用于该逻辑字段的名称,以及至少一个将该逻辑字段映射到所述数据库系统之一中的数据的访问方法,且其中至少一个逻辑字段提供了多个访问方法,每个访问方法引用存储在该多个数据库系统的不同一个中的逻辑上相关的数据;
被配置为允许用于从所述多个逻辑字段构造抽象查询的用户界面;以及
运行时组件,其被配置为接收抽象查询、并作为响应生成该多个数据库系统的已解析的查询,其进一步被配置为(i)生成逻辑表,其中该逻辑表包括来自由该至少一个逻辑字段的多个访问方法引用的该多个数据库系统的每一个的数据;(ii)使用将该至少一个逻辑字段映射到该逻辑表的单个访问方法来取代该至少一个逻辑字段的多个访问方法;以及(iii)更新为该数据库抽象模型定义的一组关系。
25.权利要求24的系统,其中所述多个数据库系统包括至少一个关系数据库系统,且其中所述逻辑表包括关系表。
CNB2005101175714A 2004-12-17 2005-11-04 从多个格式不同的物理表创建逻辑表的方法和系统 Active CN100397398C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/016,203 US8112459B2 (en) 2004-12-17 2004-12-17 Creating a logical table from multiple differently formatted physical tables having different access methods
US11/016,203 2004-12-17

Publications (2)

Publication Number Publication Date
CN1790322A CN1790322A (zh) 2006-06-21
CN100397398C true CN100397398C (zh) 2008-06-25

Family

ID=36597412

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101175714A Active CN100397398C (zh) 2004-12-17 2005-11-04 从多个格式不同的物理表创建逻辑表的方法和系统

Country Status (2)

Country Link
US (1) US8112459B2 (zh)
CN (1) CN100397398C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369587A (zh) * 2015-10-19 2018-08-03 甲骨文国际公司 创建用于交换的表

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244702B2 (en) 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US9053149B2 (en) * 2003-12-23 2015-06-09 Open Text S.A. Method and system to provide composite view of components
US7302447B2 (en) * 2005-01-14 2007-11-27 International Business Machines Corporation Virtual columns
US20060116999A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation Sequential stepwise query condition building
US7461052B2 (en) * 2004-12-06 2008-12-02 International Business Machines Corporation Abstract query plan
US7333981B2 (en) * 2004-12-17 2008-02-19 International Business Machines Corporation Transformation of a physical query into an abstract query
US8131744B2 (en) * 2004-12-17 2012-03-06 International Business Machines Corporation Well organized query result sets
US7634492B2 (en) * 2004-12-20 2009-12-15 Microsoft Corporation Aggregate data view
US8122012B2 (en) * 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7321895B2 (en) * 2005-01-14 2008-01-22 International Business Machines Corporation Timeline condition support for an abstract database
US7624097B2 (en) * 2005-01-14 2009-11-24 International Business Machines Corporation Abstract records
US8095553B2 (en) * 2005-03-17 2012-01-10 International Business Machines Corporation Sequence support operators for an abstract database
US7440945B2 (en) * 2005-11-10 2008-10-21 International Business Machines Corporation Dynamic discovery of abstract rule set required inputs
US7444332B2 (en) * 2005-11-10 2008-10-28 International Business Machines Corporation Strict validation of inference rule based on abstraction environment
US8095531B2 (en) * 2006-10-03 2012-01-10 Salesforce.Com, Inc. Methods and systems for controlling access to custom objects in a database
US7627595B2 (en) * 2006-12-06 2009-12-01 Verizon Data Services Inc. Apparatus, method, and computer program product for synchronizing data sources
US7668860B2 (en) * 2007-04-02 2010-02-23 Business Objects Software Ltd. Apparatus and method for constructing and using a semantic abstraction for querying hierarchical data
US8140557B2 (en) 2007-05-15 2012-03-20 International Business Machines Corporation Ontological translation of abstract rules
US8150850B2 (en) * 2008-01-07 2012-04-03 Akiban Technologies, Inc. Multiple dimensioned database architecture
US8145652B2 (en) * 2008-10-09 2012-03-27 International Business Machines Corporation Automated propagation of non-conflicting queries in distributed databases
US9183260B2 (en) * 2008-10-09 2015-11-10 International Business Machines Corporation Node-level sub-queries in distributed databases
US8301583B2 (en) 2008-10-09 2012-10-30 International Business Machines Corporation Automated data conversion and route tracking in distributed databases
US8458208B2 (en) * 2008-10-09 2013-06-04 International Business Machines Corporation Automated data source assurance in distributed databases
US8458166B2 (en) * 2008-10-09 2013-06-04 International Business Machines Corporation Dynamic context definitions in distributed databases
US8285710B2 (en) 2008-10-09 2012-10-09 International Business Machines Corporation Automated query path reporting in distributed databases
US8335981B2 (en) 2009-08-03 2012-12-18 Business Objects Software Ltd. Metadata creation
JP2011198245A (ja) * 2010-03-23 2011-10-06 Canon Inc 文書管理システム
US8275806B2 (en) 2010-04-30 2012-09-25 International Business Machines Corporation Web service discovery via data abstraction model and condition creation
US8250113B2 (en) 2010-04-30 2012-08-21 International Business Machines Corporation Web service discovery via data abstraction model
US8321451B2 (en) * 2010-04-30 2012-11-27 International Business Machines Corporation Automatic web service discovery and information retrieval via data abstraction model
US8583699B2 (en) 2010-04-30 2013-11-12 International Business Machines Corporation Web service discovery via data abstraction model augmented by field relationship identification
US8949280B2 (en) * 2010-04-30 2015-02-03 International Business Machines Corporation Web service discovery via data abstraction model with input assistance
US8433714B2 (en) * 2010-05-27 2013-04-30 Business Objects Software Ltd. Data cell cluster identification and table transformation
GB2509978A (en) * 2013-01-21 2014-07-23 Ibm Polymorphic columns in database
GB2510429A (en) 2013-02-05 2014-08-06 Ibm Assessing response routes in a network
US9922101B1 (en) * 2013-06-28 2018-03-20 Emc Corporation Coordinated configuration, management, and access across multiple data stores
US9305044B2 (en) * 2013-07-18 2016-04-05 Bank Of America, N.A. System and method for modelling data
US9626388B2 (en) * 2013-09-06 2017-04-18 TransMed Systems, Inc. Metadata automated system
CN103455641B (zh) * 2013-09-29 2017-02-22 北大医疗信息技术有限公司 交叉多次检索的系统和方法
CN103605699A (zh) * 2013-11-07 2014-02-26 远光软件股份有限公司 一种数据关联配置方法及装置
CN104462350A (zh) * 2014-12-04 2015-03-25 北京国双科技有限公司 数据库文本聚合处理方法及装置
US10915525B2 (en) * 2015-06-15 2021-02-09 International Business Machines Corporation Traversing a SPARQL query and translation to a semantic equivalent SQL
US11442953B2 (en) 2016-03-31 2022-09-13 Mckesson Corporation Methods and apparatuses for improved data ingestion using standardized plumbing fields
US10657115B2 (en) * 2016-03-31 2020-05-19 Mckesson Corporation Methods and apparatuses for improved data modeling using a relational database management system
CN106250227A (zh) * 2016-08-02 2016-12-21 合肥奇也信息科技有限公司 一种寻求计算机程序执行定义目标的方法
US11086941B2 (en) * 2016-12-13 2021-08-10 Sap Se Generating suggestions for extending documents
US10740318B2 (en) * 2017-10-26 2020-08-11 Sap Se Key pattern management in multi-tenancy database systems
US10956386B2 (en) 2018-03-30 2021-03-23 Mckesson Corporation Methods and apparatuses for automated performance tuning of a data modeling platform
CN109559808A (zh) * 2018-11-07 2019-04-02 平安医疗健康管理股份有限公司 一种数据处理方法、装置、设备及存储介质
CN112214509A (zh) * 2019-07-12 2021-01-12 深圳市优必选科技股份有限公司 数据检索方法、系统、终端设备及存储介质
CN111930820A (zh) * 2020-08-19 2020-11-13 武汉众邦银行股份有限公司 一种基于web端操作的自助数据提取方法
CN112966004B (zh) * 2021-03-04 2023-07-28 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及计算机可读介质
CN115935926A (zh) * 2022-10-31 2023-04-07 蚂蚁区块链科技(上海)有限公司 生成数据表的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734887A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US6457003B1 (en) * 1999-08-16 2002-09-24 International Business Machines Corporation Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems
CN1416078A (zh) * 2001-10-30 2003-05-07 艾默生网络能源有限公司 监控系统的数据处理方法
US20030172056A1 (en) * 2002-02-26 2003-09-11 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
WO2004095171A2 (en) * 2003-04-17 2004-11-04 International Business Machines Corporation Rule application management in an abstract database

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369778A (en) 1987-08-21 1994-11-29 Wang Laboratories, Inc. Data processor that customizes program behavior by using a resource retrieval capability
GB9105367D0 (en) 1991-03-13 1991-04-24 Univ Strathclyde Computerised information-retrieval database systems
US6578027B2 (en) 1996-08-20 2003-06-10 Business Objects, Sa Relational database access system using semantically dynamic objects
US5412804A (en) 1992-04-30 1995-05-02 Oracle Corporation Extending the semantics of the outer join operator for un-nesting queries to a data base
JPH0689307A (ja) * 1992-05-04 1994-03-29 Internatl Business Mach Corp <Ibm> データベース内の情報を表示する装置および方法
US5404510A (en) * 1992-05-21 1995-04-04 Oracle Corporation Database index design based upon request importance and the reuse and modification of similar existing indexes
US5345586A (en) 1992-08-25 1994-09-06 International Business Machines Corporation Method and system for manipulation of distributed heterogeneous data in a data processing system
US5630121A (en) 1993-02-02 1997-05-13 International Business Machines Corporation Archiving and retrieving multimedia objects using structured indexes
US5506984A (en) 1993-06-30 1996-04-09 Digital Equipment Corporation Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes
US5701453A (en) 1993-07-01 1997-12-23 Informix Software, Inc. Logical schema to allow access to a relational database without using knowledge of the database structure
US5592663A (en) 1993-12-17 1997-01-07 Nagamori; Nobuhiko Graphing method and apparatus for data base retrieval
US5515488A (en) 1994-08-30 1996-05-07 Xerox Corporation Method and apparatus for concurrent graphical visualization of a database search and its search history
US6003034A (en) 1995-05-16 1999-12-14 Tuli; Raja Singh Linking of multiple icons to data units
US5682524A (en) 1995-05-26 1997-10-28 Starfish Software, Inc. Databank system with methods for efficiently storing non-uniform data records
US6061506A (en) 1995-08-29 2000-05-09 Omega Software Technologies, Inc. Adaptive strategy-based system
US5999933A (en) * 1995-12-14 1999-12-07 Compaq Computer Corporation Process and apparatus for collecting a data structure of a memory dump into a logical table
US5761654A (en) 1996-06-05 1998-06-02 Oracle Corporation Memory structure and method for tuning a database statement using a join-tree data structure representation, including selectivity factors, of a master table and detail table
US5987446A (en) 1996-11-12 1999-11-16 U.S. West, Inc. Searching large collections of text using multiple search engines concurrently
US6442543B1 (en) 1997-07-25 2002-08-27 Amazon.Com, Inc. Method and apparatus for changing temporal database information
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US5943666A (en) 1997-09-15 1999-08-24 International Business Machines Corporation Method and apparatus for optimizing queries across heterogeneous databases
US6009422A (en) 1997-11-26 1999-12-28 International Business Machines Corporation System and method for query translation/semantic translation using generalized query language
US5918232A (en) 1997-11-26 1999-06-29 Whitelight Systems, Inc. Multidimensional domain modeling method and system
US6460043B1 (en) 1998-02-04 2002-10-01 Microsoft Corporation Method and apparatus for operating on data with a conceptual data manipulation language
US6553368B2 (en) 1998-03-03 2003-04-22 Sun Microsystems, Inc. Network directory access mechanism
US6233586B1 (en) 1998-04-01 2001-05-15 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated query object
US6513041B2 (en) 1998-07-08 2003-01-28 Required Technologies, Inc. Value-instance-connectivity computer-implemented database
US6725227B1 (en) 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US6457009B1 (en) 1998-11-09 2002-09-24 Denison W. Bollay Method of searching multiples internet resident databases using search fields in a generic form
US6377943B1 (en) 1999-01-20 2002-04-23 Oracle Corp. Initial ordering of tables for database queries
US20010016843A1 (en) 1999-02-08 2001-08-23 Todd Olson Method and apparatus for accessing data
JP4251726B2 (ja) * 1999-07-08 2009-04-08 三菱電機株式会社 ファイル管理方法
US20020123984A1 (en) 1999-08-23 2002-09-05 Naveen Prakash Dynamic query of server applications
CA2281331A1 (en) 1999-09-03 2001-03-03 Cognos Incorporated Database management system
JP3573012B2 (ja) 1999-09-29 2004-10-06 三菱電機株式会社 データ管理装置およびデータ管理方法
US6721727B2 (en) 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6516310B2 (en) 1999-12-07 2003-02-04 Sybase, Inc. System and methodology for join enumeration in a memory-constrained environment
US7213017B2 (en) 2000-03-17 2007-05-01 Microsoft Corporation Systems and methods for transforming query results into hierarchical information
US7752024B2 (en) 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
US20020062258A1 (en) 2000-05-18 2002-05-23 Bailey Steven C. Computer-implemented procurement of items using parametric searching
US6978324B1 (en) 2000-06-27 2005-12-20 Emc Corporation Method and apparatus for controlling read and write accesses to a logical entity
US20020026630A1 (en) 2000-08-28 2002-02-28 John Schmidt Enterprise application integration methodology
US6611838B1 (en) 2000-09-01 2003-08-26 Cognos Incorporated Metadata exchange
US6567802B1 (en) 2000-09-06 2003-05-20 The Trustees Of The University Of Pennsylvania Systematic approach to query optimization
US7024425B2 (en) 2000-09-07 2006-04-04 Oracle International Corporation Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
US7047518B2 (en) 2000-10-04 2006-05-16 Bea Systems, Inc. System for software application development and modeling
US6999956B2 (en) 2000-11-16 2006-02-14 Ward Mullins Dynamic object-driven database manipulation and mapping system
US6601065B1 (en) 2000-12-21 2003-07-29 Cisco Technology, Inc. Method and apparatus for accessing a database through a network
US6651055B1 (en) 2001-03-01 2003-11-18 Lawson Software, Inc. OLAP query generation engine
WO2002073497A2 (en) 2001-03-09 2002-09-19 Pihl Limited Method and apparatus for delivering healthcare
IL159695A0 (en) 2001-07-06 2004-06-20 Computer Ass Think Inc System and method for managing object based clusters
US8244702B2 (en) 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US7398263B2 (en) 2002-02-26 2008-07-08 International Business Machines Corporation Sequenced modification of multiple entities based on an abstract data representation
US6954748B2 (en) 2002-04-25 2005-10-11 International Business Machines Corporation Remote data access and integration of distributed data sources through data schema and query abstraction
US6928431B2 (en) 2002-04-25 2005-08-09 International Business Machines Corporation Dynamic end user specific customization of an application's physical data layer through a data repository abstraction layer
US7437349B2 (en) 2002-05-10 2008-10-14 International Business Machines Corporation Adaptive probabilistic query expansion
US7249118B2 (en) 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods
US7162469B2 (en) 2002-07-20 2007-01-09 Microsoft Corporation Querying an object for properties
AU2003252065A1 (en) 2002-07-22 2004-02-09 Thought, Inc. Dynamic object- driven database manipulation and mapping system
US20040148278A1 (en) 2003-01-22 2004-07-29 Amir Milo System and method for providing content warehouse
US7054877B2 (en) 2003-03-31 2006-05-30 International Business Machines Corporation Dealing with composite data through data model entities
US7139774B2 (en) 2003-06-12 2006-11-21 International Business Machines Corporation Singleton abstract model correspondence to multiple physical models
US7299226B2 (en) 2003-06-19 2007-11-20 Microsoft Corporation Cardinality estimation of joins
US7472112B2 (en) 2003-06-23 2008-12-30 Microsoft Corporation Distributed query engine pipeline method and system
US7383255B2 (en) 2003-06-23 2008-06-03 Microsoft Corporation Common query runtime system and application programming interface
US7519577B2 (en) 2003-06-23 2009-04-14 Microsoft Corporation Query intermediate language method and system
US20060047638A1 (en) 2004-09-02 2006-03-02 International Business Machines Corporation Cartesian product detection
US7461052B2 (en) 2004-12-06 2008-12-02 International Business Machines Corporation Abstract query plan
US7333981B2 (en) 2004-12-17 2008-02-19 International Business Machines Corporation Transformation of a physical query into an abstract query
US7526471B2 (en) 2004-12-17 2009-04-28 International Business Machines Corporation Field-to-field join constraints
US8131744B2 (en) 2004-12-17 2012-03-06 International Business Machines Corporation Well organized query result sets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734887A (en) * 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
US6457003B1 (en) * 1999-08-16 2002-09-24 International Business Machines Corporation Methods, systems and computer program products for logical access of data sources utilizing standard relational database management systems
CN1416078A (zh) * 2001-10-30 2003-05-07 艾默生网络能源有限公司 监控系统的数据处理方法
US20030172056A1 (en) * 2002-02-26 2003-09-11 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
WO2004095171A2 (en) * 2003-04-17 2004-11-04 International Business Machines Corporation Rule application management in an abstract database

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369587A (zh) * 2015-10-19 2018-08-03 甲骨文国际公司 创建用于交换的表

Also Published As

Publication number Publication date
CN1790322A (zh) 2006-06-21
US8112459B2 (en) 2012-02-07
US20060136469A1 (en) 2006-06-22

Similar Documents

Publication Publication Date Title
CN100397398C (zh) 从多个格式不同的物理表创建逻辑表的方法和系统
US20220300499A1 (en) Metadata-based general request translator for distributed computer systems
CN1705945B (zh) 提供查询的属性的方法和系统
CN100424696C (zh) 处理抽象查询的方法和系统
CN100428228C (zh) 为移动应用缓存数据的系统和方法
CN103299267B (zh) 用于执行多租户存储中的交叉存储连接的方法和系统
US7890922B2 (en) System and article of manufacture for integration of data management operations into a workflow system
Rundensteiner et al. Maintaining data warehouses over changing information sources
KR101323500B1 (ko) 데이터 웨어하우징을 위한 장치 및 방법
US7752165B2 (en) Persistent query system for automatic on-demand data subscriptions from mobile devices
US7599948B2 (en) Object relational mapping layer
US7634478B2 (en) Metadata driven intelligent data navigation
US9256655B2 (en) Dynamic access of data
CN101421726B (zh) 偶尔连接的应用服务器
CN1749999B (zh) .net数据类型和实例的持久存储
US7849114B2 (en) Method, system, and program product for generating a virtual database
US20020032775A1 (en) System and method for transmitting and retrieving data via a distributed persistence framework
CN102364464B (zh) 对象实例版本化
CN105009111A (zh) 使用键值存储系统的分布式sql查询处理
CN101184106A (zh) 一种移动数据库的关联事务处理方法
CN102262650A (zh) 链接的数据库
Gudivada et al. Renaissance in database management: navigating the landscape of candidate systems
EP1967968B1 (en) Sharing of database objects
Weber et al. Database Systems
Yafooz et al. FlexiDC: a flexible platform for database conversion

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant