基于数据视图和数据库表的改进的模式映射的制作方法

文档序号:6510195阅读:197来源:国知局
基于数据视图和数据库表的改进的模式映射的制作方法
【专利摘要】本发明涉及基于数据视图和数据库表的改进的模式映射。以若干等级的粒度提供模式映射,以便从数据模型生成视图。模式映射允许数据模型中包含的数据视图中所引用的数据库表来自若干物理模式的集合,即使数据模型可以包括单一的编辑模式。
【专利说明】基于数据视图和数据库表的改进的模式映射
【技术领域】
[0001]本发明一般涉及基于数据视图和数据库表的改进的模式映射。
【背景技术】
[0002]除非在这里另外指示,这部分中描述的方法不是本申请的权利要求的已有技术,并且不会因为被包括在这部分中而被承认为已有技术。
[0003]企业系统经常使用多个企业资源规划(ERP)系统。作为例示的示例,ERP系统可以用作人力资源(HR)系统,并且单独的ERP安装可以用作财务服务系统。这并非罕见的配置,因为HR系统通常是非集中拥有的并且要求与财务服务系统不同的安全策略。在另一个场景中,单一的ERP系统可以被分割为不同的系统。
[0004]为了合并企业的数据操作,企业可以将其单独的数据系统移植到诸如
SAP HANAif数据库产品的单一数据库系统中,其中SAP HANA?数据库产品是具有集
成的分析能力的内存数据库系统。例如,企业客户可以将其单独的ERP系统移植到单一的数据库系统中的单独的数据库模式中。例如,可以为HR系统定义一个数据库模式,并且为财务服务系统定义另一个不同的数据库模式。
[0005]数据建模是企业客户所使用的工具,从而企业客户能够理解和使用在他们的数据系统中,诸如它们的HR系统和它们的财务服务系统中累积的数据。在先前的单独的数据系统被合并到单一的数据库系统的场景中,重要的是数据建模能力不被损害并且企业客户仍然能够对其进行访问。

【发明内容】

[0006]本发明的一方面提供了一种方法,其包括利用可执行程序指令操作计算机系统以便执行以下步骤:访问多个存储的数据视图定义中的第一数据视图定义,第一数据视图定义包括对一个或多个数据库表的引用;从第一数据视图定义中引用的第一数据库表访问数据,其中第一数据库表来自第一数据库模式,第一数据库模式是使用标识第一数据视图定义的标识符或者标识第一数据库表的标识符来标识的;以及至少使用从第一数据库表访问的数据生成第一数据视图定义的视图。
[0007]本发明的另一方面提供了一种数据库系统,包括:计算设备;以及存储系统,其上存储了计算机可执行程序代码,当所述计算机可执行程序代码被计算设备执行时,使所述计算设备:访问多个存储的数据视图定义中的第一数据视图定义,第一数据视图定义包括对一个或多个数据库表的引用;从第一数据视图定义中引用的第一数据库表访问数据,其中第一数据库表来自第一数据库模式,第一数据库模式是使用标识第一数据视图定义的标识符或者标识第一数据库表的标识符来标识的;以及至少使用从第一数据库表访问的数据生成第一数据视图定义的视图。
[0008]本发明的另一方面提供了一种包括可执行程序代码的非瞬时性计算机可读存储介质,当所述可执行程序代码被计算机系统执行时,使计算机系统执行以下步骤:访问多个存储的数据视图定义中的第一数据视图定义,第一数据视图定义包括对一个或多个数据库表的引用;从第一数据视图定义中引用的第一数据库表访问数据,其中第一数据库表来自第一数据库模式,第一数据库模式是使用标识第一数据视图定义的标识符或者标识第一数据库表的标识符来标识的;以及至少使用从第一数据库表访问的数据生成第一数据视图定义的视图。
【专利附图】

【附图说明】
[0009]图1不出根据本公开的系统配置。
[0010]图2A示出在数据模型中生成视图时所涉及的元素。
[0011]图2B不出传统的模式映射场景。
[0012]图2C到图2D示出传统的模式映射场景中的限制。
[0013]图3A、图3B、和图3C示出模式映射信息表。
[0014]图4不出根据本公开的系统。
[0015]图5示出图4中示出的系统的工作流。
[0016]图6示出图4中示出的系统的高级实施方式。
【具体实施方式】
[0017]公开的实施例涉及使用增强的模式映射生成数据视图。在下面的描述中,为了说明的目的,阐述了大量的示例和特定细节以便提供对本公开的全面理解。然而,对本领域技术人员而言明显的是,如权利要求所定义的本公开可以包括这些示例本身中的特征中的一些或全部、或者与下面所描述的其它特征的结合,并且还包括对这里描述的特征和构思的修改和等同。
[0018]图1示出根据本公开的典型的实施例的配置。提供商可以在开发系统101上开发数据模型,并且将数据模型分发给客户以便在它们的客户系统111上使用。例如,提供商可以是数据库供应商,其提供数据建模服务以便支持它的各种客户,并且将那些数据模型交付给客户以便在他们已安装的数据库系统上使用。
[0019]开发系统101可以包括底层数据库系统,其中底层数据库系统具有数据模型141、143、145的存储库103、模式映射模型105、和目录107。开发系统101可以基于与客户系统
中安装的数据库产品相同的数据库产品。例如,SAP公司制造和销售SAP ΗΑΝΑ%数据库产品。因此,开发系统101可以基于与客户的数据库产品相同的数据库产品,从而提供商的用于开发内容的操作环境与其客户的操作环境相同。
[0020]存储库103可以是提供商开发并交付给客户的数据模型141-145的数据存储装置(例如,库)。图中示出分别被命名为erp/Modell、hpal/Modell、和hpal/Model2的三个例示的数据模型141、143、145。
[0021]模式映射模型105可以是未激活的,或者未用于开发系统101中。其原因将在讨论客户系统111的上下文中变得清楚。
[0022]底层数据库系统可以包括数据库模式121、123、125、127的目录107。数据库模式121、123、125、127可以是提供商的客户的客户系统中定义和部署的数据库模式的拷贝。
[0023]提供商可以开发数据模型141-145。数据模型可以引用目录107中存储的数据库模式121-127中的一个或多个。例如,数据模型141引用数据库模式121,具体地,引用该数据库模式中被称为MARA的数据库表。数据模型141中的引用SCHM_ERP.MARA标识数据库模式SCHM_ERP并且标识该数据库模式内的数据库表MARA。类似地,数据模型143标识数据库模式SCHMJiAl并且标识数据库表THl。而且,数据模型145标识数据库模式SCHM_HA2并且标识该数据库模式内的数据库表TH2。典型的数据模型可以包含若干(例如,数十到数百)数据视图,并且可以引用若干数据库表以便生成数据视图。
[0024]开发系统101中的数据库模式121-127不包含真实的数据。取而代之地,数据库模式121-127可以包含“伪”数据,从而提供商能够开发数据模型141-145,然后数据模型141-145能够被部署给客户以便应用到其实际数据。为此,数据库模式121-127可以被称为“编辑模式(authoring schema)”以便强调它们被简单地用来编辑数据模型。
[0025]客户系统111可以包括存储库113、模式映射模块115、和目录117。来自提供商的数据模型141-145中的一些,具体地,仅仅与客户相关的那些数据模型,可以被部署在存储库113中。
[0026]目录117可以包含一个或多个数据库模式131、133。与开发系统101中包含伪数据的数据库模式121-127不同,客户系统111中的数据库模式131、133引用从客户的操作和业务系统中收集的实际数据。因此,客户的数据库模式131、133可以被称为“物理模式”以便区别于提供商的“编辑模式”以及强调这些数据库模式包含真实的数据。
[0027]通常,数据库模式131、133的客户配置可以不一一对应于提供商的数据库模式121-127。例如,提供商的数据库模式121在开发系统101中被标识为SCHM_ERP,但是客户系统111中相对应的数据库模式131被标识为ERP_01。作为另一个示例,在开发系统101中,提供商的数据库表THl和TH2分别被存储在单独的数据库模式125 (SCHM_HA1)和127(SCHM_HA2 )中,而在客户系统111中,数据库表THl和TH2被存储在被命名为HA_MASTER的单一数据库模式133中。通常,不同的客户有可能在它们的系统上具有不同的数据库模式配置。
[0028]在实践中,提供商可以引用提供商的开发系统101中的数据库模式121-127的配置为它们的客户开发数据模型141-145。维护为每个客户的数据库模式配置定制的数据模型可能是不切实际的。因此,客户系统111中的模式映射模块115可以被激活以便提供映射功能。具体地,模式映射模块115可以将数据模型141-145中做出的数据库模式(编辑模式)引用映射到特定于客户的数据库模式(物理模式)的数据库模式引用。例如,数据模型141指代被命名为SCHM_ERP的数据库模式。模式映射模块115可以将该数据库模式名称映射到ERP_01,其中ERP_01是客户系统111中相应数据库模式的名称。类似地,模式映射模块115可以将数据模型143中的SCHMJiAl映射到HA_MASTER,并且将数据模型145中的SCHM_HA2映射到HA_MASTER。下面将更详细地讨论本公开的这个方面。
[0029]回头引用开发系统101中的模式映射模块105,现在能够理解为什么开发系统101中的模式映射模块未激活的。因为数据模型141-145是使用目录107中包含的数据库模式121-127开发和定义的,因此不需要模式映射模块105执行映射。另一方面,为了将数据模型141-145中做出的编辑模式引用映射到客户的物理模式引用,客户系统111中的模式映射模块115可能需要被激活。
[0030]现在参照图2A,其示出了关于图1中示出的数据库模式和数据模型的附加细节。用于企业的企业数据可以被存储在数据库202中,具体地,数据可以被存储在包括该数据库的若干数据库表212中。数据库202可以由一个或多个数据库模式204组织而成,所述一个或多个数据库模式204以对企业有帮助的方式定义和组织数据库表212a、212b、212c、和212d。例如,可以在数据库202中定义数据库模式以组织和管理用于HR组的数据。可以在数据库202中定义单独的数据库模式以组织和管理用于财务组的数据。
[0031]数据模型(数据视图模型、视图模型)206可以被定义为用来查看包括数据库模式204的数据。数据模型206可以包括操纵数据库表212a-212d的数据库操作(SELECT (选择)、PROJECT (投影)、JOIN (连接)等等)以及执行对数据的分析的聚合操作(SUM (求和)、AVERAGE (平均)等等),以便生成视图232a、232b、232c、232d。所生成的视图232a_232d可以在显示设备(例如,计算机显示器、平板计算机、移动设备等等)上被呈现给用户,或者生成的视图可以被打印(例如,打印报告)等等。生成的视图232a-232d可以,例如,持久保存在数据存储系统208上。
[0032]用来生成给定视图(例如,视图232a)的数据库操作和分析在这里可以被称为“数据视图定义”或“视图定义”。数据模型206可以包括许多这样的数据视图定义222a、222b、222c、222d。数据视图定义(例如,222a)可以包括对一个或多个数据库表212a-212d的引用以及对包含(例示)数据库表的数据库模式的引用。例如,数据视图定义222a指代数据库模式204中的数据库表212a和212b。数据视图定义可以包括对由其它数据视图定义生成的一个或多个视图的引用。例如,数据视图定义222a包括对数据视图定义222b的引用,因此除了数据库表212a、212b之外,还将使用来自从数据视图定义222b生成的视图232b的数据。
[0033]图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)。
[0034]参照图2C,在一些使用场景中,数据模型102中引用的数据库表可以来自给定的企业中的不同物理模式。例如,图2C中示出的数据库表12-16可以包含来自人力资源部门的信息,而数据库表22-28可以包含企业的财务信息。企业可能期望分开保存两个种类的信息,因此,例如,可以配置数据库模式106、108分别持有数据库表12-16和数据库表22-28。图中示出财务数据库表之一 22可以在数据库模式106中被复制,从而示出,尽管数据库模式是分开部署的,然而企业中的某些数据可能需要在数据库模式之间交叉。
[0035]在图2C中示出的配置中,被标识为view HRl (视图HRl)的数据视图定义112与数据库模式106相关联,因为该数据视图定义对来自数据库模式106的数据库表14和16进行引用。被标识为view FINl (视图FIN1)的数据视图定义118与数据库模式108相关联,因为该数据视图定义引用来自数据库模式108的数据库表24和26。被标识为视图HR2的数据视图定义114访问另一个数据视图定义,即112,并且能够被映射到数据库模式106或108,以便访问被复制在全部两个所述数据库模式上的数据库表22。类似地,数据视图定义120访问另一个数据视图定义,即118,并且能够被映射到数据库模式106或108。数据视图定义116仅仅引用数据视图定义112和118。数据视图定义122包括对数据库模式106中的数据库表12的引用以及对数据库模式108中的数据库表28的另一个引用。
[0036]然而,数据模型102与仅仅一个编辑模式,即SCHM_ERP相关联。因此,当数据视图定义112-122被处理以便生成它们各自的视图时,模式映射模块104会将SCHM_ERP映射到数据库模式106。可以从数据视图定义112和114产生视图,因为所述数据视图定义中引用的数据库表来自数据库模式106。
[0037]然而,至于其它数据视图定义116-122,不能够成功生成视图,因为这些数据视图定义包括对不再是来自数据库模式106而是在数据库模式108中找到的数据库表的引用。例如,被标识符视图FINl标识的数据视图定义118将不能生成视图,因为模式映射模块104将映射到数据库模式106以便访问数据库表24和26,但它将发现这些数据库表为空。分别被标识符视图HR3和视图FIN2标识的数据视图定义116和120也不能生成视图,因为它们的数据库表引用之一是数据视图定义118,而如以上所说明的,数据视图定义118不能生成视图。最后,被标识符视图FIN3标识的数据视图定义122将不能生成视图,因为它引用数据库表28,而数据库表28在数据库模式106中为空。
[0038]图2D示出如果模式映射模块104被配置为将SCHM_ERP映射到数据库模式108而不是数据库模式106时的映射。虽然现在能够从数据视图定义118和120生成视图,但是数据视图定义112-116和122将不能生成视图,因为它们最终引用在数据库模式108中为
空表的数据库表。
[0039]暂时 回头参照图1,传统的模式映射模块104执行“模式级”映射,也就是说,一个模式被映射到另一个模式。下面的表格示出用于图1中描绘的配置的、用于将编辑模式(提供商所使用的)映射到物理模式(客户的系统中所定义的)的模式级映射信息。
[0040]
【权利要求】
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所述的非瞬时性计算机可读存储介质,其中,第二数据库模式是使用标识第二数据库表的标识符来标识的。
【文档编号】G06F17/30GK103678446SQ201310397507
【公开日】2014年3月26日 申请日期:2013年9月4日 优先权日:2012年9月4日
【发明者】T.卡门兹, A.凯姆勒 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1