数据沿袭系统的制作方法

文档序号:15465791发布日期:2018-09-18 19:18阅读:261来源:国知局
本申请要求2012年10月18日提交的序号为61/715,428的美国临时专利申请的优先权,该申请的主题特此通过引用并入。
技术领域
一个实施例涉及一种计算机系统,更具体地讲,涉及一种管理数据的计算机系统。
背景技术
:数据仓库可以用于存储用于报告和分析的数据。计算机系统可以从多个分布源收集数据,并且将整合的数据存储在数据仓库内的数据模型中。用户可以对该数据施加变换以基于存储的数据为数据查阅、数据分析和数据挖掘做好准备。此外,该数据通常可以与关联信息(诸如评论、错误报告、标签和标志/状态信息)相关联。技术实现要素:一个实施例是一种追踪包括一个或多个数据表的数据仓库的数据沿袭的系统,其中,每个数据表包括一个或多个数据记录。该系统将目标数据元素映射到一个或多个源数据元素,其中,目标数据元素包括目标数据表定义列,并且其中,每个源数据元素包括源表定义列。该系统进一步将目标表定义扩展为包括存储一个或多个源代理键的一个或多个辅助列。该系统进一步对于每个源数据元素,将数据沿袭映射系统记录存储在数据沿袭映射系统表内,所述数据沿袭映射系统表表示目标数据元素和相应的源数据元素的映射、连同目标表中的存储源代理键的辅助列的列身份。在目标数据记录被创建或修改时,该系统进一步将一个或多个源代理键值存储在目标数据记录的一个或多个辅助列内。该系统进一步对于每个目标数据记录,将一个或多个影子系统记录存储在影子系统表内,所述影子系统表表示源数据记录和相应的目标数据记录源代理键值的映射。数据沿袭包括所述一个或多个数据沿袭映射系统记录、所述一个或多个影子系统记录、以及所述一个或多个源代理键。附图说明从结合附图进行的以下对于优选实施例的详细描述,进一步的实施例、细节、优点和修改将变得清楚。图1例示可以实现本发明的实施例的系统的框图。图2例示根据本发明的实施例的用于系统的逻辑数据模型的框图。图3例示根据本发明的实施例的示例数据沿袭的框图。图4例示根据本发明的实施例的显示数据沿袭的示例用户界面。图5例示根据本发明的实施例的用于系统的物理模型的框图。图6例示根据本发明的实施例的数据沿袭映射表的框图。图7例示根据本发明的实施例的影子表的框图。图8例示根据本发明的实施例的数据沿袭子系统的物理模型的框图。图9例示根据本发明的实施例的关联对象映射表的框图。图10例示根据本发明的实施例的关联信息子系统的物理模型的框图。图11例示根据本发明的实施例的合并变换的示例数据沿袭踪迹。图12例示根据本发明的实施例的枢轴变换的示例源数据沿袭踪迹。图13例示根据本发明的实施例的枢轴变换的示例目标数据沿袭踪迹。图14例示根据本发明的实施例的非枢轴变换的示例源数据沿袭踪迹。图15例示根据本发明的实施例的非枢轴变换的示例目标数据沿袭踪迹。图16例示根据本发明的实施例的结合变换的示例数据沿袭踪迹。图17例示根据本发明的实施例的案例变换的示例数据沿袭踪迹。图18例示根据本发明的实施例的数据沿袭模块的功能的流程图。图19例示根据本发明的实施例的关联信息传播模块的功能的流程图。具体实施方式在一个实施例中,提供一种系统,该系统可以提供追踪对可以存储在数据仓库内的数据集执行的一个或多个变换的路径的数据沿袭,其中该数据集存储在一个或多个表内,其中每个表包括一个或多个数据记录。“变换”或“数据变换”是一个或多个第一格式的数据记录到一个或多个第二格式的数据记录的转换,其中,数据记录可以包括一个或多个数据值。对于给定的目标数据元素,该系统可以识别生成目标数据元素的源数据元素集、以及从源数据元素集到目标数据元素的路径,其中,"数据元素"包括存储在一列数据记录中的数据值。类似地,对于给定的源数据元素,该系统可以识别从源数据元素推导的准确的目标数据元素集、以及从源数据元素到每个目标数据元素的路径。因此,除了数据仓库内的存储数据之外,该系统还可以提供数据沿袭追踪信息,以进一步便利于存储数据的深度分析。在某些实施例中,数据仓库内的存储数据可以存储在一个或多个“数据记录”内,并且数据沿袭追踪信息可以存储在一个或多个“系统记录”内。如这里所定义的,“数据记录”可以是存储数据仓库的数据的任何类型的记录,“系统记录”可以是存储数据沿袭追踪信息的任何类型的记录。根据实施例,为了追踪从源数据元素到目标数据元素的数据沿袭,反之亦然,该系统可以存储下列关于每个变换的数据沿袭追踪信息:(a)从一个或多个源表定义中的一个或多个列到变换的目标表中的每个列的一个或多个元数据映射,这些元数据映射被识别为“列映射数据”,该数据是关于通过该变换进行的数据重组的元数据信息;(b)从一个或多个源表中的一个或多个实际的数据记录到通过执行变换而填充的目标表中的每个实际的数据记录的一个或多个映射,这些映射被识别为“记录映射数据”;以及(c)变换特有的附加的数据沿袭追踪信息,诸如变换的类型。列映射数据可以在定义变换时存储,或者它可以被存储来描述现有的变换程序的行为。这样的变换列映射数据可以包括:(a)源表和源列;(b)目标表和目标列;(c)变换类型;以及(d)特定变换所需的附加信息。与变换所处理的数据记录相关联的记录映射数据可以在执行变换时存储。记录映射数据可以包括:a)源数据记录的身份;b)目标数据记录的身份;以及c)关于特定变换的附加信息。数据记录的身份可以是单个列,或者可以包括多个列,所述单个列或多个列的值唯一地识别数据表内的数据记录,也被称为主键或唯一键。根据实施例,变换的目标表中的每个数据记录可以存储源数据记录的身份,所述源数据记录对于变换中的一个或多个列提供关于该目标数据记录的数据,其中,该身份被识别为“源键”。在某些实施例中,这些识别值可以组合为可以用于识别数据记录的单个值或“代理源键”。在某些实施例中,代理源键可以包括关于用于将源数据记录变换为目标数据记录的关于变换的附加信息。在目标数据记录包含来自多个源数据记录的数据的情况下,可以用适当数量的列来扩展目标表,以使得目标数据记录可以存储适当数量的源代理键。该系统然后可以存储目标表中的容纳记录映射数据的一个或多个源代理键列与目标列之间的关系,所述目标列与作为列映射数据存储的相应的源表相关联。该组合数据可以被该系统用于提供关于数据元素的源或目标数据沿袭踪迹。在另一实施例中,提供一种系统,该系统可以利用数据沿袭追踪信息来支持链接到数据元素的“关联信息”或“关联对象”的可见性,以及将关联信息(即,关联对象)传播到相关的源数据元素和目标数据元素以供显示和访问。该系统还可以支持通过数据沿袭内的变换到外部数据源的路径将关联信息(即,关联对象)导出到外部系统。根据实施例,“关联对象”可以是与存储在数据仓库内的数据元素相关联的任何关联信息(即,除了关联对象相关联的数据元素或者数据仓库中的已经通过数据沿袭关联的任何其他数据元素之外的任何信息)。一种类型的关联对象是操作对象。一个或多个关联对象也可以被识别为“关联信息”。关联对象的例子是“差异性”。“差异性”是数据元素的一个或多个特性偏离预期特性的指示。这样的偏差可以是基于一个或多个数据驱动规则由人检测到的或者机器检测到的。此外,差异性可以由系统的用户手动创建,或者可以由系统自动创建,例如,作为数据验证的结果创建。差异性的例子是错误报告。关联对象的其他例子可以包括,但不限于,“评论”、“状况标志”、“状态指示符”、“标签”、“图像”、“记录”、“文件”、“链接”和“文档”。“评论”是用户输入的与数据元素相关的文本集合。“状况标志”是数据元素的状况的指示。“状态指示符”是数据元素的状态的指示。“标签”是与数据元素有关的词语或短语。“图像”是与数据元素有关的图像。“记录”是与数据元素有关的任何音频或视频的记录。“文件”是与数据元素有关的计算机文件。“链接”是与数据元素有关的超文本标记语言(“HTML”)链接。“文档”是与数据元素有关的外部文档。关联对象可以链接到数据元素或整个数据记录。根据实施例,所述系统可以存储关联对象与和该关联对象相关联的数据元素或数据记录之间的链接。其中关联对象一开始就被创建或者最初就关联(如同关联对象可以是预先存在的关联对象)的数据元素或数据记录可以被标记为主要链接。所述系统所产生的提供关联对象在数据沿袭内的可见性的链接可以被标记为次要链接,所述数据沿袭既包括数据元素或数据记录的上游,又包括数据元素或数据记录的下游。因此,根据实施例,诸如差异性的关联对象可以在数据沿袭内的数据元素或数据记录的上游和数据元素或数据记录的下游都是可见的。为了提供该可见性,所述系统可以:(a)存储关联对象与数据元素(或数据记录)之间的主要链接;(b)追踪数据元素(或数据记录)的源和目标沿袭;(c)将关联对象与每个数据元素之间的一个或多个次要链接存储在来自主要数据元素的源和目标踪迹中;以及(d)将主要链接信息和次要链接信息都提供给用户界面以供显示关联对象可见性。此外,与遍历数据沿袭来检测关联对象的存在完全不同,所述系统所产生的链接可以用于获得从上游或下游数据元素对于关联对象的直接访问。图1例示了可以实现本发明的一个实施例的系统10的框图。系统10包括用于在系统10的组件之间传送信息的总线12或其他通信机制。系统10还包括操作地耦合到总线12的、用于处理信息并且执行指令或操作的处理器22。处理器22可以是任何类型的通用或专用处理器。系统10还包括用于存储信息和将被处理器22执行的指令的存储器14。存储器14可以包括随机存取存储器(“RAM”)、只读存储器(“ROM”)、静态储存器(诸如磁盘或光盘)、或者任何其他类型的机器或计算机可读介质的任何组合。系统10还包括提供对于网络的访问的通信装置20,诸如网络接口卡或其他通信接口。结果,用户可以直接地或者通过网络或任何其他方法远程地与系统10接口连接。计算机可读介质可以是可以被处理器22访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质、可移动和不可移动介质、通信介质和存储介质。通信介质可以包括计算机可读指令、数据结构、程序模块、或者调制数据信号(诸如载波或其他传输机制)中的其他数据,并且可以包括本领域中已知的任何其他形式的信息递送介质。存储介质可以包括RAM、闪存、ROM、可擦式可编程只读存储器(“EPROM”)、电可擦式可编程只读存储器(“EEPROM”)、寄存器、硬盘、可移动盘、紧凑盘只读存储器(“CD-ROM”)、或者本领域中已知的任何其他形式的存储介质。处理器22还可以经由总线12操作地耦合到显示器24,诸如液晶显示器(“LCD”)。显示器24可以向用户显示信息。键盘26和光标控制装置28(诸如计算机鼠标)也可以操作地耦合到总线12以使得用户能够与系统10接口连接。根据一个实施例,存储器14可以存储当被处理器22执行时可以提供功能的软件模块。这些模块可以包括操作系统15、数据沿袭模块16、以及其他功能模块18。操作系统15可以为系统10提供操作系统功能。数据沿袭模块16可以提供如下面将更详细地描述的用于追踪数据沿袭的功能。在某些实施例中,数据沿袭模块16可以包括多个模块,其中,每个模块提供用于追踪数据沿袭的特定的单个的功能。系统10还可以是更大型系统的一部分。因此,系统10可以包括一个或多个额外的功能模块18来包括额外的功能。例如,功能模块18可以包括提供额外的功能的模块,诸如来自OracleCorporation的“OracleLifeSciencesDataHub”产品的模块。在一个实施例中,功能模块18可以包括如下面将更详细地描述的可以提供用于传播关联信息的可见性的功能的关联信息传播模块。处理器22还可以经由总线12操作地耦合到数据库34。数据库34可以将数据存储在逻辑相关的数据记录、系统记录或数据文件的整合集合中。数据库34可以是操作数据库、分析数据库、数据仓库、分布式数据库、终端用户数据库、外部数据库、导航数据库、内存数据库、面向文档的数据库、实时数据库、关系数据库、面向对象的数据库、数据管理工作台、或者本领域中已知的任何其他数据库。图2例示了根据本发明的实施例的用于系统的逻辑数据模型的框图。逻辑数据模型可以包括数据沿袭传播模块200。如下面将更详细地描述的,数据沿袭传播模块200是可以提供用于追踪数据沿袭的功能、以及用于传播关联信息的可见性的功能的模块。在某些实施例中,数据沿袭传播模块200可以包括单独的提供用于追踪数据沿袭的功能的数据沿袭模块、以及单独的提供用于传播关联信息的可见性的功能的关联信息传播模块。根据实施例,数据沿袭传播模块200可以生成记录映射数据205、列映射数据210、以及关联对象映射数据215。如前所述,记录映射数据205包括存储在变换的目标表中的数据记录中的源代理键(即,源数据记录的身份)。还如前所述,列映射数据210包括变换的源表和列、变换的目标表和列、变换类型、以及变换所需的任何额外的信息。此外,列映射数据210可以从变换定义推导。最后,还如前所述,关联对象映射数据215包括关联对象与和该关联对象相关联的数据元素或数据记录之间的链接(被识别为主要链接)。关联对象映射数据215还包括数据沿袭传播模块200所产生的提供关联对象在上游和下游数据模型中的可见性的链接(被识别为次要链接)。这样的可见性可以包括关联对象的高效率的访问,尤其是用于在数据显示中在视觉上识别与关联对象相关联的数据元素或数据记录。数据沿袭传播模块200还可以包括公共应用程序编程接口(“API”)220。公共API220是可以被提供以使得系统的用户可以将列映射数据输入到数据沿袭传播模块200中的API。这可以允许用户使用自定义计算机程序存储关于数据的映射,诸如自定义过程式语言/结构查询语言(“PL/SQL”)程序或者自定义统计分析系统(“SAS”)程序。根据实施例,逻辑数据模型还可以包括变换模块225、验证模块230和查询构建器235。变换模块225可以识别唯一的映射数据源,并且将源代理键添加到一个或多个目标数据表的定义。此外,基于一个或多个变换定义,变换模块225可以存储关于一个或多个变换的列映射数据210。变换模块225可以进一步允许用户提供关于被识别到变换模块235的自定义变换的自定义列映射数据。变换模块225可以实现验证模块230和查询构建器235,其中,验证模块230可以读取一个或多个数据记录,测试一个或多个数据记录的数据值,并且创建关于数据值的一个或多个差异性,并且其中,查询构建器235可以在保持与变换相同的元数据源列到目标列映射的同时构建来自一个或多个数据表的数据的查询或数据库视图。在某些实施例中,变换映射数据还可以包括“优选源路径”。当变换的目标列具有多个最接近的源列时,一个列可以被识别为优选源列。该信息可以作为列映射数据210的一部分被追踪。因此,“优选源路径”是通过优选源列的变换的路径。换句话说,优选源路径是从多个可能的源路径识别为优于其他可能的源路径的单个源路径。可以这样做来提供到单个源数据元素的、用于附加可以发送到提供该元数据的源系统的查询或其他关联对象的唯一路径。在执行变换(在图2中被示为变换执行处理240)期间,记录映射数据205可以存储在一个或多个源代理键中,其中,所述一个或多个代理键可以存储在变换的一个或多个目标表(在图2中被示为数据表245)的一个或多个辅助列中。根据实施例,如下面更详细地描述的,记录映射数据205和列映射数据215的组合以及其他数据沿袭追踪信息可以用于显示源或目标数据元素的数据沿袭的踪迹(在图2中被示为沿袭踪迹250)。根据实施例,逻辑数据模型还可以包括关联对象模块255和适配器260。关联对象模块255可以将关于每个关联对象的数据输入在关联对象映射数据215内。来自关联对象映射数据215的数据可以用于在视觉上加亮具有与其相关联的关联对象(在图2中被示为高亮的关联对象250)的一个或多个数据元素的显示。根据某些实施例,关联对象模块255可以对于与关联对象相关联的每个数据元素请求优选源路径。此外,一个或多个关联对象可以在所述系统内使用适配器260创建。适配器260可以使用关联对象模块255来在所述系统内创建一个或多个关联对象,然后关联对象模块255可以使用数据沿袭传播模块200来传播关联对象在源或目标数据元素的数据沿袭的踪迹内的可见性。在某些实施例中,逻辑数据模块还可以包括附加模块(图2中未示出),该附加模块显示来自一个或多个数据表的一个或多个数据元素,并且加亮与所述一个或多个数据元素相关联的一个或多个关联对象的存在。图3例示了根据本发明的实施例的示例数据沿袭的框图。根据实施例,系统可以产生存储在数据仓库内的数据的数据沿袭的踪迹。在该数据沿袭踪迹内,所述系统的用户可以选择目标表中的数据元素,并且请求通过一个或多个变换步骤向上游到达从其推导出所选数据元素的一个或多个源数据元素的踪迹。此外,用户可以选择源表中的数据元素,并且请求通过一个或多个变换步骤向下游到达从所选数据元素推导出的一个或多个目标数据元素的踪迹。关于变换,根据实施例,可以存在不同类型的变换。这样的变换类型可以包括:(a)直接映射变换(可能包括滤波和/或推导);(b)合并变换;(c)结合变换(可能包括单个和/或重复数据);(d)水平到垂直非枢轴变换;以及(e)垂直到水平枢轴变换。下面更详细地描述不同变换类型。在某些实施例中,数据沿袭踪迹可以被产生为包括通过一个或多个分段表的数据沿袭,所述分段表被创建为存储多步变换的数据。根据实施例,分段表是数据仓库的可以根据一个或多个变换的需要利用的表,并且可以服务于充当用于多步变换情况的中间存储结构的目的。直接映射变换是源表中的一个或多个列的源数据记录在目标表的目标数据记录中被重新命名和/或重新排序的变换。在某些实施例中,源表中的一个或多个列的源数据记录在直接映射变换内可以不变地传播。合并变换是这样的变换,即,来自两个或更多个源表的一个或多个源数据记录组合为单个目标表的两个或更多个目标数据记录,以使得目标表包括来自所述两个或更多个源表的所述一个或多个源数据记录中的一些或全部。结合变换是这样的变换,即,来自两个或更多个源表的一个或多个源数据记录组合为单个目标表的单个目标数据记录,以使得目标表的目标数据记录包括来自所述两个或更多个源表的所有列的一个或多个源数据记录。此外,水平到垂直非枢轴变换是来自源表的一个或多个源数据记录转换为目标表的一个或多个目标数据记录的变换,其中,一个或多个列的每个源数据记录的每个集合变换为目标表的单独的目标数据记录。例如,如果源表具有包括列A、B、C的单个源数据记录,则非枢轴变换将源数据记录变换为三个目标数据记录:包括列A的第一目标数据记录;包括列B的第二目标数据记录;以及包括列C的第三目标数据记录。垂直到水平枢轴变换是来自源表的一个或多个源数据记录变换为目标表的目标数据记录的变换,其中,所述一个或多个源数据记录组合为单个目标数据记录。例如,如果源表包括三个源数据记录,数据记录1、数据记录2和数据记录3,则枢轴变换将这三个源数据记录变换为包括数据记录1、2和3的列中的一个或多个列的单个目标数据记录。情况变换是目标数据记录的数据值基于条件由可以来自不同源表的一个或多个源列填充的变换。根据实施例,可以使数据沿袭追踪信息可供用于在所述系统的用户界面内显示。现在根据示例实施例更详细地描述可以提供给用户界面的信息。对于所选数据元素的源沿袭,可以提供生成所选数据元素的数据元素的层次结构。这是遍历所有的关联信息回到数据仓库中的原始源数据的数据元素路径。该路径可以包括通过所述数据的几个路径分支。类似地,对于所选数据元素的目标沿袭,可以提供从该所选数据元素推导出的数据元素的层次结构。根据实施例,可以对于路径中的每个数据元素提供下列属性中的一个或多个:(a)该数据元素在层次结构内的放置(例如,该数据元素的身份以及层次结构内的其父数据元素的身份);(b)数据模型名称;(c)表名称;(d)列名称;(e)该数据元素的数据类型;(f)数据元素值;(g)优选源路线(是或否);(h)主键;(i)该数据是否是(或者是否可能是)掩蔽数据的指示符;(j)该数据是否是来自内部分段表的指示符;(k)一个或多个关联对象(诸如差异性)主要链接到该数据元素的指示符;或者(l)底层数据(例如,表对象身份、列对象身份、代理键值、以及任何其他的相关数据)。“数据模型”是与数据仓库的一个或多个数据表相关联的数据模式。图3例示了根据本发明的实施例的与一系列医学研究相关的患者数据的数据沿袭。然而,在其他实施例中,数据可以是任何类型的生命科学或医学数据。此外,在其他实施例中,数据可以是任何类型的数据。根据图3的例示实施例,数据仓库可以包括四种数据模型:源数据模型310、所有站点数据模型320、审阅数据模型330以及分析数据模型340。源数据模型310包括三个表:人口统计表311、站点A到访表312、以及站点B到访表313。人口统计表311包括关于研究中的所有受试者的人口统计数据,其中,该人口统计数据包括每个受试者的高度和高度单位。站点A到访表312对于在研究站点A处每个受试者每一次到访包括一个数据记录(即,到访数据),其中,到访数据包括受试者的重量和重量单位。站点B到访表313对于在研究站点B处每个受试者每一次到访包括一个数据记录(即,到访数据),其中,到访数据包括受试者的重量和重量单位。所有站点数据模型320包括一个表:到访表321。到访表321是站点A到访表312和站点B到访表313的合并,该合并通过站点A到访表312内所包括的到访数据和站点B到访表313内所包括的到访数据的合并变换而创建。审阅数据模型330包括一个表:里程碑到访表331。里程碑到访表331是对于每个患者的重要的到访的子集,该子集是使用源过滤变换从包括在到访表321内的到访数据推导的(例如,对于每个受试者,第1、4、7和10次到访)。分析数据模型340包括一个表:BMI表341。BMI表341是人口统计表311和里程碑到访表331的结合,该结合通过包括在人口统计表311内的人口统计数据和包括在里程碑到访表331内的到访数据的结合变换而创建,其中,体重指数(“BMI”)值是使用受试者的重量、重量单位、高度和高度单位的推导。图4例示了根据本发明的实施例的显示数据沿袭400的示例用户界面。根据示例实施例,图3的BMI表341可以包括下列数据:研究受试者到访站点性别年龄年龄单位BMIBMIUBMI10014MGH女34岁22.7KG/M**2BMI10024MGH女24岁24.5KG/M**2BMI10034MGH男42岁21.9KG/M**2BMI10044MGH男28岁26.3KG/M**2BMI10054MGH女34岁24.6KG/M**2BMI10064MGH女29岁28.8KG/M**2BMI10074McLean女42岁33.3KG/M**2BMI10084McLean女35岁22.5KG/M**2BMI10094McLean男34岁33.6KG/M**2BMI10104McLean女54岁30.6KG/M**2根据实施例,系统可以在该系统的用户界面内显示以上数据。系统的用户可能想要调查关于BMI值为33.3的受试者1007、女、年龄42的源数据。用户可以选择用户界面内的关于受试者1007的数据值33.3,并且指示该用户希望审阅该数据值的源数据沿袭。作为响应,该系统可以在用户界面内显示图4的数据沿袭400,其会更详细地进一步描述。根据所例示的实施例,数据沿袭400包括多行(即,行401、402、403、404、405、406、407、408和409),其中,每行包括关于源数据元素之一的信息。这些行使路径遍历图3中所示的变换集合。因此,最近祖先数据元素在数据沿袭400内在低于所选数据元素的层次级别处,并且它们的祖先以类似的方式跟随。因此,层次结构路径从最靠近所选数据元素的数据元素向上游遍历到原始源数据元素。因此,在图4的例示实施例中,行401表示所选数据元素(即,关于受试者1007的数据值33.3)。行402、403、404和407表示行401所表示的数据元素的最近祖先数据元素。因此,行401所表示的所选数据元素的最近祖先表是图3的人口统计表311和里程碑到访表331。行405表示行404所表示的数据元素的最近祖先数据元素。行406表示行405所表示的数据元素的最近祖先数据元素。行408表示行407所表示的数据元素的最近祖先数据元素。行409表示行408所表示的数据元素的最近祖先数据元素。因此,行404所表示的数据元素和行407所表示的数据元素的最近祖先表是到访表321。此外,行405所表示的数据元素和行408所表示的数据元素的最近祖先表是站点B到访表313。虽然数据沿袭400是源数据沿袭的例子,但是在替代实施例中,目标数据沿袭可以显示在用户界面内,其中,可以显示所选数据元素的一个或多个后代数据元素,其中,目标数据沿袭包括多行,并且其中,每行包括关于目标数据元素之一的信息。数据沿袭400还包括多列(即,列410、420、430、440和450)。列410表示数据元素的数据模型名称、表名称和列名称。列420表示数据元素的数据值。列430表示数据元素的数据类型和大小。列440表示数据元素是否是优选源路径的一部分的指示(即,“是”或“否”)。列450表示数据元素的主键值。因此,数据沿袭400可以是显示数据元素的层次结构的树表,其中,列标题是静态的,并且用户可以使用树表组件打开或关闭该层次结构的部分。此外,在一个实施例中,链接到关联对象的数据元素(在图4中被示为数据元素460)可以用背景色加亮。加亮的背景色可以表示数据元素与关联对象之间的主要链接。在主要链接的情况下,用户可以选择加亮的数据元素,并且请求显示链接到该数据元素的关联对象的细节。在一个实施例中,如果数据沿袭400包括通过内部分段表的路径,则相应的数据值可以用诸如星号(图4中未示出)的符号标记。此外,脚注可以显示在数据沿袭400的下面,说明该符号的意义。另外,在一个实施例中,如果数据元素是来自对于其应用了安全措施的表或列,并且掩蔽数据代替实际数据被显示,则该数据元素可以用诸如符号“§”(图4中示出为符号470)的符号标记。此外,脚注可以显示在数据沿袭400的下面,说明该符号的意义。另外,在一个实施例中,完整的数据沿袭踪迹可能不能完成,要么是因为由于对该踪迹的路径(向上游或向下游)中的数据应用的安全措施,用户不可以访问该数据中的一些,要么是因为数据记录已经从表删除,并且删除尚未传播到下游表。在任何一种情况下,根据实施例,用户界面可以显示指示数据踪迹已经终止的消息(图4中未示出)。因此,在一个实施例中,系统的用户可以通过数据浏览器导航到数据清单页面,并且选择显示在用户界面内的数据网格上的数据元素。“数据网格”是呈现数据表的行和列的显示、或者数据的视图。在选择数据元素时,用户可以指示该用户期望查看从其推导出所选数据元素的源数据。作为响应,所述系统可以获得源数据元素的集合,并且显示源数据元素值的集合,连同关于用于每个源数据元素的数据模型、表和列的相应信息。该集合可以被组织,并且可以包括使得该集合可以在用户界面中显示为构成所选数据元素的源数据的路径树的信息。还可以包括使得可以显示优选源路径的信息。在另一实施例中,用户可以通过数据浏览器导航到数据清单页面,并且选择显示在用户界面内的数据网格上的数据元素。在选择数据元素时,用户可以指示该用户期望查看从所选数据元素推导的目标数据。作为响应,所述系统可以获得目标数据元素的集合,并且显示目标数据元素值的集合,连同关于用于每个目标数据元素的数据模型、表和列的相应信息。该集合可以被组织,并且可以包括使得该集合可以在用户界面中显示为构成所选数据元素的目标数据的路径树的信息。此外,关于关联对象,在一个实施例中,在数据仓库内创建的或者以其他方式与数据仓库的数据元素相关联的关联对象可以在上游或下游数据模型中查看,就好像这些对象已经传播到不同关联模型一样。所述系统可以自动地将在一个数据模型中创建的关联对象与其在其他数据模型中的相应的源数据元素和目标数据元素关联。源数据模型和目标数据模型中的关联对象和数据元素之间的关联可以显示在所述系统的用户界面内,其中,关联对象的存在可以与关联数据元素以及关联对象类别一起显示。此外,当多个源数据元素用于推导目标数据元素时,源数据元素之一可以在变换定义期间被选为优选源数据元素。优选源数据元素可以形成通过源数据向上游的数据沿袭路径。最上游源数据元素可以用于将关联对象导出到外部系统。此外,当与关联对象相关联的数据被更新时,可以将该关联对象的一个或多个标志设置为指示该数据已经被更新。如前所述,可以使数据元素与关联对象之间的链接可供用于显示在显示数据沿袭400的用户界面内。现在更详细地进一步描述所述系统提供给用户界面用于识别数据元素或数据记录的信息,所述数据元素或数据记录具有与这些数据元素或数据记录相关联的关联对象。所述系统可以将信息提供给用户界面,以使得具有与其相关联的关联对象的每个数据元素在显示中被加亮。这可以包括其中关联对象最初就被创建的或者以其他方式关联的、表中的数据元素(即,主要链接)。在一个实施例中,所述系统可以提供:(a)关联对象身份(其可以用于访问关联对象及其性质);(b)数据元素引用(诸如表对象身份、列对象身份、以及代理键);(c)与数据元素相关联的关联对象是主要链接还是次要链接的指示;(d)该链接是在主要数据元素的源路径中、还是目标路径中的指示(对于次要链接);以及(e)关联对象的状态。根据实施例,如图4中数据元素460所示出的,所述系统可以用背景色加亮数据元素,以指示数据元素链接到关联对象。所述系统可以使用第一背景色加亮数据元素以指示主要链接。可替代地,所述系统可以使用第二背景色加亮数据元素以指示次要链接。如前所述,用户能够请求其中链接了关联对象的数据元素的源或目标沿袭。当用户触及包括到关联对象的主要链接的数据元素时,用户可以查看该关联对象,包括该关联对象的一个或多个特性。用户还可以将关联对象导出到外部源。在替代实施例中,不是用颜色加亮数据元素以指示该数据元素与关联对象相关联,所述系统而是可以使用替代指示。替代指示的一些例子包括,但不限于,图标、着色的边界、或者音频指示。因此,在一个实施例中,系统的用户可以导航到数据清单,选择显示在用户界面内的数据网格上的数据元素,创建关联对象,并且将该关联对象与所选数据元素相关联。所述系统然后可以将该关联对象与和所选数据元素相关的数据元素相关联。所述系统可以将新创建的关联对象链接到所选数据元素,并且将该链接指定为主要链接。所述系统可以进一步递归地通过使用与数据仓库内的现有变换相关联的列映射数据和记录映射数据来找到关于所选数据元素的所有的源数据元素和目标数据元素。所述系统随后可以将同一关联对象链接到相关的源数据元素和目标数据元素,并且将这些链接指定为次要链接。因此,在每个相关的源或目标数据模型中,具有到关联对象的次要链接的数据元素可以在所述系统的用户界面内被加亮。在另一实施例中,所述系统的用户可以导航到数据清单,其中,所述系统可以提供关联对象与主要源数据之间的主要链接和次要链接。所述系统可以进一步从关联对象获得性质,诸如每个关联对象的状态,以对显示进行过滤。在又一实施例中,用户可以删除包括到一个或多个关联对象的链接的数据元素。所述系统可以移除到与删除数据相关联的关联对象的主要链接和/或次要链接。当关于主要链接的数据被删除时,所述系统可以移除到与数据元素相关联的关联对象的主要链接和次要链接,并且所述系统可以删除该关联对象。当关于次要链接的数据被删除时,所述系统可以移除该次要链接,并且确定进一步的链接是否应被移除(并且必要时移除任何进一步的链接)。在另一实施例中,所述系统可以允许用户创建可以访问列映射数据以及链接的关联对象的查询以支持关联对象的可见性。在对于数据沿袭传播模块(诸如图2的数据沿袭传播模块200)的控制流程中,根据一个实施例,可以在数据仓库内定义一个或多个数据模型。创建或加载关于每个数据模型的元数据。使用变换模块(诸如图2的变换模块225)对于一个或多个目标表定义一个或多个变换。按照特定变换的要求将一个或多个辅助列添加到每个目标表。下面更详细地进一步描述这些辅助列。随后,用关于列映射的数据沿袭追踪信息(即,元数据信息)填充数据沿袭映射表,所述数据沿袭追踪信息不同于存储在数据仓库的一个或多个数据表内的数据,并且其中,下面更详细地进一步描述数据沿袭映射表。辅助列身份是列映射元数据的一部分,以使得映射的目标列可以与容纳关于映射的源列的源表记录的身份的辅助列链接。为一个或多个数据模型安装一个或多个表。为一个或多个源表加载数据。执行变换,这些变换填充一个或多个目标表。在所述一个或多个目标表被加载数据之后,用数据沿袭追踪信息(即,记录映射信息)填充或更新影子表,所述数据沿袭追踪信息也不同于存储在数据仓库的一个或多个数据表内的数据,其中,下面更详细地进一步描述影子表。最后,在数据中传播关于关联对象的一个或多个次要链接。次要链接可以用于在不遍历数据沿袭映射表和影子表的数据沿袭追踪信息的情况下获得上游或下游数据元素与关联对象的关联,以便检测关联对象的存在。因此,根据实施例,数据沿袭传播模块(诸如图2的数据沿袭传播模块)可以维护一个或多个关联,并且可以在两种类型的对象之间追踪:(a)表中的数据记录的数据元素;以及(b)表中的完整数据记录。关于(a),下列内容可以用于唯一地识别数据元素,并且当获得数据元素需要时,还可以用于追踪安装的对象的名称:(1)识别数据仓库的数据模型的模型对象身份;(2)识别数据仓库的表的表实例对象身份;(3)识别代理键的代理键值;以及(4)识别表的列的列对象身份。关于(b),一些关联对象可以链接到数据记录,而不是数据记录内的特定数据元素。在这种情况下,因为数据记录内不存在特定列,所以使用用于代理键的列对象身份,而不是识别表的列的列对象身份。因此,下列内容可以用于唯一地识别数据记录:(1)识别数据仓库的数据模型的模型对象身份;(2)识别数据仓库的表的表实例对象身份;(3)识别代理键的代理键值;以及(4)用于代理键的列对象身份。在替代实施例中,唯一地识别数据仓库的表的唯一表标识符(在数据仓库的所有数据模型上)可以用于唯一地识别数据记录。此外,根据实施例,数据沿袭传播模块维护并且传播与关联对象的关联。数据沿袭传播模块进一步提供两种类型的关系映射:(a)特定数据元素到一个或多个源数据元素或目标数据元素的映射(即,数据沿袭可追踪性);以及(b)关联对象与数据元素或数据记录之间的映射(即,关联对象可见性)。根据实施例,为了提供数据沿袭可追踪性,在一个或多个表用数据仓库定义之后,数据沿袭传播模块用数据沿袭追踪信息填充数据沿袭映射表。下面更详细地进一步描述数据沿袭映射表。当在数据仓库内执行一个或多个变换时,填充一个或多个辅助列,并且用追踪一个或多个数据元素的数据沿袭的数据沿袭追踪信息加载影子表。下面更详细地进一步描述辅助列和影子表。因为关联对象是随数据元素创建的和/或与数据元素相关联,所以数据沿袭传播模块可以给与源数据元素和目标数据元素相关联的关联对象编索引,以供其他处理高效率地可视化。因此,可以在不遍历数据沿袭映射表和影子表的数据沿袭追踪信息的情况下直接获得上游或下游数据元素与关联对象的关联。在数据模型和变换定义阶段期间,可以识别变换的目标表,并且可以将一个或多个辅助列作为一个或多个元数据定义添加到所识别的表。辅助列的数量可以依变换类型而定。一个或多个辅助列的主要用途是存储来自变换的源表的源代理键值。如前所述,代理键是数据记录的身份,其中,源代理键是源数据记录的身份。一个或多个辅助列可以用一个或多个源代理键值或者适合于变换的其他数据值填充。数据沿袭传播模块可以使用存储在辅助列内的代理键值(或者其他适合的数据值)来经由对目标数据有贡献的源数据元素的路径追踪回去。如前所述,可以根据特定变换的要求将一个或多个辅助列添加到一个或多个目标表。可以为不同类型的变换添加的辅助列的例子如下:根据实施例,追踪数据元素的数据沿袭依一个或多个代理键而定。每个表可以包括代理键列,该代理键列可以用作用于该表的有索引的唯一键。为了从变换的目标表追踪回源表,将来自源表的代理键存储在目标表中。在简单变换的例子中,为了追踪目标表中的所选数据元素的源数据元素,在数据沿袭映射表(下面更详细地描述)中查找目标表,以便获得源表、源列以及其中存储源代理键的辅助列。使用辅助列,获得源代理键的值,并且将该值存储在包含所选数据元素的目标表记录中。源表、源列和源代理键值用于找到所选目标数据元素的源数据值。下面更详细地描述追踪更复杂变换的数据沿袭追踪。为了追踪所选源数据元素的目标数据元素,维护单独的数据沿袭追踪信息表,该表被识别为影子表(下面更详细地描述)。影子表包括源数据记录到目标数据记录的一个或多个映射。更具体地讲,影子表可以包括去规范化的使用特定源键的源记录-目标记录映射、连同识别列与源键之间的元数据关系的上下文映射。因此,根据实施例,在变换执行结束时,影子表可以包括提供有索引的映射数据版本的一个或多个系统记录,这些系统记录使得可以使用数据沿袭映射表从源数据元素追踪目标数据元素。图5例示了根据本发明的实施例的用于系统的物理模型的框图。图5例示了代表性的用于系统的物理模型。在某些实施例中,系统可以不包括图5中所示的物理模型的所有组件。在其他实施例中,系统可以包括图5中未示出的额外的组件。数据沿袭传播模块(诸如图2的数据沿袭传播模块)可以包括包括一个或多个组件的物理模型,其中,每个组件包括一个或多个表。在图5的例示实施例中,物理模型包括数据沿袭映射组件510,其包括用于从目标数据元素追踪源数据元素的数据沿袭追踪信息(即,元数据信息)。数据沿袭映射组件510包括数据沿袭映射表,下面关于图6更详细地进一步描述数据沿袭映射表。此外,物理模型包括影子表组件520,其包括用于从源数据元素追踪目标数据元素的有索引的数据沿袭追踪信息。影子表组件520包括影子表,下面关于图7更详细地进一步描述影子表。另外,物理模型包括变换组件530,其包括用于一个或多个变换的数据。此外,物理模型包括关联对象映射组件540,其包括关于关联对象与数据元素或数据记录之间的链接的数据。关联对象映射组件540包括关联对象映射表,下面关于图9更详细地进一步描述关联对象映射表。另外,物理模型包括表定义组件550,其包括关于一个或多个源表和一个或多个目标表的应用表定义。在一个实施例中,表定义组件550可以包括数据模型层次上的一个或多个应用表定义(例如,图5中的表“CDR_MODEL”)、表层次上的一个或多个应用表定义(例如,图5中的表“CDR_TABLE”、“CDR_TABLE_CONS”和“CDR_TABLES_CONS_COLS”)、以及列层次上的一个或多个应用表定义(例如,图5中的表“CDR_COLUMN”和“CDR_TABLES_CONS_COLS”)。此外,物理模型包括关联对象组件560,其包括关于一个或多个关联对象的表定义。在一个实施例中,关联对象组件560可以包括关于一个或多个差异性的一个或多个表定义(例如,图5中的表“DME_DISCREPANCY”)、以及关于一个或多个标志的一个或多个表定义(例如,图5中的表“DME_FLAG”)。另外,物理模型包括研究组件570,其是对物理模型中的所有其他的对象进行分组的父对象。数据沿袭映射组件510、影子表组件520和变换组件530、连同表定义组件550共同提供数据沿袭子系统,下面关于图8更详细地进一步讨论数据沿袭子系统。此外,关联对象映射组件540、连同表定义组件550和关联对象组件560提供关联信息子系统,下面关于图10更详细地进一步描述关联信息子系统。图6例示了根据本发明的实施例的数据沿袭映射表600的框图。数据沿袭映射表600包括用于从目标数据元素追踪源数据元素的信息。用于从目标数据元素追踪源数据元素的信息是数据沿袭追踪信息(即,元数据信息),其不同于存储在数据仓库的一个或多个数据表内的数据。数据沿袭映射表600可以在数据模型发布阶段期间填充,并且数据沿袭映射表600包括用于针对每个数据变换在源数据元素与目标数据元素之间追踪的信息。数据沿袭映射表600通过对象身份引用变换列层次映射对象、目标表和列、源表和列、容纳源代理键的辅助列、以及特定变换所需的任何额外的信息。根据实施例,存储在数据沿袭映射表600内的信息构成用于追踪数据沿袭的数据沿袭追踪信息的第一主要部分。用于追踪数据沿袭的数据沿袭追踪信息的第二主要部分是添加到变换的目标表的表定义以追踪回到源数据记录的一个或多个辅助列。辅助列可以包含来自对目标表中的数据记录有贡献的每个源表的代理键。当必要时,辅助列可以容纳源表的表身份和/或识别用于特定变换的“过滤”值。数据沿袭映射表600和一个或多个辅助列包括被数据沿袭传播模块(诸如图2的数据沿袭传播模块200)用于从目标数据元素追踪回到源数据元素的数据。用于追踪数据沿袭的数据沿袭追踪信息的第三主要部分是影子表,关于图7更详细地进一步描述影子表。在图6的例示实施例中,数据沿袭映射表600(其包括列映射数据)包括与变换表层次映射身份相对应(即,识别变换)的“TMAP_ID”列。数据沿袭映射表600还包括定义源列如何与目标列相关(即,识别变换类型)的“TMAP_TYPE_RC”列。数据沿袭映射表600还包括与源数据模型身份相对应的“SRC_DM_OBJ_ID”列、与源表身份相对应的“SRC_TAB_OBJ_ID”列、以及与源列身份相对应的“SRC_COL_OBJ_ID”列。数据沿袭映射表600还包括与目标数据模型身份相对应的“TRG_DM_OBJ_ID”列、与目标表身份相对应的“TRG_TAB_OBJ_ID”列、以及与目标列身份相对应的“TRG_COL_OBJ_ID”列。数据沿袭映射表600还包括与目标表中的辅助列的对象身份相对应的“SRC_SKEY_COL_OBJ_ID”列,其存储用于源表身份所识别的源表的源表数据记录代理键,所述源表身份存储在关于数据记录的“SRC_TAB_OBJ_ID”列内。根据例示的实施例,数据沿袭映射表600还包括“FILTER_COL_OBJ_ID”列和“FILTER_VALUE”列,“FILTER_COL_OBJ_ID”列可选地为某些变换类型提供关于源表或目标表中的过滤列身份的信息,“FILTER_VALUE”列可选地为某些变换类型提供关于表过滤列中的过滤值的信息。图7例示了根据本发明的实施例的影子表700的框图。影子表700是优化的中央索引,其可以提供当从源数据元素追踪到目标数据元素时数据沿袭追踪信息的高效率查找。影子表700可以使得数据沿袭处理可以直接在单个表中分辨源记录-目标记录关系,而不必对于数据仓库内的每个数据表创建单独的查询。这样的数据沿袭处理的效率可以提高几个数量级。此外,影子表700可以从数据仓库的一个或多个数据表提取源记录-目标记录关系,并且可以充当用于在不查询数据表本身的情况下遍历所述一个或多个数据表的沿袭的索引。在图7的例示实施例中,影子表700包括与目标表实例身份相对应的“TRG_TAB_OBJ_ID”列。影子表700还包括与源表实例身份相对应的“SRC_TAB_OBJ_ID”列。影子表700还包括与目标表中的辅助列的对象身份相对应的“SRC_SKEY_COL_OBJ_ID”列,其存储源表数据记录代理键。影子表700还包括与目标表数据记录的代理键值相对应的“TRG_SKEY_VALUE”、以及与源表数据记录的代理键值相对应的“SRC_SKEY_VALUE”,所述源表数据记录的代理键值也是前述目标表数据记录的辅助列的值。根据例示的实施例,影子表700还包括“FILTER_VALUE”列,其可选地为某些变换类型提供关于表过滤列中的过滤值的信息。图8例示了根据本发明的实施例的数据沿袭子系统的物理模型的框图。在图8的例示实施例中,物理模型包括图6的数据沿袭映射表600和图7的影子表700。物理模型还包括变换类型表800,其包括表示一种或多种变换类型的数据。另外,物理模型包括表定义组件810,其包括关于一个或多个源表和一个或多个目标表的表定义,其中,源表和目标表是数据表的例子。在例示的实施例中,表定义组件810可以包括数据模型层次上的一个或多个表定义(例如,图8中的“CDR_MODEL”表)、表层次上的一个或多个表定义(例如,图8中的“CDR_TABLE”、“CDR_TABLE_CONS”和“CDR_TABLES_CONS_COLS”表)、以及列层次上的一个或多个表定义(例如,图8中的“CDR_COLUMN”和“CDR_TABLES_CONS_COLS”表)。根据实施例,当在数据仓库内产生数据或者数据加载到数据仓库中时,以及当对于数据仓库定义了一个或多个变换时,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以在数据沿袭子系统的物理模型内产生数据沿袭追踪信息。更具体地讲,对于所述一个或多个变换的每个变换,数据沿袭传播模块可以将每个目标到源映射存储在数据沿袭映射表600内。数据沿袭传播模块可以进一步将一个或多个目标表的一个或多个目标数据值映射到一个或多个源表的一个或多个源数据值。数据沿袭传播模块可以进一步通过修改表定义组件810的一个或多个表定义来将一个或多个辅助列添加到一个或多个目标表,其中,每个辅助列可以存储识别源表的源代理键值。此外,对于所述一个或多个变换的每个变换,数据沿袭传播模块可以将每个源到目标映射存储在影子表700内。数据沿袭传播模块可以进一步将一个或多个源表的一个或多个源数据值映射到一个或多个目标表的一个或多个目标数据值。关于存储在数据沿袭映射表600内的一个或多个目标到源映射,数据沿袭传播模块可以将下列关于每个目标列数据值的信息存储在数据沿袭映射表600中:(a)源表实例对象身份和源列对象身份;(b)目标表实例对象身份和目标列对象身份;(c)已经添加到目标表的每个辅助列的对象身份,其中,每个辅助列存储用于生成目标数据值的源数据记录的源代理键值;以及(d)映射所需的任何额外的数据,诸如映射是优选源路线的指示符(例如,标志)。如果同一源数据记录用于填充多于一个的目标列中的值,则存储源代理键列身份的同一辅助列可以在数据沿袭映射表600内的多个映射系统记录中重复。数据沿袭追踪信息可以提供对于数据仓库的变换的支持,其中,示例变换类型包括直接映射变换、转换变换、推导变换、合并变换、垂直到水平枢轴变换、水平到垂直枢轴变换、情况变换、以及自定义的变换类型。在某些实施例中,数据沿袭追踪信息可以使用数据沿袭映射技术生成。数据沿袭映射技术涉及:将一个或多个源列映射到目标列,并且添加容纳一个或多个源代理键的一个或多个辅助列,其中,每个源代理键对应于对目标列的值有贡献的源表。直接映射变换、转换变换和推导变换可以使用数据沿袭映射技术生成数据沿袭映射表600中的简单条目:到每个目标列的一个或多个源列映射。这些变换通常从单个源表映射到单个目标表,所以通常仅存在存储源代理键值的单个辅助列。数据沿袭追踪信息还可以用于支持使用数据沿袭映射技术的合并变换和情况变换。然而,数据沿袭映射技术可以每一变换要求多于一个的辅助列以确保正确地追踪到源数据元素。例如,在五个源表合并为一个目标表时,目标表中的任何数据记录可以是来自这五个源表中的任何源表的。为了避免识别特定数据记录的起源的歧义性,可以将目标表扩展为包括五个辅助列(每一源表一个)。当执行合并变换时,将源数据记录代理键插入到映射到正确的源表的辅助列中。因此,对于目标表中的每个数据记录,这五个辅助列中只有一个辅助列将包含源代理键值,其他四个辅助列将保持为空。同样情况可以适用于情况变换。在情况变换中,来自目标表的一个列中的不同数据记录的值可以由可能来自不同源表的不同源列填充。例如,在第一数据记录中,目标情况列可能由源Tab1.ColX填充。在第二数据记录中,目标情况列可能由源Tab1.ColY填充。在第三数据记录中,目标情况列可能由源Tab2.ColX填充。每个分配由情况变换的条件控制。因此,为了在源数据元素与目标数据元素之间追踪,必须识别可以用于填充目标列的每个源表和列组合。一个辅助列将针对每个可能的源表和列组合添加。与合并变换一样,辅助列中仅一个辅助列将用每个数据记录中的值填充,根据该值,情况条件对于该数据记录为真。此外,将存在到目标列的多个列数据映射,其中,每个映射源记录包括不同的源键列身份。数据沿袭映射技术可以修改为支持垂直到水平枢轴变换和水平到垂直枢轴变换。修改可以涉及将额外的信息存储在数据沿袭映射表600内,例如,关于用于变换的枢轴列和过滤值列表的信息。例如,垂直到水平枢轴变换可以将多个数据记录取作输入,每个数据记录具有“枢轴”列中的不同“过滤”值,并且可以创建目标表中的多个列,一个或多个列用于每个“过滤”值。结果可以是其中多个源数据记录对单个数据记录有贡献的目标表。因此,多个辅助列可以添加到目标表,一个或多个列用于对目标数据记录有贡献的每个源数据记录。在某些实施例中,高级技术可以用于存储数据沿袭映射数据。在一种高级技术中,对于合并变换,用于存储数据沿袭映射数据的高级技术可以涉及将源表实例对象身份包括在存储在辅助列内的源代理键内。从目标数据记录追踪回到源数据记录的算法可以使用存储在目标数据记录的辅助列内的源代理键值来在所指定的源表中查找源数据记录,其中,源表可以从源代理键值提取。对于合并变换和情况变换两者,另一种用于存储数据沿袭追踪信息的高级技术可以涉及包括存储“过滤值”的“过滤”辅助列以及存储源代理键的另一辅助列。对于合并变换,存储“过滤值”的“过滤”辅助列存储源表实例对象身份。因此,从目标数据记录追踪回到源数据记录的算法可以使用存储在目标数据记录的辅助列内的源代理键值来在源表中查找源数据记录,其中,源表在“过滤”辅助列中识别。对于情况变换,用户可以提供“过滤”值,以识别可能填充情况目标列的每一个源表和列组合,所述“过滤”值是文本串。这些“过滤”值与适当的源表/列组合和情况变换目标表/列组合一起存储在数据沿袭映射表600中。在目标表的每个数据记录中,相应的“过滤值”可以输入到“过滤”辅助列中。因此,从目标数据记录追踪回到源数据记录的算法可以使用来自目标数据记录的源代理键值,连同存储在数据沿袭映射表600内的“过滤值”和信息。为了避免需要多个辅助列,其他高级技术可以用于存储数据沿袭追踪信息。一种高级技术涉及“智能代理键”,其中,“智能代理键”是一个或多个前缀为源表身份的源代理键值的串联。结果,智能代理键可以用于获得源表身份,因此,不需要单独的存储源表身份的辅助列。此外,将只需要一个辅助列来存储智能代理键,从而去除了结合变换、垂直到水平枢轴变换和水平到垂直枢轴变换的情况下对于多个辅助列的需要。另一种高级技术涉及将枢轴列值作为“过滤值”包含在智能代理键内以供用于垂直到水平枢轴变换和水平到垂直枢轴变换。根据实施例,可以利用前述数据沿袭追踪信息或其他数据沿袭追踪信息来支持链接到数据元素或数据记录的关联对象的可见性以及将这些关联对象传播到相关的源数据元素和目标数据元素。此外,还可以利用前述数据沿袭追踪信息或其他数据沿袭追踪信息来支持通过数据沿袭内的变换路径将关联对象导出到外部数据源。根据实施例,关联对象映射表可以存储关于关联对象与数据元素或数据记录之间的一个或多个链接的数据。数据沿袭传播模块(诸如图2的数据沿袭传播模块)可以识别与关联对象和该关联对象在其中被创建为主要链接的数据元素(或数据记录)的关联,并且可以进一步将该主要链接存储在关联对象映射表内。数据沿袭传播模块可以进一步创建并且存储到主要数据元素(或数据记录)的源和目标数据元素/数据记录的次要链接。当系统的用户查看源或目标数据时,以及当用户查看主要数据元素(或数据记录)时,这可以提供关联对象的高效率的可视化。因此,根据实施例,每个关联对象可以具有一个主要链接,并且可以具有一个或多个次要链接。图9例示了根据本发明的实施例的关联对象映射表900的框图。关联对象映射表900可以存储关于关联对象与数据元素或数据记录之间的一个或多个链接的数据。关联对象映射表900可以存储关于关联对象与数据元素(或数据记录)之间的主要链接的数据,其中,主要链接识别该关联对象是针对该数据元素(或数据记录)创建的(即,最初就与该数据元素(或数据记录)相关联)。此外,关联对象映射表900可以存储关于关联对象与数据元素(或数据记录)之间的次要链接的数据,其中,次要链接识别该数据元素(或数据记录)是与该关联对象相关联的主要数据元素(或数据记录)的源数据元素(或数据记录)或是目标数据元素(或数据记录)。关于关联对象与数据元素之间的主要链接的数据、以及关于关联对象与一个或多个数据元素之间的一个或多个次要链接的数据可以用于获得上游或下游数据元素与关联对象的关联。此外,可以在不遍历数据沿袭的情况下获得该关联以检测关联对象的存在。在图9的例示实施例中,关联对象映射表900包括与关联对象身份相对应(即,识别关联对象)的“OPOOBJ_ID”列。关联对象映射表900还包括与关联对象类型身份相对应(即,识别关联对象的类型)的“OPOOBJ_TYPE_ID”列。在替代实施例中,关联对象的身份可以是包括身份值和至少一个值的复杂身份。根据例示的实施例,关联对象映射表900还包括与数据元素模型身份相对应(即,识别关联对象与其相关联的数据元素的数据表的数据模型)的“DM_OBJ_ID”列。关联对象映射表900还包括与数据元素表身份相对应(即,识别关联对象与其相关联的数据元素的数据表)的“TAB_OBJ_ID”列。关联对象映射表900还包括与数据元素列身份相对应(即,识别关联对象与其相关联的数据元素的列)的“COL_OBJ_ID”列。关联对象映射表900还包括与数据元素数据记录身份相对应(即,识别关联对象与其相关联的数据元素的数据记录)的“SKEY_VALUE”列。数据元素数据记录身份也是代理键。根据例示的实施例,关联对象映射表900还包括识别关联对象与数据元素之间的关联是主要链接、还是次要链接的“IS_PRIMARY_RC”列。关联对象映射表900还包括识别关联对象是否与数据元素或数据记录相关联的“IS_RECORD_LEVEL_RC”列。关联对象映射表900还包括识别数据元素是否是关联对象的优选源数据元素以及其值是否是从数据沿袭映射表600继承的“PREFERRED_ROUTE_RC”列。关联对象映射表900还包括识别关联对象与数据元素之间的链接是主要链接、上游次要链接、还是下游主要链接的“TRACE_TO_RC”列。图10例示了根据本发明的实施例的关联信息子系统的物理模型的框图。在图10的例示实施例中,物理模型包括图9的关联对象映射表900。物理模型还包括关联对象组件1000,其包括表示一个或多个关联对象的数据。在一个实施例中,关联对象组件1000可以包括包含表示一种或多种关联对象类型的数据的表(例如,图10中的“DME_OPERATIONAL_OBJECT_TYPE”表)。根据实施例,关联对象组件1000还可以包括一个或多个表,这些表包括表示所指定的关联对象类型的一个或多个关联对象的数据。在例示的实施例中,“CDR_DISCREPANCY”表包括表示作为差异性的一个或多个关联对象的数据,“CDR_FLAG”表包括表示作为状况标志的一个或多个关联对象的数据,“CDR_COMMENT”表包括表示作为评论的一个或多个关联对象的数据。另外,物理模型包括表定义组件1010,其包括关于一个或多个源表和一个或多个目标表的表定义。在例示的实施例中,表定义组件1010可以包括数据模型层次上的一个或多个表定义(例如,图10中的“CDR_MODEL”表)、表层次上的一个或多个表定义(例如,图10中的“CDR_TABLE”表)、以及列层次上的一个或多个表定义(例如,图10中的“CDR_COLUMN”表)。根据实施例,系统的用户或者在该系统内执行的自动程序可以选择数据元素,并且创建与所选数据元素相关的关联对象,诸如差异性。所述系统可以调用数据沿袭传播模块(诸如图2的数据沿袭传播模块),并且数据沿袭传播模块可以创建新的关联对象与所选数据元素之间的主要关联(被识别为主要链接)。数据沿袭传播模块可以进一步将主要关联(即,主要链接)存储在关联对象映射表900内。数据沿袭传播模块可以进一步通过追踪从所选数据元素到一个或多个源数据元素和/或目标数据元素的整个数据沿袭路径来创建新的关联对象与一个或多个源数据元素和/或目标数据元素之间的一个或多个次要关联。数据沿袭传播模块可以进一步将一个或多个次要关联(即,一个或多个次要链接)存储在关联对象映射表900内。在某些情况下,当向上游追踪到源数据元素时,可以将多个源数据元素映射到单个目标数据元素。作为关联对象的优选源数据元素的源数据元素可以在关联对象映射表900中像这样识别。优选源数据元素可以被识别为优选路径,并且优选路径数据沿袭追踪信息可以存储在数据沿袭映射表(诸如图6和8的数据沿袭映射表600)中。根据实施例,所述系统可以使用存储在关联对象映射表900内的主要链接在关联对象在其中被创建的数据表的数据模型的显示中显示该关联对象的存在。所述系统可以进一步使用存储在关联对象映射表900内的一个或多个次要链接显示上游和/或下游数据模型中的关联对象。当对于特定目标数据元素存在多个源数据元素时,所述系统可以将一个或多个优选源数据元素标记为优选路径。当所述系统显示数据模型时,所述系统还可以显示与数据模型的数据表的每个数据元素相关联的一个或多个关联对象,而不管关联对象是通过主要链接、还是通过次要链接与数据元素相关联。在一个实施例中,当包含具有到关联对象的主要链接的数据元素的数据记录被删除时,可以将该关联对象的状态修改为关闭状态。可以从关联对象映射表900移除关于该关联对象的数据。可替代地,可以在关联对象映射表900内保留关于该关联对象的数据,但是将该数据修改为指示该数据已经被“虚拟删除”(诸如将“被删除”标志或时间戳与该数据相关联)。关联对象可以被保留,而不是被删除,并且为了审核的目的被保存。如果经由主要链接与关联对象相关联的数据元素被删除,则到该关联对象的主要链接和所有次要链接可以被删除,并且该关联对象的状态可以修改为关闭状态。如果经由次要链接与关联对象相关联的数据元素被删除,则该次要链接可以被删除。现在根据某些实施例更详细地描述追踪数据沿袭以及传播关联信息(即,关联对象)的可见性的另外的方面。在某些实施例中,系统可以支持从任何数据记录上的任何数据字段起倒回遍历源端数据沿袭中的源数据字段/记录、直到数据沿袭到达起源于外部系统(即,源系统)中的源数据记录/字段为止的用户或系统导航。所述系统然后可以允许用户选择对其动作的源数据记录(或数据字段)。动作的例子是将关于数据记录(或数据字段)值的查询或消息发送到源系统、发送文档、调用可以直接或间接对源系统采取动作的API、以及通过源数据记录/字段或者其在源系统中在上下文中的表现打开源系统的应用程序窗口。以上功能的扩展涉及定义从每个表(或列)到紧前面的源表(或列)的“优选源路径”的变换定义元数据。该优选路径使得系统能够在用户不必明确地导航源数据沿袭的情况下在起源于外部系统中的数据记录(或数据字段)处选择源沿袭的单个分支。所述系统然后能够对外部系统中的该数据记录(或数据字段)采取上述动作。在其他的某些实施例中,当在用户界面(诸如包括所显示的字段的表格显示或格式化形式)中显示数据记录及其数据字段时,关联信息(即,一个或多个关联对象)的优化索引(诸如关联对象映射表)可以用于对于与关联信息相关联的数据记录和/或数据字段提供关联信息存在的视觉指示,诸如加亮或图标。所述系统还可以允许用户按所显示的信息的某属性将该信息限制为关联信息(即,一个或多个关联对象)的子集。例子包括关联对象的类型(诸如差异性、错误报告、文档、评论)以及特定类型的关联对象的子类型(诸如文档的类型、错误报告的状况、或者标签或状况标志的类别)。该功能可以通过下述方式来进行优化,即,将关于关联对象的类型或子类型的信息包括在将具有关联对象的数据记录(或数据字段)关联到所有其他的相关的数据记录(或字段)的关联对象表内,以使得所述系统不必考虑该表本身以外的问题来执行限制。所述系统还可以允许用户基于与关联对象相关联的数据记录(或数据字段)与当前显示的关联对象的关系来限制所显示的关联信息(即,关联对象)。例子包括:仅显示与数据沿袭中的所显示的数据元素的上游的数据记录(或数据字段)相关联的关联对象、仅显示与所显示的数据元素的下游的数据记录(或数据字段)相关联的关联对象、仅显示(经由主要链接)与所显示的数据元素直接关联的关联对象、或者仅显示来自特定的源表或目标表或者特定的源表集合或目标表集合的关联对象。这可以通过下述方式来进行优化,即,将关于每个关联对象的相对位置的信息包括在将与关联对象相关联的数据记录(或数据字段)关联到所有其他的相关数据记录(或数据字段)的关联对象表中,以使得所述系统不必考虑该表本身以外的问题来执行限制。根据某些实施例,为了显示关联信息(即,关联对象)的视觉指示,可能有必要高效率地将每个关联对象关联到特定的显示的数据字段(或数据记录)。在一个实施例中,所述系统可以通过使用结构化查询语言(“SQL”)的能力来执行关联,以首先基于关联数据记录的身份枢转,以使得每个关联对象为表格格式,其中,每列的名称或身份具有与所显示的信息相同的表格结构,并且其中,枢转的表中的数据元素仅当关联对象存在时才具有数据值。所述系统然后可以在所显示的实际数据与枢转的表之间对于给定的数据记录身份使用名称或列身份匹配,以高效率地开启关联对象的存在的指示。在另一实施例中,所述系统可以通过单独地在具有高效率的访问方法的本地数据结构中检索关联对象以检索关于特定的数据记录身份或特定的列身份的信息来执行关联。所述系统然后可以通过使用数据记录身份或列身份访问该本地数据结构来高效率地识别所显示的数据沿袭中的数据记录和数据字段。在一个实施例中,对于数据元素的数据沿袭,所述系统还可以对于数据沿袭中的每个数据记录(或数据字段)显示一个或多个关联对象的存在。在某些实施例中,当系统的用户界面显示一个或多个关联对象的存在的指示时,该系统允许用户使用例如鼠标点击、鼠标右键点击和菜单选择或者光标导航到目标数据记录(或数据字段)和键盘动作来调用对于特定的数据记录(或数据字段)的动作。所调用的动作可以包括显示关联对象的列表和到关于这些关联对象的细节的导航。例如,所述系统可以显示相关联的评论的弹出表与对于附加了评论的每个数据表(或数据字段)的指示。另一个例子可以是显示相关联的差异性的列表,该列表可以用于选择并且显示关于该差异性的详细信息。此外,所述系统可以改为将用户置于界面中,而不管用户是否可以对关联对象采取动作,诸如对评论做出响应或者改变差异性的状况。在某些实施例中,所述系统可以使用关于用户的权利的安全信息、以及访问不同类型的关联对象所必需的特权、或者访问附加到特定的上游或下游数据表的关联对象以限制关联对象在用户界面中的可见性、关于可供用户使用的关联对象的详细程度、或者用户对关联对象采取动作的能力所必需的特权。根据某些实施例,所述系统可以使用与上游或下游数据记录和与它们相关联的关联对象(诸如差异性或评论)相关联的追踪时间戳信息来使得用户能够理解用户当前查看的数据之前或之后的数据是否与上游或下游数据一致。例如,如果用户正在查看数据元素并且调用显示附加到当前数据元素的数据沿袭中的数据的相关联的评论的功能,则所述系统可以指示源数据沿袭中的源数据和相关联的评论是否比该数据元素要新一些,并且因此可以反映尚未传播到当前数据表的改变。类似地,在目标数据沿袭中,用户可以查看数据和相关联的评论是否比当前数据要旧一些,并且因此可以反映数据尚未被更新来反映已经对于当前数据元素做出的改变。相同能力的另一种表现形式是,用户发起提出对于与当前数据相关联的优选源数据元素的查询的动作,并且所述系统检测到该源数据元素已经被修改得比当前数据元素要新一些,并且就此警告用户。该功能可以防止用户通过沿袭设施对可能已经经过修改的数据采取动作。如前所述,所述系统可以通过使用代理键来最小化数据存储,并且可以通过使用影子表来优化查找性能,所述影子表将源代理键提取到单个表中以供优化查找。根据一个实施例,该设计的替代方案不需要产生和使用代理键。在该实施例中,源表的整个主键作为源键存储在一个或多个目标表内,并且在目标表上添加额外的数据字段来容纳在代理键中捕捉的任何辅助信息,诸如与源主键字段相关联的枢轴值或表选择器。在该实施例中,系统元数据描述每个这样的源键,使用代理键操作的任何功能使用构成该源键的整个数据字段集合进行操作。此外,在不必查询每一个表的情况下将代理键提取到影子表以供优化查询性能的优化可以通过使用类似的影子表来实现,所述类似的影子表具有为根据需要用于容纳关于每个源键的组件的值的每个源键或目标键而保留的若干个列。关于用于每个表的键结构的系统元数据然后将使得系统能够通过特定表用其容纳整个源键信息的列上的适当的结合来对照这一个影子表构造查询。源键集合上的适当串联的索引以及目标键集合上的另一个适当串联的索引将使用单个影子表来优化性能。在某些实施例中,所述系统可以充当使用一个或多个应用程序的元数据描述来产生数据沿袭的运行时元素的应用程序发生器。例如,可以存在其中用户定义一个或多个源表与目标表之间的映射的用户界面。映射可以根据变换类型(例如,结合、枢轴或非枢轴)而不同。定义过程可以记录一个或多个源数据元素与一个或多个目标数据元素之间的列层次的映射。然后,作为部署变换的一部分,所述系统可以:(a)在目标表安装在数据库之前将一个或多个辅助列添加到目标表,其中,所述一个或多个辅助列存储一个或多个源键;(b)记录关于所述一个或多个源数据元素与目标数据元素之间的关系的元数据映射信息;以及(c)产生可以被执行来执行变换的计算机代码。所述计算机代码可以包括填充目标表中的一个或多个源键以便记录一个或多个源数据元素与目标数据元素之间的关系的逻辑。根据某些实施例,所产生的计算机代码可以在没有用户干预的情况下在相同的或类似的结构的新应用程序部署中重复使用。图11例示了根据本发明的实施例的合并变换的示例数据沿袭踪迹。在示例实施例中,源表“LAB1”、“LAB2”和“LAB3”(即,源表1110、1120和1130)经由合并变换组合为目标表“LAB_SUM”(即,目标表1140)。此外,在示例实施例中,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以对于目标表1140中的下列目标数据元素找到源数据元素:列“RBC”和数据记录身份(即,代理键)“[LAB_SUM]~103~1”。数据沿袭传播模块可以查找数据沿袭映射表1100,并且在三个系统记录(系统记录9、25和35)中找到目标表“LAB_SUM”(即,目标表1130)作为目标表、列“RBC”作为目标列。这三个系统记录具有“UNION”的变换映射类型(即,列“TMAP_TYPE”),并且它们将它们的源代理键存储在数据沿袭映射表1100的“SRC_SKEY_COLNAME”列中所示的列“LAB_SUM.UNION_SRC_KEY”中。在目标表1140中,数据沿袭传播模块可以在列“UNION_SRC_KEY”中查找目标数据记录。该列包含值“[LAB1]~103~1~LAB1”,并且因为这是智能代理键,所以该值中的第一个分量(即,“[LAB1]”)是源表身份。因此,数据沿袭传播模块可以确定源表是源表“LAB1”(即,源表1110)。数据沿袭传播模块然后可以返回到在数据沿袭映射表1100中找到的三个系统记录,并且在获悉源表是源表1100后,数据沿袭传播模块可以识别数据沿袭映射表1100内的正确的系统记录:系统记录9。因此,数据沿袭传播模块可以识别源数据元素在源表1110中、在具有代理键值“[LAB1]~103~1~LAB1”的列“RBC”中。数据沿袭传播模块可以进一步识别源数据值为“5.3”。此外,在示例实施例中,数据沿袭传播模块可以对于源表1110中的下列源数据元素找到目标数据元素:列“RBC”和数据记录身份(即,代理键)“[LAB1]~103~1~LAB1”。数据沿袭传播模块可以查看数据沿袭映射表1100,并且在系统记录9中,找到源表“LAB1”(即,源表1110)作为源表,并且找到列“RBC”作为源列。从该信息,数据沿袭传播模块可以确定它需要在目标表1140的“RBC”列中查找目标数据元素。数据沿袭传播模块然后可以使用目标表“LAB_SUM”、源表“LAB1”、SRC_SKEY_COLNAME”UNION_SRC_SKEY”、以及源表代理键“[LAB1]~103~1~LAB1”的组合来搜索影子表1150,以确定目标表1140中的期望的数据记录的代理键为“[LAB_SUM]~103~1”。因此,数据沿袭传播模块可以识别目标数据元素在目标表1110中、在具有代理键值“[LAB_SUM]~103~1”的数据记录的列“RBC”中。数据沿袭传播模块可以进一步识别目标数据值为“5.3”。图12例示了根据本发明的实施例的枢轴变换的示例源数据沿袭踪迹。这是从垂直源表“VS”(即,源表1210)到水平目标表“VITALS”(即,目标表1220)的变换。源表1210具有识别生命体征的枢轴列,列“VSTSTCD”,生命体征值存储在列“VSORES”中。在“VSTSTCD”列中存在五个不同的生命体征值:“SYSBP”、“DIASBP”、“PULSE”、“HEIGHT”和“WEIGHT”。它们作为过滤值(即,列“FILTER_VALUE”中的值)存储在数据沿袭映射表1200中,每个过滤值在目标表1220中具有其相应的列。此外,在源表1210中,每个智能代理键值(即,列“SK”中的值)包含作为代理键值的最后一个分量的、来自其“VSTSTCD”列的过滤值。目标表1220对于所收集的五个生命体征中的每个生命体征包括一个列:列“SYSBP”、“DIASBP”、“PULSE”、“HT”和“WT”。生命体征值存储在用于每个受试者的适当的列中。目标表1220中的每个数据记录占用源表1210中的五个数据记录;来自源表1210中的源列“VSTSTCD”的过滤值(即,“SYSBP”、“DIASBP”、“PULSE”、“HEIGHT”和“WEIGHT”)变换为目标表1220中的列(即,列“SYSBP”、“DIASBP”、“PULSE”、“HT”和“WT”)。在示例实施例中,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以对于目标表1220中的下列目标数据元素找到源数据元素:列“PULSE”和数据记录身份(即,代理键)“[VITALS]~101~2”。数据沿袭传播模块可以查找数据沿袭映射表1200,并且对于目标表“VITALS”(即,目标表1220)和目标列“PULSE”仅找到一个系统记录,系统记录3(在图12中被识别为过滤数据沿袭映射表1230)。该系统记录对于具有枢轴列“VSTSTCD”和源数据项列“VSORES”的TALL_SKINNYSOURCE表“VS”具有“PIVOT”的变换映射类型。同一系统记录,系统记录3(在图12中被识别为过滤数据沿袭映射表1230),定义目标记录辅助列以得到作为“VS_SK1”的源记录代理键值。根据所述算法,来自该列的值(“[VS]~101~2”)可以被数据沿袭传播模块(诸如图2的数据沿袭传播模块200)与过滤值“PULSE”(即,“[VS]~101~2~PULSE”)组合以找到源表中的正确的记录。因此,数据沿袭传播模块可以进一步识别源数据值为“68”。图13例示了根据本发明的实施例的枢轴变换的示例目标数据沿袭踪迹。如前所述,这是从垂直源表“VS”(即,图12的源表1210)到水平目标表“VITALS”(即,图12的目标表1220)的变换。在示例实施例中,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以对于源表1210中的下列源数据元素找到目标数据元素:列“VSORES”和数据记录身份(即,代理键)“[VS]~101~2~PULSE”。数据沿袭传播模块可以查看图12的数据沿袭映射表1200,并且在五个系统记录(系统记录1、2、3、4和5)中找到列“VSORES”作为源列。数据沿袭传播模块然后可以使用列“VSTSTCD”中的源数据记录数据值(即,“PULSE”)来对数据沿袭映射表1200中的系统记录进行过滤,以确定数据沿袭映射表1200中的正确的系统记录。因此,数据沿袭传播模块可以在数据沿袭映射表1220(在图13中被识别为过滤数据沿袭映射表1300)中识别系统记录3作为正确的系统记录。从该信息,数据沿袭传播模块可以确定它需要在目标表1220的“PULSE”列中查找目标数据元素。根据用于枢轴变换的算法,数据沿袭传播模块可以从源代理键值移除过滤值,并且然后可以使用代理键“[VS~101~2]”来搜索影子表1310,并且确定目标表1220中的期望的数据记录的代理键为“[VITALS]~101~2”。因此,数据沿袭传播模块可以识别目标数据元素在目标表1220中、在具有代理键值“[VITALS]~101~2”的列“PULSE”中。数据沿袭传播模块可以进一步识别目标数据值为“68”。图14例示了根据本发明的实施例的非枢轴变换的示例源数据沿袭踪迹。这是从水平源表“VITALS”(即,源表1410)到垂直目标表“VS”(即,目标表1420)的变换。源表1410对于所收集的五个生命体征中的每个生命体征具有一个列:列“SYSBP”、“DIASBP”、“PULSE”、“HT”和“WT”。生命体征值存储在用于每个受试者的适当的列中。目标表1420具有识别生命体征的枢轴列,列“VSTSTCD”,生命体征值存储在列“VSORES”中。在“VSTSTCD”列中存在五个不同的生命体征值:“SYSBP”、“DIASBP”、“PULSE”、“HEIGHT”和“WEIGHT”。这些作为过滤值(即,列“FILTER_VALUE”中的值)存储在数据沿袭映射表1400中,每个过滤值在源表1410中具有其相应的列。另外,在数据沿袭映射表1400中,目标表“VS”被标记为“瘦高”表。在目标表1420中,每个智能代理键值(即,列“SK”的值)包含作为代理键值的最后一个分量的、来自其“VSTSTCD”列的过滤值。源表1410中的每个数据记录变换为目标表1420中的五个数据记录。源表1410中的这五个生命体征列(即,列“SYSBP”、“DIASBP”、“PULSE”、“HT”和“WT”)中的每个变为目标表1420的列“VSTSSTCD”中的过滤值(即,“SYSBP”、“DIASBP”、“PULSE”、“HEIGHT”和“WEIGHT”)。在示例实施例中,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以对于目标表1420中的下列目标数据元素找到源数据元素:列“VSORES”和数据记录身份(即,代理键)“[VS]~101~2~PULSE”。数据沿袭传播模块可以查看数据沿袭映射表1400,并且在五个系统记录(系统记录1、2、3、4和5)中,找到目标表“VS”(即,目标表1420)作为目标表,并且找到列“VSORES”作为目标列。目标列“VSTSTCD”被标记为目标表“VS”枢轴列。数据沿袭传播模块然后可以使用列“VSTSTCD”(即,“PULSE”)中的目标数据记录数据值来对数据沿袭映射表1400中的系统记录进行过滤,以确定数据沿袭映射表1400中的正确的系统记录。因此,数据沿袭传播模块可以在数据沿袭映射表1400(在图14中被识别为过滤数据沿袭映射表1430)中识别系统记录3作为正确的系统记录。该系统记录具有“UNPIVOT”的变换映射类型(即,列“TMAP_TYPE”)、“VSTSTCD”的枢轴列(即,列“PIVOT_COL”)、“VITALS”的源表(即,列“SRC_TAB”)、以及“PULSE”的源列(即,列“SRC_COL”)。从目标表1420的源代理键值(即,列“VITALS_SK1”),数据沿袭传播模块可以确定源数据记录的代理键为“[VITALS]~101~2”。因此,数据沿袭传播模块可以识别源数据元素在源表1410中、在具有代理键值“[VITALS]~101~2”的列“PULSE”中。数据沿袭传播模块可以进一步识别源数据值为“68”。图15例示了根据本发明的实施例的非枢轴变换的示例目标数据沿袭踪迹。如前所述,这是从水平源表“VITALS”(即,图14的源表1410)到垂直目标表“VS”(即,图14的目标表1420)的变换。在示例实施例中,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以对于源表1410中的下列源数据元素找到目标数据元素:列“PULSE”和数据记录身份(即,代理键)“[VITALS]~101~2”。数据沿袭传播模块可以查找图14的数据沿袭映射表1400,并且在系统记录3(在图15中被识别为过滤数据沿袭映射表1500)中,找到源表“VITALS”(即,源表1410)作为源表,并且找到列“PULSE”作为源列。该系统记录具有“UNPIVOT”的变换映射类型(即,列“TMAP_TYEP”)、“VSTSTCD”的枢轴列(即,列“PIVOT_COL”)、“VS”的目标表(即,列“TRG_TAB”)、以及“VSORES”的目标列(即,列“TRG_COL”)。从该信息,数据沿袭传播模块可以确定它需要在目标表1420的“VSORES”列中查找目标数据元素。数据沿袭传播模块然后可以使用源表1410的代理键“[VITALS]~101~2”来搜索影子表1510,并且确定目标表1420中的期望的数据记录的代理键为“[VS]~101~2~PULSE”。为了减少影子表中的记录的数量,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)对于非枢轴变换,将缩写值存储在列“TRG_SKEY_VALUE”中,即,没有过滤值。数据沿袭传播模块然后在使用从影子表检索的列“TRG_SKEY_VALUE”中的值作为目标记录标识符之前,将过滤值附加到该值。因此,数据沿袭传播模块可以识别目标数据元素在目标表1420中、在具有代理键值“[VS]~101~2~PULSE”的列“VSORES”中。数据沿袭传播模块可以进一步识别目标数据值为“68”。图16例示了根据本发明的实施例的结合变换的示例数据沿袭踪迹。在示例实施例中,源表“DM”和“LAB1”(即,源表1610和1620)结合形成目标表“LAB1_SUM”(即,目标表1630)。数据沿袭映射表1600包括关于目标表1630的每列的系统记录。每个系统记录包括源表身份(即,列“SRC_TAB”)、源列身份(即,列“SRC_COL”)、以及源代理键列身份(即,列“SRC_SKEY_COLNAME”)。源代理键列是添加到目标表1630的辅助列,该辅助列存储用于对目标表1620中的数据记录有贡献的源表1610(即,列“DM_SKEY”)或源表1620(即,列“LAB1_SKEY”)中的数据记录的源代理键。对于结合变换,对于对结合有贡献的每个表(在这个例子中,为两个表,即,源表1610和1620),存在源代理键辅助列。源表1610在下列列中包括表示关于每个研究受试者的人口统计数据的数据记录:列“AGE”、“AGE_U”和“GENDER”。源表1620在下列列中包括表示对于不同受试者的实验室测试的结果的数据记录:列“RBC”、“HEMOGLOBIN”和“HEMATOCRIT”。这两个表结合创建目标表1630。目标表1630的每个数据记录包括来自源表1610和1620的每个源表的值。因此,目标表1630的每个数据记录存储两个源代理键值(即,来自每个有贡献的源表的一个源代理键值)。这些源代理键值存储在列“DM_SKEY”和列“LAB1_SKEY”中。在示例实施例中,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以对于目标表1630中的下列目标数据元素找到源数据元素:列“HEMOGLOBIN”和数据记录身份(即,代理键)“[LAB1_SUM]~105~1~LAB1”。数据沿袭传播模块可以查找数据沿袭映射表1600,并且在系统记录10中,找到目标表“LAB1_SUM”(即,目标表1630)作为目标表,并且找到列“HEMOGLOBIN”作为目标列。由此,数据沿袭传播模块知道源数据元素在源表“LAB1”(即,源表1620)和源列“HEMOGLOBIN”中。数据沿袭传播模块还知道源代理键值在目标表1630的列“LAB1_SKEY”中被找到。在目标表1630中,数据沿袭传播模块可以在列“LAB1_SKEY”中查找目标数据记录。该列包含代理键值“[LAB1]~105~1~LAB1”,并且数据沿袭传播模块知道源表、源列和代理键值。因此,数据沿袭传播模块可以识别源数据元素在源表1620中、在具有代理键值“[LAB1]~105~1~LAB1”的列“HEMOGLOBIN”中。数据沿袭传播模块可以进一步识别源数据值为“111”。此外,在示例实施例中,数据沿袭传播模块可以对于源表1620中的下列源数据元素找到目标数据元素:列“HEMOGLOBIN”和数据记录身份(即,代理键)“[LAB1]~105~1~LAB1”。数据沿袭传播模块可以查找数据沿袭映射表1600,并且在系统记录10中,找到源表“LAB1”(即,源表1620)作为源表,并且找到列“HEMOGLOBIN”作为源列。从该信息,数据沿袭传播模块可以确定它需要在目标表“LAB1_SUM”(即,目标表1630)的“HEMOGLOBIN”列中查找目标数据元素。数据沿袭传播模块然后可以使用源表1620的代理键“[LAB1]~105~1~LAB1”来搜索影子表1640,并且确定目标表1630中的期望的数据记录的代理键为“[LAB1_SUM]~105~1~LAB1”。因此,数据沿袭传播模块可以识别目标数据元素在目标表1630中、在具有代理键值“[LAB1_SUM]~105~1~LAB1”的列“HEMOGOLBIN”中。数据沿袭传播模块可以进一步识别目标数据值为“111”。图17例示了根据本发明的实施例的情况变换的示例数据沿袭踪迹。在示例实施例中,源表“NRANGE”(即,源表1710)包括对于每个人口统计群体的不同血液试验的正常范围值。源表“LAB”(即,源表1720)包括关于一组受试者的实验室测试结果。目标表“LAB_SUM”(即,目标表1730)包括来自源表1720的列,加上来自源表1710的包含相应的正常范围和正常范围单位的列。目标表1730还包括辅助列:一个过滤列(即,列“CASE_FVAL”)以及两个源代理键列(即,列“LAB_SKEY”和“NRANGE_SKEY”)。在示例实施例中,数据沿袭传播模块(诸如图2的数据沿袭传播模块200)可以对于目标表1730中的下列目标数据元素找到源数据元素:列“RBC_NR”和数据记录身份(即,代理键)“[LAB_SUM]~103~1”。数据沿袭传播模块可以查找数据沿袭映射表1700,并且在四个数据记录(系统记录11、12、13和14)中,找到目标表“LAB_SUM”(即,目标表1730)作为目标表,并且找到列“RBC_NR”作为目标列。这四个系统记录具有“CASE”的变换映射类型(即,列“TMAP_TYPE”)。数据沿袭传播模块使用目标表1730中的两个辅助列来确定数据沿袭映射表1700中的正确的系统记录:列“NRANGE_SKEY”和列“CASE_FVAL”。列“NRANGE_SKEY”存储源表代理键,并且在数据沿袭映射表1700中具有相应的身份(即,列“SRC_SKEY_COLNAME”)。列“CASE_FVAL”存储情况条件条款标签,并且在数据沿袭映射表1700中具有相应的身份(即,列“FILTER_COL”)。数据沿袭传播模块可以确定目标表1730中的数据记录在过滤列(即,列“CASE_FVAL”)中包括值“MALE”。数据沿袭传播模块可以进一步确定数据沿袭映射表1700中的正确的系统记录是在“FILTER_VAL”列中具有匹配身份的系统记录。因此,从这四个系统记录,数据沿袭传播模块可以确定在“FILTER_VAL”中包括“MALE”的系统记录是系统记录11。因此,源数据元素是来自源表“NRANGE”(即,源表1710)的,并且具有列“MALE”。数据沿袭传播模块可以进一步确定源代理键值位于目标表1730的列“NRANGE_SKEY”中,并且源代理键值是“[NRANGE]~LAB1~RBC”。数据沿袭传播模块可以进一步确定源数据值为“4.7-6.1”。此外,在示例实施例中,数据沿袭传播模块可以对于源表1710中的下列源数据元素找到目标数据元素:列“MALE”和数据记录身份(即,代理键)“[NRANGE]~LAB1~RBC”。数据沿袭传播模块可以查找数据沿袭映射表1700,并且在系统记录11中,找到源表“NRANGE”(即,源表1710)作为源表,并且找到列“MALE”作为源列。从该信息,数据沿袭传播模块可以确定它需要在目标表“LAB_SUM”(即,目标表1730)的“RBC_NR”列中查找目标数据元素。数据沿袭传播模块然后可以使用源表1710的代理键“[NRANGE]~LAB1~RBC”来搜索影子表1740,并且确定目标表1730中的期望的数据记录的代理键为“[LAB_SUM]~103~1”和“[LAB_SUM]~104~1”。因此,数据沿袭传播模块可以识别这两个目标数据元素在目标表1730中、在具有代理键值“[LAB_SUM]~103~1”和“[LAB_SUM]~104~1”的列“RBC_NR”中。数据沿袭传播模块可以进一步识别这两个目标数据元素的目标数据值为“4.7-6.1”。图18例示了根据本发明的实施例的数据沿袭模块(诸如图1的数据沿袭模块16)的功能的流程图。在一个实施例中,图18的流程图的功能(下面描述)以及图19的流程图的功能(也在下面描述)均用存储在存储器或一些其他的计算机可读的或有形的介质中的软件实现,并且被处理器执行。在其他实施例中,每个功能可以由硬件(例如,通过使用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等)或者硬件和软件的任何组合来执行。流程开始,并且进入1805。在1805,将目标数据元素映射到一个或多个源数据元素,作为包括一个或多个数据表的数据仓库的数据沿袭的一部分,其中,每个数据表包括一个或多个数据记录。目标数据元素包括目标数据记录列。每个源数据元素包括源数据记录列。目标数据元素是使用数据变换从所述一个或多个源数据元素推导的。在一个实施例中,数据仓库包括一个或多个有序的数据模型。每个有序的数据模型包括一个或多个数据表。此外,后续数据模型的一个或多个数据表是使用数据变换从先前数据模型的至少一个表形成的。在一个实施例中,数据变换是下列变换之一:直接映射变换、合并变换、结合变换、水平到垂直非枢轴变换、垂直到水平枢轴变换、或者情况变换。流程进入1810。在1810,将一个或多个源代理键存储在目标数据记录的一个或多个辅助列内。每个源代理键包括源数据记录的身份,所述源数据记录包括相应的源数据元素。在一个实施例中,所述一个或多个代理键的每个代理键包括源数据表的身份,所述源数据表包括源数据记录。在一个实施例中,所述一个或多个辅助列自动地基于目标数据元素到一个或多个源数据元素的映射添加到目标数据记录。流程进入1815。在1815,对于每个源数据元素,将数据沿袭映射系统记录存储在数据沿袭映射系统表内,所述数据沿袭映射系统表表示目标数据元素与相应的源数据元素的映射。数据沿袭映射系统记录包括相应的源数据元素、目标数据元素、以及所述一个或多个辅助列。根据实施例,数据沿袭映射系统记录还包括数据变换的类型。流程进入1820。在1820,作为数据沿袭的一部分,将源数据元素映射到一个或多个目标数据元素。所述一个或多个目标数据元素是使用数据变换从源数据元素推导的。流程进入1825。在1825,对于每个目标数据元素,将影子系统记录存储在影子系统表内,所述影子系统表表示源数据元素与相应的目标数据元素的映射。影子系统记录包括识别源数据元素的源代理键、识别相应的目标数据元素的目标代理键、以及所述一个或多个辅助列。因此,根据实施例,数据沿袭包括所述一个或多个数据沿袭映射系统记录、所述一个或多个影子系统记录、以及所述一个或多个源代理键。流程进入1830。在1830,使用数据沿袭从映射的一个或多个数据元素选择数据元素。流程进入1835。在1835,使用数据沿袭在用户界面内显示映射到所选数据元素的一个或多个数据元素。在一个实施例中,显示映射到所选数据元素的一个或多个数据元素还包括对于每个数据元素,显示该数据元素在数据沿袭内的位置。流程进入1840。在1840,对于每个目标数据元素,选择所述一个或多个源数据元素的一个源数据元素作为优选源数据元素。流程进入1845。在1845,基于所选的一个或多个优选源数据元素创建数据沿袭的优选源路径。流程进入1850。在1850,将枢轴列身份存储在目标数据记录的辅助列内。枢轴列身份识别源数据记录的枢轴列。流程进入1855。在1855,将过滤列身份存储在目标数据记录的第一辅助列内。过滤列身份识别源数据记录的过滤列。流程进入1860。在1860,将过滤值存储在目标数据记录的第二辅助列内,其中,过滤值是源数据记录的过滤值。流程然后结束。图19例示了根据本发明的实施例的关联信息传播模块(诸如作为图1的功能模块18的一部分的关联信息传播模块)的功能的流程图。流程从1905开始。在1905,追踪数据仓库的数据沿袭。数据仓库包括一个或多个数据表。每个数据表包括一个或多个数据记录。在一个实施例中,数据仓库包括一个或多个有序的数据模型。每个有序的数据模型包括一个或多个数据表。此外,后续数据模型的一个或多个数据表是使用数据变换从先前数据模型的至少一个表形成的。在一个实施例中,数据变换是下列变换之一:直接映射变换、合并变换、结合变换、水平到垂直非枢轴变换、垂直到水平枢轴变换、或者情况变换。流程进入1910。在1910,识别主要数据元素与关联对象之间的关联。主要数据元素包括主要数据记录列。关联对象包括关联信息。主要数据元素与关联对象之间的关联被识别为主要链接。在一个实施例中,关联对象是下列之一:差异性、评论、状况标志、状态指示符、标签、图像、记录、文件、链接或文档。此外,在一个实施例中,代替包括主要数据记录列的主要数据元素,主要数据元素包括主要数据记录。在1915,将第一关联对象映射系统记录存储在表示主要链接的关联对象映射系统表内。第一关联对象映射系统记录包括主要数据元素的身份、关联对象的身份、以及主要链接指示符。在一个实施例中,第一关联对象映射系统记录包括识别主要数据元素的数据模型的数据元素模型身份、识别主要数据元素的数据表的数据元素表身份、以及识别主要数据元素的列的数据元素列身份。流程进入1920。在1920,使用数据沿袭识别次要数据元素与关联对象之间的关联。次要数据元素包括次要数据记录列。次要数据元素与数据沿袭内的主要数据元素相关。次要数据元素与关联对象之间的关联被识别为次要链接。在一个实施例中,次要数据元素是主要数据元素的源数据元素。此外,在一个实施例中,主要数据元素的身份和次要数据元素的身份均是代理键。此外,在一个实施例中,代替包括次要数据记录列的次要数据元素,次要数据元素包括次要数据记录。在一个实施例中,次要数据元素与关联对象之间的关联通过使用数据沿袭基于主要数据元素识别次要数据元素来识别。在一个实施例中,额外的次要数据元素与关联对象之间的额外的关联也使用数据沿袭来识别。流程进入1925。在1925,将第二关联对象映射系统记录存储在关联对象映射系统表内,所述关联对象映射系统表表示次要链接,并且表示主要数据元素与次要数据元素之间的关联。第二关联对象映射系统记录包括次要数据元素的身份、关联对象的身份、以及次要链接指示符。在一个实施例中,第二关联对象映射系统记录包括识别次要数据元素的数据模型的数据元素模型身份、识别次要数据元素的数据表的数据元素表身份、以及识别次要数据元素的列的数据元素列身份。此外,在一个实施例中,第二关联对象映射系统记录包括次要数据元素是优选源数据元素的指示。在额外的次要数据元素与关联对象之间的额外的关联也使用数据沿袭识别的实施例中,将额外的关联对象映射系统记录存储在关联对象映射系统表内。流程进入1930。在1930,在用户界面内显示主要数据元素或次要数据元素。在一个实施例中,主要数据元素和次要数据元素都显示在用户界面内。流程然后进入1935。在1935,选择主要数据元素或次要数据元素。流程然后进入1940。在1940,使用第一关联对象映射系统记录或第二关联对象映射系统记录在用户界面内显示关联对象。更具体地讲,如果主要数据元素被选择,则使用第一关联对象映射系统记录在用户界面内显示关联对象。如果次要数据元素被选择,则使用第二关联对象映射系统记录在用户界面内显示关联对象。在一个实施例中,关联对象的显示用关联对象类型进行过滤。流程进入1945。在1945,删除主要数据元素。流程进入1950。在1950,删除第一关联对象映射系统记录。流程进入1955。在1955,删除第二关联对象映射系统记录。流程进入1960。在1960,将关联对象的状态修改为关闭状态。流程结束。因此,在一个实施例中,可以提供一种系统,该系统可以提供可以存储在数据仓库内的数据集的数据沿袭踪迹,其中,所述数据集存储在一个或多个表内,并且其中,每个表包括一个或多个数据记录。对于给定的目标数据元素,所述系统可以识别生成目标数据元素的源数据元素集,其中,“数据元素”包括一列数据记录。类似地,对于给定的源数据元素,所述系统可以识别从源数据元素推导出的目标数据元素集以及从源数据元素到该目标数据元素集的路径。所述系统所提供的数据沿袭踪迹可以进一步便利于存储数据的深入分析。此外,在另一实施例中,可以提供一种系统,该系统可以利用数据沿袭踪迹来支持链接到数据元素的“关联信息”或“关联对象”的可见性以及将关联信息(即,关联对象)传播到相关的源数据元素和目标数据元素。根据实施例,所述系统可以存储关联对象与和该关联对象相关联的数据元素或数据记录之间的主要链接和次要链接两者。因此,根据实施例,关联对象(诸如差异性)可以在数据沿袭内的数据元素的上游和下游都是可见的。该关联对象可见性可以进一步便利于存储数据的深入分析。在整个本说明书中所描述的本发明的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,“一个实施例”、“一些实施例”、“某一实施例”、“某些实施例”或其他类似的语言在整个本说明书中的使用是指结合该实施例描述的特定的特征、结构或特性可以包括在本发明的至少一个实施例中的事实。因此,短语“一个实施例”、“一些实施例”、“某一实施例”、“某些实施例”或其他类似的语言在整个本说明书中的出现不一定全都是指同一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。本领域的技术人员将容易理解,如以上所讨论的本发明可以用按不同次序的步骤来实施,和/或用与所公开的那些配置不同的配置中的元件来实施。因此,尽管已经基于这些优选实施例描述了本发明,但是本领域的技术人员将显而易见的是,某些修改、变型和替代配置将是显而易见的,同时保持在本发明的精神和范围内。因此,为了确定本发明的边界和界限,应参照所附权利要求书。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1