(57)【特許請求の範囲】
【請求項１】
データ要素の関連情報を表示するためにコンピュータで実行される方法であって、
１つ以上のデータテーブルを備えるデータウェアハウスのデータ系統をたどることを備え、前記データ系統は、複数のデータ要素を含み、
前記複数のデータ要素のうちの一次データ要素と、前記一次データ要素に関連付けられている関連オブジェクトとの間の関連付けを表わす関連オブジェクトマッピングシステムテーブル内に第１の関連オブジェクトマッピングシステムレコードを格納することを備え、前記一次データ要素と前記関連オブジェクトとの間の前記関連付けは一次リンクとして同定され、
前記データ系統を用いて、前記複数のデータ要素のうちの二次データ要素と前記関連オブジェクトとの間の関連付けを同定することを備え、前記二次データ要素は前記データ系統内の前記一次データ要素に関連付けられており、
前記データ系統の前記二次データ要素と前記関連オブジェクトとの間の前記関連付けを表わし、かつ前記一次データ要素と前記二次データ要素との間の関連付けを表わす前記関連オブジェクトマッピングシステムテーブル内に第２の関連オブジェクトマッピングシステムレコードを格納することを備え、前記二次データ要素と前記関連オブジェクトとの間の前記関連付けは二次リンクとして同定される、方法。
【請求項２】
各々のデータテーブルは１つ以上のデータレコードを含み、
前記一次データ要素は一次データレコードの列を含み、
前記関連オブジェクトは、データ要素以外の情報として当該データ要素に関連付けられる関連情報を含み、
前記第１の関連オブジェクトマッピングシステムレコードは、前記一次データ要素のアイデンティティ、前記関連オブジェクトのアイデンティティ、および一次リンクインジケータを含み、
前記二次データ要素は二次データレコードの列を含み、
前記第２の関連オブジェクトマッピングシステムレコードは、前記二次データ要素のアイデンティティ、前記関連オブジェクトのアイデンティティ、および二次リンクインジケータを含む、請求項１に記載のコンピュータで実行される方法。
【請求項３】
ユーザインターフェイス内に前記一次データ要素または前記二次データ要素を表示することと、
前記一次データ要素または前記二次データ要素のいずれかを選択することと、
前記第１の関連オブジェクトマッピングシステムレコードまたは前記第２の関連オブジェクトマッピングシステムレコードのいずれかを用いて前記ユーザインターフェイス内に前記関連オブジェクトを表示することとをさらに備える、請求項１または２に記載のコンピュータで実行される方法。
【請求項４】
前記関連オブジェクトの前記表示は関連オブジェクト種類によってフィルタされる、請求項３に記載のコンピュータで実行される方法。
【請求項５】
前記第１の関連オブジェクトマッピングシステムレコードは、前記一次データ要素のデータモデルを同定するデータ要素モデルアイデンティティ、前記一次データ要素のデータテーブルを同定するデータ要素テーブルアイデンティティ、および前記一次データ要素の列を同定するデータ要素列アイデンティティを含み、
前記第２の関連オブジェクトマッピングシステムレコードは、前記二次データ要素のデータモデルを同定するデータ要素モデルアイデンティティ、前記二次データ要素のデータテーブルを同定するデータ要素テーブルアイデンティティ、および前記二次データ要素の列を同定するデータ要素列アイデンティティを含む、請求項１〜４のいずれかに記載のコンピュータで実行される方法。
【請求項６】
前記関連オブジェクトは、不一致、コメント、ステータスフラグ、状態インジケータ、タグ、画像、録音録画、ファイル、リンク、または文書のうち１つである、請求項１〜５のいずれかに記載のコンピュータで実行される方法。
【請求項７】
前記二次データ要素は前記一次データ要素のソースデータ要素である、請求項１〜６のいずれかに記載のコンピュータで実行される方法。
【請求項８】
前記第２の関連オブジェクトマッピングシステムレコードは前記二次データ要素が好ましいソースデータ要素であるという指標を含む、請求項７に記載のコンピュータで実行される方法。
【請求項９】
前記一次データ要素の前記アイデンティティおよび前記二次データ要素の前記アイデンティティは各々サロゲートキーである、請求項１〜８のいずれかに記載のコンピュータで実行される方法。
【請求項１０】
前記一次データ要素は前記一次データレコードを含み、
前記二次データ要素は前記二次データレコードを含む、請求項２に記載のコンピュータで実行される方法。
【請求項１１】
前記一次データ要素を削除することと、
前記第１の関連オブジェクトマッピングシステムレコードを削除することと、
前記第２の関連オブジェクトマッピングシステムレコードを削除することと、
前記関連オブジェクトの状態を閉じた状態に修正することとをさらに備え、前記閉じた状態は、前記関連オブジェクトへのリンクを有さない、請求項１〜１０のいずれかに記載のコンピュータで実行される方法。
【請求項１２】
請求項１〜１１のいずれかに記載の方法をコンピュータに実行させる、プログラム。
【請求項１３】
請求項１２に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
この出願は、２０１２年１０月１８日に出願された米国仮特許出願連続番号第６１／７１５，４２８号の優先権を主張し、その主題がここに引用により援用される。
【０００２】
分野
１つの実施形態はコンピュータシステムに向けられ、より特定的にはデータを管理するコンピュータシステムに向けられる。
【背景技術】
【０００３】
背景
報告および分析に用いられるデータを格納するのにデータウェアハウスを用いることができる。コンピュータシステムは、複数の分散されたソースからデータを集め、データモデル中の集積データをデータウェアハウス内に格納することができる。ユーザは、格納されたデータに基づくデータ検討、データ分析、およびデータマイニングの準備のために変換をデータに適用することができる。さらに、データを、コメント、エラー報告、タグ、およびフラグ／状態情報などの関連情報としばしば関連付けることができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
要約
１つの実施形態は、関連情報の可視性を伝播させるシステムである。システムは、１つ以上のデータテーブルを含むデータウェアハウスのデータ系統を追跡する。システムは、データ系統の一次データ要素と関連オブジェクトとの間の関連付けを表わす関連オブジェクトマッピングシステムテーブル内に第１の関連オブジェクトマッピングシステム記録をさらに格納し、一次データ要素と関連オブジェクトとの間の関連付けは一次リンクとして同定される。システムは、データ系統を用いて、二次データ要素と関連オブジェクトとの間の関連付けをさらに同定し、二次データ要素はデータ系統内の一次データ要素に関する。システムは、データ系統の二次データ要素と関連オブジェクトとの間の関連付けを表わし、かつ一次データ要素と二次データ要素との間の関連付けを表わす関連オブジェクトマッピングシステムテーブル内に第２の関連オブジェクトマッピングシステム記録をさらに格納し、二次データ要素と関連オブジェクトとの間の関連付けは二次リンクとして同定される。
【０００５】
添付の図面と関連して捉えられるべき好ましい実施形態の以下の詳細な説明から、一層の実施形態、詳細、利点、および修正例が明らかになるであろう。
【図面の簡単な説明】
【０００６】
【図１】発明の実施形態を実現することができるシステムのブロック図である。
【図２】発明の実施形態に従う、システムのための論理データモデルのブロック図である。
【図３】発明の実施形態に従う、例示的なデータ系統のブロック図である。
【図４】発明の実施形態に従う、データ系統を表示する例示的なユーザインターフェイスの図である。
【図５】発明の実施形態に従う、システムについての物理的モデルのブロック図である。
【図６】発明の実施形態に従う、データ系統マッピングテーブルのブロック図である。
【図７】発明の実施形態に従う、シャドウテーブルのブロック図である。
【図８】発明の実施形態に従う、データ系統サブシステムの物理的モデルのブロック図である。
【図９】発明の実施形態に従う、関連オブジェクトマッピングテーブルのブロック図である。
【図１０】発明の実施形態に従う、関連情報サブシステムの物理的モデルのブロック図である。
【図１１】発明の実施形態に従う、統合（union）変換の例示的なデータ系統追跡の図である。
【図１２】発明の実施形態に従う、ピボット変換の例示的なソースデータ系統追跡の図である。
【図１３】発明の実施形態に従う、ピボット変換の例示的な目標データ系統追跡の図である。
【図１４】発明の実施形態に従う、アンピボット変換の例示的なソースデータ系統追跡の図である。
【図１５】発明の実施形態に従う、アンピボット変換の例示的な目標データ系統追跡の図である。
【図１６】発明の実施形態に従う、合体（join）変換の例示的なデータ系統追跡の図である。
【図１７】発明の実施形態に従う、ケース変換の例示的なデータ系統追跡の図である。
【図１８】発明の実施形態に従う、データ系統モジュールの機能性のフロー図である。
【図１９】発明の実施形態に従う、関連情報伝播モジュールの機能性のフロー図である。
【発明を実施するための形態】
【０００７】
詳細な説明
１つの実施形態では、データウェアハウス内に格納することができる１組のデータに対して施される１つ以上の変換の道筋を通したータ系統追跡を提供することができるシステムが提供され、１組のデータは１つ以上のテーブル内に格納され、各々のテーブルは１つ以上のデータ記録を含む。「変換」または「データ変換」は、第１の形式の１つ以上のデータ記録を第２の形式の１つ以上のデータ記録に転換することであり、データ記録は１つ以上のデータ値を含むことができる。所与の目標データ要素について、システムは、目標データ要素を発生した１組のソースデータ要素および１組のソースデータ要素から目標データ要素への経路を同定することができ、「データ要素」は、データ記録の列の中に格納されるデータ値を含む。同様に、所与のソースデータ要素について、システムは、ソースデータ要素から導出される正確な組の目標データ要素およびソースデータ要素から目標データ要素の各々への経路を同定することができる。このように、システムは、データウェアハウス内の格納されたデータに加えて、データ系統追跡情報を与えて、格納されたデータの徹底的な分析をさらに容易にすることができる。ある実施形態では、データウェアハウス内の格納されたデータを１つ以上の「データ記録」内に格納することができ、データ系統追跡情報を１つ以上の「システム記録」内に格納することができる。ここで定義されるように、「データ記録」は、データウェアハウスのデータを格納する任意の種類の記録であることができ、「システム記録」は、データ系統追跡情報を格納する任意の種類の記録であることができる。
【０００８】
当該実施形態に従うと、ソースデータ要素から目標データ要素へおよびその逆にデータ系統を追跡するために、システムは、各々の変換毎に以下のデータ系統追跡情報を格納することができる：すなわち、（ａ）１つ以上のソーステーブル定義中の１つ以上の列から、変換によって行なわれるデータ再編成に関するメタデータ情報である「列マッピングデータ」として同定される変換の目標テーブル中の各々の列への１つ以上のメタデータマッピング；（ｂ）１つ以上のソーステーブル中の１つ以上の実際のデータ記録から、「記録マッピングデータ」と同定される変換の実行によってポピュレートされる目標テーブル中の各々の実際のデータ記録への１つ以上のマッピング；および（ｃ）変換の種類などの、変換に特定的な付加的なデータ系統追跡情報、である。変換が定義されるか、または既存の変換プログラムの挙動を記述するように変換を格納することができる場合に、列マッピングデータを格納することができる。そのような変換列マッピングデータは、（ａ）ソーステーブルおよびソース列、（ｂ）目標テーブルおよび目標列、（ｃ）変換の種類、ならびに（ｄ）特定的な変換に必要な付加的な情報を含むことができる。変換によって処理されるデータ記録と関連付けられる記録マッピングデータは、変換が実行されるときに格納することができる。記録マッピングデータは、ａ）ソースデータ記録のアイデンティティ、ｂ）目標データ記録のアイデンティティ、およびｃ）特定的な変換のための付加的な情報を含むことができる。データ記録のアイデンティティは、単一の列であることができるか、または、主キーもしくは固有キーとしても公知である、データテーブル内のデータ記録をその値が一意に同定する複数の列を含むことができる。当該実施形態に従うと、変換の目標テーブル中の各々のデータ記録は、その目標データ記録のための変換で１つ以上の列についてデータを与えたソースデータ記録のアイデンティティを格納することができ、このアイデンティティは「ソースキー」として同定される。ある実施形態では、これらの同定値を、データ記録を同定するのに用いることができる単一の値または「サロゲートソースキー」に組合せることができる。ある実施形態では、サロゲートキーは、ソースデータ記録を目標データ記録に変換するのに用いられる変換に関する付加的な情報を含むことができる。目標データ記録が複数のソースデータ記録からのデータを含有する状況では、目標テーブルを適切な数の列で拡張することができるため、目標データ記録は適切な数のソースサロゲートキーを格納することができる。次にシステムは、列マッピングデータとして格納される対応のソーステーブルと関連付けられる記録マッピングデータおよび目標列を保持する、目標テーブル中の１つ以上のソースサロゲートキー列同士の間の関係を格納することができる。この組合せられたデータをシステムが用いて、データ要素についてのソースまたは目標データ系統追跡を提供することができる。
【０００９】
別の実施形態では、データ要素にリンクされる「関連情報」または「関連オブジェクト」の可視性をサポートし、かつ表示およびアクセスのために関連情報（すなわち関連オブジェクト）を関係するソースデータ要素および目標データ要素に伝播するようにデータ系統追跡情報を強化することができるシステムが提供される。システムは、データについての外部ソースへのデータ系統内の変換の経路を通した外部システムへの関連情報（すなわち関連オブジェクト）のエクスポートもサポートすることができる。
【００１０】
当該実施形態に従うと、「関連オブジェクト」は、データウェアハウス内に格納されるデータ要素と関連付けられる任意の関連情報（すなわち、関連オブジェクトが関連付けられているデータ要素、または既にデータ系統によって関連付けられているデータウェアハウス中の任意の他のデータ要素以外の任意の情報）であることができる。関連オブジェクトの一種が演算オブジェクトである。１つ以上の関連オブジェクトを「関連情報」としても同定することができる。関連オブジェクトの例が「不一致」である。「不一致」は、データ要素の１つ以上の特性が予測される特性から乖離していることの指標である。そのような乖離は、１つ以上のデータ駆動規則に基づいて人が検出するかまたは機械が検出することができる。さらに、システムのユーザが手動で不一致を作成することができるか、または、データの確認の結果、たとえば、システムが自動的に作成することができる。不一致の例はエラー報告である。関連オブジェクトの他の例は、「コメント」、「ステータスフラグ」、「状態インジケータ」、「タグ」、「画像」、「録音録画」、「ファイル」、「リンク」、および「文書」を含むことができるが、これらに限定されない。「コメント」は、データ要素に属するユーザによって入力されるテキストの集まりである。「ステータスフラグ」は、データ要素のステータスの指標である。「状態インジケータ」は、データ要素の状態の指標である。「タグ」は、データ要素に属する語または句である。「画像」は、データ要素に属する画像である。「録音録画」は、データ要素に属する任意の音声または映像の録音録画である。「ファイル」は、データ要素に属するコンピュータファイルである。「リンク」は、データ要素に属するハイパーテキストマークアップ言語（「ＨＴＭＬ」）である。「文書」は、データ要素に属する外部文書である。関連オブジェクトは、データ要素またはデータ記録全体のいずれかにリンクされてもよい。
【００１１】
当該実施形態に従うと、システムは、関連オブジェクトと、関連オブジェクトに関連付けられるデータ要素またはデータ記録との間のリンクを格納することができる。関連オブジェクトが最初に作成されたまたは元から関連付けられていた（というのも、関連オブジェクトは先存する関連オブジェクトであることができるので）データ要素またはデータ記録を一次リンクとしてマークすることができる。システムによって生成されて、データ要素またはデータ記録の上流およびデータ要素またはデータ記録の下流の両者を含むデータ系統内の関連オブジェクトの可視性を提供するリンクを二次リンクとしてマークすることができる。このように、当該実施形態に従うと、不一致などの関連オブジェクトは、データ系統内のデータ要素またはデータ記録の上流およびデータ要素またはデータ記録の下流の両方で可視であることができる。この可視性を提供するため、システムは、（ａ）関連オブジェクトとデータ要素（またはデータ記録）との間の一次リンクを格納し、（ｂ）データ要素（またはデータ記録）のソースおよび目標系統を追跡し、（ｃ）一次データ要素からの、ソースおよび目標追跡中の関連オブジェクトと各データ要素との間の１つ以上の二次リンクを格納し、かつ（ｄ）関連オブジェクト可視性の表示のためのユーザインターフェイスに一次および二次リンク情報の両方を与えることができる。さらに、関連オブジェクトの存在を検出するためにデータ系統を横断することに対して、上流または下流のデータ要素から関連オブジェクトへの直接アクセスを得るために、システムが生成するリンクを用いることができる。
【００１２】
図１は、発明の１つの実施形態を実現することができるシステム１０のブロック図を示す。システム１０は、バス１２またはシステム１０の構成要素同士の間で情報を通信するための他の通信機構を含む。システム１０は、情報を処理しかつ命令または動作を実行するためにバス１２に動作するように結合されるプロセッサ２２も含む。プロセッサ２２は、任意の種類の汎用または特定用途プロセッサであってもよい。システム１０はさらに、プロセッサ２２によって実行すべき命令および情報を格納するためのメモリ１４を含む。メモリ１４は、ランダムアクセスメモリ（「ＲＡＭ」）、読出専用メモリ（「ＲＯＭ」）、磁気もしくは光学ディスクなどの静的記憶装置、または任意の他の種類の機械もしくはコンピュータ読出可能媒体の任意の組合せを備えることができる。システム１０はさらに、ネットワークへのアクセスを与えるように、ネットワークインターフェイスカードまたは他の通信インターフェイスなどの通信装置２０を含む。その結果、ユーザは、直接にまたはネットワークもしくは任意の他の方法によって遠隔に、システム１０とインターフェイスし得る。
【００１３】
コンピュータ読出可能媒体は、プロセッサ２２によってアクセス可能な任意の利用可能な媒体であってもよい。コンピュータ読出可能媒体は、揮発性および不揮発性媒体の両方、取外し可能なおよび取外し不可能な媒体、通信媒体、ならびに記憶媒体を含んでもよい。通信媒体は、コンピュータ読出可能命令、データ構造、プログラムモジュール、または搬送波もしくは他の伝送機構などの変調データ信号中の他のデータを含んでもよく、当該技術分野で公知の任意の他の形態の情報送達媒体を含んでもよい。記憶媒体は、ＲＡＭ、フラッシュメモリ、ＲＯＭ、消去可能プログラマブル読出専用メモリ（「ＥＰＲＯＭ」）、電気的消去可能プログラマブル読出専用メモリ（「ＥＥＰＲＯＭ」）、レジスタ、ハードディスク、取外し可能ディスク、コンパクトディスク読出専用メモリ（「ＣＤ−ＲＯＭ」）、または当該技術分野で公知の任意の他の形態の記憶媒体を含んでもよい。
【００１４】
プロセッサ２２は、バス１２を介して液晶ディスプレイ（「ＬＣＤ」）などのディスプレイ２４に動作するように結合されることもできる。ディスプレイ２４はユーザに対して情報を表示することができる。キーボード２６およびコンピュータマウスなどのカーソル制御装置２８もバス１２に動作するように結合されて、ユーザがシステム１０とインターフェイスできるようにすることができる。
【００１５】
１つの実施形態に従うと、メモリ１４は、プロセッサ２２によって実行されると機能性を提供し得るソフトウェアモジュールを格納することができる。モジュールは、オペレーティングシステム１５、関連情報伝播モジュール１６、および他の機能モジュール１８を含むことができる。オペレーティングシステム１５は、システム１０のためのオペレーティングシステム機能性を提供することができる。関連情報伝播モジュール１６は、以下により詳細に記載するように、関連情報の可視性を伝播させるための機能性を提供することができる。ある実施形態では、関連情報伝播モジュール１６は複数のモジュールを備えることができ、各々のモジュールは関連情報の可視性を伝播させるための特定的な個々の機能性を提供する。システム１０はより大きなシステムの一部であることもできる。このように、システム１０は、付加的な機能性を含むように１つ以上の付加的な機能モジュール１８を含むことができる。たとえば、機能モジュール１８は、オラクルコーポレイションからの「Oracle Life Sciences Data Hub」製品のモジュールなどの付加的な機能性を提供するモジュールを含んでもよい。１つの実施形態では、機能モジュール１８は、以下により詳細に記載するように、データ系統を追跡するための機能性を提供することができるデータ系統モジュールを含んでもよい。
【００１６】
プロセッサ２２は、バス１２を介してデータベース３４に動作するように結合されることもできる。データベース３４は論理的に関連したデータ記録、システム記録、またはデータファイルの集積された集合の中のデータを格納することができる。データベース３４は、演算データベース、分析データベース、データウェアハウス、分散データベース、エンドユーザデータベース、外部データベース、ナビゲーションデータベース、メモリ内データベース、ドキュメント指向データベース、リアルタイムデータベース、リレーショナルデータベース、オブジェクト指向データベース、データ管理ワークベンチ、または当該技術分野で公知の任意の他のデータベースであることができる。
【００１７】
図２は、発明の実施形態に従う、システムのための論理データモデルのブロック図を示す。論理データモデルは、データ系統伝播モジュール２００を含むことができる。データ系統伝播モジュール２００は、以下により詳細に記載するように、データ系統を追跡するための機能性および関連情報の可視性を伝播するための機能性を提供することができるモジュールである。ある実施形態では、データ系統伝播モジュール２００は、データ系統を追跡するための機能性を提供する別個のデータ系統モジュールと、関連情報の可視性を伝播するための機能性を提供する別個の関連情報伝播モジュールとを含むことができる。
【００１８】
当該実施形態に従うと、データ系統伝播モジュール２００は、記録マッピングデータ２０５、列マッピングデータ２１０、および関連オブジェクトマッピングデータ２１５を発生することができる。先に記載したように、記録マッピングデータ２０５は、変換の目標テーブル中のデータ記録中に格納されるソースサロゲートキー（すなわち、ソースデータ記録のアイデンティティ）を含む。これも先に記載したように、列マッピングデータ２１０は、変換のソーステーブルおよび列、変換の目標テーブルおよび列、変換の種類、ならびに変換に必要な任意の付加的な情報を含む。さらに、列マッピングデータ２１０を変換定義から導出することができる。最後に、これも先に記載したように、関連オブジェクトマッピングデータ２１５は、関連オブジェクトと（一次リンクとして同定された）関連オブジェクトと関連付けられるデータ要素またはデータ記録との間のリンクを含む。関連オブジェクトマッピングデータ２１５は、データ系統伝播モジュール２００によって生成されて（二次リンクとして同定される）上流および下流データモデル中の関連オブジェクトの可視性を提供するリンクも含む。そのような可視性は、データ表示において関連オブジェクトと関連付けられるデータ要素またはデータ記録を特に視覚的に同定するための関連オブジェクトの効率的なアクセスを含むことができる。データ系統伝播モジュール２００はさらに、公開アプリケーションプログラミングインターフェイス（「ＡＰＩ」）２２０を含むことができる。公開ＡＰＩ２２０は、システムのユーザが列マッピングデータをデータ系統伝播モジュール２００に入力することができるように設けることができるＡＰＩである。これによりユーザは、カスタム手続型言語／構造化問合せ言語（「ＰＬ／ＳＱＬ」）プログラムまたはカスタム統計分析システム（「ＳＡＳ」）プログラムなどのカスタムコンピュータプログラムを用いてデータについてのマッピングを格納できるようになる。
【００１９】
当該実施形態に従うと、論理データモデルはさらに、変換モジュール２２５、確認モジュール２３０、およびクエリービルダ２３５を含むことができる。変換モジュール２２５は、マッピングされたデータの一意なソースを同定し、ソースサロゲートキーを１つ以上の目標データテーブルの定義に追加することができる。さらに、１つ以上の変換定義に基づいて、変換モジュール２２５は、１つ以上の変換についての列マッピングデータ２１０を格納することができる。変換モジュール２２５はさらに、同定されるカスタム変換についてのカスタム列マッピングデータをユーザが変換モジュール２２５に与えられるようにすることができる。変換モジュール２２５は確認モジュール２３０およびクエリービルダ２３５を実現することができ、確認モジュール２３０は、１つ以上のデータ記録を読出し、１つ以上のデータ記録のデータ値をテストし、かつデータ値についての１つ以上の不一致を作成することができ、クエリービルダ２３５は、変換と同じ目標列マッピングへのメタデータソース列を維持しながら、１つ以上のデータテーブルから入来するデータのクエリーまたはデータベースビューを構築することができる。ある実施形態では、変換マッピングデータは「好ましいソース経路」も含むことができる。変換の目標列が複数の直近のソース列を有する場合、１つの列を好ましいソース列として同定することができる。この情報を列マッピングデータ２１０の一部として追跡することができる。このように、「好ましいソース経路」は、好ましいソース列の変換を通る経路である。換言すると、好ましいソース経路は、複数の可能なソース経路から、他の可能なソース経路よりも好ましいとして同定される単一のソース経路である。これは、クエリーを添付するための単一のソースデータ要素またはソースデータを与えたソースシステムに送られ得る他の関連オブジェクトに一意な経路を与えるように行なうことができる。
【００２０】
（変換実行処理２４０として図２に図示される）変換の実行の間、記録マッピングデータ２０５を１つ以上のソースサロゲートキーの中に格納することができ、１つ以上のサロゲートキーを、（図２にデータテーブル２４５として図示される）変換の１つ以上の目標テーブルの１つ以上の補助列の中に格納することができる。当該実施形態に従うと、記録マッピングデータ２０５および列マッピングデータ２１５と他のデータ系統追跡情報との組合せを用いて、以下にさらに詳細に記載するように、（図２に系統追跡２５０として図示される）ソースまたは目標データ要素のデータ系統の追跡を表示することができる。
【００２１】
当該実施形態に従うと、論理データモデルはさらに、関連オブジェクトモジュール２５５およびアダプタ２６０を含むことができる。関連オブジェクトモジュール２５５は、各関連オブジェクト毎に関連オブジェクトマッピングデータ２１５内にデータを入力することができる。関連オブジェクトマッピングデータ２１５からのデータを用いて、（図２にはハイライト関連オブジェクト２５０として図示される）データ要素に関連付けられる関連オブジェクトを有する１つ以上のデータ要素の表示を視覚的にハイライトすることができる。ある実施形態に従うと、関連オブジェクトモジュール２５５は、関連オブジェクトに関連付けられる各データ要素毎に好ましいソース経路を要求することができる。さらに、アダプタ２６０を用いて、１つ以上の関連オブジェクトをシステム内に作成することができる。アダプタ２６０は、関連オブジェクトモジュール２５５を用いてシステム内の１つ以上の関連オブジェクトを作成することができ、次に関連オブジェクトモジュール２５５は、データ系統伝播モジュール２００を用いて、ソースまたは目標データ要素のデータ系統の追跡内で関連オブジェクトの可視性を伝播することができる。ある実施形態では、論理データモジュールはさらに、１つ以上のデータテーブルからの１つ以上のデータ要素を表示しかつ１つ以上のデータ要素と関連付けられる１つ以上の関連オブジェクトの存在をハイライトする（図２には図示しない）付加的なモジュールを含むことができる。
【００２２】
図３は、発明の実施形態に従う、例示的なデータ系統のブロック図を示す。ある実施形態に従うと、システムは、データウェアハウス内に格納されるデータのデータ系統の追跡を生成することができる。このデータ系統追跡内で、システムのユーザは、目標テーブル中のデータ要素を選択し、選択されたデータ要素の導出元である１つ以上のソースデータ要素への１つ以上の変換ステップを通した上流への追跡を要求することができる。さらに、ユーザは、ソーステーブル中のデータ要素を選択して、選択されたデータ要素から導出される１つ以上の目標データ要素への１つ以上の変換ステップを通した下流への追跡を要求することができる。変換に関して、当該実施形態に従うと、異なる種類の変換が存在することができる。そのような変換の種類は、（ａ）（おそらくはフィルタおよび／または導出を含む）直接マッピング変換、（ｂ）統合変換、（ｃ）（おそらく単一のおよび／または繰返しデータを含む）合体変換、（ｄ）横縦アンピボット変換、および（ｅ）縦横ピボット変換を含むことができる。異なる変換の種類を以下により詳細に記載する。ある実施形態では、複数段階変換のためにデータを格納するように作成される１つ以上の段階実施テーブルを通してデータ系統を含むようにデータ系統追跡を生成することができる。当該実施形態に従うと、段階実施テーブルは、必要に応じて１つ以上の変換のために利用することができるデータウェアハウスのテーブルであり、複数段階変換シナリオのための中間格納構造として働く目的を果たすことができる。
【００２３】
直接マッピング変換は、ソーステーブル中のソースデータ記録の１つ以上の列を目標テーブルの目標データ記録中で名称変更するおよび／または並べ替える変換である。ある実施形態では、ソーステーブル中のソースデータ記録の１つ以上の列を直接マッピング変換内で変更せずに伝播させることができる。統合変換は、目標テーブルが２つ以上のソーステーブルからの１つ以上のソースデータ記録の一部またはすべてを含むように、２つ以上のソーステーブルからの１つ以上のソースデータ記録を単一の目標テーブルの２つ以上の目標データ記録に組合せる変換である。合体変換は、目標テーブルの目標データ記録が２つ以上のソーステーブルからの１つ以上のソースデータ記録のすべての列を含むように、２つ以上のソーステーブルからの１つ以上のソースデータ記録を単一の目標テーブルの単一の目標データ記録に組合せる変換である。
【００２４】
さらに、横縦アンピボット変換は、ソーステーブルからの１つ以上のソースデータ記録を目標テーブルの１つ以上の目標データ記録に転換し、各々のソースデータ記録の１つ以上の列の各組を目標テーブルの別個の目標データ記録に変換する変換である。たとえば、ソーステーブルが列Ａ、Ｂ、Ｃを含む単一のソースデータ記録を有する場合、アンピボット変換は、ソースデータ記録を、３つの目標データ記録、すなわち、列Ａを含む第１の目標データ記録、列Ｂを含む第２の目標データ記録、および列Ｃを含む第３の目標データ記録、に変換する。縦横ピボット変換は、ソーステーブルからの１つ以上のソースデータ記録を目標テーブルの目標データ記録に転換し、１つ以上のソースデータ記録を単一の目標データ記録に組合せる変換である。たとえば、ソーステーブルが、３つのソースデータ記録、すなわちデータ記録１、データ記録２、およびデータ記録３を含む場合、ピボット変換は、３つのソースデータ記録を、データ記録１、２、および３の列のうち１つ以上を含む単一の目標データ記録に変換する。ケース変換は、目標データ記録のデータ値が、条件に基づいて異なるソーステーブルからであり得る１つ以上のソース列からポピュレートされる変換である。
【００２５】
ある実施形態に従うと、システムのユーザインターフェイス内での表示のためにデータ系統追跡情報を利用可能にすることができる。例示的な実施形態に従ってユーザインターフェイスに与えることができる情報をここでより詳細に記載する。選択されたデータ要素のソース系統については、選択されたデータ要素を発生したデータ要素の階層を与えることができる。これは、すべての関連変換を通してデータウェアハウス中の生のソースデータへ遡って横断するデータ要素の経路である。経路はデータを通るいくつかの経路分岐を含むことができる。同様に、選択されたデータ要素の目標系統については、選択されたデータ要素から導出されるデータ要素の階層を与えることができる。
【００２６】
当該実施形態に従うと、以下の属性のうち１つ以上を経路中の各データ要素毎に与えることができる：すなわち、（ａ）階層内のデータ要素の配置（たとえば、データ要素のアイデンティティおよび階層内のその親データ要素のアイデンティティ）；（ｂ）データモデル名；（ｃ）テーブル名；（ｄ）列名；（ｅ）データ要素のデータ種類；（ｆ）データ要素の値；（ｇ）好ましいソースルート（はいまたはいいえ）；（ｈ）主キー；（ｉ）データがマスクされたデータである（あり得る）か否かのインジケータ；（ｊ）データが内部段階実施テーブルからのものであるか否かのインジケータ；（ｋ）１つ以上の関連オブジェクト（不一致など）がデータ要素に主にリンクされていることのインジケータ；または（ｌ）基礎となるデータ（たとえば、テーブルオブジェクトアイデンティティ、列オブジェクトアイデンティティ、サロゲートキー値、および任意の他の関係のデータ）、である。「データモデル」は、データウェアハウスの１つ以上のデータテーブルと関連付けられるデータスキーマである。
【００２７】
図３は、発明の実施形態に従う、一連の医学的研究に関する患者データのデータ系統を図示する。しかしながら、他の実施形態では、データは、任意の種類の生命科学または医療データであることができる。さらに、他の実施形態では、データは任意の種類のデータであることができる。図３に示される実施形態に従うと、データウェアハウスは、ソースデータモデル３１０、全現場データモデル３２０、検討データモデル３３０、および分析データモデル３４０の４つのデータモデルを含むことができる。ソースデータモデル３１０は、人口統計テーブル３１１、現場Ａ訪問テーブル３１２、および現場Ｂ訪問テーブル３１３の３つのテーブルを含む。人口統計テーブル３１１は、研究におけるすべての被験者の人口統計データを含み、人口統計データは各々の被験者の身長および身長の単位を含む。現場Ａ訪問テーブル３１２は、研究現場Ａにおける各被験者毎の訪問当たりの１つのデータ記録（すなわち訪問データ）を含み、訪問データは被験者の体重および体重の単位を含む。現場Ｂ訪問テーブル３１３は、研究現場Ｂにおける各被験者毎の訪問当たりの１つのデータ記録（すなわち訪問データ）を含み、訪問データは被験者の体重および体重の単位を含む。全現場データモデル３２０は、訪問テーブル３２１という１つのテーブルを含む。訪問テーブル３２１は、現場Ａ訪問テーブル３１２内に含まれる訪問データと現場Ｂ訪問テーブル３１３内に含まれる訪問データとの統合変換によって作成される現場Ａ訪問テーブル３１２と現場Ｂ訪問テーブル３１３との統合である。検討データモデル３３０はマイルストーン訪問テーブル３３１という１つのテーブルを含む。マイルストーン訪問テーブル３３１は、ソースフィルタ変換を用いて、訪問テーブル３２１内に含む訪問データから導出される各患者毎の重要な訪問のサブセットである（たとえば、各被験者毎の訪問１、４、７、および１０）。分析データモデル３４０はＢＭＩテーブル３４１という１つのテーブルを含む。ＢＭＩテーブル３４１は、人口統計テーブル３１１内に含まれる人口統計データとマイルストーン訪問テーブル３３１内に含まれる訪問データとの合体変換によって作成される人口統計テーブル３１１とマイルストーン訪問テーブル３３１との合体であり、体格指数（「ＢＭＩ」）値は、被験者の体重、体重の単位、身長、および身長の単位を用いた導出である。
【００２８】
図４は、発明の実施形態に従う、データ系統４００を表示する例示的なユーザインターフェイスを示す。例示的な実施形態に従うと、図３のＢＭＩテーブル３４１は以下のデータを含むことができる。
【００２９】
【表１】
0006306599.tif 000002
【００３０】
当該実施形態に従うと、システムは、システムのユーザインターフェイス内に上記データを表示することができる。システムのユーザは、女性、年齢４２歳、ＢＭＩ値３３．３である被験者１００７についてソースデータを調査したいかもしれない。ユーザは、ユーザインターフェイス内で被験者１００７についてのデータ値３３．３を選択し、ユーザがデータ値のソースデータ系統を検討することを望んでいると示すことができる。応答して、システムは、ユーザインターフェイス内に図４のデータ系統４００を表示することができ、これをさらにより詳細に説明する。
【００３１】
図示される実施形態に従うと、データ系統４００は、複数の行（すなわち、行４０１、４０２、４０３、４０４、４０５、４０６、４０７、４０８、および４０９）を含み、各行はソースデータ要素のうち１つについての情報を含む。行は、図３に示される変換の組を通る経路を横断する。このように、直近の上位データ要素は、データ系統４００内で選択されたデータ要素よりも下の階層レベルに存在し、それらの上位が同様の態様に従う。このように、階層経路は、選択されたデータ要素に最も近いデータ要素から上流へ、生のソースデータ要素へと横断される。したがって、図４に示される実施形態では、行４０１が選択されたデータ要素（すなわち、被験者１００７についてのデータ値３３．３）を表わす。行４０２、４０３、４０４、および４０７は、行４０１によって表わされるデータ要素についての直近の上位データ要素を表わす。このように、行４０１によって表わされる選択されたデータ要素の直近の上位テーブルは、図３の人口統計テーブル３１１およびマイルストーン訪問テーブル３３１である。行４０５は、行４０４によって表わされるデータ要素についての直近の上位データ要素を表わす。行４０６は、行４０５によって表わされるデータ要素についての直近の上位データ要素を表わす。行４０８は、行４０７によって表わされるデータ要素についての直近の上位データ要素を表わす。行４０９は、行４０８によって表わされるデータ要素についての直近の上位データ要素を表わす。このように、行４０４によって表わされるデータ要素および行４０７によって表わされるデータ要素の直近の上位テーブルは訪問テーブル３２１である。さらに、４０５によって表わされるデータ要素および行４０８によって表わされるデータ要素の直近の上位テーブルは現場Ｂ訪問テーブル３１３である。データ系統４００はソースデータ系統の例であるが、代替的な実施形態では目標データ系統をユーザインターフェイス内に表示することができ、選択されたデータ要素についての１つ以上の下位データ要素を表示することができ、目標データ系統は複数の行を含み、各行は目標データ要素のうち１つについての情報を含む。
【００３２】
データ系統４００はさらに複数の列（すなわち列４１０、４２０、４３０、４４０、および４５０）を含む。列４１０は、データ要素のデータモデル名、テーブル名、および列名を表わす。列４２０はデータ要素のデータ値を表わす。列４３０はデータ要素のデータ種類およびサイズを表わす。列４４０はデータ要素が好ましいソース経路の一部であるか否か（すなわち「はい」または「いいえ」）の指標を表わす。列４５０はデータ要素についての主キー値を表わす。
【００３３】
このように、データ系統４００はデータ要素の階層を表示するツリーテーブルであることができ、列の見出しは静的であり、ユーザはツリーテーブル構成要素を用いて階層の部分を開くまたは閉じることができる。さらに、１つの実施形態では、（図４にデータ要素４６０として図示される）関連オブジェクトにリンクされるデータ要素を背景色でハイライトすることができる。ハイライトされた背景色はデータ要素と関連オブジェクトとの間の一次リンクを表わすことができる。一次リンクのインスタンスでは、ユーザはハイライトされたデータ要素を選択し、データ要素にリンクされた関連オブジェクトの詳細を表示するよう要求することができる。
【００３４】
１つ以上の実施形態では、データ系統４００が内部段階実施テーブルを通る経路を含めば、対応するデータ値を（図４には図示しない）星印などの記号でマークすることができる。さらに、データ系統４００の下に脚注を表示して記号の意味を説明することができる。加えて、１つの実施形態では、データ要素が、セキュリティがテーブルまたは列に適用されているテーブルまたは列からのものであり、かつマスクされたデータが実際のデータの代わりに表示されているのであれば、データ要素を（図４には記号４７０として図示される）記号「§」などの記号でマークすることができる。さらに、データ系統４００の下に脚注を表示して記号の意味を説明することができる。さらに、１つの実施形態では、データに適用されているセキュリティのために（上流または下流のいずれかの）追跡の経路中のデータのうちの一部へのアクセスをユーザが有していないために、またはデータ記録がテーブルから削除されて削除が下流のテーブルにまだ伝播されていないために、完全なデータ系統追跡を完了することができないことがある。いずれの場合も、当該実施形態に従うと、ユーザインターフェイスは、（図４には図示しない）データ追跡が終了されたことを示すメッセージを表示することができる。
【００３５】
このように、１つの実施形態では、システムのユーザは、データブラウザを通してデータ一覧ページへ移動してユーザインターフェイス内に表示されるデータグリッド上のデータ要素を選択することができる。「データグリッド」は、データテーブルの行および列またはデータのビューを提示する表示である。データ要素を選択する際、ユーザは、選択されたデータ要素の導出元であるソースデータをユーザが見たいと示すことができる。応答して、システムは、ソースデータ要素の集合を入手して、各ソースデータ要素毎にデータモデル、テーブル、および列についての対応の情報とともにソースデータ要素値の集合を表示することができる。選択されたデータ要素についてのソースデータを構成する経路のツリーとして集合をユーザインターフェイス中に表示することができるように集合が編成されかつ集合が情報を含むことができる。好ましいソース経路を表示できるように情報を含むこともできる。
【００３６】
別の実施形態では、ユーザは、データブラウザを通してデータ一覧ページへ移動してユーザインターフェイス内に表示されるデータグリッド上のデータ要素を選択することができる。データ要素を選択する際、ユーザは、選択されたデータ要素から導出される目標データをユーザが見たいと示すことができる。応答して、システムは、目標データ要素の集合を入手して、各目標データ要素毎のデータモデル、テーブル、および列についての対応の情報とともに目標データ要素値の集合を表示することができる。選択されたデータ要素についての目標データを構成する経路のツリーとして集合をユーザインターフェイス中に表示できるように、集合が編成されかつ集合が情報を含むことができる。
【００３７】
さらに、関連オブジェクトに関して、１つの実施形態では、データウェアハウス内に作成されるかまたはそうでない場合はデータウェアハウスのデータ要素と関連付けられる関連オブジェクトを、これらのオブジェクトが異なる関連モデルに伝播されたかのように上流または下流データモデルで閲覧することができる。システムは、１つのデータモデル中に作成された関連オブジェクトを他のデータモデル中のその対応のソースおよび目標データ要素と自動的に関連付けることができる。ソースおよび目標データモデル中の関連オブジェクトとデータ要素との間の関連付けをシステムのユーザインターフェイス内に表示することができ、関連オブジェクトの存在を関連データ要素および関連オブジェクトカテゴリとともに表示することができる。さらに、目標データ要素を導出するのに複数のソースデータ要素を用いる場合、変換定義の間にソースデータ要素のうちの１つを好ましいソースデータ要素として選択することができる。好ましいソースデータ要素は、ソースデータを通して上流にデータ系統経路を形成することができる。最も上流のソースデータ要素を用いて関連オブジェクトを外部システムにエクスポートすることができる。さらに、関連オブジェクトと関連付けられたデータが更新されると、データが更新されたことを示すように関連オブジェクトの１つ以上のフラグを設定可能である。
【００３８】
先に説明したように、データ系統４００を表示するユーザインターフェイス内での表示のために、データ要素と関連オブジェクトとの間のリンクを利用可能にすることができる。データ要素またはデータ記録と関連付けられる関連オブジェクトを有するデータ要素またはデータ記録を同定するためのシステムがユーザインターフェイスに与える情報をさらにより詳細にここで説明する。システムは情報をユーザインターフェイスに与えることができ、これによりデータ要素と関連付けられた関連オブジェクトを有する各々のデータ要素を表示においてハイライトする。これは、関連オブジェクトが元々作成されるかまたはそれ以外のやり方で関連付けられる（すなわち一次リンク）テーブルの中のデータ要素を含むことができる。
【００３９】
１つの実施形態では、システムは、（ａ）（関連オブジェクトおよびそのプロパティにアクセスするのに用いることができる）関連オブジェクトアイデンティティ、（ｂ）（テーブルオブジェクトアイデンティティ、列オブジェクトアイデンティティ、およびサロゲートキーなどの）データ要素参照、（ｃ）データ要素と関連付けられる関連オブジェクトが一次リンクであるかまたは二次リンクであるかの指標、（ｄ）リンクが（二次リンクのための）一次データ要素のソース経路または目標経路の中にあるか否かの指標、および（ｅ）関連オブジェクトの状態を与えることができる。当該実施形態に従うと、データ要素４６０によって図４に示されるように、システムは、背景色でデータ要素をハイライトして、データ要素が関連オブジェクトにリンクされていることを示すことができる。システムは、第１の背景色を用いてデータ要素をハイライトして一次リンクを示すことができる。これに代えて、システムは、第２の背景色を用いてデータ要素をハイライトして二次リンクを示すことができる。先に説明したように、ユーザは、関連オブジェクトがリンクされているデータ要素のソースまたは目標系統を要求することができる。ユーザが関連オブジェクトへの一次リンクを含むデータ要素に到達すると、ユーザは、関連オブジェクトの１つ以上の特性を含む関連オブジェクトを閲覧することができる。ユーザは、関連オブジェクトを外部ソースにエクスポートすることもできる。代替的な実施形態では、データ要素を色でハイライトしてデータ要素が関連オブジェクトに関連付けられていることを示すよりもむしろ、システムは代替的な指標を用いることができる。代替的な指標のいくつかの例は、アイコン、色付けされた境界、または音声指標を含むが、これらに限定されない。
【００４０】
このように、１つの実施形態では、システムのユーザは、データ一覧へ移動し、ユーザインターフェイス内に表示されるデータグリッド上のデータ要素を選択し、関連オブジェクトを作成し、選択されたデータ要素と関連オブジェクトとを関連付けることができる。次にシステムは、関連オブジェクトを、選択されたデータ要素に関するデータ要素と関連付けることができる。システムは新たに作成された関連オブジェクトを選択されたデータ要素にリンクさせ、リンクを一次リンクとして指定することができる。システムはさらに、データウェアハウス内の既存の変換と関連付けられる列マッピングデータおよび記録マッピングデータを用いることにより、選択されたデータ要素についてのすべてのソースおよび目標データ要素を帰納的に見つけることができる。システムはその後、同じ関連オブジェクトを関係のソースおよび目標データ要素にリンクさせてこれらのリンクを二次リンクとして指定することができる。このように、各々の関係のソースまたは目標データモデルにおいて、関連オブジェクトへの二次リンクを有するデータ要素をシステムのユーザインターフェイス内でハイライトすることができる。
【００４１】
別の実施形態では、システムのユーザはデータ一覧へ移動することができ、システムは関連オブジェクトと一次ソースデータとの間の一次リンクおよび二次リンクを与えることができる。システムはさらに、各々の関連オブジェクトの状態などの関連オブジェクトからのプロパティを入手して表示をフィルタすることができる。また別の実施形態では、ユーザは、１つ以上の関連オブジェクトへのリンクを含むデータ要素を削除することができる。システムは、削除されたデータに関連付けられている関連オブジェクトへの一次および／または二次リンクを外すことができる。一次リンクについてのデータが削除されると、システムは、データ要素と関連付けられている関連オブジェクトへの一次および二次リンクを外すことができ、システムは関連オブジェクトを削除することができる。二次リンクについてのデータが削除されると、システムは二次リンクを外し、それ以上のリンクを外す（および必要に応じて任意のそれ以上のリンクを外す）べきか否かを判断することができる。より一層の実施形態では、システムは、ユーザが、列マッピングデータおよび関連オブジェクトの可視性をサポートするリンク済関連オブジェクトにアクセスできるクエリーを作成できるようにする。
【００４２】
（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールについての制御の流れにおいて、１つの実施形態に従うと、１つ以上のデータモデルをデータウェアハウス内に定義することができる。各データモデル毎のメタデータが作成されるかまたはロードされる。（図２の変換モジュール２２５などの）変換モジュールを用いて１つ以上の目標テーブルについて１つ以上の変換が定義される。必要に応じて、特定の変換のために、各目標テーブルに１つ以上の補助列が追加される。これらの補助列を以下により詳細にさらに説明する。その後、データ系統マッピングテーブルは、データウェアハウスの１つ以上のデータテーブル内に格納されるデータとは区別される列マッピングに関するデータ系統追跡情報（すなわちメタデータ情報）でポピュレートされる。なお、データ系統マッピングテーブルを以下により詳細にさらに説明する。補助列アイデンティティは列マッピングメタデータの一部であり、これにより、マッピングされた目標列を、マッピングされたソース列についてのソーステーブル記録のアイデンティティを保持する補助列とリンクさせることができる。１つ以上のデータモデルに１つ以上のテーブルがインストールされる。１つ以上のソーステーブルがデータでロードされる。変換が実行され、１つ以上の目標テーブルをポピュレートする。１つ以上の目標テーブルがデータでロードされた後に、データウェアハウスの１つ以上のデータテーブル内に格納されるデータからこれも区別されるデータ系統追跡情報（すなわち記録マッピング情報）でシャドウテーブルがポピュレートされるかまたは更新される。なお、シャドウテーブルを以下により詳細にさらに説明する。最終的に、関連オブジェクトについての１つ以上の二次リンクがデータ内で伝播される。関連オブジェクトの存在を検出するためにデータ系統マッピングテーブルおよびシャドウテーブルのデータ系統追跡情報を横断することなく、二次リンクを用いて関連オブジェクトとの上流または下流データ要素の関連付けを入手することができる。
【００４３】
このように、ある実施形態に従うと、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、１つ以上の関連付けを維持することができ、２種類のオブジェクト、すなわち、（ａ）テーブル中のデータ記録のデータ要素、および（ｂ）テーブル中の完全なデータ記録、同士の間を追跡することができる。（ａ）に関して、データ要素を一意に同定するため、およびデータ要素を入手するのに必要な場合にインストールされたオブジェクトの名前を追跡するためにも、（１）データウェアハウスのデータモデルを同定するモデルオブジェクトアイデンティティ、（２）データウェアハウスのテーブルを同定するテーブルインスタンスオブジェクトアイデンティティ、（３）サロゲートキーを同定したサロゲートキー値、および（４）テーブルの列を同定する列オブジェクトアイデンティティを用いることができる。（ｂ）に関して、データ記録内の特定的なデータ要素よりもむしろ、いくつかの関連オブジェクトをデータ記録にリンクさせることができる。このシナリオでは、データ記録内に特定的な列が存在しないので、テーブルの列を同定する列オブジェクトアイデンティティよりもむしろ、サロゲートキーについての列オブジェクトアイデンティティを用いる。このように、（１）データウェアハウスのデータモデルを同定するモデルオブジェクトアイデンティティ、（２）データウェアハウスのテーブルを同定するテーブルインスタンスオブジェクトアイデンティティ、（３）サロゲートキーを同定したサロゲートキー値、および（４）サロゲートキーについての列オブジェクトアイデンティティを用いてデータ記録を一意に同定することができる。代替的な実施形態では、（データウェアハウスのすべてのデータモデルにわたって）データウェアハウスのテーブルを一意に同定する一意なテーブル識別子を用いてデータ記録を一意に同定することができる。
【００４４】
さらに、当該実施形態に従うと、データ系統伝播モジュールは、関連オブジェクトとの関連付けを維持しかつこれを伝播する。データ系統伝播モジュールはさらに、（ａ）１つ以上のソースまたは目標データ要素への特定的なデータ要素のマッピング（すなわち、データ系統追跡可能性）、および（ｂ）関連オブジェクトとデータ要素またはデータ記録との間のマッピング（すなわち、関連オブジェクト可視性）という２種類の関係マッピングをさらに与える。
【００４５】
当該実施形態に従うと、データ系統追跡可能性を与えるため、データ系統伝播モジュールは、１つ以上のテーブルがデータウェアハウスを用いて定義された後に、データ系統追跡情報でデータ系統マッピングテーブルをポピュレートする。なお、データ系統マッピングテーブルをさらに以下により詳細に説明する。１つ以上の変換がデータウェアハウス内で実行されると、１つ以上の補助列がポピュレートされ、シャドウテーブルが１つ以上のデータ要素のデータ系統を追跡するためのデータ系統追跡情報でロードされる。なお、補助列およびシャドウテーブルをさらに以下により詳細に説明する。関連オブジェクトが作成されるおよび／またはデータ要素と関連付けられると、データ系統伝播モジュールは、他のプロセスによる効率的な視覚化のためにソースおよび目標データ要素と関連付けられる関連オブジェクトをインデックス付けすることができる。このように、データ系統マッピングテーブルおよびシャドウテーブルのデータ系統追跡情報を横断せずに、関連オブジェクトとの上流または下流データ要素の関連付けを直接に入手することができる。
【００４６】
データモデルおよび変換定義フェーズの間、変換の目標テーブルを同定することができ、１つ以上のメタデータ定義として同定されたテーブルに１つ以上の補助列を追加することができる。補助列の数は変換の種類に依存することができる。１つ以上の補助列の主な用途は、変換のソーステーブルからのソースサロゲートキー値を格納することである。先に説明したようなサロゲートキーはデータ記録のアイデンティティであり、ソースサロゲートキーはソースデータ記録のアイデンティティである。１つ以上の補助列を、１つ以上のソースサロゲートキー値または変換に適切な他のデータ値でポピュレートすることができる。データ系統伝播モジュールは、補助列内に格納されたサロゲートキー値（または他の適切なデータ値）を用いて、目標データに寄与するソースデータ要素の経路を通って遡って追跡することができる。
【００４７】
先に説明したように、必要に応じて、特定的な変換のために１つ以上の目標テーブルに１つ以上の補助列を追加することができる。異なる種類の変換のために追加することができる補助列の例は以下のとおりである。
【００４８】
【表２】
0006306599.tif 000003
【００４９】
当該実施形態に従うと、データ要素のデータ系統を追跡することは１つ以上のサロゲートキーに依存する。各々のテーブルは、テーブルについてのインデックス付けされた一意なキーとして働くことができるサロゲートキー列を含むことができる。変換の目標テーブルからソーステーブルへ遡って追跡するために、ソーステーブルからのサロゲートキーを目標テーブルの中に格納する。単純な変換の例では、目標テーブル中の選択されたデータ要素についてのソースデータ要素を追跡するため、（以下により詳細に記載する）データ系統マッピングテーブルの中で目標テーブルをルックアップして、ソーステーブル、ソース列、およびソースサロゲートキーが格納される補助列を入手する。補助列を用いてソースサロゲートキーの値が入手され、選択されたデータ要素を含有する目標テーブル記録の中に格納される。ソーステーブル、ソース列、およびソースサロゲートキー値を用いて、選択された目標データ要素についてのソースデータ値を見出す。より複雑な変換のためのデータ系統追跡を以下により詳細に説明する。
【００５０】
選択されたソースデータ要素についての目標データ要素を追跡するため、（以下により詳細に記載する）シャドウテーブルとして同定されるデータ系統追跡情報の別個のテーブルを維持する。シャドウテーブルは、目標データ記録へのソースデータ記録の１つ以上のマッピングを含む。より具体的には、シャドウテーブルは、列とソースキーとの間のメタデータ関係を同定する文脈マップとともに特定のソースキーを用いて、非正規化ソース記録−目標記録マッピングを含むことができる。このように、当該実施形態に従うと、変換の実行の終わりに、シャドウテーブルは、データ系統マッピングテーブルを用いて、目標データ要素をソースデータ要素から追跡できるようにするマッピングデータのインデックス付け版を与える１つ以上のシステム記録を含むことができる。
【００５１】
図５は、発明の実施形態に従う、システムについての物理的モデルのブロック図を示す。図５はシステムについての代表的な物理的モデルを示す。ある実施形態では、システムは、図５に示される物理的モデルの構成要素をすべて含むわけではないことがある。他の実施形態では、システムは、図５に示されていない付加的な構成要素を含むことがある。（図２のデータ系統伝播モジュールなどの）データ系統伝播モジュールは、１つ以上の構成要素を含む物理的モデルを含むことができ、各々の構成要素は１つ以上のテーブルを含む。図５に示される実施形態では、物理的モデルは、目標データ要素からソースデータ要素を追跡するためのデータ系統追跡情報（すなわちメタデータ情報）を含むデータ系統マッピング構成要素５１０を含む。データ系統マッピング構成要素５１０は、図６と関連して以下により詳細にさらに記載されるデータ系統マッピングテーブルを含む。さらに、物理的モデルは、目標データ要素をソースデータ要素から追跡するためのインデックス付けデータ系統追跡情報を含むシャドウテーブル構成要素５２０を含む。シャドウテーブル構成要素５２０は、図７と関連して以下により詳細にさらに記載されるシャドウテーブルを含む。加えて、物理的モデルは、１つ以上の変換についてのデータを含む変換構成要素５３０を含む。さらに、物理的モデルは、関連オブジェクトとデータ要素またはデータ記録との間のリンクに関するデータを含む関連オブジェクトマッピング構成要素５４０を含む。関連オブジェクトマッピング構成要素５４０は、図９と関連して以下により詳細にさらに記載される関連オブジェクトマッピングテーブルを含む。加えて、物理的モデルは、１つ以上のソーステーブルおよび１つ以上の目標テーブルについてのアプリケーションテーブル定義を含むテーブル定義構成要素５５０を含む。１つの実施形態では、テーブル定義構成要素５５０は、データモデルレベルでの１つ以上のアプリケーションテーブル定義（たとえば図５のテーブル「ＣＤＲ＿ＭＯＤＥＬ」）、テーブルレベルでの１つ以上のアプリケーションテーブル定義（たとえば、図５のテーブル「ＣＤＲ＿ＴＡＢＬＥ」、「ＣＤＲ＿ＴＡＢＬＥ＿ＣＯＮＳ」、および「ＣＤＲ＿ＴＡＢＬＥＳ＿ＣＯＮＳ＿ＣＯＬＳ」）、および列レベルでの１つ以上のアプリケーションテーブル定義（図５のテーブル「ＣＤＲ＿ＣＯＬＵＭＮ」および「ＣＤＲ＿ＴＡＢＬＥＳ＿ＣＯＮＳ＿ＣＯＬＳ」）を含むことができる。さらに、物理的モデルは、１つ以上の関連オブジェクトについてのテーブル定義を含む関連オブジェクト構成要素５６０を含む。１つの実施形態では、関連オブジェクト構成要素５６０は、１つ以上の不一致についての１つ以上のテーブル定義（たとえば図５のテーブル「ＤＭＥ＿ＤＩＳＣＲＥＰＡＮＣＹ」）および１つ以上のフラグについての１つ以上のテーブル定義（たとえば図５のテーブル「ＤＭＥ＿ＦＬＡＧ」）を含むことができる。加えて、物理的モデルは、物理的モデル中の他のオブジェクトのすべてをグループ分けする親オブジェクトを含むである研究構成要素５７０を含む。
【００５２】
ともに、テーブル定義構成要素５５０とともに、データ系統マッピング構成要素５１０、シャドウテーブル構成要素５２０、および変換構成要素５３０は、図８と関連して以下により詳細にさらに記載されるデータ系統サブシステムを提供する。さらに、テーブル定義構成要素５５０および関連オブジェクト構成要素５６０とともに関連オブジェクトマッピング構成要素５４０は、図１０と関連して以下により詳細にさらに記載される関連情報サブシステムを提供する。
【００５３】
図６は、発明の実施形態に従うデータ系統マッピングテーブル６００のブロック図を示す。データ系統マッピングテーブル６００は、目標データ要素からソースデータ要素を追跡するための情報を含む。目標データ要素からソースデータ要素を追跡するための情報は、データウェアハウスの１つ以上のデータテーブル内に格納されるデータとは区別されるデータ系統追跡情報（すなわちメタデータ情報）である。データモデル公開フェーズの間にデータ系統マッピングテーブル６００をポピュレートすることができ、データ系統マッピングテーブル６００は、各データ変換毎にソースデータ要素と目標データ要素との間を追跡するための情報を含む。データ系統マッピングテーブル６００は、オブジェクトアイデンティティにより、列レベルマップオブジェクト、目標テーブルおよび列、ソーステーブルおよび列、ソースサロゲートキーを保持する補助列、ならびに特定的な変換に必要な任意の付加的な情報に対する参照を格納する。
【００５４】
ある実施形態に従うと、データ系統マッピングテーブル６００内に格納される情報は、データ系統を追跡するのに用いられるデータ系統追跡情報の第１の主要な部分を構成する。データ系統を追跡するのに用いられるデータ系統追跡情報の第２の主要な部分は、ソースデータ記録へ遡って追跡する変換の目標テーブルのテーブル定義に加えられる１つ以上の補助列である。補助列は、目標テーブルの中のデータ記録に寄与する各々のソーステーブルからのサロゲートキーを含有することができる。必要な場合、補助列は、ソーステーブルのテーブルアイデンティティを保持する、および／または特定的な変換についての「フィルタ」値を同定することができる。データ系統マッピングテーブル６００および１つ以上の補助列は、目標データ要素からソースデータ要素へ遡って追跡する（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールが用いるデータを含む。データ系統を追跡するのに用いられるデータ系統追跡情報の第３の主要な部分は、図７と関連してより詳細にさらに記載されるシャドウテーブルである。
【００５５】
図６に示される実施形態では、（列マッピングデータを含む）データ系統マッピングテーブル６００は、変換テーブルレベルマップアイデンティティに対応する（すなわち変換を同定する）「ＴＭＡＰ＿ＩＤ」列を含む。データ系統マッピングテーブル６００は、ソース列がどのように目標列に関するかを規定する（すなわち変換種類を同定する）「ＴＭＡＰ＿ＴＹＰＥ＿ＲＣ」列をさらに含む。データ系統マッピングテーブル６００はさらに、ソースデータモデルアイデンティティに対応する「ＳＲＣ＿ＤＭ＿ＯＢＪ＿ＩＤ」列、ソーステーブルアイデンティティに対応する「ＳＲＣ＿ＴＡＢ＿ＯＢＪ＿ＩＤ」列、およびソース列アイデンティティに対応する「ＳＲＣ＿ＣＯＬ＿ＯＢＪ＿ＩＤ」列を含む。データ系統マッピングテーブル６００はさらに、目標データモデルアイデンティティに対応する「ＴＲＧ＿ＤＭ＿ＯＢＪ＿ＩＤ」列、目標テーブルアイデンティティに対応する「ＴＲＧ＿ＴＡＢ＿ＯＢＪ＿ＩＤ」列、および目標列アイデンティティに対応する「ＴＲＧ＿ＣＯＬ＿ＯＢＪ＿ＩＤ」列を含む。データ系統マッピングテーブル６００はさらに、データ記録についての「ＳＲＣ＿ＴＡＢ＿ＯＢＪ＿ＩＤ」列内に格納されるソーステーブルアイデンティティによって同定されるソーステーブルについてのソーステーブルデータ記録サロゲートキーを格納する目標テーブル中の補助列についてのオブジェクトアイデンティティに対応する「ＳＲＣ＿ＳＫＥＹ＿ＣＯＬ＿ＯＢＪ＿ＩＤ」列を含む。図示される実施形態に従うと、データ系統マッピングテーブル６００はさらに、ある変換種類についてのソーステーブルまたは目標テーブルのいずれかの中のフィルタ列アイデンティティについての情報をオプションで与える「ＦＩＬＴＥＲ＿ＣＯＬ＿ＯＢＪ＿ＩＤ」列およびある変換種類についてのテーブルフィルタ列中のフィルタ値についての情報をオプションで与える「ＦＩＬＴＥＲ＿ＶＡＬＵＥ」列を含む。
【００５６】
図７は、発明の実施形態に従う、シャドウテーブル７００のブロック図を示す。シャドウテーブル７００は、ソースデータ要素から目標データ要素へ追跡する際に、データ系統追跡情報の効率的なルックアップを提供することができる最適化された中央インデックスである。シャドウテーブル７００は、データウェアハウス内の各データテーブル毎の別個のクエリーを作成する必要なく、データ系統処理が単一のテーブル中で直接にソース記録−目標記録関係を解決できるようにすることができる。そのようなデータ系統処理は、数桁より効率的であることができる。さらに、シャドウテーブル７００は、データウェアハウスの１つ以上のデータテーブルからソース記録−目標記録関係を抽出することができ、データテーブル自身にクエリーすることなく、１つ以上のデータテーブルの系統を横断するためのインデックスとして働くことができる。
【００５７】
図７に示される実施形態では、シャドウテーブル７００は、目標テーブルインスタンスアイデンティティに対応する「ＴＲＧ＿ＴＡＢ＿ＯＢＪ＿ＩＤ」列を含む。シャドウテーブル７００はさらに、ソーステーブルインスタンスアイデンティティに対応する「ＳＲＣ＿ＴＡＢ＿ＯＢＪ＿ＩＤ」列を含む。シャドウテーブル７００は、ソーステーブルデータ記録サロゲートキーを格納する目標テーブル中の補助列についてのオブジェクトアイデンティティに対応する「ＳＲＣ＿ＳＫＥＹ＿ＣＯＬ＿ＯＢＪ＿ＩＤ」列をさらに含む。シャドウテーブル７００はさらに、目標テーブルデータ記録のサロゲートキー値に対応する「ＴＲＧ＿ＳＫＥＹ＿ＶＡＬＵＥ」および前述の目標テーブルデータ記録の補助列についての値でもあるソーステーブルデータ記録のサロゲートキー値に対応する「ＳＲＣ＿ＳＫＥＹ＿ＶＡＬＵＥ」を含む。図示される実施形態に従うと、シャドウテーブル７００はさらに、ある変換種類についてのテーブルフィルタ列中のフィルタ値についての情報をオプションで与える「ＦＩＬＴＥＲ＿ＶＡＬＵＥ」列を含む。
【００５８】
図８は、発明の実施形態に従う、データ系統サブシステムの物理的モデルのブロック図を示す。図８に示される実施形態では、物理的モデルは、図６のデータ系統マッピングテーブル６００および図７のシャドウテーブル７００を含む。物理的モデルはさらに、１つ以上の変換種類を表わすデータを含む変換種類テーブル８００を含む。加えて、物理的モデルは、１つ以上のソーステーブルおよび１つ以上の目標テーブルについてのテーブル定義を含むテーブル定義構成要素８１０を含み、ソーステーブルおよび目標テーブルはデータテーブルの例である。図示される実施形態では、テーブル定義構成要素８１０は、データモデルレベルでの１つ以上のテーブル定義（たとえば、図８中の「ＣＤＲ＿ＭＯＤＥＬ」テーブル）、テーブルレベルでの１つ以上のテーブル定義（たとえば、図８中の「ＣＤＲ＿ＴＡＢＬＥ」、「ＣＤＲ＿ＴＡＢＬＥ＿ＣＯＮＳ」、および「ＣＤＲ＿ＴＡＢＬＥＳ＿ＣＯＮＳ＿ＣＯＬＳ」）、および列レベルでの１つ以上のテーブル定義（たとえば、図８中の「ＣＤＲ＿ＣＯＬＵＭＮ」および「ＣＤＲ＿ＴＡＢＬＥＳ＿ＣＯＮＳ＿ＣＯＬＳ」）を含むことができる。
【００５９】
当該実施形態に従うと、データがデータウェアハウス内で生成されるかまたはその中にロードされ、かつ１つ以上の変換がデータウェアハウスについて定義されると、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、データ系統サブシステムの物理的モデル内にデータ系統追跡情報を生成することができる。より具体的には、１つ以上の変換のうちの各変換毎に、データ系統伝播モジュールは、データ系統マッピングテーブル６００内に各々の目標−ソースマッピングを格納することができる。データ系統伝播モジュールは、１つ以上の目標テーブルの１つ以上の目標データ値を１つ以上のソーステーブルの１つ以上のソースデータ値にさらにマッピングすることができる。データ系統伝播モジュールは、テーブル定義構成要素８１０の１つ以上のテーブル定義を修正することによって、１つ以上の補助列を１つ以上の目標テーブルにさらに追加することができ、各々の補助列はソーステーブルを同定するソースサロゲートキーを格納することができる。さらに、１つ以上の変換のうちの各変換毎に、データ系統伝播モジュールはシャドウテーブル７００内に各々のソース−目標マッピングを格納することができる。データ系統伝播モジュールは、１つ以上のソーステーブルの１つ以上のソースデータ値を１つ以上の目標テーブルの１つ以上の目標データ値にさらにマッピングすることができる。
【００６０】
データ系統マッピングテーブル６００内に格納される１つ以上の目標−ソースマッピングについて、データ系統伝播モジュールは、データ系統マッピングテーブル６００中の各目標列データ値毎に以下の情報を格納することができる：すなわち、（ａ）ソーステーブルインスタンスオブジェクトアイデンティティおよびソース列オブジェクトアイデンティティ；（ｂ）目標テーブルインスタンスオブジェクトアイデンティティおよび目標列オブジェクトアイデンティティ；（ｃ）目標データ値を発生するのに用いられるソースデータ記録についてのソースサロゲートキー値を各々の補助列が格納する目標テーブルに加えられた各々の補助列のオブジェクトアイデンティティ；ならびに（ｄ）マッピングが好ましいソースルートであることのインジケータ（たとえばフラグ）などの、マッピングに必要な任意の付加的なデータ、である。１つよりも多くの目標列の中に値をポピュレートするのに同じソースデータ記録を用いる場合、データ系統マッピングテーブル６００内の複数のマッピングシステム記録において、ソースサロゲートキー列アイデンティティを格納する同じ補助列を繰返すことができる。
【００６１】
データ系統追跡情報はデータウェアハウスの変換についてのサポートを与えることができ、例示的な変換種類は、直接マップ変換、転換変換、導出変換、統合変換、縦横ピボット変換、横縦ピボット変換、ケース変換、およびカスタム種類の変換を含む。ある実施形態では、データ系統マッピング技術を用いてデータ系統追跡情報を発生させることができる。データ系統マッピング技術は、１つ以上のソース列を目標列にマッピングすることおよび１つ以上の補助列を追加して１つ以上のソースサロゲートキーを保持することに係り、各々のソースサロゲートキーは目標列の値に寄与するソーステーブルに対応する。
【００６２】
直接マップ変換、転換変換、および導出変換は、データ系統マッピング技術を用いてデータ系統マッピングテーブル６００中に単純明快なエントリを発生させることができ、１つ以上のソース列が各々の目標列にマッピングする。これらの変換はしばしば、単一のソーステーブルから単一の目標テーブルにマッピングするので、ソースサロゲートキー値を格納する補助列が１つしかないことがしばしばである。
【００６３】
データ系統マッピング技術を用いて統合変換およびケース変換をサポートするのにもデータ系統追跡情報を用いることができる。しかしながら、データ系統マッピング技術は、変換当たり１つよりも多くの補助列がソースデータ要素への追跡を正すことを確実にするのを要件とすることができる。たとえば、１つの目標テーブルへの５つのソーステーブルの統合において、目標テーブル中の任意のデータ記録は、５つのソーステーブルのうち任意のものからであり得る。特定のデータ記録の出処を同定する際の曖昧さを回避するため、（ソーステーブル当たり１つの）５つの補助列を含むように目標テーブルを拡張することができる。統合変換を実行する場合、正しいソーステーブルにマッピングされる補助列の中にソースデータ記録サロゲートキーが挿入される。このように、目標テーブル中の各データ記録毎に、５つの補助列のうちの１つのみがソースサロゲートキー値を含有するであろう、また他の４つの補助列は空のままであろう。
【００６４】
ケース変換に同じシナリオを適用可能である。ケース変換では、異なるソーステーブルからのものであり得る異なるソース列から、目標テーブルの１列中の異なるデータ記録からのデータがポピュレートされ得る。たとえば、第１のデータ記録では、目標ケース列はソースＴａｂ１．ＣｏｌＸからポピュレートされ得る。第２のデータ記録では、目標ケース列はソースＴａｂ１．ＣｏｌＹからポピュレートされ得る。第３のデータ記録では、目標ケース列はソースＴａｂ２．ＣｏｌＸからポピュレートされ得る。各々の割当てはケース変換の条件によって制御される。このように、ソースデータ要素と目標データ要素との間を追跡するためには、目標列をポピュレートするのに用い得るソーステーブルと列との各組合せを同定しなければならない。可能なソーステーブルと列との各組合せ毎に１つの補助列が追加されるであろう。統合変換と同様に、どのケース条件がそのデータ記録について真であるかに依存して、補助列のうち１つのみが各データ記録中の値でポピュレートされる。さらに、目標列への列データマッピングが存在し、各々のマッピングソース記録は異なるソースキー列アイデンティティを含む。
【００６５】
縦横ピボット変換および横縦ピボット変換をサポートするようにデータ系統マッピング技術を修正することができる。修正は、たとえば、ピボット列についての情報および変換のために用いられるフィルタ値の一覧などの、データ系統マップテーブル６００内の付加的な情報を格納することに係ることができる。たとえば、縦横ピボット変換は、各々が「ピボット」列中の異なる「フィルタ」値を有する複数のデータ記録を入力として取ることができ、目標テーブル中に「フィルタ」値の各々毎の１つ以上の列である複数の列を作成することができる。結果は、複数のソースデータ記録が単一のデータ記録に寄与した目標テーブルであり得る。したがって、目標データ記録に寄与するソースデータ記録の各々毎の１つ以上の列である複数の補助列を目標テーブルに追加することができる。
【００６６】
ある実施形態では、データ系統マッピングデータを格納するのに高度な技術を用いることができる。１つの高度な技術では、統合変換のため、データ系統マッピングデータを格納するための高度な技術は、補助列内に格納されるソースサロゲートキー内にソーステーブルインスタンスオブジェクトアイデンティティを含むことに係ることができる。目標データ記録からソースデータ記録へ遡って追跡するアルゴリズムは、目標データ記録の補助列内に格納されるソースサロゲートキー値を用いて、特定されたソーステーブル中のソースデータ記録をルックアップすることができ、ソーステーブルをソースサロゲートキー値から抽出することができる。統合変換とケース変換との両方について、データ系統追跡情報を格納するための別の高度な技術は、「フィルタ値」を格納する「フィルタ」補助列およびソースサロゲートキーを格納する別の補助列を含むことに係ることができる。統合変換については、「フィルタ値」を格納する「フィルタ」補助列がソーステーブルインスタンスオブジェクトアイデンティティを格納する。このように、目標データ記録からソースデータ記録へ遡って追跡するアルゴリズムは、目標データ記録の補助列内に格納されるソースサロゲートキー値を用いてソーステーブル中のソースデータ記録をルックアップすることができ、ソーステーブルが「フィルタ」補助列中に同定される。ケース変換については、ユーザは、テキスト文字列である「フィルタ」値を与えて、ケース目標列をポピュレートし得るソーステーブルと列とのあらゆる組合せを同定することができる。これらの「フィルタ」値は、適切なソーステーブル／列の組合せおよびケース変換目標テーブル／列の組合せとともにデータ系統マッピングテーブル６００中に格納される。目標テーブルの各データ記録において、対応の「フィルタ値」を「フィルタ」補助列の中に入力することができる。このように、目標データ記録からソースデータ記録へ遡って追跡するアルゴリズムは、「フィルタ値」およびデータ系統マッピングテーブル６００内に格納される情報とともに、目標データ記録からのソースサロゲートキー値を用いることができる。
【００６７】
複数の補助列という要件を回避するため、データ系統追跡情報を格納するのに他の高度な技術を用いることができる。１つの高度な技術は「スマートサロゲートキー」に係り、「スマートサロゲートキー」は、その前にソーステーブルアイデンティティがついた１つ以上のソースサロゲートキー値の縦続である。その結果、スマートサロゲートキーを用いてソーステーブルアイデンティティを入手することができ、したがって、ソーステーブルアイデンティティを格納する別個の補助列は必要ない。さらに、スマートサロゲートキーを格納するには単一の補助列しか必要なく、これにより、統合変換、縦横ピボット変換、および横縦ピボット変換の場合の複数の補助列の要件を取除くであろう。別の高度な技術は、縦横ピボット変換および横縦ピボット変換についてのスマートサロゲートキー内にピボット列値を「フィルタ値」として含むことに係る。
【００６８】
ある実施形態に従うと、データ要素またはデータ記録のいずれかにリンクされる関連オブジェクトの可視性をサポートし、かつ関連オブジェクトを関係のソースデータ要素および目標データ要素に伝播させるように、前述のデータ系統追跡情報または他のデータ系統追跡情報を強化することができる。さらに、データの外部ソースへの、データ系統内の変換の経路を通した関連オブジェクトのエクスポートをサポートするように、前述のデータ系統追跡情報または他のデータ系統追跡情報を強化することもできる。ある実施形態に従うと、関連オブジェクトマッピングテーブルは、関連オブジェクトとデータ要素またはデータ記録との間の１つ以上のリンクについてのデータを格納することができる。（図２のデータ系統伝播モジュールなどの）データ系統伝播モジュールは、関連オブジェクトおよびデータ要素（またはデータ記録）との関連付けを同定することができ、関連オブジェクトを一次リンクとして作成し、関連オブジェクトマッピングテーブル内に一次リンクをさらに格納することができる。データ系統伝播モジュールは、一次データ要素（またはデータ記録）のソースおよび目標データ要素／データ記録への二次リンクをさらに作成しかつ格納することができる。これは、システムのユーザがソースまたは目標データを閲覧している場合およびユーザが一次データ要素（またはデータ記録）を閲覧している場合に関連オブジェクトの効率的な視覚化を提供することができる。このように、当該実施形態に従うと、各々の関連オブジェクトが１つの一次リンクを有することができ、１つ以上の二次リンクを有することができる。
【００６９】
図９は、発明の実施形態に従う、関連オブジェクトマッピングテーブル９００のブロック図を示す。関連オブジェクトマッピングテーブル９００は、関連オブジェクトとデータ要素またはデータ記録との間の１つ以上のリンクに関するデータを格納することができる。関連オブジェクトマッピングテーブル９００は、関連オブジェクトとデータ要素（またはデータ記録）との間の一次リンクに関するデータを格納することができ、一次リンクは、関連オブジェクトがデータ要素（またはデータ記録）のために作成された（すなわち元々関連付けられた）ことを同定する。さらに、関連オブジェクトマッピングテーブル９００は、関連オブジェクトとデータ要素（またはデータ記録）との間の二次リンクに関するデータを格納することができ、二次リンクは、データ要素（またはデータ記録）が関連オブジェクトに関連付けられる一次データ要素（またはデータ記録）のソースまたは目標データ要素（またはデータ記録）のいずれかであることを同定する。関連オブジェクトとの上流または下流データ要素の関連付けを入手するのに、関連オブジェクトとデータ要素との間の一次リンクに関するデータおよび関連オブジェクトと１つ以上のデータ要素との間の１つ以上の二次リンクに関するデータを用いることができる。さらに、データ系統を横断して関連オブジェクトの存在を検出することなく、関連付けを入手することができる。
【００７０】
図９に示される実施形態では、関連オブジェクトマッピングテーブル９００は、関連オブジェクトアイデンティティに対応する（すなわち、関連オブジェクトを同定する）「ＯＰＯＯＢＪ＿ＩＤ」列を含む。関連オブジェクトマッピングテーブル９００はさらに、関連オブジェクト種類アイデンティティに対応する（すなわち、関連オブジェクトの種類を同定する）「ＯＰＯＯＢＪ＿ＴＹＰＥ＿ＩＤ」列を含む。代替的な実施形態では、関連オブジェクトのアイデンティティは、アイデンティティ値および少なくとも１つの値を含む複合アイデンティティであることができる。
【００７１】
図示される実施形態に従うと、関連オブジェクトマッピングテーブル９００はさらに、データ要素モデルアイデンティティに対応する（すなわち、関連オブジェクトが関連付けられているデータ要素のデータテーブルのデータモデルを同定する）「ＤＭ＿ＯＢＪ＿ＩＤ」列を含む。関連オブジェクトマッピングテーブル９００は、データ要素テーブルアイデンティティに対応する（すなわち、関連オブジェクトが関連付けられているデータ要素のデータテーブルを同定する）「ＴＡＢ＿ＯＢＪ＿ＩＤ」列も含む。関連オブジェクトマッピングテーブル９００はさらに、データ要素列アイデンティティに対応する（すなわち、関連オブジェクトが関連付けられているデータ要素の列を同定する）「ＣＯＬ＿ＯＢＪ＿ＩＤ」列を含む。関連オブジェクトマッピングテーブル９００は、データ要素データ記録アイデンティティに対応する（すなわち、関連オブジェクトが関連付けられているデータ要素のデータ記録を同定する）「ＳＫＥＹ＿ＶＡＬＵＥ」列も含む。データ要素データ記録アイデンティティはサロゲートキーでもある。
【００７２】
図示される実施形態に従うと、関連オブジェクトマッピングテーブル９００は、関連オブジェクトとデータ要素との間の関連付けが一次リンクであるかまたは二次リンクであるかを同定する「ＩＳ＿ＰＲＩＭＡＲＹ＿ＲＣ」列も含む。関連オブジェクトマッピングテーブル９００は、関連オブジェクトがデータ要素またはデータ記録と関連付けられているか否かを同定する「ＩＳ＿ＲＥＣＯＲＤ＿ＬＥＶＥＬ＿ＲＣ」列をさらに含む。関連オブジェクトマッピングテーブル９００は、データ要素が関連オブジェクトについての好ましいソースデータ要素であるか否か、およびどの値がデータ系統マッピングテーブル６００から受け継がれているかを同定する「ＰＲＥＦＥＲＲＥＤ＿ＲＯＵＴＥ＿ＲＣ」列も含む。関連オブジェクトマッピングテーブル９００はさらに、関連オブジェクトとデータ要素との間のリンクが一次リンクであるか、上流二次リンクであるか、または下流一次リンクであるかを同定した「ＴＲＡＣＥ＿ＴＯ＿ＲＣ」列を含む。
【００７３】
図１０は、発明の実施形態に従う関連情報サブシステムの物理的モデルのブロック図を示す。図１０に示される実施形態では、物理的モデルは図９の関連オブジェクトマッピングテーブル９００を含む。物理的モデルはさらに、１つ以上の関連オブジェクトを表わすデータを含む関連オブジェクト構成要素１０００を含む。１つの実施形態では、関連オブジェクト構成要素１０００は、１つ以上の関連オブジェクト種類を表わすデータを含むテーブル（たとえば図１０中の「ＤＭＥ＿ＯＰＥＲＡＴＩＯＮＡＬ＿ＯＢＪＥＣＴ＿ＴＹＰＥ」テーブル）を含むことができる。当該実施形態に従うと、関連オブジェクト構成要素１０００はさらに、特定された関連オブジェクト種類の１つ以上の関連オブジェクトを表わすデータを含む１つ以上のテーブルを含むことができる。図示される実施形態では、「ＣＤＲ＿ＤＩＳＣＲＥＰＡＮＣＹ」テーブルは、不一致である１つ以上の関連オブジェクトを表わすデータを含み、「ＣＤＲ＿ＦＬＡＧ」テーブルは、ステータスフラグである１つ以上の関連オブジェクトを表わすデータを含み、「ＣＤＲ＿ＣＯＭＭＥＮＴ」テーブルは、コメントである１つ以上の関連オブジェクトを表わすデータを含む。加えて、物理的モデルは、１つ以上のソーステーブルおよび１つ以上の目標テーブルについてのテーブル定義を含むテーブル定義構成要素１０１０を含む。図示される実施形態では、テーブル定義構成要素１０１０は、データモデルレベルでの１つ以上のテーブル定義（たとえば、図１０中の「ＣＤＲ＿ＭＯＤＥＬ」テーブル）、テーブルレベルでの１つ以上のテーブル定義（たとえば、図１０中の「ＣＤＲ＿ＴＡＢＬＥ」テーブル）、および列レベルでの１つ以上のテーブル定義（たとえば図１０中の「ＣＤＲ＿ＣＯＬＵＭＮ」テーブル）を含むことができる。
【００７４】
ある実施形態に従うと、システムのユーザまたはシステム内で実行される自動プログラムは、データ要素を選択し、選択されたデータ要素に関する不一致などの関連オブジェクトを作成することができる。システムは、（図２のデータ系統伝播モジュールなどの）データ系統伝播モジュールを呼出すことができ、データ系統伝播モジュールは、新たな関連オブジェクトと（一次リンクと同定される）選択されたデータ要素との間の一次関連付けを作成することができる。データ系統伝播モジュールはさらに、関連オブジェクトマッピングテーブル９００内に一次関連付け（すなわち、一次リンク）を格納することができる。データ系統伝播モジュールは、選択されたデータ要素から１つ以上のソースデータ要素および／または目標データ要素への完全なデータ系統経路を追跡することにより、新たな関連オブジェクトと１つ以上のソースデータ要素および／または目標データ要素との間の１つ以上の二次関連付けをさらに作成することができる。データ系統伝播モジュールは、関連オブジェクトマッピングテーブル９００内に１つ以上の二次関連付け（すなわち、１つ以上の二次リンク）をさらに格納することができる。あるシナリオでは、ソースデータ要素へと上流に追跡する場合、複数のソースデータ要素が単一の目標データ要素にマッピングされてもよい。関連オブジェクトマッピングテーブル９００中で、関連オブジェクトについての好ましいソースデータ要素であるソースデータ要素をそのようなものとして同定することができる。好ましいソースデータ要素を好ましい経路として同定することができ、好ましい経路データ系統追跡情報を（図６および図８のデータ系統マッピングテープ６００などの）データ系統マッピングテーブルの中に格納することができる。
【００７５】
ある実施形態に従うと、システムは、関連オブジェクトマッピングテーブル９００内に格納される一次リンクを用いて関連オブジェクトが作成された（またはそれ以外のやり方で関連付けられた）データテーブルのデータモデルの表示において関連オブジェクトの存在を表示することができる。システムは、関連オブジェクトマッピングテーブル９００内に格納される１つ以上の二次リンクを用いて上流および／または下流データモデル中の関連オブジェクトをさらに表示することができる。特定の目標データ要素について複数のソースデータ要素が存在する場合、システムは、１つ以上の好ましいソースデータ要素を好ましい経路としてマークすることができる。システムがデータモデルを表示する場合、システムは、関連オブジェクトが一次リンクまたは二次リンクによってデータ要素に関連付けられていてもいなくても、データモデルのデータテーブルの各々のデータ要素と関連付けられる１つ以上の関連オブジェクトも表示することができる。
【００７６】
１つの実施形態では、関連オブジェクトへの一次リンクを有するデータ要素を含有するデータ記録が削除されると、関連オブジェクトの状態を閉じた状態に修正することができる。関連オブジェクトについてのデータを関連オブジェクトマッピングテーブル９００から取除くことができる。これに代えて、関連オブジェクトについてのデータを関連オブジェクトマッピングテーブル９００内に保持することができるが、（「削除済み」フラグまたはデータでのタイムスタンプを関連付けるなどして）データが「事実上削除」されたと示すようにこれを修正することができる。関連オブジェクトを削除するよりもむしろ保持して、監査目的のために保存することができる。一次リンクを介して関連オブジェクトと関連付けられたデータ要素が削除されると、関連オブジェクトへの一次およびすべての二次リンクを削除できるようになり、関連オブジェクトの状態を閉じた状態に修正することができる。二次リンクを介して関連オブジェクトと関連付けられているデータ要素が削除されると、二次リンクを削除することができる。
【００７７】
データ系統を追跡し、関連情報（すなわち関連オブジェクト）の可視性を伝播する付加的な局面をある実施形態に従ってここでより詳細に説明する。ある実施形態では、データ系統が外部システム（すなわちソースシステム）中で発生したソースデータ記録／フィールドに到達するまで、システムは、任意のデータ記録上の任意のデータフィールドからソース側データ系統中のソースデータフィールド／記録を通って遡るユーザまたはシステムナビゲーションをサポートすることができる。システムは次に、それに対して行為をなすべきソースデータ記録（またはデータフィールド）をユーザが選べるようにすることができる。行為の例は、データ記録（またはデータフィールド）値についてソースシステムへクエリーまたはメッセージを送ること、文書を送ること、ソースシステムに対して直接または間接に行為を行なうことができるＡＰＩを呼出すこと、およびソースデータ記録／フィールドを有するソースシステムのアプリケーションウインドウまたは文脈中でのソースシステム中での明示（manifestation）を開くことである。
【００７８】
上記機能性への拡張は、各々のテーブル（または列）から直前のソーステーブル（または列）への「好ましいソース経路」を定義する変換定義メタデータに係る。この好ましい経路は、ユーザが明示的にソースデータ系統を移動する必要なく、外部システムで発生したデータ記録（またはデータフィールド）中のソース系統の単一の分岐をシステムが選択できるようにする。次にシステムは、外部システム中のそのデータ記録（またはデータフィールド）に対して上述の行為を行なうことができる。
【００７９】
他のある実施形態では、表表示または表示されるフィールドを含むフォーマット済形態などのユーザインターフェイス中にデータ記録およびそれらのデータフィールドを表示する際に、関連オブジェクトマッピングテーブルなどの関連情報（すなわち、１つ以上の関連オブジェクト）の最適化されたインデックスを用いて、関連情報と関連付けられるデータ記録および／またはデータフィールドについて関連情報が存在するという、ハイライトまたはアイコンなどの視覚的指標を与えることができる。
【００８０】
システムはまた、ユーザが、表示される情報をその情報の何らかの属性によって関連情報のサブセット（すなわち１つ以上の関連オブジェクト）に制限できるようにすることもできる。例は、（不一致、エラー報告、文書、コメントなどの）関連オブジェクトの種類と、（文書の種類、エラー報告のステータス、またはタグもしくはステータスフラグのカテゴリなどの）特定の種類の関連オブジェクトの亜種とを含む。この機能性は、システムがテーブル自体の先を見て制限を行なう必要がないように、データ記録（またはデータフィールド）をすべての他の関係のデータ記録（またはフィールド）への関連オブジェクトと関連付ける関連オブジェクトテーブル内に関連オブジェクトの種類または亜種についての情報を含むことによって最適化することができる。
【００８１】
システムは、ユーザが、関連オブジェクトと関連付けられるデータ記録（またはデータフィールド）の関係に基づいて表示される関連情報（すなわち関連オブジェクト）を現在表示されている関連オブジェクトに制限できるようにもすることができる。例は、データ系統中の表示されるデータ要素の上流のデータ記録（またはデータフィールド）と関連付けられる関連オブジェクトのみを表示すること、表示されたデータ要素の下流のデータ記録（またはデータフィールド）と関連付けられる関連オブジェクトのみを表示すること、（一次リンクを介して）表示されたデータ要素と直接に関連付けられる関連オブジェクトのみを表示すること、または特定的なソースもしくは目標テーブルもしくは特定的な組のソーステーブルもしくは目標テーブルからの関連オブジェクトのみを表示することを含む。これは、システムがテーブル自体の先を見て制限を行なわなくてもよいように、すべての他の関係のデータ記録（またはデータフィールド）に関連オブジェクトと関連付けられるデータ記録（またはデータフィールド）を関連付ける関連オブジェクトテーブルの中に各々の関連オブジェクトの相対的な位置についての情報を含めることによって、最適化されることができる。
【００８２】
ある実施形態に従うと、関連情報（すなわち関連オブジェクト）の視覚的指標を表示するために、特定的な表示されるデータフィールド（またはデータ記録）に各々の関連オブジェクトを効率的に関連付ける必要がある可能性がある。１つの実施形態では、システムは、各々の関連オブジェクトが表形式になるように関連データ記録についてのアイデンティティに対してまずピボットを行なう構造化問合せ言語（ＳＱＬ）の能力を用いることによって関連付けを行なうことができ、各列の名前またはアイデンティティは、表示されている情報と同じ表構造を有し、ピボットされたテーブル中のデータ要素は、関連オブジェクトが存在する場合にのみデータ値を有する。次にシステムは、表示されている実際のデータとピボットされたテーブルとの間の所与のデータ記録アイデンティティについての名前または列アイデンティティの一致を用いて、関連オブジェクトの存在の指標を効率的にオンすることができる。別の実施形態では、システムは、特定のデータ記録アイデンティティまたは特定の列アイデンティティについての情報を取出す効率的なアクセス方法を有するローカルデータ構造中に関連オブジェクトを別個に取出すことによって、関連付けを行なうことができる。次にシステムは、データ記録アイデンティティまたは列アイデンティティを用いてこのローカルデータ構造にアクセスすることにより、表示されたデータ系統中のデータ記録およびデータフィールドを効率的に同定することができる。１つの実施形態では、データ要素のデータ系統について、システムは、データ系統中の各データ記録（またはデータフィールド）毎に、１つ以上の関連オブジェクトの存在も表示することができる。
【００８３】
ある実施形態では、システムのユーザインターフェイスが１つ以上の関連オブジェクトの存在の指標を表示する場合、システムは、たとえば、マウスクリック、マウス右クリックおよびメニュー選択、または目標データ記録（もしくはデータフィールド）へのカーソルナビゲーションおよびキーボード行為を用いてユーザが特定のデータ記録（またはデータフィールド）に対する行為を惹起できるようにする。惹起された行為は、関連オブジェクトの一覧を表示することと、関連オブジェクトについての詳細へのナビゲーションとを含むことができる。たとえば、システムは、コメントが付与されている各々のデータテーブル（またはデータフィールド）毎の指標を用いて関連コメントのポップアップテーブルを表示することができる。別の例は、不一致についての詳細な情報を選択しかつ表示するのに用いることができる関連不一致の一覧を表示することであり得る。さらに、代わりに、システムは、コメントに応答するまたは不一致のステータスを変更するなど、ユーザが関連オブジェクトに対して行為を行なうことができてもできなくても、ユーザをインターフェイス中に置くことができる。
【００８４】
ある実施形態では、システムは、異なる種類の関連オブジェクトにアクセスするのに必要なユーザの権利および特権もしくはユーザインターフェイス中の関連オブジェクトの可視性を制限する特定の上流もしくは下流データテーブルに付けられる関連オブジェクトにアクセスするのに必要な特権、ユーザが利用可能な関連オブジェクトについての詳細のレベル、または関連オブジェクトに対してユーザが行為を行なうことができることについてのセキュリティ情報を用いることができる。
【００８５】
ある実施形態に従うと、システムは、上流または下流データ記録およびデータ記録と関連付けられる（不一致またはコメントなどの）関連オブジェクトと関連付けられる追跡タイムスタンプ情報を用いて、ユーザが現在閲覧しているデータの前または後のデータが上流または下流データと整合するか否かをユーザが理解できるようにすることができる。たとえば、ユーザがデータ要素を閲覧していて現在のデータ要素のデータ系統中のデータに付けられた関連コメントを示す機能を呼出す場合、システムは、ソースデータ系統中のソースデータおよび関連コメントがデータ要素よりも最近のものであるか否かを示すことができ、したがって、現在のデータテーブルにまだ伝播していない変更を反映し得る。同様に、目標データ系統において、ユーザは現在のデータよりもデータおよび関連コメントがより古いか否かを把握することができ、したがって、まだ更新されていないデータを反映させて、現在のデータ要素に既になされた変更を反映し得る。同じ能力の別の明示は、ユーザが現在のデータと関連付けられる好ましいソースデータ要素に対するクエリーを提起する行為を開始して、ソースデータ要素が現在のデータ要素よりも最近修正されていることをシステムが検出してユーザに警告することである。この機能性は、ユーザが、既に修正されたかもしれないデータに対する系統設備を通して行為を行なうのを防止することができる。
【００８６】
先に説明したように、システムは、サロゲートキーの使用によってデータ格納を最小限にすることができ、最適化されたルックアップのための単一のテーブルの中にソースサロゲートキーを抽出するシャドウテーブルの使用によりルックアップ性能を最適化することができる。１つの実施形態に従うと、この設計に対する代替策はサロゲートキーの生成および使用を要件としない。この実施形態では、ソーステーブルの完全な主キーが１つ以上の目標テーブル内にソースキーとして格納され、目標テーブル上の付加的なデータフィールドが追加されて、ソース主キーフィールドと関連付けられるピボット値またはテーブルセレクタなどの、サロゲートキー中で捕捉される任意の補助情報を保持する。この実施形態では、システムメタデータは、ソースキーを構成するデータフィールドの完全な組を用いて動作し、かつサロゲートキーを用いて動作する各々のそのようなソースキーおよび任意の機能を記述する。さらに、各々の個別のテーブルをクエリーする必要なく、必要に応じて各々のソースキーの構成要素についての値を保持するのに用いられる、各ソースまたは目標キー毎に取っておかれる多数の列を有する同様のシャドウテーブルを用いることによって、最適化されたクエリー性能のためにシャドウテーブルへサロゲートキーを抽出する最適化を達成することができる。各テーブル毎のキー構造についてのシステムメタデータは次に、システムが、完全なソースキー情報を保持するように特定のテーブルが用いる列に対する適切な合体によってこの単一のシャドウテーブルに対してクエリーを構築できるようにするであろう。ソースキーの組に対する適切な縦続されたインデックスと、目標キーの組に対する別の縦続インデックスとは、単一のシャドウテーブルを用いて性能を最適化するであろう。
【００８７】
ある実施形態では、システムは、１つ以上のアプリケーションのメタデータ記述を用いてデータ系統のランタイム要素を生成するアプリケーション生成器として働くことができる。たとえば、ユーザが１つ以上のソーステーブルと目標テーブルとの間のマッピングを定義するユーザインターフェイスが存在することができる。マッピングは、変換の種類（たとえば、合体、ピボット、またはアンピボット）に依存して異なる可能性がある。定義のプロセスは、１つ以上のソースデータ要素と１つ以上の目標データ要素との間の列レベルでのマッピングを記録することができる。次に、変換を配備する一部として、システムは、（ａ）目標テーブルがデータベースにインストールされる前に１つ以上のソースキーを格納する１つ以上の補助列を目標テーブルに追加する、（ｂ）１つ以上のソースデータ要素と目標データ要素との間の関係についてのメタデータマッピング情報を記録する、かつ（ｃ）変換を行なうように実行可能なコンピュータコードを生成する、ことができる。コンピュータコードは、１つ以上のソースデータ要素と目標データ要素との間の関係を記録するために、目標テーブル中の１つ以上のソースキーをポピュレートする論理を含むことができる。ある実施形態に従うと、生成されたコンピュータコードは、ユーザの介入なしに、同一のまたは同様の構造の新しいアプリケーションの配備において再利用することができる。
【００８８】
図１１は、発明の実施形態に従う、統合変換の例示的なデータ系統追跡を図示する。例示的な実施形態では、ソーステーブル「ＬＡＢ１」、「ＬＡＢ２」、および「ＬＡＢ３」（すなわち、ソーステーブル１１１０、１１２０、および１１３０）が統合変換を介して目標テーブル「ＬＡＢ＿ＳＵＭ」（すなわち目標テーブル１１４０）に組合される。さらに、例示的な実施形態では、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、目標テーブル１１４０中の以下の目標データ要素についてのソースデータ要素を見出すことができる：列「ＲＢＣ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＬＡＢ＿ＳＵＭ］〜１０３〜１」。データ系統伝播モジュールはデータ系統マッピングテーブル１１００をルックアップして、システム記録９、２５、および３５という３つのシステム記録の中に、目標テーブルとして目標テーブル「ＬＡＢ＿ＳＵＭ」（すなわち目標テーブル１１３０）を、および目標列として列「ＲＢＣ」を見出すことができる。これらの３つのシステム記録は、「ＵＮＩＯＮ」の変換マップ種類（すなわち列「ＴＭＡＰ＿ＴＹＰＥ」）を有し、それらは、データ系統マッピングテーブル１１００の「ＳＲＣ＿ＳＫＥＹ＿ＣＯＬＮＡＭＥ」列中に示される列「ＬＡＢ＿ＳＵＭ．ＵＮＩＯＮ＿ＳＲＣ＿ＫＥＹ」中にそれらのソースサロゲートキーを格納する。目標テーブル１１４０において、データ系統伝播モジュールは、目標データ記録について列「ＵＮＩＯＮ＿ＳＲＣ＿ＫＥＹ」の中を見ることができる。この列は、「［ＬＡＢ１］〜１０３〜１〜ＬＡＢ１」を含有し、これはスマートサロゲートキーであるので、この値の中の第１の構成要素（すなわち、「［ＬＡＢ１］」）がソーステーブルアイデンティティである。このように、データ系統伝播モジュールは、ソーステーブルがソーステーブル「ＬＡＢ１」（すなわちソーステーブル１１１０）であると判断することができる。データ系統伝播モジュールは次に、データ系統マッピングテーブル１１００中に見出される３つのシステム記録に戻ることができ、ソーステーブルがソーステーブル１１１０であるという知識を備えて、データ系統伝播モジュールは、データ系統マッピングテーブル１１００内に、正しいシステム記録、すなわちシステム記録９を同定することができる。このように、データ系統伝播モジュールは、サロゲートキー値「［ＬＡＢ１］〜１０３〜１〜ＬＡＢ１」を用いて、ソースデータ要素が、ソーステーブル１１１０中、列「ＲＢＣ」中にあると同定することができる。データ系統伝播モジュールは、ソースデータ値が「５．３」であるとさらに同定することができる。
【００８９】
さらに、例示的な実施形態では、データ系統伝播モジュールは、ソーステーブル１１１０中の以下のソースデータ要素についての目標データ要素を見出すことができる：列「ＲＢＣ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＬＡＢ１］〜１０３〜１〜ＬＡＢ１」。データ系統伝播モジュールはデータ系統マッピングテーブル１１００の中を見て、システム記録９の中に、ソーステーブルとしてソーステーブル「ＬＡＢ１」（すなわちソーステーブル１１１０）を見出し、ソース列として列「ＲＢＣ」を見出すことができる。この情報から、データ系統伝播モジュールは、これが目標テーブル１１４０の「ＲＢＣ」列中に目標データ要素を探す必要があると判断することができる。データ系統伝播モジュールは次に、目標テーブル「ＬＡＢ＿ＳＵＭ」、ソーステーブル「ＬＡＢ１」、ＳＲＣ＿ＳＫＥＹ＿ＣＯＬＮＡＭＥ「ＵＮＩＯＮ＿ＳＲＣ＿ＳＫＥＹ」、およびソーステーブルサロゲートキー「［ＬＡＢ１］〜１０３〜１〜ＬＡＢ１」の組合せを用いて、シャドウテーブル１１５０を探索して、目標テーブル１１４０中の所望のデータ記録のサロゲートキーが「［ＬＡＢ＿ＳＵＭ］〜１０３〜１」であると判断することができる。このように、データ系統伝播モジュールは、サロゲートキー値「［ＬＡＢ＿ＳＵＭ］〜１０３〜１」を用いて、目標データ要素が、目標テーブル１１１０の中、データ記録の列「ＲＢＣ」中にあると同定することができる。データ系統伝播モジュールはさらに、目標データ値が「５．３」であると同定することができる。
【００９０】
図１２は、発明の実施形態に従う、ピボット変換の例示的なソースデータ系統追跡を示す。これは、縦方向ソーステーブル「ＶＳ」（すなわちソーステーブル１２１０）から横方向目標テーブル「ＶＩＴＡＬＳ」（すなわち目標テーブル１２２０）への変換である。ソーステーブル１２１０は、生命兆候を同定するピボット列、列「ＶＳＴＳＴＣＤ」を有し、生命兆候値は列「ＶＳＯＲＥＳ」に格納される。「ＶＳＴＳＴＣＤ」列の中には、「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＥＩＧＨＴ」、および「ＷＥＩＧＨＴ」の５つの異なる生命兆候値が存在する。それらはデータ系統マッピングテーブル１２００の中にフィルタ値（すなわち、列「ＦＩＬＴＥＲ＿ＶＡＬＵＥ」中の値）として格納され、各々は目標テーブル１２２０中にその対応の列を有する。さらに、ソーステーブル１２１０で、各々のスマートサロゲートキー値（すなわち、列「ＳＫ」中の値）は、サロゲートキー値の最後の構成要素として、その「ＶＳＴＳＴＣＤ」列からのフィルタ値を含有する。目標テーブル１２２０は、列「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＴ」、および「ＷＴ」である集められた５つの生命兆候の各々毎に１つの列を含む。生命兆候の値は各々の被験者毎に適切な列の中に格納される。目標テーブル１２２０中の各々のデータ記録は、ソーステーブル１２１０中の５つのデータ記録を消費する。すなわち、ソーステーブル１２１０中のソース列「ＶＳＴＳＴＣＤ」からのフィルタ値（すなわち「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＥＩＧＨＴ」、および「ＷＥＩＧＨＴ」）は、目標テーブル１２２０中の列（すなわち、列「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＴ」、および「ＷＴ」）に変換される。
【００９１】
例示的な実施形態では、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、目標テーブル１２２０中の以下の目標データ要素についてのソースデータ要素を見出すことができる：すなわち、列「ＰＵＬＳＥ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＶＩＴＡＬＳ］〜１０１〜２」である。データ系統伝播モジュールは、データ系統マッピングテーブル１２００をルックアップして、目標テーブル「ＶＩＴＡＬＳ」（すなわち目標テーブル１２２０）および目標列「ＰＵＬＳＥ」について、システム記録をただ１つ、すなわち、（図１２ではフィルタ済みデータ系統マッピングテーブル１２３０として同定される）システム記録３、のみを見出すことができる。このシステム記録は、ピボット列「ＶＳＴＳＴＣＤ」を有するＴＡＬＬ＿ＳＫＩＮＮＹ  ＳＯＵＲＣＥテーブル「ＶＳ」についての「ＰＩＶＯＴ」の変換マップ種類と、ソースデータ項目列「ＶＳＯＲＥＳ」とを有する。同じシステム記録である、（図１２ではフィルタ済みデータ系統マッピングテーブル１２３０として同定される）システム記録３は、目標記録補助列を定義して、「ＶＳ＿ＳＫ１」としてソース記録サロゲートキー値を得る。アルゴリズムに従うと、この列からの値（［ＶＳ］〜１０１〜２」）を、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールによってフィルタ値「ＰＵＬＳＥ」と組合せて（すなわち「［ＶＳ］〜１０１〜２〜ＰＵＬＳＥ」）、ソーステーブル中の正しい記録を見出すことができる。このように、データ系統伝播モジュールはソースデータ値が「６８」であるとさらに同定することができる。
【００９２】
図１３は、発明の実施形態に従う、ピボット変換の例示的な目標データ系統追跡を示す。先に説明したように、これは、縦方向のソーステーブル「ＶＳ」（すなわち図１２のソーステーブル１２１０）から横方向の目標テーブル「ＶＩＴＡＬＳ」（すなわち図１２の目標テーブル１２２０）への変換である。例示的な実施形態では、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、ソーステーブル１２１０中に以下のソースデータ要素についての目標データ要素を見出すことができる：すなわち、列「ＶＳＯＲＥＳ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＶＳ］〜１０１〜２〜ＰＵＬＳＥ」である。データ系統伝播モジュールは、図１２のデータ系統マッピングテーブル１２００の中を見て、５つのシステム記録であるシステム記録１、２、３、４、および５中にソース列として列「ＶＳＯＲＥＳ」を見出すことができる。データ系統伝播モジュールは次に、列「ＶＳＴＳＴＣＤ」（すなわち「ＰＵＬＳＥ」）中のソースデータ記録データ値を用いてデータ系統マッピングテーブル１２００中のシステム記録をフィルタして、データ系統マッピングテーブル１２００中の正しいシステム記録を判断することができる。このように、データ系統伝播モジュールは、システム記録３を（図１３でフィルタ済みデータ系統マッピングテーブル１３００として同定される）データ系統マッピングテーブル１２００中の正しいシステム記録として同定することができる。この情報から、データ系統伝播モジュールは、これが目標テーブル１２２０の「ＰＵＬＳＥ」列中に目標データ要素を探す必要があると判断することができる。ピボット変換についてのアルゴリズムに従うと、データ系統伝播モジュールはソースサロゲートキー値からフィルタ値を取除くことができ、次に、サロゲートキー「［ＶＳ〜１０１〜２］」を用いてシャドウテーブル１３１０を探索して、目標テーブル１２２０中の所望のデータ記録のサロゲートキーが「［ＶＩＴＡＬＳ］〜１０１〜２」であると判断することができる。このように、データ系統伝播モジュールは、サロゲートキー値「［ＶＩＴＡＬＳ］〜１０１〜２」を用いて、目標データ要素が、目標テーブル１２２０の中、列「ＰＵＬＳＥ」中にあると同定することができる。データ系統伝播モジュールは目標データ値が「６８」であるとさらに同定することができる。
【００９３】
図１４は、発明の実施形態に従う、アンピボット変換の例示的なソースデータ系統追跡を示す。これは、横方向ソーステーブル「ＶＩＴＡＬＳ」（すなわちソーステーブル１４１０）から縦方向の目標テーブル「ＶＳ」（すなわち目標テーブル１４２０）への変換である。ソーステーブル１４１０は、集められた５つの生命信号、すなわち、列「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＴ」、および「ＷＴ」、の各々毎に１つの列を有する。生命兆候の値は各被験者毎に適切な列の中に格納される。目標テーブル１４２０は、生命兆候を同定するピボット列である列「ＶＳＴＳＴＣＤ」を有し、生命兆候の値は列「ＶＳＯＲＥＳ」に格納される。「ＶＳＴＳＴＣＤ」列には、５つの異なる生命兆候の値、すなわち「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＥＩＧＨＴ」、および「ＷＥＩＧＨＴ」が存在する。これらはデータ系統マッピングテーブル１４００中のフィルタ値（すなわち列「ＦＩＬＴＥＲ＿ＶＡＬＵＥ」中の値）として格納され、各々はソーステーブル１４１０中にその対応の列を有する。加えて、データ系統マッピングテーブル１４００において、目標テーブル「ＶＳ」は、「tall skinny」テーブルとしてマークされる。目標テーブル１４２０において、各々のスマートサロゲートキー値（すなわち列「ＳＫ」の値）は、サロゲートキー値の最後の構成要素としてその「ＶＳＴＳＴＣＤ」列からのフィルタ値を含有する。ソーステーブル１４１０中の各々のデータ記録は目標テーブル１４２０中の５つのデータ記録に変換される。ソーステーブル１４１０中の５つの生命兆候列（すなわち、列「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＴ」、および「ＷＴ」）の各々は、目標テーブル１４２０の列「ＶＳＴＳＴＣＤ」中のフィルタ値になる（すなわち、「ＳＹＳＢＰ」、「ＤＩＡＳＢＰ」、「ＰＵＬＳＥ」、「ＨＥＩＧＨＴ」、および「ＷＥＩＧＨＴ」）。
【００９４】
例示的な実施形態では、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、目標テーブル１４２０中の以下の目標データ要素についてのソースデータ要素を見出すことができる：すなわち、列「ＶＳＯＲＥＳ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＶＳ］〜１０１〜２〜ＰＵＬＳＥ」である。データ系統伝播モジュールはデータ系統マッピングテーブル１４００の中を見て、５つのシステム記録であるシステム記録１、２、３、４、および５の中に、目標テーブルとして目標テーブル「ＶＳ」（すなわち目標テーブル１４２０）を見出し、目標列として列「ＶＳＯＲＥＳ」を見出すことができる。目標列「ＶＳＴＳＴＣＤ」は目標テーブル「ＶＳ」ピボット列としてマークされる。データ系統伝播モジュールは次に、列「ＶＳＴＳＴＣＤ」（すなわち「ＰＵＬＳＥ」）中の目標データ記録データ値を用いてデータ系統マッピングテーブル１４００中のシステム記録をフィルタして、データ系統マッピングテーブル１４００中の正しいシステム記録を判断することができる。このように、データ系統伝播モジュールは、（図１４ではフィルタ済みデータ系統マッピングテーブル１４３０として同定される）データ系統マッピングテーブル１４００中の正しいシステム記録としてシステム記録３を同定することができる。このシステム記録は、「ＵＮＰＩＶＯＴ」の変換マップ種類（すなわち、列「ＴＭＡＰ＿ＴＹＰＥ」）、「ＶＳＴＳＴＣＤ」のピボット列（すなわち列「ＰＩＶＯＴ＿ＣＯＬ」、「ＶＩＴＡＬＳ」のソーステーブル（すなわち、列「ＳＲＣ＿ＴＡＢ」）、および「ＰＵＬＳＥ」のソース列（すなわち列「ＳＲＣ＿ＣＯＬ」）を有する。目標テーブル１４２０のソースサロゲートキー値（すなわち列「ＶＩＴＡＬＳ＿ＳＫ１」）から、データ系統伝播モジュールは、ソースデータ記録のサロゲートキーが「［ＶＩＴＡＬＳ］〜１０１〜２」であると判断することができる。このように、データ系統伝播モジュールは、サロゲートキー値「［ＶＩＴＡＬＳ］〜１０１〜２」を用いて、ソースデータ要素が、ソーステーブル１４１０中、列「ＰＵＬＳＥ」中にあると同定することができる。データ系統伝播モジュールはソースデータ値が「６８」であるとさらに同定することができる。
【００９５】
図１５は、発明の実施形態に従う、アンピボット変換の例示的な目標データ系統追跡を示す。先に説明したように、これは、横方向のソーステーブル「ＶＩＴＡＬＳ」（すなわち、図１４のソーステーブル１４１０）から縦方向の目標テーブル「ＶＳ」（すなわち図１４の目標テーブル１４２０）への変換である。例示的な実施形態では、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、ソーステーブル１４１０中の以下のソースデータ要素についての目標データ要素を見出すことができる：すなわち、列「ＰＵＬＳＥ」およびデータ記録アイデンティティ（すなわちサロゲートキー「［ＶＩＴＡＬＳ］〜１０１〜２」である。データ系統伝播モジュールは、図１４のデータ系統マッピングテーブル１４００をルックアップして、（図１５ではフィルタ済みデータ系統マッピングテーブル１５００と同定される）システム記録３中に、ソーステーブルとしてソーステーブル「ＶＩＴＡＬＳ」（すなわちソーステーブル１４１０）を見出し、ソース列として列「ＰＵＬＳＥ」を見出すことができる。このシステム記録は、「ＵＮＰＩＶＯＴ」の変換マップ種類（すなわち列「ＴＭＡＰ＿ＴＹＰＥ」）、「ＶＳＴＳＴＣＤ」のピボット列（すなわち列「ＰＩＶＯＴ＿ＣＯＬ」）、「ＶＳ」の目標テーブル（すなわち列「ＴＲＧ＿ＴＡＢ」）、および「ＶＳＯＲＥＳ」の目標列（すなわち列「ＴＲＧ＿ＣＯＬ」）を有する。この情報から、データ系統伝播モジュールは、それが目標テーブル１４２０の「ＶＳＯＲＥＳ」列中に目標データ要素を探す必要があると判断することができる。データ系統伝播モジュールは次に、ソーステーブル１４１０のサロゲートキー「［ＶＩＴＡＬＳ］〜１０１〜２」を用いてシャドウテーブル１５１０を探索して、目標テーブル１４２０中の所望のデータ記録のサロゲートキーが「［ＶＳ］〜１０１〜２〜ＰＵＬＳＥ」であると判断することができる。シャドウテーブル中の記録の数を減らすために、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、アンピボット変換のために、列「ＴＲＧ＿ＳＫＥＹ＿ＶＡＬＵＥ」中に、省略された値を、すなわちフィルタ値なしに、格納する。次にデータ系統伝播モジュールは、フィルタ値を、これを目標記録識別子として用いる前にシャドウテーブルから取出した列「ＴＲＧ＿ＳＫＥＹ＿ＶＡＬＵＥ」中の値に付ける。このように、データ系統伝播モジュールは、サロゲートキー値「［ＶＳ］〜１０１〜２〜ＰＵＬＳＥ」を用いて、目標データ要素が、目標テーブル１４２０中、列「ＶＳＯＲＥＳ」中にあると同定することができる。データ系統伝播モジュールは目標データ値が「６８」であるとさらに同定することができる。
【００９６】
図１６は、発明の実施形態に従う、合体変換の例示的なデータ系統追跡を図示する。例示的な実施形態では、ソーステーブル「ＤＭ」と「ＬＡＢ１」と（すなわちソーステーブル１６１０と１６２０と）が合体されて目標テーブル「ＬＡＢ１＿ＳＵＭ」）（すなわち目標テーブル１６３０）を形成する。データ系統マッピングテーブル１６００は、目標テーブル１６３０の各列毎にシステム記録を含む。各々のシステム記録は、ソーステーブルアイデンティティ（すなわち列「ＳＲＣ＿ＴＡＢ」）、ソース列アイデンティティ（すなわち列「ＳＲＣ＿ＣＯＬ」）、およびソースサロゲートキー列アイデンティティ（すなわち列「ＳＲＣ＿ＳＫＥＹ＿ＣＯＬＮＡＭＥ」）を含む。ソースサロゲートキー列は、目標テーブル１６２０中のデータ記録に寄与したソーステーブル１６１０（すなわち列「ＤＭ＿ＳＫＥＹ」）またはソーステーブル１６２０（すなわち列「ＬＡＢ１＿ＳＫＥＹ」）のいずれかの中のデータ記録についてのソースサロゲートキーを格納するように目標テーブル１６３０に追加される補助列である。合体変換については、この例では２つのテーブル（すなわちソーステーブル１６１０および１６２０）である合体に寄与する各テーブル毎にソースサロゲートキー補助列が存在する。ソーステーブル１６１０は、列「ＡＧＥ」、「ＡＧＥ＿Ｕ」、および「ＧＥＮＤＥＲ」の中の各研究被験者毎の人口統計データを表わすデータ記録を含む。ソーステーブル１６２０は、列「ＲＢＣ」、「ＨＥＭＯＧＬＯＢＩＮ」、および「ＨＥＭＡＴＯＣＲＩＴ」中の異なる被験者についての実験室テストの結果を表わすデータ記録を含む。これらの２つのテーブルは合体されて目標テーブル１６３０を作成する。目標テーブル１６３０の各々のデータ記録は、ソーステーブル１６１０および１６２０の各々のソーステーブルからの値を含む。したがって、目標テーブル１６３０の各々のデータ記録は、２つのソースサロゲートキー値（すなわち、各々の寄与するソーステーブルからの１つのソースサロゲートキー値）を格納する。これらのソースサロゲートキー値は、列「ＤＭ＿ＳＫＥＹ」および列「ＬＡＢ１＿ＳＫＥＹ」に格納される。
【００９７】
例示的な実施形態では、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、目標テーブル１６３０中の以下の目標データ要素についてのソースデータ要素を見出すことができる：すなわち、列「ＨＥＭＯＧＬＯＢＩＮ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＬＡＢ１＿ＳＵＭ］〜１０５〜１〜ＬＡＢ１」である。データ系統伝播モジュールはデータ系統マッピングテーブル１６００をルックアップして、システム記録１０中に、目標テーブルとして目標テーブル「ＬＡＢ１＿ＳＵＭ」（すなわち目標テーブル１６３０）を見出し、目標列として列「ＨＥＭＯＧＬＯＢＩＮ」を見出すことができる。これから、データ系統伝播モジュールは、ソースデータ要素がソーステーブル「ＬＡＢ１」（すなわちソーステーブル１６２０）およびソース列「ＨＥＭＯＧＬＯＢＩＮ」の中にあると知る。データ系統伝播モジュールは、ソースサロゲートキー値が目標テーブル１６３０の列「ＬＡＢ１＿ＳＫＥＹ」中に見出されるということも知る。目標テーブル１６３０において、データ系統伝播モジュールは、目標データ記録について列「ＬＡＢ１＿ＳＫＥＹ」の中を見ることができる。この列はサロゲートキー値「［ＬＡＢ１］〜１０５〜１〜ＬＡＢ１」を含有し、データ系統伝播モジュールは、ソーステーブル、ソース列、およびサロゲートキー値を知る。このように、データ系統伝播モジュールは、サロゲートキー値「［ＬＡＢ１］〜１０５〜１〜ＬＡＢ１」を用いて、ソースデータ要素が、ソーステーブル１６２０中、列「ＨＥＭＯＧＬＯＢＩＮ」中にあると同定することができる。データ系統伝播モジュールはソースデータ値が「１１１」であるとさらに同定することができる。
【００９８】
さらに、例示的な実施形態では、データ系統伝播モジュールはソーステーブル１６２０の中に以下のソースデータ要素についての目標データ要素を見出すことができる：すなわち、列「ＨＥＭＯＧＬＯＢＩＮ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＬＡＢ１］〜１０５〜１〜ＬＡＢ１」である。データ系統伝播モジュールはデータ系統マッピングテーブル１６００をルックアップして、システム記録１０中に、ソーステーブルとしてソーステーブル「ＬＡＢ１」（すなわちソーステーブル１６２０）を見出し、ソース列として列「ＨＥＭＯＧＬＯＢＩＮ」を見出すことができる。この情報から、データ系統伝播モジュールは、それが目標テーブル「ＬＡＢ１＿ＳＵＭ」（すなわち目標テーブル１６３０）の「ＨＥＭＯＧＬＯＢＩＮ」列中に目標データ要素を探す必要があると判断することができる。データ系統伝播モジュールは次に、ソーステーブル１６２０のサロゲートキー「［ＬＡＢ１］〜１０５〜１〜ＬＡＢ１」を用いてシャドウテーブル１６４０を探索して、目標テーブル１６３０中の所望のデータ記録のサロゲートキーが「［ＬＡＢ１＿ＳＵＭ］〜１０５〜１〜ＬＡＢ１」であると判断することができる。このように、データ系統伝播モジュールは、サロゲートキー値「［ＬＡＢ１＿ＳＵＭ］〜１０５〜１〜ＬＡＢ１」を用いて、目標データ要素が、目標テーブル１６３０中、列「ＨＥＭＯＧＬＯＢＩＮ」中にあると同定することができる。データ系統伝播モジュールは目標データ値が「１１１」であるとさらに同定することができる。
【００９９】
図１７は発明の実施形態に従うケース変換の例示的なデータ系統追跡を示す。例示的な実施形態では、ソーステーブル「ＮＲＡＮＧＥ」（すなわちソーステーブル１７１０）は、各人口統計群毎に異なる血液検査についての正常範囲の値を含む。ソーステーブル「ＬＡＢ」（すなわちソーステーブル１７２０）は一群の被験者についての実験室テスト結果を含む。目標テーブル「ＬＡＢ＿ＳＵＭ」（すなわち目標テーブル１７３０）は、ソーステーブル１７２０からの列プラスソーステーブル１７１０からの対応の正常範囲および正常範囲単位を含有する列を含む。目標テーブル１７３０は、補助列、すなわち１つのフィルタ列（すなわち列「ＣＡＳＥ＿ＦＶＡＬ」と２つのソースサロゲートキー列（すなわち、列「ＬＡＢ＿ＳＫＥＹ」および「ＮＲＡＮＧＥ＿ＳＫＥＹ」と）をさらに含む。
【０１００】
例示的な実施形態では、（図２のデータ系統伝播モジュール２００などの）データ系統伝播モジュールは、目標テーブル１７３０中に以下の目標データ要素についてのソースデータ要素を見出すことができる：すなわち、列「ＲＢＣ＿ＮＲ」およびデータ記録アイデンティティ（すなわちサロゲートキー「［ＬＡＢ＿ＳＵＭ］〜１０３〜１」である。データ系統伝播モジュールはデータ系統マッピングテーブル１７００をルックアップして、４つのシステム記録であるシステム記録１１、１２、１３、および１４の中に目標テーブルとして目標テーブル「ＬＡＢ＿ＳＵＭ」（すなわち目標テーブル１７３０）を見出し、目標列として列「ＲＢＣ＿ＮＲ」を見出すことができる。これらの４つのシステム記録は「ＣＡＳＥ」の変換マップ種類（すなわち、列「ＴＭＡＰ＿ＴＹＰＥ」）を有する。データ系統伝播モジュールは、目標テーブル１７３０中の２つの補助列を用いて、データ系統マッピングテーブル１７００中の正しいシステム記録を判断する：すなわち、列「ＮＲＡＮＧＥ＿ＳＫＥＹ」および列「ＣＡＳＥ＿ＦＶＡＬ」である）。列「ＮＲＡＮＧＥ＿ＳＫＥＹ」はソーステーブルサロゲートキーを格納し、データ系統マッピングテーブル１７００中に対応のアイデンティティ（すなわち列「ＳＲＣ＿ＳＫＥＹ＿ＣＯＬＮＡＭＥ」）を有する。列「ＣＡＳＥ＿ＦＶＡＬ」はケース条件節タグを格納し、データ系統マッピングテーブル１７００中に対応のアイデンティティ（すなわち列「ＦＩＬＴＥＲ＿ＣＯＬ」）を有する。データ系統伝播モジュールは、目標テーブル１７３０中のデータ記録がフィルタ列（すなわちＣＯＬＵＭＮ「ＣＡＳＥ＿ＦＶＡＬ」）中に値「ＭＡＬＥ」を含むと判断することができる。データ系統伝播モジュールは、データ系統マッピングテーブル１７００中の正しいシステム記録が「ＦＩＬＴＥＲ＿ＶＡＬ」列中の一致するアイデンティティを有するシステム記録であるとさらに判断することができる。このように、４つのシステム記録から、データ系統伝播モジュールは、「ＦＩＬＴＥＲ＿ＶＡＬ」列中に「ＭＡＬＥ」を含むシステム記録がシステム記録１１であると判断することができる。このように、ソースデータ要素は、ソーステーブル「ＮＲＡＮＧＥ」（すなわち、ソーステーブル１７１０）からのものであり、列「ＭＡＬＥ」を有する。データ系統伝播モジュールは、ソースサロゲートキー値が目標テーブル１７３０の「ＮＲＡＮＧＥ＿ＳＫＥＹ」列中に位置し、ソースサロゲートキー値が「［ＮＲＡＮＧＥ］〜ＬＡＢ１〜ＲＢＣ」であるとさらに判断することができる。データ系統伝播モジュールはソースデータ値が「４．７−６．１」であるとさらに判断することができる。
【０１０１】
さらに、例示的な実施形態では、データ系統伝播モジュールは、ソーステーブル１７１０中に以下のソースデータ要素についての目標データ要素を見出すことができる：すなわち、列「ＭＡＬＥ」およびデータ記録アイデンティティ（すなわちサロゲートキー）「［ＮＲＡＮＧＥ］〜ＬＡＢ１〜ＲＢＣ」である。データ系統伝播モジュールはデータ系統マッピングテーブル１７００をルックアップして、システム記録１１中に、ソーステーブルとしてソーステーブル「ＮＲＡＮＧＥ」）（すなわちソーステーブル１７１０）を見出し、ソース列として列「ＭＡＬＥ」を見出すことができる。この情報から、データ系統伝播モジュールは、それが目標テーブル「ＬＡＢ＿ＳＵＭ」（すなわち目標テーブル１７３０）の「ＲＢＣ＿ＮＲ」列中に目標データ要素を探す必要があると判断することができる。データ系統伝播モジュールは次に、ソーステーブル１７１０のサロゲートキー「［ＮＲＡＮＧＥ］〜ＬＡＢ１〜ＲＢＣ」を用いてシャドウテーブル１７４０を探索して、目標テーブル１７３０中の所望のデータ記録のサロゲートキーが「［ＬＡＢ＿ＳＵＭ］〜１０３〜１」および「［ＬＡＢ＿ＳＵＭ］〜１０４〜１」であると判断することができる。このように、データ系統伝播モジュールは、サロゲートキー値「［ＬＡＢ＿ＳＵＭ］〜１０３〜１」および「［ＬＡＢ＿ＳＵＭ］〜１０４〜１」を用いて、２つの目標データ要素が、目標テーブル１７３０中、列「ＲＢＣ＿ＮＲ」中にあると同定することができる。データ系統伝播モジュールはこれらの目標データ要素の両者についての目標データ値が「４．７−６．１」であるとさらに同定することができる。
【０１０２】
図１８は、発明の実施形態に従う、（図１の機能モジュール１８の一部であるデータ系統モジュールなどの）データ系統モジュールの機能性のフロー図を示す。１つの実施形態では、（以下に記載される）図１８のフロー図の機能性および（これも以下に記載される）図１９のフロー図の機能性は、各々がメモリまたは何らかの他のコンピュータ読出可能なもしくは有形の媒体の中に格納されかつプロセッサによって実行されるソフトウェアによって実現される。他の実施形態では、各々の機能性は、（たとえば特定用途向け集積回路（ＡＳＩＣ）、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの使用を通して）ハードウェアによってまたはハードウェアとソフトウェアとの任意の組合せによって行なわれ得る。
【０１０３】
フローが開始し、１８０５に進む。１８０５で、目標データ要素が１つ以上のデータテーブルを含むデータウェアハウスのデータ系統の一部として１つ以上のソースデータ要素にマッピングされ、各々のデータテーブルは１つ以上のデータ記録を含む。目標データ要素は目標データ記録の列を含む。各々のソースデータ要素はソースデータ記録の列を含む。データ変換を用いて、１つ以上のソースデータ要素から、目標データ要素を導出する。１つの実施形態では、データウェアハウスは１つ以上の順序付けされたデータモデルを含む。各々の順序付けされたデータモデルは１つ以上のデータテーブルを含む。さらに、データ変換を用いて、先のデータモデルの少なくとも１つのテーブルから、後続のデータモデルの１つ以上のデータテーブルを形成する。１つの実施形態では、データ変換は、直接マッピング変換、統合変換、合体変換、横縦アンピボット変換、縦横ピボット変換、またはケース変換のうちの１つである。フローは１８１０に進む。
【０１０４】
１８１０で、目標データ記録の１つ以上の補助列内に１つ以上のソースサロゲートキーが格納される。各々のソースサロゲートキーは、対応のソースデータ要素を含むソースデータ記録のアイデンティティを含む。１つの実施形態では、１つ以上のサロゲートキーのうちの各々のサロゲートキーは、ソースデータ記録を備えるソースデータテーブルのアイデンティティを含む。１つの実施形態では、１つ以上のソースデータ要素への目標データ要素のマッピングに基づいて、１つ以上の補助列が目標データ記録に自動的に追加される。フローは１８１５に進む。
【０１０５】
１８１５で、各ソースデータ要素毎に、データ系統マッピングシステム記録が目標データ要素および対応のソースデータ要素のマッピングを表わすデータ系統マッピングシステムテーブル内に格納される。データ系統マッピングシステム記録は、対応のソースデータ要素、目標データ要素、および１つ以上の補助列を含む。当該実施形態に従うと、データ系統マッピングシステム記録はデータ変換の種類も含む。フローは１８２０に進む。
【０１０６】
１８２０で、ソースデータ要素は、データ系統の一部として１つ以上の目標データ要素にマッピングされる。１つ以上の目標データ要素は、データ変換を用いてソースデータ要素から導出される。フローは１８２５に進む。
【０１０７】
１８２５で、各目標データ要素毎に、ソースデータ要素および対応の目標データ要素のマッピングを表わすシャドウシステムテーブル内にシャドウシステム記録が格納される。シャドウシステム記録は、ソースデータ要素を同定するソースサロゲートキー、対応の目標データ要素を同定する目標サロゲートキー、および１つ以上の補助列を含む。このように、当該実施形態に従うと、データ系統は、１つ以上のデータ系統マッピングシステム記録、１つ以上のシャドウシステム記録、および１つ以上のソースサロゲートキーを含む。フローは１８３０に進む。
【０１０８】
１８３０で、データ系統を用いてマッピングされる１つ以上のデータ要素からデータ要素が選択される。フローは１８３５に進む。
【０１０９】
１８３５で、選択されたデータ要素にマッピングされる１つ以上のデータ要素がデータ系統を用いてユーザインターフェイス内に表示される。１つの実施形態では、選択されたデータ要素にマッピングされる１つ以上のデータ要素の表示はさらに、各データ要素毎に、データ系統内のデータ要素の位置を表示することを含む。フローは１８４０に進む。
【０１１０】
１８４０で、各目標データ要素毎に、１つ以上のソースデータ要素のうちの１つのソースデータ要素が好ましいソースデータ要素として選択される。フローは１８４５に進む。
【０１１１】
１８４５で、選択された１つ以上の好ましいソースデータ要素に基づいて、データ系統の好ましいソース経路が作成される。フローは１８５０に進む。
【０１１２】
１８５０で、目標データ記録の補助列内にピボット列アイデンティティが格納される。ピボット列アイデンティティはソースデータ記録のピボット列を同定する。フローは１８５５に進む。
【０１１３】
１８５５で、目標データ記録の第１の補助列内にフィルタ列アイデンティティが格納される。フィルタ列アイデンティティはソースデータ記録のフィルタ列を同定する。フローは１８６０に進む。
【０１１４】
１８６０で、目標データ記録の第２の補助列内にフィルタ値が格納され、フィルタ値はソースデータ記録のフィルタ値である。そしてフローが終了する。
【０１１５】
図１９は、発明の実施形態に従う、（図１の関連情報伝播モジュール１６などの）関連情報伝播モジュールの機能性のフロー図を示す。フローは１９０５で始まる。１９０５で、データウェアハウスのデータ系統追跡が追跡される。データウェアハウスは１つ以上のデータテーブルを含む。各々のデータテーブルは１つ以上のデータ記録を含む。１つの実施形態では、データウェアハウスは１つ以上の順序付けされたデータモデルを含む。各々の順序付けされたデータモデルは１つ以上のデータテーブルを含む。さらに、データ変換を用いて、先のデータモデルの少なくともテーブルから、後続のデータモデルの１つ以上のデータテーブルが形成される。１つの実施形態では、データ変換は、直接マッピング変換、統合変換、合体変換、横縦アンピボット変換、縦横ピボット変換、またはケース変換のうちの１つである。フローは１９１０に進む。
【０１１６】
１９１０で、一次データ要素と関連オブジェクトとの間の関連付けが同定される。一次データ要素は一次データ記録の列を含む。関連オブジェクトは関連情報を備える。一次データ要素と関連オブジェクトとの間の関連付けは一次リンクとして同定される。１つの実施形態では、関連オブジェクトは、不一致、コメント、ステータスフラグ、状態インジケータ、タグ、画像、録音録画、ファイル、リンク、または文書の１つである。また、１つの実施形態では、一次データ要素は、一次データ記録の列を含む一次データ要素の代わりに一次データ記録を含む。
【０１１７】
１９１５で、一次リンクを表わす関連オブジェクトマッピングシステムテーブル内に第１の関連オブジェクトマッピングシステム記録が格納される。第１の関連オブジェクトマッピングシステム記録は、一次データ要素のアイデンティティ、関連オブジェクトのアイデンティティ、および一次リンクインジケータを含む。１つの実施形態では、第１の関連オブジェクトマッピングシステム記録は、一次データ要素のデータモデルを同定するデータ要素モデルアイデンティティ、一次データ要素のデータテーブルを同定するデータ要素テーブルアイデンティティ、および一次データ要素の列を同定するデータ要素列アイデンティティを含む。フローは１９２０に進む。
【０１１８】
１９２０で、データ系統を用いて、二次データ要素と関連オブジェクトとの間の関連付けが同定される。二次データ要素は二次データ記録の列を含む。二次データ要素はデータ系統内の一次データ要素に関する。二次データ要素と関連オブジェクトとの間の関連付けは二次リンクとして同定される。１つの実施形態では、二次データ要素は一次データ要素のソースデータ要素である。また、１つの実施形態では、一次データ要素のアイデンティティおよび二次データ要素のアイデンティティは各々サロゲートキーである。さらに、１つの実施形態では、二次データ要素は、二次データ記録の列を含む二次データ要素の代わりに二次データ記録を含む。１つの実施形態では、二次データ要素と関連オブジェクトとの間の関連付けは、データ系統を用いて一次データ要素に基づいて二次データ要素を同定することによって同定される。ある実施形態では、付加的な二次データ要素と関連オブジェクトとの間の付加的な関連付けもデータ系統を用いて同定される。フローは１９２５に進む。
【０１１９】
１９２５で、二次リンクを表わし、かつ一次データ要素と二次データ要素との間の関連付けを表わす関連オブジェクトマッピングシステムテーブル内に第２の関連オブジェクトマッピングシステム記録が格納される。第２の関連オブジェクトマッピングシステム記録は、二次データ要素のアイデンティティ、関連オブジェクトのアイデンティティ、および二次リンクインジケータを含む。１つの実施形態では、第２の関連オブジェクトマッピングシステム記録は、二次データ要素のデータモデルを同定するデータ要素モデルアイデンティティ、二次データ要素のデータテーブルを同定するデータ要素テーブルアイデンティティ、および二次データ要素の列を同定するデータ要素列アイデンティティを含む。さらに、１つの実施形態では、第２の関連オブジェクトマッピングシステム記録は、二次データ要素が好ましいソースデータ要素であるという指標を含む。データ系統を用いて付加的な二次データ要素と関連オブジェクトとの間の付加的な関連付けも同定される実施形態では、関連オブジェクトマッピングシステムテーブル内に付加的な関連オブジェクトマッピングシステム記録が格納される。フローは１９３０に進む。
【０１２０】
１９３０で、一次データ要素または二次データ要素がユーザインターフェイス内に表示される。１つの実施形態では、一次データ要素と二次データ要素との両方がユーザインターフェイス内に表示される。次にフローは１９３５に進む。
【０１２１】
１９３５で、一次データ要素または二次データ要素のいずれかが選択される。次にフローは１９４０に進む。
【０１２２】
１９４０で、第１の関連オブジェクトマッピングシステム記録または第２の関連オブジェクトマッピングシステム記録のいずれかを用いてユーザインターフェイス内に関連オブジェクトが表示される。より具体的には、一次データ要素が選択されると、第１の関連オブジェクトマッピングシステム記録を用いてユーザインターフェイス内に関連オブジェクトが表示される。二次データ要素が選択されると、第２の関連オブジェクトマッピングシステム記録を用いてユーザインターフェイス内に関連オブジェクトが表示される。１つの実施形態では、関連オブジェクトの表示は関連オブジェクトの種類によってフィルタされる。フローは１９４５に進む。
【０１２３】
１９４５で、一次データ要素が削除される。フローは１９５０に進む。
１９５０で、第１の関連オブジェクトマッピングシステム記録が削除される。フローは１９５５に進む。
【０１２４】
１９５５で、第２の関連オブジェクトマッピングシステム記録が削除される。フローは１９６０に進む。
【０１２５】
１９６０で、関連オブジェクトの状態が閉じた状態に修正される。フローは終了する。
このように、１つの実施形態では、データウェアハウス内に格納することができる１組のデータのデータ系統追跡を与えることができるシステムを提供することができ、１組のデータは１つ以上のテーブル内に格納され、各々のテーブルは１つ以上のデータ記録を含む。所与の目標データ要素については、システムは、目標データ要素を発生した１組のソースデータ要素を同定することができ、「データ要素」はデータ記録の列を含む。同様に、所与のソースデータ要素については、システムは、ソースデータ要素から導出される１組の目標データ要素およびソースデータ要素から１組の目標データ要素への経路を同定することができる。システムによって与えられるデータ経路追跡は格納されたデータの徹底的な分析をさらに容易にすることができる。
【０１２６】
さらに、別の実施形態では、データ要素にリンクされる「関連情報」または「関連オブジェクト」の可視性をサポートし、関係のソースデータ要素および目標データ要素に関連情報（すなわち関連オブジェクト）を伝播するようにデータ系統追跡を強化することができるシステムを提供することができる。実施形態に従うと、システムは、関連オブジェクトと、関連オブジェクトに関連付けられるデータ要素またはデータ記録との間の一次リンクおよび二次リンクの両者を格納することができる。このように、当該実施形態に従うと、データ系統のデータ要素の上流およびデータ要素の下流の両方で、不一致などの関連オブジェクトが可視となることができる。この関連オブジェクトの可視性は、格納されたデータの徹底的な分析をさらに容易にすることができる。
【０１２７】
この明細書を通じて記載した発明の特徴、構造、または特性を、１つ以上の実施形態において任意の好適な態様で組合せてもよい。たとえば、この明細書を通じての「１つの実施形態」、「いくつかの実施形態」、「ある実施形態」、「ある複数の実施形態」、または他の同様の文言の使用は、実施形態と関連して記載した特定の特徴、構造、または特性が本発明の少なくとも１つの実施形態に含まれてもよいことを指すものである。このように、この明細書を通じての句「１つの実施形態」、「いくつかの実施形態」、「ある実施形態」、「ある複数の実施形態」、または他の同様の文言の出現は同じ群の実施形態を必ずしもすべて指すものではなく、記載の特徴、構造、または特性を１つ以上の実施形態で任意の好適な態様で組合せてもよい。
【０１２８】
当業者は、以上で論じたような発明が、開示されるのとは異なる順序のステップで、および／または異なる構成中の要素を用いて実践されてもよいことを容易に理解するであろう。したがって、発明はこれらの好ましい実施形態に基づいて記載されたが、当業者には、発明の意味および精神内に留まりながら、ある修正例、変形例、および代替的な構築が明らかになるであろうことが明らかであろう。したがって、発明の境界を判断するには、添付の請求項を参照すべきである。
【図１】
0006306599.tif 000004
【図２】
0006306599.tif 000005
【図３】
0006306599.tif 000006
【図４】
0006306599.tif 000007
【図５】
0006306599.tif 000008
【図６】
0006306599.tif 000009
【図７】
0006306599.tif 000010
【図８】
0006306599.tif 000011
【図９】
0006306599.tif 000012
【図１０】
0006306599.tif 000013
【図１１】
0006306599.tif 000014
【図１２】
0006306599.tif 000015
【図１３】
0006306599.tif 000016
【図１４】
0006306599.tif 000017
【図１５】
0006306599.tif 000018
【図１６】
0006306599.tif 000019
【図１７】
0006306599.tif 000020
【図１８】
0006306599.tif 000021
【図１９】
0006306599.tif 000022