CN103678446B - 基于数据视图和数据库表的改进的模式映射 - Google Patents

基于数据视图和数据库表的改进的模式映射 Download PDF

Info

Publication number
CN103678446B
CN103678446B CN201310397507.0A CN201310397507A CN103678446B CN 103678446 B CN103678446 B CN 103678446B CN 201310397507 A CN201310397507 A CN 201310397507A CN 103678446 B CN103678446 B CN 103678446B
Authority
CN
China
Prior art keywords
database
data
identifier
view
database table
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
CN201310397507.0A
Other languages
English (en)
Other versions
CN103678446A (zh
Inventor
T.卡门兹
A.凯姆勒
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN103678446A publication Critical patent/CN103678446A/zh
Application granted granted Critical
Publication of CN103678446B publication Critical patent/CN103678446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及基于数据视图和数据库表的改进的模式映射。以若干等级的粒度提供模式映射,以便从数据模型生成视图。模式映射允许数据模型中包含的数据视图中所引用的数据库表来自若干物理模式的集合,即使数据模型可以包括单一的编辑模式。

Description

基于数据视图和数据库表的改进的模式映射
技术领域
本发明一般涉及基于数据视图和数据库表的改进的模式映射。
背景技术
除非在这里另外指示,这部分中描述的方法不是本申请的权利要求的已有技术,并且不会因为被包括在这部分中而被承认为已有技术。
企业***经常使用多个企业资源规划(ERP)***。作为例示的示例,ERP***可以用作人力资源(HR)***,并且单独的ERP安装可以用作财务服务***。这并非罕见的配置,因为HR***通常是非集中拥有的并且要求与财务服务***不同的安全策略。在另一个场景中,单一的ERP***可以被分割为不同的***。
为了合并企业的数据操作,企业可以将其单独的数据***移植到诸如数据库产品的单一数据库***中,其中数据库产品是具有集成的分析能力的内存数据库***。例如,企业客户可以将其单独的ERP***移植到单一的数据库***中的单独的数据库模式中。例如,可以为HR***定义一个数据库模式,并且为财务服务***定义另一个不同的数据库模式。
数据建模是企业客户所使用的工具,从而企业客户能够理解和使用在他们的数据***中,诸如它们的HR***和它们的财务服务***中累积的数据。在先前的单独的数据***被合并到单一的数据库***的场景中,重要的是数据建模能力不被损害并且企业客户仍然能够对其进行访问。
发明内容
本发明的一方面提供了一种方法,其包括利用可执行程序指令操作计算机***以便执行以下步骤:访问多个存储的数据视图定义中的第一数据视图定义,第一数据视图定义包括对一个或多个数据库表的引用;从第一数据视图定义中引用的第一数据库表访问数据,其中第一数据库表来自第一数据库模式,第一数据库模式是使用标识第一数据视图定义的标识符或者标识第一数据库表的标识符来标识的;以及至少使用从第一数据库表访问的数据生成第一数据视图定义的视图。
本发明的另一方面提供了一种数据库***,包括:计算设备;以及存储***,其上存储了计算机可执行程序代码,当所述计算机可执行程序代码被计算设备执行时,使所述计算设备:访问多个存储的数据视图定义中的第一数据视图定义,第一数据视图定义包括对一个或多个数据库表的引用;从第一数据视图定义中引用的第一数据库表访问数据,其中第一数据库表来自第一数据库模式,第一数据库模式是使用标识第一数据视图定义的标识符或者标识第一数据库表的标识符来标识的;以及至少使用从第一数据库表访问的数据生成第一数据视图定义的视图。
本发明的另一方面提供了一种包括可执行程序代码的非瞬时性计算机可读存储介质,当所述可执行程序代码被计算机***执行时,使计算机***执行以下步骤:访问多个存储的数据视图定义中的第一数据视图定义,第一数据视图定义包括对一个或多个数据库表的引用;从第一数据视图定义中引用的第一数据库表访问数据,其中第一数据库表来自第一数据库模式,第一数据库模式是使用标识第一数据视图定义的标识符或者标识第一数据库表的标识符来标识的;以及至少使用从第一数据库表访问的数据生成第一数据视图定义的视图。
附图说明
图1示出根据本公开的***配置。
图2A示出在数据模型中生成视图时所涉及的元素。
图2B示出传统的模式映射场景。
图2C到图2D示出传统的模式映射场景中的限制。
图3A、图3B、和图3C示出模式映射信息表。
图4示出根据本公开的***。
图5示出图4中示出的***的工作流。
图6示出图4中示出的***的高级实施方式。
具体实施方式
公开的实施例涉及使用增强的模式映射生成数据视图。在下面的描述中,为了说明的目的,阐述了大量的示例和特定细节以便提供对本公开的全面理解。然而,对本领域技术人员而言明显的是,如权利要求所定义的本公开可以包括这些示例本身中的特征中的一些或全部、或者与下面所描述的其它特征的结合,并且还包括对这里描述的特征和构思的修改和等同。
图1示出根据本公开的典型的实施例的配置。提供商可以在开发***101上开发数据模型,并且将数据模型分发给客户以便在它们的客户***111上使用。例如,提供商可以是数据库供应商,其提供数据建模服务以便支持它的各种客户,并且将那些数据模型交付给客户以便在他们已安装的数据库***上使用。
开发***101可以包括底层数据库***,其中底层数据库***具有数据模型141、143、145的存储库103、模式映射模型105、和目录107。开发***101可以基于与客户***中安装的数据库产品相同的数据库产品。例如,SAP公司制造和销售SAP数据库产品。因此,开发***101可以基于与客户的数据库产品相同的数据库产品,从而提供商的用于开发内容的操作环境与其客户的操作环境相同。
存储库103可以是提供商开发并交付给客户的数据模型141-145的数据存储装置(例如,库)。图中示出分别被命名为erp/Model1、hpa1/Model1、和hpa1/Model2的三个例示的数据模型141、143、145。
模式映射模型105可以是未激活的,或者未用于开发***101中。其原因将在讨论客户***111的上下文中变得清楚。
底层数据库***可以包括数据库模式121、123、125、127的目录107。数据库模式121、123、125、127可以是提供商的客户的客户***中定义和部署的数据库模式的拷贝。
提供商可以开发数据模型141-145。数据模型可以引用目录107中存储的数据库模式121-127中的一个或多个。例如,数据模型141引用数据库模式121,具体地,引用该数据库模式中被称为MARA的数据库表。数据模型141中的引用SCHM_ERP.MARA标识数据库模式SCHM_ERP并且标识该数据库模式内的数据库表MARA。类似地,数据模型143标识数据库模式SCHM_HA1并且标识数据库表TH1。而且,数据模型145标识数据库模式SCHM_HA2并且标识该数据库模式内的数据库表TH2。典型的数据模型可以包含若干(例如,数十到数百)数据视图,并且可以引用若干数据库表以便生成数据视图。
开发***101中的数据库模式121-127不包含真实的数据。取而代之地,数据库模式121-127可以包含“伪”数据,从而提供商能够开发数据模型141-145,然后数据模型141-145能够被部署给客户以便应用到其实际数据。为此,数据库模式121-127可以被称为“编辑模式(authoring schema)”以便强调它们被简单地用来编辑数据模型。
客户***111可以包括存储库113、模式映射模块115、和目录117。来自提供商的数据模型141-145中的一些,具体地,仅仅与客户相关的那些数据模型,可以被部署在存储库113中。
目录117可以包含一个或多个数据库模式131、133。与开发***101中包含伪数据的数据库模式121-127不同,客户***111中的数据库模式131、133引用从客户的操作和业务***中收集的实际数据。因此,客户的数据库模式131、133可以被称为“物理模式”以便区别于提供商的“编辑模式”以及强调这些数据库模式包含真实的数据。
通常,数据库模式131、133的客户配置可以不一一对应于提供商的数据库模式121-127。例如,提供商的数据库模式121在开发***101中被标识为SCHM_ERP,但是客户***111中相对应的数据库模式131被标识为ERP_01。作为另一个示例,在开发***101中,提供商的数据库表TH1和TH2分别被存储在单独的数据库模式125(SCHM_HA1)和127(SCHM_HA2)中,而在客户***111中,数据库表TH1和TH2被存储在被命名为HA_MASTER的单一数据库模式133中。通常,不同的客户有可能在它们的***上具有不同的数据库模式配置。
在实践中,提供商可以引用提供商的开发***101中的数据库模式121-127的配置为它们的客户开发数据模型141-145。维护为每个客户的数据库模式配置定制的数据模型可能是不切实际的。因此,客户***111中的模式映射模块115可以被激活以便提供映射功能。具体地,模式映射模块115可以将数据模型141-145中做出的数据库模式(编辑模式)引用映射到特定于客户的数据库模式(物理模式)的数据库模式引用。例如,数据模型141指代被命名为SCHM_ERP的数据库模式。模式映射模块115可以将该数据库模式名称映射到ERP_01,其中ERP_01是客户***111中相应数据库模式的名称。类似地,模式映射模块115可以将数据模型143中的SCHM_HA1映射到HA_MASTER,并且将数据模型145中的SCHM_HA2映射到HA_MASTER。下面将更详细地讨论本公开的这个方面。
回头引用开发***101中的模式映射模块105,现在能够理解为什么开发***101中的模式映射模块未激活的。因为数据模型141-145是使用目录107中包含的数据库模式121-127开发和定义的,因此不需要模式映射模块105执行映射。另一方面,为了将数据模型141-145中做出的编辑模式引用映射到客户的物理模式引用,客户***111中的模式映射模块115可能需要被激活。
现在参照图2A,其示出了关于图1中示出的数据库模式和数据模型的附加细节。用于企业的企业数据可以被存储在数据库202中,具体地,数据可以被存储在包括该数据库的若干数据库表212中。数据库202可以由一个或多个数据库模式204组织而成,所述一个或多个数据库模式204以对企业有帮助的方式定义和组织数据库表212a、212b、212c、和212d。例如,可以在数据库202中定义数据库模式以组织和管理用于HR组的数据。可以在数据库202中定义单独的数据库模式以组织和管理用于财务组的数据。
数据模型(数据视图模型、视图模型)206可以被定义为用来查看包括数据库模式204的数据。数据模型206可以包括操纵数据库表212a-212d的数据库操作(SELECT(选择)、PROJECT(投影)、JOIN(连接)等等)以及执行对数据的分析的聚合操作(SUM(求和)、AVERAGE(平均)等等),以便生成视图232a、232b、232c、232d。所生成的视图232a-232d可以在显示设备(例如,计算机显示器、平板计算机、移动设备等等)上被呈现给用户,或者生成的视图可以被打印(例如,打印报告)等等。生成的视图232a-232d可以,例如,持久保存在数据存储***208上。
用来生成给定视图(例如,视图232a)的数据库操作和分析在这里可以被称为“数据视图定义”或“视图定义”。数据模型206可以包括许多这样的数据视图定义222a、222b、222c、222d。数据视图定义(例如,222a)可以包括对一个或多个数据库表212a-212d的引用以及对包含(例示)数据库表的数据库模式的引用。例如,数据视图定义222a指代数据库模式204中的数据库表212a和212b。数据视图定义可以包括对由其它数据视图定义生成的一个或多个视图的引用。例如,数据视图定义222a包括对数据视图定义222b的引用,因此除了数据库表212a、212b之外,还将使用来自从数据视图定义222b生成的视图232b的数据。
图2B到图2D是示出本公开的优势方面的示例。在图2B中,***100可以包括数据模型102(例如,从提供商接收的),其包括多个数据视图定义112-122。如上所述,数据模型102中的数据视图定义112-122可以对提供商的开发***(例如,开发***101)上的编辑模式进行引用。因此,***100可以包括传统的模式映射模块104,用来将数据模型102中所引用的、关于数据视图定义112-122的编辑模式(例如,SCHM_ERP)映射到***100中的数据库模式106’之一。例如,***100的用户(例如,管理员用户)可以知道编辑模式SCHM_ERP对应于它们的***中的数据库模式106,并且配置模式映射模块104将数据库模式SCHM_ERP映射到数据库模式106(SCHMA)。
参照图2C,在一些使用场景中,数据模型102中引用的数据库表可以来自给定的企业中的不同物理模式。例如,图2C中示出的数据库表12-16可以包含来自人力资源部门的信息,而数据库表22-28可以包含企业的财务信息。企业可能期望分开保存两个种类的信息,因此,例如,可以配置数据库模式106、108分别持有数据库表12-16和数据库表22-28。图中示出财务数据库表之一22可以在数据库模式106中被复制,从而示出,尽管数据库模式是分开部署的,然而企业中的某些数据可能需要在数据库模式之间交叉。
在图2C中示出的配置中,被标识为view HR1(视图HR1)的数据视图定义112与数据库模式106相关联,因为该数据视图定义对来自数据库模式106的数据库表14和16进行引用。被标识为view FIN1(视图FIN1)的数据视图定义118与数据库模式108相关联,因为该数据视图定义引用来自数据库模式108的数据库表24和26。被标识为视图HR2的数据视图定义114访问另一个数据视图定义,即112,并且能够被映射到数据库模式106或108,以便访问被复制在全部两个所述数据库模式上的数据库表22。类似地,数据视图定义120访问另一个数据视图定义,即118,并且能够被映射到数据库模式106或108。数据视图定义116仅仅引用数据视图定义112和118。数据视图定义122包括对数据库模式106中的数据库表12的引用以及对数据库模式108中的数据库表28的另一个引用。
然而,数据模型102与仅仅一个编辑模式,即SCHM_ERP相关联。因此,当数据视图定义112-122被处理以便生成它们各自的视图时,模式映射模块104会将SCHM_ERP映射到数据库模式106。可以从数据视图定义112和114产生视图,因为所述数据视图定义中引用的数据库表来自数据库模式106。
然而,至于其它数据视图定义116-122,不能够成功生成视图,因为这些数据视图定义包括对不再是来自数据库模式106而是在数据库模式108中找到的数据库表的引用。例如,被标识符视图FIN1标识的数据视图定义118将不能生成视图,因为模式映射模块104将映射到数据库模式106以便访问数据库表24和26,但它将发现这些数据库表为空。分别被标识符视图HR3和视图FIN2标识的数据视图定义116和120也不能生成视图,因为它们的数据库表引用之一是数据视图定义118,而如以上所说明的,数据视图定义118不能生成视图。最后,被标识符视图FIN3标识的数据视图定义122将不能生成视图,因为它引用数据库表28,而数据库表28在数据库模式106中为空。
图2D示出如果模式映射模块104被配置为将SCHM_ERP映射到数据库模式108而不是数据库模式106时的映射。虽然现在能够从数据视图定义118和120生成视图,但是数据视图定义112-116和122将不能生成视图,因为它们最终引用在数据库模式108中为空表的数据库表。
暂时回头参照图1,传统的模式映射模块104执行“模式级”映射,也就是说,一个模式被映射到另一个模式。下面的表格示出用于图1中描绘的配置的、用于将编辑模式(提供商所使用的)映射到物理模式(客户的***中所定义的)的模式级映射信息。
编辑模式 物理模式
SCHM_ERP ERP_01
SCHM_HA1 HA_MASTER
SCHM_HA2 HA_MASTER
表格
根据本公开的原理,可以提供具有增强的映射信息的映射模块,以便在若干级别上执行模式映射,包括模式级映射。参照图3A和图4,假设用于图4中示出的数据模型402的编辑模式被命名为SCHM_ERP00。用于图中示出的配置的模式级映射信息可以被描绘在图3A的映射表302中,其中编辑模式SCHM_ERP00被映射到物理模式SCHMA,其中SCHMA是***400中的数据库模式106的标识符。
参照图3B和图4,在一些实施例中,***400可以除了包括图3A中示出的模式级映射信息之外,还包括合并有数据视图级映射信息的增强的模式映射模块404。数据视图级映射信息提供基于正被处理的数据视图的模式映射。图3B中的映射表304示出了数据视图级映射信息的示例。映射表304包括数据视图定义标识符的列312和物理模式标识符的列314。列312可以列出***400中安装的一个或多个数据模型中包含的一个或多个数据视图定义。在一些实施例中,用于数据视图定义的标识符可以包括两个部分:包含该数据视图定义的数据模型的名称和该数据视图定义自身的名称。参照图4,例如,假设数据模型402被命名为sales_model1(销售_模型1)。数据视图定义112可以在映射表304中被列为sales_model1:view HR1。
对于列312中列出的每个数据视图定义,与所列出的数据视图定义相关联的数据库模式可以在列314中被标识。参照图4,例如,数据视图定义112(view HR1)引用来自数据库模式106(SCHMA)的数据库表14和16。因此,图3B中的映射表304将标识符sales_model1:view HR1映射到标识符SCHMA。类似地,将用于数据视图118的标识符(sales_model1:viewFIN1)映射到标识符SCHMB,因为该数据视图定义引用来自被命名为SCHMB的数据库模式108的数据库表24和26。映射表304包括用于下面将要结合图3C讨论的sales_model1:viewFIN3的条目。
继续讨论图3B和图4,可以看出映射表304中的映射信息允许从数据视图定义112-120生成视图。例如,使用映射表304,模式映射模块404能够正确地将数据视图定义112与数据库模式106相关联,从而能够为了视图生成而访问在该数据库模式中找到的数据库表14和16。类似地,模式映射模块404能够正确地将数据视图定义118与数据库模式108相关联,从而能够为了视图生成而访问在该数据库模式中找到的数据库表24和26。因为数据视图定义112和118能够产生视图,因此依赖于数据视图定义112和118中的一个或者全部两个的数据视图定义114、116、和120也能够产生视图。
暂时参照图2C和图2D,如上所述,当对数据模型102中包含的数据视图定义112-122进行处理时,模式映射模块104仅仅能够提供到一个数据库模式(106或108,这取决于模式映射模块是如何配置的)的映射。因此,如果数据库模式106被选择,则仅仅数据视图定义112和114能够生成视图;其它数据视图定义116-122将失败。相反,如果数据库模式108被选择,则仅仅数据视图定义118和120能够生成视图。此外,将能够理解,不论模式映射模块104是如何配置的都不能够为数据视图定义116和122产生视图,因为这些数据视图定义要求访问数据库模式106和108全部两个,而这是模式映射模块104不能做到的。返回到图3B和图4,相比之下,模式映射模块404能够使用映射表304中包含的数据视图级映射信息,以便映射到数据库模式106和108全部两个,从而从数据视图定义112-120生成视图。
现在考虑数据视图定义122。映射表304包括用于数据视图定义122的条目,即sales_model1:view FIN3。根据映射表304,当处理该数据视图定义以产生视图时,模式映射模块404将会映射到数据库模式106(SCHMA)以访问SCHMA中包含的数据库表。数据视图定义122对数据库表12和28进行引用。对数据库表12的访问将成功,因为该数据库表来自SCHMA。然而,对数据库表28的访问将失败,因为该数据库表没有在SCHMA中被找到,而是在SCHMB中被找到。
参照图3C和图4,在一些实施例中,模式映射模块404可以提供另一个级别上的模式映射。参照图3C,映射表306提供数据库表级映射信息,正如其名,数据库表级映射信息提供数据库表级别的模式映射。映射表306包括标识数据视图定义(例如,图4中示出的数据视图定义122)的列322和标识被该数据视图定义引用的数据库表的列324。例如,映射表306包括用于被数据视图定义122引用的数据库表28的条目。为了讨论的目的,我们可以假定数据库表28被标识为FN200。列326标识数据库表所来自的数据库模式。例如,数据库表28在被标识为SCHMB的数据库模式108中被找到。
根据本公开的原理,当处理对数据库表12和28进行引用的数据视图定义122时,模式映射模块404可以使用映射表306来提供更高级别的模式映射。如上所述,映射表304提供对SCHMA中的数据库表12的访问,但是不能够提供对来自SCHMB的数据库表28的访问。然而,映射表306中的映射信息提供附加信息,该附加信息允许模式映射模块404提供数据库表28到SCHMB的映射。
现在讨论将转到图5,以便描述根据本公开的原理的用于从数据模型中包含的数据视图定义生成视图的***400中的工作流。在步骤502中,***400可以访问选择的数据视图定义。例如,用户可以识别数据模型和该数据模型内的视图。***400可以访问可以从其生成用户选择的视图的、数据模型中所包含的相应数据视图定义。
在步骤504中,***400可以将与数据视图定义相关联的编辑模式映射到***400中的数据库模式。如上所述,编辑模式指代被提供商用来开发数据模型的数据库模式。编辑模式可以在与包含数据视图定义的数据模型相关联的元数据中、或者在与该数据视图定义本身相关联的元数据中被标识。***400可以使用映射表302(图3A)中包含的映射信息来标识***400中对应于该编辑模式的数据库(物理)模式。
在步骤506,***400可以确定是否将步骤504中获得的物理模式替换为不同的物理模式。在一些实施例中,***400可以访问映射表304(图3B)。如果映射表304包含用于数据视图定义的条目,则接下来在步骤561中,***400可以将步骤504中获得的物理模式替换为从映射表304获得的物理模式。否则,***400的处理继续进行到决定步骤508,而不改变从步骤504获得的物理模式。
***400可以在步骤508中确定是否替换从步骤506得到的物理模式,从步骤506得到的物理模式可以是步骤504中获得的物理模式或者步骤561中获得的物理模式。数据视图定义可以对多个数据库表进行引用。每个数据库表被依次考虑。因此,在步骤508中,***400处理当前正被考虑的特定数据库表。在一些实施例中,***400可以访问映射表306(图3C)。如果映射表306包含用于当前正被考虑的数据库表的条目,则接下来在步骤581中,***400可以将来自步骤506的物理模式替换为从映射表306获得的物理模式。步骤581可以通过在当前正被考虑的数据库表与从映射表306获得的物理模式之间建立关联来结束。否则,在步骤508中,如果映射表306不包含用于当前正被引用的数据库表的条目,则接下来步骤508可以通过在当前正被考虑的数据库表与来自步骤506的物理模式之间建立关联来结束。
在步骤510中,如果存在更多的在数据视图定义中被引用的数据库表,则***400可以重复步骤506、561、508、和581,以便处理数据视图定义中引用的每一个附加的数据库表。当数据视图定义中的每一个数据库表已经被处理时,步骤510将评定为否,并且所述处理会继续进行到步骤512。在这时,每个数据库表将与物理模式相关联,所述物理模式要么来自映射表302中的模式级映射信息(步骤504),要么来自映射表304中的数据视图级映射信息(步骤561),或者要么来自映射表306中的数据库表级映射信息(步骤581)。***400可以根据数据视图定义(例如,SELECT(选择)、JOIN(连接)等等)访问数据库表中的数据(步骤512),以便从数据视图定义产生视图(步骤514)。
在一些实施例中,***400可以为初始化或者管理映射表304和306提供支持。考虑映射表304,例如,可以为每个数据视图定义标记信息(例如,在与该数据视图定义相关联的元数据中),所述信息标识该数据视图定义所属的应用(例如,业务应用、数据库等等)。用户界面(UI)可以向用户(例如,管理员用户)显示***400上存储的数据模型的列表。UI可以显示所选择的数据模型中包含的数据视图定义的列表。所选择的数据模型中的每个数据视图定义可以与其各自的应用标签一起显示。UI可以允许用户对数据视图定义的列表进行排序,例如,根据它们各自的应用标签。因为用户知道它们的***400中的哪个数据库模式(物理模式)被分配给了哪个应用,因此用户能够容易地识别该数据视图定义所属的物理模式,并且将物理模式手动地分配给映射表304中的数据视图定义。
可以提供相似的UI以便支持映射表306中的数据库表级映射信息。在一些实施例中,***400“知道”***中的每个数据库表属于哪个应用(财务应用、制造支持应用、工资表、员工记录等等)。例如,财务应用FIN_APP可以创建数据库表FN100和FN200,并且通过这样做***400知道了数据库表FN100和FN200“属于”应用FIN_APP。用户可以启用UI并且指定数据模型。UI可以向用户呈现所指定的数据模型中包含的数据库表的列表。对于每个列出的数据库表,UI可以显示或者标识其相对应的应用(例如,数据库表FN100和FN200属于应用FIN_APP)。然后用户可以将所述应用分配给物理模式。在一些实施例中,UI可以呈现包含所述数据库表的物理模式的列表。现在用户可以容易地看见在哪个物理模式中数据库表包含真实数据(例如,图2C,数据库模式106,数据库表12)以及在哪个物理模式中数据库表为空(例如,图2C,数据库模式108,数据库表12)。然后用户能够决定将哪个物理模式分配给哪个数据库表。
在一些实施例中,可以提供能够生成关于映射表302、304、和306中包含的映射信息的报告的检查功能。可以关于给定的数据模型中包含的给定的数据视图定义执行检查功能。更具体地,检查功能可以检测给定的数据视图定义中引用的全部数据库表。检查功能可以处理图5中示出的工作流以便标识与给定的数据视图定义中的数据库表相对应的物理模式。用户可以显示或者打印得到的报告用于检查以便检验映射表302-306中的映射信息,并且如果需要的话,对该映射信息进行修改。
根据本公开的***400的特定实施例在图6中被示出,图6示出了被配置为根据本公开进行操作的计算机***602的高级框图。计算机***602可以包括中央处理单元(CPU)或者其它相似的数据处理组件。计算机***602可以包括各种存储器组件。例如,所述存储器组件可以包括易失性存储器614(例如,随机存取存储器,RAM)和数据存储设备616。通信接口618可以被提供来允许计算机***602通过诸如局域网(LAN)、因特网等等的通信网络622通信。内部总线620可以将包括计算机***602的组件相互连接。
数据存储设备616可以包括非瞬时性计算机可读介质,其上存储了计算机可执行程序代码632。计算机可执行程序代码632可以被CPU612执行以使得CPU执行本公开的步骤,例如图5中所阐述的、用于提供各种级别的模式映射的步骤。数据存储设备616可以存储各种数据结构634,诸如包括模式级映射信息的映射表302、包括数据视图级映射信息的映射表304、和包括数据库表级映射信息的映射表306。数据存储设备616可以包括数据库***,所述数据库***包括数据模型的存储库、一个或多个数据库模式、等等。
用户(例如,管理员用户)可以使用合适的用户接口设备642与计算机***602交互。用户接口设备可以包括,例如,诸如键盘、小键盘、鼠标或其它指点设备的输入设备,以及诸如显示器的输出设备。例如,用户能够配置表格304和306、执行检查功能、等等。
这里讨论的全部***和过程可以以存储在一个或多个非瞬时性计算机可读介质上的程序代码来体现。这样的介质可以包括,例如,软盘、CD-ROM、DVD-ROM、闪存驱动器、磁带、和固态随机存取存储器(RAM)或只读存储器(ROM)存储单元。将理解,实施例不限于硬件和软件的任何特定组合。这里被描述为彼此通信的元素能够直接地或间接地通过任何数量的用于传递数据的不同***进行通信,所述***包括但不限于共享内存通信、局域网、广域网、电话网、蜂窝网、光纤网、卫星网、红外网络、射频网络、以及可以用来在设备之间传送信息的任何其它类型的网络。此外,***之间的通信可以通过一个或多个已经或即将熟知的传输协议进行,诸如异步传输模式(ATM)、网际协议(IP)、超文本传输协议(HTTP)、和无线应用协议(WAP)。
以上描述示出了本公开的各种实施例以及如何实施本公开的各个方面的示例。以上示例和实施例不应该被认为是仅有的实施例,而是被呈现以便示出如所附权利要求所定义的本公开的灵活性和优点。基于以上的公开和所附权利要求,其它安排、实施例、实施方式、和等效物对于本领域技术人员而言将是明显的并且可以被部署而不脱离如所附权利要求所定义的本公开的精神和范围。

Claims (20)

1.一种基于数据视图和数据库表的模式映射的方法,其包括利用可执行程序指令操作用户计算机***以便执行以下步骤:
从与所述用户计算机***分离的提供商计算机***接收包括第一数据库表的第一数据视图定义,第一数据库表使用第一模式标识符引用所述提供商计算机***的数据库模式;
利用存储在所述用户计算机***上的多个数据视图定义存储第一数据视图定义,包括使用不同于第一模式标识符的第二模式标识符来将第一数据视图的第一数据库表与所述用户计算机***的数据库模式相关联;
从所存储的数据视图定义中访问第一数据视图定义;
从第一数据视图定义中引用的第一数据库表访问数据,包括将由第一数据库表引用的第一模式标识符映射到第二模式标识符以访问所述用户计算机***中的数据库模式;以及
至少使用从数据库表访问的数据生成第一数据视图定义的视图。
2.如权利要求1所述的方法,其中,从第一数据视图定义中引用的第一数据库表访问数据包括:
确定与标识第一数据视图定义的标识符或者标识第一数据库表的标识符相对应的数据库模式名称;
使用所述数据库模式名称访问第一数据库模式;以及
访问来自第一数据库模式的第一数据库表。
3.如权利要求1所述的方法,还包括从第一数据视图定义中引用的第二数据库表访问数据,其中第二数据库表来自不同于第一数据库模式的第二数据库模式,其中生成第一数据视图定义的视图还包括使用从第二数据库表访问的数据。
4.如权利要求3所述的方法,其中,第二数据库模式是使用标识第二数据库表的标识符来标识的。
5.如权利要求1所述的方法,还包括:存储包括标识每个数据视图定义的多个标识符的模式映射信息,每个标识符与数据库模式相关联,其中使用标识第一数据视图定义的标识符从所述模式映射信息中标识第一数据库模式。
6.如权利要求1所述的方法,还包括:存储包括标识所述多个数据视图定义中引用的每个数据库表的多个标识符的模式映射信息,每个标识符与数据库模式相关联,其中使用标识第一数据库表的标识符从所述模式映射信息中标识第一数据库模式。
7.如权利要求1所述的方法,还包括:
向用户呈现与一个或多个数据视图定义相关的信息;
对于呈现给用户的每个数据视图定义,从用户接收代表标识数据库模式的标识符的信息;以及
存储标识所呈现的数据视图定义的标识符与从用户接收的标识符之间的映射。
8.如权利要求1所述的方法,还包括:
向用户呈现与由给定的数据视图定义引用的一个或多个数据库表相关的信息;
对于呈现给用户的每个数据库表,从用户接收代表标识数据库模式的标识符的信息;以及
存储标识所呈现的数据库表的标识符与从用户接收的标识符之间的映射。
9.一种数据库***,包括:
包括处理器的计算设备;以及
存储***,其上存储了计算机可执行程序代码,当所述计算机可执行程序代码被计算设备执行时,使所述计算设备:
从与所述数据库***分离的提供商计算机***接收包括第一数据库表的第一数据视图定义,第一数据库表使用第一模式标识符引用所述提供商计算机***的数据库模式;
利用存储在所述数据库***上的多个数据视图定义存储第一数据视图定义,包括使用不同于第一模式标识符的第二模式标识符来将第一数据视图的第一数据库表与所述数据库***的数据库模式相关联;
从所存储的数据视图定义中访问第一数据视图定义;
从第一数据视图定义中引用的第一数据库表访问数据,包括将由第一数据库表引用的第一模式标识符映射到第二模式标识符以访问用户计算机***中的数据库模式;以及
至少使用从数据库表访问的数据生成第一数据视图定义的视图。
10.如权利要求9所述的数据库***,其中,为了从第一数据视图定义中引用的第一数据库表访问数据,所述计算设备:
确定与标识第一数据视图定义的标识符或者标识第一数据库表的标识符相对应的数据库模式名称;
使用所述数据库模式名称访问第一数据库模式;以及
访问来自第一数据库模式的第一数据库表。
11.如权利要求9所述的数据库***,其中,当所述计算机可执行程序代码被执行时,进一步使所述计算设备从第一数据视图定义中引用的第二数据库表访问数据,其中第二数据库表来自不同于第一数据库模式的第二数据库模式,其中生成第一数据视图定义的视图还包括使用从第二数据库表访问的数据。
12.如权利要求11所述的数据库***,其中,第二数据库模式是使用标识第二数据库表的标识符来标识的。
13.如权利要求9所述的数据库***,其中,当所述计算机可执行程序代码被执行时,进一步使所述计算设备存储包括标识每个数据视图定义的多个标识符的模式映射信息,每个标识符与数据库模式相关联,其中使用标识第一数据视图定义的标识符从所述模式映射信息中标识第一数据库模式。
14.如权利要求9所述的数据库***,其中,当所述计算机可执行程序代码被执行时,进一步使所述计算设备存储包括标识所述多个数据视图定义中引用的每个数据库表的多个标识符的模式映射信息,每个标识符与数据库模式相关联,其中使用标识第一数据库表的标识符从所述模式映射信息中标识第一数据库模式。
15.如权利要求9所述的数据库***,其中,当所述计算机可执行程序代码被执行时,进一步使所述计算设备:
向用户呈现与一个或多个数据视图定义相关的信息;
对于呈现给用户的每个数据视图定义,从用户接收代表标识数据库模式的标识符的信息;以及
存储标识所呈现的数据视图定义的标识符与从用户接收的标识符之间的映射。
16.如权利要求9所述的数据库***,其中,当所述计算机可执行程序代码被执行时,进一步使所述计算设备:
向用户呈现与由给定的数据视图定义引用的一个或多个数据库表相关的信息;
对于呈现给用户的每个数据库表,从用户接收代表标识数据库模式的标识符的信息;以及
存储标识所呈现的数据库表的标识符与从用户接收的标识符之间的映射。
17.一种包括可执行程序代码的非瞬时性计算机可读存储介质,当所述可执行程序代码被用户计算机***执行时,使用户计算机***执行以下步骤:
从与所述用户计算机***分离的提供商计算机***接收包含第一数据库表的第一数据视图定义,第一数据库表使用第一模式标识符引用所述提供商计算机***的数据库模式;
利用存储在所述用户计算机***上的多个数据视图定义存储第一数据视图定义,包括使用不同于第一模式标识符的第二模式标识符来将第一数据视图的第一数据库表与所述用户计算机***的数据库模式相关联;
从所存储的数据视图定义中访问第一数据视图定义;
从第一数据视图定义中引用的第一数据库表访问数据,包括将由第一数据库表引用的第一模式标识符映射到第二模式标识符以访问所述用户计算机***中的数据库模式;以及
至少使用从数据库表访问的数据生成第一数据视图定义的视图。
18.如权利要求17所述的包括可执行程序代码的非瞬时性计算机可读存储介质,其中,从第一数据视图定义中引用的第一数据库表访问数据包括,所述用户计算机***:
确定与标识第一数据视图定义的标识符或者标识第一数据库表的标识符相对应的数据库模式名称;
使用所述数据库模式名称访问第一数据库模式;以及
访问来自第一数据库模式的第一数据库表。
19.如权利要求17所述的包括可执行程序代码的非瞬时性计算机可读存储介质,其中,所述用户计算机***从第一数据视图定义中引用的第二数据库表访问数据,其中第二数据库表来自不同于第一数据库模式的第二数据库模式,其中生成第一数据视图定义的视图还包括使用从第二数据库表访问的数据。
20.如权利要求19所述的包括可执行程序代码的非瞬时性计算机可读存储介质,其中,第二数据库模式是使用标识第二数据库表的标识符来标识的。
CN201310397507.0A 2012-09-04 2013-09-04 基于数据视图和数据库表的改进的模式映射 Active CN103678446B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/602,661 2012-09-04
US13/602,661 US9026557B2 (en) 2012-09-04 2012-09-04 Schema mapping based on data views and database tables

Publications (2)

Publication Number Publication Date
CN103678446A CN103678446A (zh) 2014-03-26
CN103678446B true CN103678446B (zh) 2018-06-05

Family

ID=49084719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310397507.0A Active CN103678446B (zh) 2012-09-04 2013-09-04 基于数据视图和数据库表的改进的模式映射

Country Status (3)

Country Link
US (1) US9026557B2 (zh)
EP (1) EP2704031A1 (zh)
CN (1) CN103678446B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128962B2 (en) 2013-03-11 2015-09-08 Sap Se View based table replacement for applications
US9613074B2 (en) 2013-12-23 2017-04-04 Sap Se Data generation for performance evaluation
US10120886B2 (en) * 2015-07-14 2018-11-06 Sap Se Database integration of originally decoupled components
US20170032004A1 (en) * 2015-07-29 2017-02-02 Sap Se Core data services based cross-system analytics
US10248668B2 (en) * 2016-07-18 2019-04-02 International Business Machines Corporation Mapping database structure to software
US10469584B2 (en) * 2016-09-30 2019-11-05 Salesforce.Com, Inc. Techniques and architectures for managing disparate heterogeneous cloud-based resources
US10885157B2 (en) 2017-04-03 2021-01-05 International Business Machines Corporation Determining a database signature
US11423020B2 (en) * 2018-10-19 2022-08-23 Oracle International Corporation Efficient extraction of large data sets from a database

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944089A (zh) * 2009-07-10 2011-01-12 北京数码大方科技有限公司 用于数据库的数据视图版本管理方法及装置
CN102254029A (zh) * 2011-07-29 2011-11-23 株洲南车时代电气股份有限公司 一种基于视图的数据访问***及其方法
CN102521401A (zh) * 2011-12-24 2012-06-27 北京数码大方科技有限公司 数据视图的处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718320B1 (en) * 1998-11-02 2004-04-06 International Business Machines Corporation Schema mapping system and method
US6915305B2 (en) * 2001-08-15 2005-07-05 International Business Machines Corporation Restructuring view maintenance system and method
US7987159B2 (en) * 2006-09-15 2011-07-26 Microsoft Corporation Detecting and managing changes in business data integration solutions
US8429202B2 (en) * 2009-05-29 2013-04-23 Alcatel Lucent Methods and apparatus for propagating functional dependencies with conditions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944089A (zh) * 2009-07-10 2011-01-12 北京数码大方科技有限公司 用于数据库的数据视图版本管理方法及装置
CN102254029A (zh) * 2011-07-29 2011-11-23 株洲南车时代电气股份有限公司 一种基于视图的数据访问***及其方法
CN102521401A (zh) * 2011-12-24 2012-06-27 北京数码大方科技有限公司 数据视图的处理方法及装置

Also Published As

Publication number Publication date
US9026557B2 (en) 2015-05-05
US20140067868A1 (en) 2014-03-06
EP2704031A1 (en) 2014-03-05
CN103678446A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN103678446B (zh) 基于数据视图和数据库表的改进的模式映射
KR102291842B1 (ko) 파일 공유를 위한 기술들
Rennung et al. Service provision in the framework of Industry 4.0
CN109033471B (zh) 一种信息资产识别方法及装置
US8412661B2 (en) Smart survey with progressive discovery
US20210073478A1 (en) Systems and methods for dynamically expanding natural language processing agent capacity
CN109479061A (zh) 遵从性违反检测
US20140101632A1 (en) Open application lifecycle management framework
CN104572122A (zh) 一种软件应用数据的生成装置及方法
US11570214B2 (en) Crowdsourced innovation laboratory and process implementation system
US20140365827A1 (en) Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services
US10922216B1 (en) Intelligent automation test workflow
US10282426B1 (en) Asset inventory reconciliation services for use in asset management architectures
CN106844730A (zh) 文件内容的显示方法及装置
CN106897207A (zh) 用户界面测试方法与装置
CN110941629B (zh) 元数据处理方法、装置、设备及计算机可读存储介质
CN109144501A (zh) 一种通过标签生成api的方法和***
US20110047274A1 (en) System and Method to Manage a Policy Related to a Network-Based Service
CN110675069B (zh) 地产行业客户签约风险预警方法、服务器及存储介质
CN112102137A (zh) 政策数据处理方法、装置和存储介质
Wang et al. On the value of quality of service attributes for detecting bad design practices
CN115794641A (zh) 基于业务流程的造数方法、装置、设备及存储介质
US11347796B2 (en) Eliminating many-to-many joins between database tables
Cheng et al. An efficient FPRAS type group testing procedure to approximate the number of defectives
JP5206268B2 (ja) ルール作成プログラム、ルール作成方法及びルール作成装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: German Waldo

Applicant after: SAP AG

Address before: German Waldo

Applicant before: SAP AG

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant