(57)【要約】      （修正有）【課題】１つのテーブルから複数のテーブルに相互参照データを自動的に移行させることにより、相互参照ルックアップパフォーマンスを向上させる。【解決手段】マルチテーブルデータセグメント化の方法は、データベーステーブルに関連付けられた複数の定義ファイルの各々をマルチテーブルデータを用いて拡張し、複数のマルチテーブルを作成する。各マルチテーブルは複数の定義ファイルのうちの異なる１つに関連付けられている。データベーステーブルに格納されたデータを複数の定義ファイルに基づいて転置し、転置したデータをデータベーステーブルから複数のマルチテーブルに移行させる。【選択図】図３
2018060570.tif 000002
【特許請求の範囲】
【請求項１】
マルチテーブルデータセグメント化のためのコンピュータによって実現される方法であって、前記方法は、
データベーステーブルに関連付けられた複数の定義ファイルの各々をマルチテーブルデータを用いて拡張することと、
複数のマルチテーブルを作成することとを備え、各マルチテーブルは前記複数の定義ファイルのうちの異なる１つに関連付けられており、さらに、
前記データベーステーブルに格納されたデータを前記複数の定義ファイルに基づいて転置することと、
転置した前記データを前記データベーステーブルから前記複数のマルチテーブルに移行させることとを備える、方法。
【請求項２】
前記マルチテーブルデータは、前記マルチテーブルのうちの１つに関連付けられた識別子と、マルチテーブルフラグとを含む、請求項１に記載のコンピュータによって実現される方法。
【請求項３】
複数のマルチテーブルを作成することはさらに、
各定義ファイルを解析してその定義ファイルのテーブル情報を求めることを含み、前記テーブル情報は、名前、列の数、および列名を含み、さらに、
複数のスクリプトを自動的に生成することを含み、各スクリプトは前記マルチテーブルのうちの１つを定義し、各スクリプトは、前記定義ファイルのうちの異なる１つから解析される前記テーブル情報を使用して生成され、さらに、
前記複数のスクリプトの各々を実行して前記複数のマルチテーブルを作成することを含む、請求項１または２に記載のコンピュータによって実現される方法。
【請求項４】
マッピング定義テーブルを作成することをさらに備え、前記マッピング定義テーブルは、各定義ファイルをその関連付けられたマルチテーブルにマッピングする、請求項１から３のいずれか一項に記載のコンピュータによって実現される方法。
【請求項５】
前記データベーステーブルに格納されたデータを前記複数の定義ファイルに基づいて転置することは、
前記定義ファイルの各々について転置スクリプトを生成することを含み、各転置スクリプトは、その定義ファイルに関連付けられた前記データがその定義ファイルの関連付けられたマルチテーブルと互換性があるようにどのようにセグメント化および変換されるのかを定義する、請求項１から４のいずれか一項に記載のコンピュータによって実現される方法。
【請求項６】
転置した前記データを前記データベーステーブルから前記複数のマルチテーブルに移行させることは、
各転置スクリプトを実行して、各定義ファイルに関連付けられた前記データをセグメント化および変換することと、
セグメント化および変換した前記データを、前記データベーステーブルから前記複数のマルチテーブルにコピーすることとを含む、請求項５に記載のコンピュータによって実現される方法。
【請求項７】
転置した前記データが前記複数のマルチテーブルに正常に移行されたことの有効性を確認することをさらに備える、請求項１から６のいずれか一項に記載のコンピュータによって実現される方法。
【請求項８】
自身に格納された命令を含む非一時的なコンピュータ読取可能記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
データベーステーブルに関連付けられた複数の定義ファイルの各々をマルチテーブルデータを用いて拡張するステップと、
複数のマルチテーブルを作成するステップとを実行させ、各マルチテーブルは前記複数の定義ファイルのうちの異なる１つに関連付けられており、さらに、
前記データベーステーブルに格納されたデータを前記複数の定義ファイルに基づいて転置するステップと
転置した前記データを前記データベーステーブルから前記複数のマルチテーブルに移行させるステップとを実行させる、コンピュータ読取可能記憶媒体。
【請求項９】
前記マルチテーブルデータは、前記マルチテーブルのうちの１つに関連付けられた識別子と、マルチテーブルフラグとを含む、請求項８に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１０】
前記プロセッサによって実行されると、前記プロセッサに、複数のマルチテーブルを作成するステップを実行させ、各マルチテーブルは前記複数の定義ファイルのうちの異なる１つに関連付けられている前記命令はさらに、実行されると、前記プロセッサに、
各定義ファイルを解析してその定義ファイルのテーブル情報を求めるステップを実行させ、前記テーブル情報は、名前、列の数、および列名を含み、さらに、
複数のスクリプトを自動的に生成するステップを実行させ、各スクリプトは前記マルチテーブルのうちの１つを定義し、各スクリプトは、前記定義ファイルのうちの異なる１つから解析される前記テーブル情報を使用して生成され、さらに、
前記複数のスクリプトの各々を実行して前記複数のマルチテーブルを作成するステップを実行させる命令を含む、請求項８または９に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１１】
前記プロセッサによって実行されると、前記プロセッサに、
マッピング定義テーブルを作成するステップを実行させる命令をさらに含み、前記マッピング定義テーブルは、各定義ファイルをその関連付けられたマルチテーブルにマッピングする、請求項８から１０のいずれか一項に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１２】
前記プロセッサによって実行されると、前記プロセッサに、前記データベーステーブルに格納されたデータを前記複数の定義ファイルに基づいて転置するステップを実行させる前記命令はさらに、実行されると、前記プロセッサに、
前記定義ファイルの各々について転置スクリプトを生成するステップを実行させる命令を含み、各転置スクリプトは、その定義ファイルに関連付けられた前記データがその定義ファイルの関連付けられたマルチテーブルと互換性があるようにどのようにセグメント化および変換されるのかを定義する、請求項８から１１のいずれか一項に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１３】
前記プロセッサによって実行されると、前記プロセッサに、転置した前記データを前記データベーステーブルから前記複数のマルチテーブルに移行させるステップを実行させる前記命令はさらに、実行されると、前記プロセッサに、
各転置スクリプトを実行して、各定義ファイルに関連付けられた前記データをセグメント化および変換するステップと、
セグメント化および変換した前記データを、前記データベーステーブルから前記複数のマルチテーブルにコピーするステップとを実行させる命令を含む、請求項１２に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１４】
前記プロセッサによって実行されると、前記プロセッサに、
転置した前記データが前記複数のマルチテーブルに正常に移行されたことの有効性を確認するステップを実行させる命令をさらに備える、請求項８から１３のいずれか一項に記載の非一時的なコンピュータ読取可能記憶媒体。
【請求項１５】
マルチテーブルデータセグメント化のためのシステムであって、
コンピュータ読取可能記憶媒体およびプロセッサを含むコンピュータと、
相互参照データテーブルおよび複数の定義ファイルを含むデータベースと、
前記コンピュータ上で実行するマルチテーブルデータセグメント化ツールとを備え、前記マルチテーブルデータセグメント化ツールは、
前記複数の定義ファイルの各々をマルチテーブルデータを用いて拡張し、
複数のマルチテーブルを作成するように動作可能であり、各マルチテーブルは前記複数の定義ファイルのうちの異なる１つに関連付けられており、さらに、
前記データベーステーブルに格納されたデータを前記複数の定義ファイルに基づいて転置し、
転置した前記データを前記データベーステーブルから前記複数のマルチテーブルに移行させるように動作可能である、システム。
【請求項１６】
前記マルチテーブルデータは、前記マルチテーブルのうちの１つに関連付けられた識別子と、マルチテーブルフラグとを含む、請求項１５に記載のシステム。
【請求項１７】
前記マルチテーブルデータセグメント化ツールはさらに、
各定義ファイルを解析してその定義ファイルのテーブル情報を求めるように動作可能であり、前記テーブル情報は、名前、列の数、および列名を含み、さらに、
複数のスクリプトを自動的に生成するように動作可能であり、各スクリプトは前記マルチテーブルのうちの１つを定義し、各スクリプトは、前記定義ファイルのうちの異なる１つから解析される前記テーブル情報を使用して生成され、さらに、
前記複数のスクリプトの各々を実行して前記複数のマルチテーブルを作成するように動作可能である、請求項１５または１６に記載のシステム。
【請求項１８】
マッピング定義テーブルをさらに備え、前記マッピング定義テーブルは、各定義ファイルをその関連付けられたマルチテーブルにマッピングし、さらに、
前記移行についてのデータを格納するモニタテーブルを備え、前記モニタテーブルは、前記移行の有効性を確認するために前記マルチテーブルデータセグメント化ツールによって使用され得る、請求項１５から１７のいずれか一項に記載のシステム。
【請求項１９】
前記マルチテーブルデータセグメント化ツールが、前記データベーステーブルに格納されたデータを前記複数の定義ファイルに基づいて転置すると、前記マルチテーブルデータセグメント化ツールはさらに、
前記定義ファイルの各々について転置スクリプトを生成するように動作可能であり、各転置スクリプトは、その定義ファイルに関連付けられた前記データがその定義ファイルの関連付けられたマルチテーブルと互換性があるようにどのようにセグメント化および変換されるのかを定義する、請求項１５から１８のいずれか一項に記載のシステム。
【請求項２０】
前記マルチテーブルデータセグメント化ツールが、転置した前記データを前記データベーステーブルから前記複数のマルチテーブルに移行させると、前記マルチテーブルデータセグメント化ツールはさらに、
各転置スクリプトを実行して、各定義ファイルに関連付けられた前記データをセグメント化および変換し、
セグメント化および変換した前記データを、前記データベーステーブルから前記複数のマルチテーブルにコピーするように動作可能である、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
本発明の実施形態は概して、単一テーブルから複数テーブルへの参照データセグメント化を提供するための方法およびシステムに関し、より特定的には、１つのテーブルから複数のテーブルに相互参照データを自動的に移行させることによって相互参照ルックアップパフォーマンスを向上させることに関する。
【背景技術】
【０００２】
現在、企業は異なるビジネスニーズに対応するために多くの異なるソフトウェアアプリケーションを利用している。たとえば、ある企業は、顧客対話、アカウント管理、製品流通等に異なるアプリケーションを使用し得る。各アプリケーションは独自の特有のデータモデルを使用する可能性が高く、つまり、１つのアプリケーションのデータは別のアプリケーションのデータとは異なってフォーマット化または編成され得る。これによって、アプリケーションデータが両アプリケーションにおいて同一のエンティティを表わす場合であっても、アプリケーション同士の間で当該アプリケーションデータを直接共有することが困難または不可能になり得る。
【０００３】
アプリケーション統合は、アプリケーションがデータを共有できるようにし得る処理であり、アプリケーションごとにデータを繰返し手動で再入力することによってもたらされる負担およびエラーの可能性を減少させる。アプリケーション統合を実現する１つの方法は、アプリケーションごとに識別子（ＩＤ）をリンクする相互参照（ＸＲＥＦ）データベースを共通のフォーマットで使用することである。データがアプリケーション同士の間で受渡されると、当該データは、ＸＲＥＦデータベースに格納された情報を使用して変換され得る。たとえば、第１のアプリケーションが第２のアプリケーションにデータを送信すると、当該データは第１のアプリケーションに関連付けられた第１のフォーマットから共通のフォーマットに変換され得、その後、共通のフォーマットから第２のアプリケーションに関連付けられた第２のフォーマットに変換され得る。
【０００４】
ＸＲＥＦデータは典型的に、単一のデータベーステーブルに格納される。このテーブルは、何億もの行を含んで非常に大きく成長し得る。テーブルのサイズが大きくなるにつれ、テーブル内のＸＲＥＦデータをルックアップするのに必要な時間が増加し、パフォーマンスのボトルネックにつながり得る。
【発明の概要】
【０００５】
発明の簡単な概要
本発明の実施形態は、１つのテーブルから複数のテーブルに相互参照データを自動的に移行させることによって相互参照ルックアップパフォーマンスを向上させる方法およびシステムに関する。ある実施形態に従うと、マルチテーブルデータセグメント化の方法は、データベーステーブルに関連付けられた複数の定義ファイルの各々をマルチテーブルデータを用いて拡張すること（augment）を含み得る。上記方法はさらに、複数のマルチテー
ブルを作成することを含み得る。各マルチテーブルは、上記複数の定義ファイルのうちの異なる１つに関連付けられている。上記方法はさらに、上記データベーステーブルに格納されたデータを上記複数の定義ファイルに基づいて転置することと、転置した上記データを上記データベーステーブルから上記複数のマルチテーブルに移行させることとを含み得る。いくつかの実施形態では、上記マルチテーブルデータは、上記マルチテーブルのうちの１つに関連付けられた識別子と、マルチテーブルフラグとを含み得る。
【０００６】
いくつかの実施形態では、上記複数のマルチテーブルは、各定義ファイルを解析して（parse）その定義ファイルのテーブル情報を求め、複数のスクリプトを自動的に生成する
ことによって作成され得、各スクリプトは上記マルチテーブルのうちの１つを定義し、各スクリプトは、上記定義ファイルのうちの異なる１つから解析される上記テーブル情報を使用して生成され、上記複数のマルチテーブルはさらに、上記複数のスクリプトの各々を実行して上記複数のマルチテーブルを作成することによって作成され得る。さらに、各定義ファイルをその関連付けられたマルチテーブルにマッピングするマッピング定義テーブルが作成され得る。
【０００７】
いくつかの実施形態では、上記データベーステーブルに格納されたデータを転置することは、上記定義ファイルの各々について転置スクリプトを生成することを含み得る。各転置スクリプトは、その定義ファイルに関連付けられた上記データがその定義ファイルの関連付けられたマルチテーブルと互換性があるようにどのようにセグメント化および変換されるのかを定義し得る。さらに、転置した上記データを上記データベーステーブルから上記複数のマルチテーブルに移行させることは、各転置スクリプトを実行して、各定義ファイルに関連付けられた上記データをセグメント化および変換することを含み得る。上記データは、セグメント化および変換されると、上記データベーステーブルから上記複数のマルチテーブルにコピーされ得る。さらに、移行が完了した後、移行した上記データの有効性が確認され得る。
【図面の簡単な説明】
【０００８】
【図１】本発明のある実施形態に従う、例示的な相互参照テーブルの抜粋を示す図である。
【図２】本発明のある実施形態に従う、マルチデータセグメント化を実行するためのシステムを示す図である。
【図３】本発明のある実施形態に従う、マルチデータセグメント化を実行する方法を示す図である。
【図４Ａ】本発明のある実施形態に従う、例示的な移行されたマルチテーブルを示す図である。
【図４Ｂ】本発明のある実施形態に従う、例示的な移行されたマルチテーブルを示す図である。
【図４Ｃ】本発明のある実施形態に従う、例示的な移行されたマルチテーブルを示す図である。
【図５】本発明のある実施形態に従う、例示的なモニタテーブルを示す図である。
【図６】本発明のいくつかの実施形態に従って使用され得るシステム環境の構成要素を示す簡略ブロック図である。
【図７】本発明の実施形態に従って使用され得る演算システムの簡略ブロック図である。
【発明を実施するための形態】
【０００９】
発明の詳細な説明
以下の説明では、本発明の実施形態が十分に理解されるようにするために、説明の目的で具体的詳細を記載する。しかし、これらの具体的詳細がなくても本発明の実施形態を実施できることは明らかであろう。
【００１０】
本発明の実施形態は、マルチテーブルデータセグメント化を実行することによって相互参照ルックアップパフォーマンスを向上させるために使用され得る。ある実施形態に従うと、マルチテーブルデータセグメント化の方法は、データベーステーブルに関連付けられた複数の定義ファイルの各々をマルチテーブルデータを用いて拡張することを含み得る。上記方法はさらに、複数のマルチテーブルを作成することを含み得る。各マルチテーブル
は、上記複数の定義ファイルのうちの異なる１つに関連付けられている。上記方法はさらに、上記データベーステーブルに格納されたデータを上記複数の定義ファイルに基づいて転置することと、転置した上記データを上記データベーステーブルから上記複数のマルチテーブルに移行させることとを含み得る。
【００１１】
図１は、本発明の例示的な相互参照テーブル１００の抜粋を示す。図１に示されるように、相互参照テーブルは、異なるアプリケーションにおいて作成される複数の異なるエンティティの相互参照（ＸＲＥＦ）データを含み得る。相互参照テーブルは、これらのエンティティのアイデンティティを相関付けるために使用され得、ビジネスによって利用されるアプリケーションおよびエンティティの数が増加するにつれて非常に大きく成長し得る。相互参照テーブルは、ＸＲＥＦテーブル名１０２および行番号１０４によって編成され得る。ＸＲＥＦテーブル名１０２は、相互参照テーブルを含む複数の構成仮想テーブルに対応する。たとえば、図１において、示される相互参照テーブルの部分はＢｕｓｉｎｅｓｓ＿Ｕｎｉｔ＿ＩＤ  ＸＲＥＦエンティティに対応し、したがって、ＸＲＥＦテーブル名１０２列の下で、Ｂｕｓｉｎｅｓｓ＿Ｕｎｉｔ＿ＩＤ  ＸＲＥＦアーティファクト１０６についての経路がリストされている。各ＸＲＥＦアーティファクトは、以下にさらに説明するように、そのＸＲＥＦアーティファクトに関連付けられたＸＲＥＦエンティティの、相互参照テーブル内の他のエンティティへのマッピングを定義するＸＭＬファイルであり得る。１０８に示されるように、図示されない追加的な行は、異なるＸＲＥＦエンティティについての異なる仮想テーブルに対応し得る。
【００１２】
各行番号１０４は、その行のＸＲＥＦ＿Ｔａｂｌｅ＿Ｎａｍｅに対応するＸＲＥＦエンティティの異なるインスタンスを表わす。ゆえに、行番号３，４および５の各々は、Ｂｕｓｉｎｅｓｓ＿Ｕｎｉｔ＿ＩＤの異なるインスタンスに対応する。たとえば、図１に示されるように、２つのアプリケーション識別子（ＩＤ）と、Ｂｕｓｉｎｅｓｓ＿Ｕｎｉｔ＿ＩＤ  ＸＲＥＦエンティティの各インスタンスについての共通値（ＥＢＩＺ＿０１  １１０；ＪＤＥＥ１＿０１  １１２；およびＣＯＭＭＯＮ１１４）との間にマッピングが存在する。したがって、たとえば、行番号３に対応するインスタンスに関して、ＥＢＩＺ＿０１＿０３、ＪＤＥＥ１＿０１＿０３およびＣｏｍｍｏｎ＿０３の各々が互いにマッピングする。
【００１３】
図２は、本発明のある実施形態に従う、マルチデータセグメント化を実行するためのシステムを示す。図２に示されるように、そのようなシステムは、サーバ２００と、サーバにアクセス可能な相互参照データベース２０２とを含み得る。ある実施形態に従うと、サーバは、ローカルエリアネットワーク上で、またはインターネット上で、データベースと直接通信し得る。サーバは、コンピュータ読取可能媒体およびプロセッサを含むコンピュータ、またはコンピュータのクラスタであり得る。サーバは、自身の上で実行するマルチテーブルデータセグメント化ツール２０４を含み得る。相互参照データベース２０２は、図１に関して上記に説明したような相互参照データを含むＸＲＥＦ＿ＤＡＴＡテーブル２０６を含み得る。マルチテーブルデータセグメント化ツール２０４を使用して、ＸＲＥＦ＿ＤＡＴＡテーブル２０６に格納された相互参照データはセグメント化され、複数のマルチテーブル２０８に移行され得る。この処理は、以下により詳細に説明する。
【００１４】
図３は、本発明のある実施形態に従う、マルチデータセグメント化を実行する方法を示す。ある実施形態に従うと、以下に説明する方法は、図２に関して上記に説明したマルチテーブルデータセグメント化ツールによって実行され得る。単一の相互参照テーブルが成長するにつれ、参照をルックアップするのに費やす時間が増加してパフォーマンスボトルネックにつながり得る。そのような場合、単一の相互参照テーブルを、各々が異なるＸＲＥＦアーティファクトに対応する複数のより小さいテーブルに分割することが有利であり得る。これらのより小さいテーブルの各々は本明細書ではマルチテーブルと称され、相互
参照テーブルを複数のマルチテーブルに分割する処理は本明細書ではマルチデータセグメント化と称される。
【００１５】
図３に示されるように、マルチデータセグメント化は、相互参照データが正確に移行され、必要に応じて迅速に識別および使用され得ることを確実にするための複数のステップを含み得る。本発明のある実施形態に従うと、マルチデータセグメント化処理は、単一の相互参照テーブルから複数の相互参照マルチテーブルにデータを生成し、組織化し、転置し、移行させ、有効性を確認するために提供される。
【００１６】
ステップ３００において、新たな相互参照定義がマルチテーブルについて生成される。これらの定義は、作成すべきマルチテーブルデータベーステーブルの構造を定義するために使用され得る。ステップ３０２において、新たな相互参照定義を生成することは、データベースをスキャンして元の相互参照定義ファイル（本明細書ではＸＲＥＦアーティファクトとも称される）を識別してから、この情報を使用して新たな相互参照定義を導出することを含み得る。ステップ３０４において、新たな定義ファイルの各々はマルチテーブルデータを含むように拡張され得、ＳＱＬスクリプト等のスクリプトが拡張した定義ファイルに基づいて生成され得る。これらのスクリプトは実行されると、拡張した定義ファイルに対応する新たなマルチテーブルを作成し得る。このマルチテーブルデータは、ＸＲＥＦデータがマルチテーブルに移動したことを示すフラグと、ＸＲＥＦデータが移動した先のマルチテーブルの識別子とを含む付加的なメタデータであり得る。たとえば、以下に示されるように、＜ｔａｂｌｅ＞ノードの下には、この例では値「ｓｐｅｃｉｆｉｃ」を使用することによって、ＸＲＥＦデータがマルチテーブルに移動したことを示すフラグとして「ｍｏｄｅ」属性が使用され得る。「ｄｂｔａｂｌｅ」属性は、データベース内に作成されることになる対応のマルチテーブルの名前等のマルチテーブルの識別子を含み得る。
【００１７】
【数１】
2018060570.tif 000003
【００１８】
ステップ３０６において、新たな相互参照定義ファイルの生成後、新たなマルチテーブルデータベーステーブルが識別および定義され得る。ある実施形態に従うと、ステップ３０８において、新たなマルチテーブルは、新たな相互参照定義ファイルごとに１つの新たな対応するマルチテーブルを作成することによってターゲットにされる。新たな相互参照定義ファイルの各々は解析され、テーブル名、列名、列の数等、新たなマルチテーブルを作成する際に使用する適切な情報が求められ得る。各テーブルは、新たな相互参照定義ファイルの各々において「ｄｂｔａｂｌｅ」メタデータに従って名前を付けられ得る。列の数および列名などの各マルチテーブルの詳細は、新たな相互参照定義ファイルの各々における＜ｃｏｌｕｍｎ＞要素から１対１の対応で求められ得る。
【００１９】
【数２】
2018060570.tif 000004
【００２０】
上記のリスティング２に示されるように、新たなマルチテーブルの各行は、新たな相互参照定義から導出される列を含み得る。さらに、ある実施形態に従うと、２つの付加的な列ＲＯＷ＿ＩＤおよびＬＡＳＴ＿ＭＯＤＩＦＩＥＤが追加され得る。ある実施形態に従うと、データベーステーブル名または他の識別子は限られた長さを有し得るため、ステップ３１０において、定義ファイル内のマルチテーブル識別子をその対応する実際のデータベーステーブル識別子にリンクするためのマッピングテーブルが作成され得る。ある実施形態に従うと、新たなマルチテーブルデータベーステーブルの各々は、１つ以上のＳＱＬスクリプトを使用して作成され得る。
【００２１】
ステップ３１２において、ＸＲＥＦデータは転置される。転置ステップの間、ステップ３１４において、データをマルチテーブル上にセグメント化するための実行プランが１つ以上のＳＱＬスクリプトの形態で生成され、新たな相互参照アーティファクトごとに１つのスクリプトが作成される。転置は、所与の相互参照定義についてのＸＲＥＦデータが完全にマッピングされるか否かに依存して異なって実行され得る。データが完全にマッピングされる元のテーブル内の相互参照アーティファクトの各々について、アーティファクトの列は、行番号ごとに定義される値を有する。これらの完全にマッピングされるテーブルを移行させるために、データは、対応するマルチテーブルのフォーマットにバルクで転置され得る。
【００２２】
完全にマッピングされないマルチテーブルは、ナル値および／または１対多マッピングを含み得る。マルチテーブル内のナル値は、いくつかの相互参照アーティファクトの列についてのマッピング値が欠けている元の単一の相互参照テーブルに起因する。この場合、完全にマッピングされるテーブルと同様に、データは移行用に転置され得る。１対多マッピングを有するテーブルについては、１つのアプリケーションについてのＩＤが別のアプリケーションについての複数のＩＤにマッピングされ、すなわち、一列内のある値はテーブルの別の列内のいくつかの値に対応し得る。１対多マッピングを有するアーティファクトは、自身のデータを単一の相互参照テーブルから一度に一行ずつ移行させ得る。
【００２３】
ステップ３１６において、ＸＲＥＦデータは、ステップ３１４で生成されたスクリプトを実行することによって単一の相互参照テーブルから対応するマルチテーブルの各々に移行される。各スクリプトは、新たな相互参照アーティファクトの各々についてのデータを、その新たな相互参照アーティファクトのマルチテーブルと互換性のある形態にセグメント化および変換した後、セグメント化および変換したデータを新たなマルチテーブルにコピーする。３１８に示されるように、各スクリプトは並列実行用に設計されてパフォーマンスを向上させ得る。
【００２４】
図４Ａ、図４Ｂおよび図４Ｃは、本発明のある実施形態に従う、例示的な移行されたマルチテーブルを示す。図４Ａは、ある実施形態に従う、ＸＲＥＦ＿ＢＵＳＩＮＥＳＳ＿ＵＮＩＴアーティファクトについての例示的な移行されて完全にマッピングされるテーブルを示す。図４Ａに示されるように、各行ＩＤ４００は図１の行番号１０４に対応する。同様に、ＥＢＩＺ＿０１  １１０、ＪＤＥＥ１＿０１  １１２およびＣＯＭＭＯＮ１１４について、リスティング２に示されるスキーマに従って列が作成されている。さらに、行が最後に修正された日付を含む新たなＬａｓｔ Ｍｏｄｉｆｉｅｄ列４０２が追加されてい
る。
【００２５】
図４Ｂは、相互参照アーティファクトがナル値を含む例を示す。列がその相互参照定義におけるエンティティについて定義されるがその列に値が割当てられない場合は、当該列はＸＲＥＦ＿ＤＡＴＡテーブルに示されない。ナル値を含む列が組織化ステップ３０６において識別され、関連付けられたマルチテーブルに含められる。図４Ｂに示されるように、マルチテーブル４０４に関連付けられたエンティティは、３つのアプリケーションＩＤ、すなわちＥＢＩＺ＿０１  ４０６、ＡＧＩＬＥ＿０１  ４０８およびＰＬＭ４Ｐ  ４１０についての列を含む。ＰＬＭ４Ｐには値が割当てられていないため、各エントリは（ナル）４１２として示される。
【００２６】
図４Ｃは、相互参照アーティファクトが１対多マッピングを含む例を示す。１対多マッピングを含む移行されたアーティファクトは、１つ以上の列内の単一値が異なる列内の多値にマッピングされる、結果として得られるマルチテーブルを有する。図４Ｃに示されるように、別個の行ＩＤごとに１つの「完全な」行があり、他のマッピングされた値は、行ＩＤおよび他の列についてのナル値のみを有して各自の行内にある。図４Ｃの例では、ＯＴＭ＿０１値４１４の各々が３つのＥＢＩＺ＿０１値４１６にマッピングする（たとえば、ＯＴＭ＿０１＿１０２８がＥＢＩＺ＿０１＿１０２８Ａ、ＥＢＩＺ＿０１＿１０２８ＢおよびＥＢＩＺ＿０１＿１０２８Ｃにマッピングする）。結果として得られるマルチテーブルでは、同じ行ＩＤ（たとえば１０２８）を共有する３行が組合わさって、マッピングを完全に定義する１つの「完全な」行を形成する。ある実施形態に従うと、各列内のデータを複数の行について複製する代わりに、４１８に示されるように（ナル）がテーブルに挿入されてもよい。
【００２７】
図３に戻って、ステップ３２０において、移行の有効性が確認される。有効性の確認は、セグメント化処理および結果の完全性を検証し得る。移行の間、モニタリング統計が収集されてモニタテーブルに格納される。これによって移行を検証し、相互参照アーティファクトごとにデータセグメント化処理がエラーなしで完了したことを確かめることができる。
【００２８】
図５は、本発明のある実施形態に従う、例示的なモニタテーブルを示す。すべてのアーティファクトが確実に移行されるようにするために、データセグメント化の最後に結果確認ＳＱＬスクリプトを実行して、マルチテーブルに関連付けられたメトリクスをＸＲＥＦ＿ＤＡＴＡテーブルに関連付けられたメトリクスと比較することができる。図５に示されるように、モニタテーブル５００は、各ＸＲＥＦエンティティおよびそのエンティティのデータの移行に関する情報を格納し得る。これは、ＸＲＥＦアーティファクト名５０２と、元のＸＲＥＦ＿ＤＡＴＡテーブル内のこのアーティファクトに関連付けられた行の数５０４とを含み得る。ある実施形態に従うと、この行の数５０４は、上述のように独立して移行され得る１対多の行を含まない。モニタテーブルは、移行された行の数５０６を追跡するために使用されてもよい。このように、移行はバッチで起こることができ、エラーが起こった場合に時間および処理要件を節約する。たとえば、百万行を移行させる場合に、エラーが起こって百万行すべてのロールバックが必要になると、これはシステムに多大な処理負担を課す。しかし、移行の進行を追跡し、たとえば１万行ずつバッチで進行するこ
とによって、はるかに小さいロールバックでエラーに対処することができる。１対多の行は、ＸＲＥＦ＿ＤＡＴＡ内の１対多の行の数５０８および移行された１対多の行の数５１０を格納することによって「正規の」行と同様に別個に追跡され得る。さらに、処理が開始する時間５１２、１対多の行の識別が開始した時間５１４、および１対多の行の識別の合計時間５１６を含むタイムスタンプが移行について記録され得る。また、「正規の」行の処理が開始した時間５１８および正規の行の処理の合計時間５２０、ならびに同様に、１対多の行の処理が開始した時間５２２および１対多の行の処理の合計時間５２４も記録される。エラーが起こると、現在の処理バッチをロールバックして再実行する必要があることを示す例外フラグ５２６が格納され得る。ある実施形態に従うと、移行の有効性を確認するために、移行されたアーティファクトの数を元のＸＲＥＦ＿ＤＡＴＡテーブル内の一意の相互参照定義の数と比較する１つ以上の有効性確認スクリプトが実行され得、有効であるためには、これらの数は等しくなくてはならない。また、元のテーブル内の行の数が移行された行の数と比較され得、有効であるためには、これらの数も等しくなくてはならない。
【００２９】
いくつかの実施形態において、マルチテーブルデータセグメント化のための装置は、データベーステーブルに関連付けられた複数の定義ファイルの各々をマルチテーブルデータを用いて拡張するための手段と、複数のマルチテーブルを作成するための手段とを含み、各マルチテーブルは上記複数の定義ファイルのうちの異なる１つに関連付けられており、さらに、上記データベーステーブルに格納されたデータを上記複数の定義ファイルに基づいて転置するための手段と、転置した上記データを上記データベーステーブルから上記複数のマルチテーブルに移行させるための手段とを含む。
【００３０】
いくつかの実施形態において、上記マルチテーブルデータは、上記マルチテーブルのうちの１つに関連付けられた識別子と、マルチテーブルフラグとを含む。
【００３１】
いくつかの実施形態において、上記複数のマルチテーブルを作成するための手段はさらに、各定義ファイルを解析してその定義ファイルのテーブル情報を求めるための手段を含み、上記テーブル情報は、名前、列の数、および列名を含み、上記複数のマルチテーブルを作成するための手段はさらに、複数のスクリプトを自動的に生成するための手段を含み、各スクリプトは上記マルチテーブルのうちの１つを定義し、各スクリプトは、上記定義ファイルのうちの異なる１つから解析される上記テーブル情報を使用して生成され、上記複数のマルチテーブルを作成するための手段はさらに、上記複数のスクリプトの各々を実行して上記複数のマルチテーブルを作成するための手段を含む。
【００３２】
いくつかの実施形態において、上記装置はさらに、マッピング定義テーブルを作成するための手段を含み、上記マッピング定義テーブルは、各定義ファイルをその関連付けられたマルチテーブルにマッピングする。
【００３３】
いくつかの実施形態において、上記データベーステーブルに格納されたデータを上記複数の定義ファイルに基づいて転置するための手段はさらに、上記定義ファイルの各々について転置スクリプトを生成するための手段を含み、各転置スクリプトは、その定義ファイルに関連付けられた上記データがその定義ファイルの関連付けられたマルチテーブルと互換性があるようにどのようにセグメント化および変換されるのかを定義する。
【００３４】
いくつかの実施形態において、転置した上記データを上記データベーステーブルから上記複数のマルチテーブルに移行させるための手段はさらに、各転置スクリプトを実行して、各定義ファイルに関連付けられた上記データをセグメント化および変換するための手段と、セグメント化および変換した上記データを、上記データベーステーブルから上記複数のマルチテーブルにコピーするための手段とを含む。
【００３５】
いくつかの実施形態において、上記装置はさらに、転置した上記データが上記複数のマルチテーブルに正常に移行されたことの有効性を確認するための手段を含む。
【００３６】
いくつかの実施形態において、マルチテーブルデータセグメント化のためのシステムは、複数の定義ファイルを含むデータベースと、データベースにアクセス可能に接続され、マルチテーブルデータセグメント化ツールを含むサーバと含み、上記マルチテーブルデータセグメント化ツールは、上記複数の定義ファイルの各々をマルチテーブルデータを用いて拡張し、複数のマルチテーブルを作成するように動作可能であり、各マルチテーブルは上記複数の定義ファイルのうちの異なる１つに関連付けられており、上記マルチテーブルデータセグメント化ツールはさらに、上記データベーステーブルに格納されたデータを上記複数の定義ファイルに基づいて転置し、転置した上記データを上記データベーステーブルから上記複数のマルチテーブルに移行させるように動作可能である。
【００３７】
いくつかの実施形態において、上記マルチテーブルデータセグメント化ツールは複数のマルチテーブルを作成し、各マルチテーブルは上記複数の定義ファイルのうちの異なる１つに関連付けられており、上記マルチテーブルデータセグメント化ツールはさらに、各定義ファイルを解析してその定義ファイルのテーブル情報を求めるように動作可能であり、上記テーブル情報は、名前、列の数、および列名を含み、上記マルチテーブルデータセグメント化ツールはさらに、複数のスクリプトを自動的に生成するように動作可能であり、各スクリプトは上記マルチテーブルのうちの１つを定義し、各スクリプトは、上記定義ファイルのうちの異なる１つから解析される上記テーブル情報を使用して生成され、上記マルチテーブルデータセグメント化ツールはさらに、上記複数のスクリプトの各々を実行して上記複数のマルチテーブルを作成するように動作可能である。
【００３８】
いくつかの実施形態において、マルチテーブルデータセグメント化ツールはさらに、マッピング定義テーブルを生成するように動作可能であり、上記マッピング定義テーブルは、各定義ファイルをその関連付けられたマルチテーブルにマッピングし、上記マルチテーブルデータセグメント化ツールはさらに、上記移行についてのデータを格納するモニタテーブルを生成するように動作可能であり、上記モニタテーブルは、上記移行の有効性を確認するために上記マルチテーブルデータセグメント化ツールによって使用され得る。
【００３９】
いくつかの実施形態において、上記マルチテーブルデータセグメント化ツールは、上記データベーステーブルに格納されたデータを上記複数の定義ファイルに基づいて転置し、上記マルチテーブルデータセグメント化ツールはさらに、上記定義ファイルの各々について転置スクリプトを生成するように動作可能であり、各転置スクリプトは、その定義ファイルに関連付けられた上記データがその定義ファイルの関連付けられたマルチテーブルと互換性があるようにどのようにセグメント化および変換されるのかを定義する。
【００４０】
いくつかの実施形態において、上記マルチテーブルデータセグメント化ツールが、転置した上記データを上記データベーステーブルから上記複数のマルチテーブルに移行させると、上記マルチテーブルデータセグメント化ツールはさらに、各転置スクリプトを実行して、各定義ファイルに関連付けられた上記データをセグメント化および変換し、セグメント化および変換した上記データを、上記データベーステーブルから上記複数のマルチテーブルにコピーするように動作可能である。
【００４１】
図６は、本発明のいくつかの実施形態に従って使用され得るシステム環境６００の構成要素を示す簡略ブロック図である。示されるように、システム環境６００は、ウェブブラウザ、プロプライエタリクライアント（たとえばOracle Forms）等のクライアントアプリケーションを動作させるように構成される１つ以上のクライアント演算装置６０２，６０
４，６０６，６０８を含む。さまざまな実施形態において、クライアント演算装置６０２，６０４，６０６および６０８はサーバ６１２と対話し得る。
【００４２】
クライアント演算装置６０２，６０４，６０６，６０８は、汎用パーソナルコンピュータ（一例として、マイクロソフトウィンドウズ（登録商標）および／またはアップルマッキントッシュオペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび／またはラップトップコンピュータを含む）、（マイクロソフトウィンドウズモバイルなどのソフトウェアを実行し、インターネット、電子メール、ＳＭＳ、ブラックベリー、または使用可能な他の通信プロトコルである）携帯電話もしくはＰＤＡ、および／またはさまざまな市販のＵＮＩＸ（登録商標）もしくはＵＮＩＸのようなオペレーティングシステム（さまざまなＧＮＵ／Ｌｉｎｕｘ（登録商標）オペレーティングシステムを含むがこれに限定されるものではない）のいずれかを実行するワークステーションコンピュータであってもよい。代替的に、クライアント演算装置６０２，６０４，６０６および６０８は、ネットワーク（たとえば以下に説明するネットワーク６１０）を介して通信することができるシン・クライアントコンピュータ、インターネットへの接続が可能なゲーム機および／またはパーソナルメッセージング装置などのその他の電子装置であってもよい。システム環境６００は４つのクライアント演算装置とともに示されているが、いかなる数のクライアント演算装置がサポートされてもよい。センサを有する装置などの他の装置がサーバ６１２と対話してもよい。１つ以上のクライアント装置から認可要求を受信してもよい。
【００４３】
システム環境６００はネットワーク６１０を含み得る。ネットワーク６１０は、ＴＣＰ／ＩＰ、ＳＮＡ、ＩＰＸ、ＡｐｐｌｅＴａｌｋなどを含むがこれらに限定されるものではないさまざまな市販のプロトコルのいずれかを使用してデータ通信をサポートし得る、当業者になじみのある任意のタイプのネットワークであってもよい。単に一例として、ネットワーク６１０は、イーサネット（登録商標）ネットワーク、トークン・リング・ネットワークなどのローカルエリアネットワーク（local area network：ＬＡＮ）、広域ネットワーク、仮想プライベートネットワーク（virtual private network：ＶＰＮ）を含むが
これに限定されるものではない仮想ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網（public switched telephone network：ＰＳＴＮ）、
赤外線ネットワーク、無線ネットワーク（たとえばＩＥＥＥ８０２．１１の一連のプロトコル、当該技術分野において公知のブルートゥース（登録商標）プロトコルおよび／またはその他の無線プロトコルのいずれかの下で動作するネットワーク）、ならびに／または、これらのおよび／もしくは他のネットワークの任意の組み合わせであってもよい。
【００４４】
システム環境６００は、汎用コンピュータ、特化サーバコンピュータ（一例として、ＰＣサーバ、ＵＮＩＸサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式のサーバ等を含む）、サーバファーム、サーバクラスタ、またはその他の適切な配置および／もしくは組み合わせであり得る１つ以上のサーバコンピュータ６１２をさらに含む。さまざまな実施形態において、サーバ６１２は、上記の開示において説明した１つ以上のサービスまたはソフトウェアアプリケーションで実行するように適合されてもよい。
【００４５】
サーバ６１２は、上述のものを含むオペレーティングシステム、および任意の市販のサーバオペレーティングシステムを実行し得る。サーバ６１２はさらに、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、Ｊａｖａ（登録商標）サーバ、データベースサーバなどを含む、さまざまな追加のサーバアプリケーションおよび／もしくは中間層アプリケーションのいずれかを実行し得る。例示的なデータベースサーバとしては、オラクル、マイクロソフト、サイベース、ＩＢＭなどから市販されているものが挙げられるが、これらに限定されるものではない。
【００４６】
システム環境６００はさらに、１つ以上のデータベース６１４，６１６を含んでいてもよい。データベース６１４，６１６はさまざまな場所に存在してもよい。一例として、１つ以上のデータベース６１４，６１６は、サーバ６１２にローカルな（および／またはサーバ６１２内に常駐する）記憶媒体上に存在してもよい。代替的に、データベース６１４，６１６はサーバ６１２から離れており、ネットワークによる接続または専用の接続を介してサーバ６１２と通信状態にあってもよい。一組の実施形態では、データベース６１４，６１６は、当業者になじみのあるストレージエリアネットワーク（storage-area network：ＳＡＮ）内に存在してもよい。同様に、サーバ６１２に帰する機能を実行するための任意の必要なファイルが、サーバ６１２上に局所的に、および／または遠隔に、適宜格納されてもよい。一組の実施形態では、データベース６１４，６１６は、ＳＱＬフォーマット化されたコマンドおよび他のコマンドに応答してデータを格納、更新、および検索するように適合される、Oracle 10g、11g、Release 12等のリレーショナルデータベースを含
んでいてもよい。一実施形態では、一組のリソースを制御するように構成されるポリシーがデータベースの１つによって格納されてもよい。
【００４７】
図７は、本発明の実施形態に従って使用され得る演算システム７００の簡略ブロック図である。たとえば、図２に示されるシステムは、システム７００等のシステムを使用して実現され得る。バス７２４を介して電気的に結合され得るハードウェア要素を含むコンピュータシステム７００が示されている。ハードウェア要素は、１つ以上の中央演算処理装置（central processing unit：ＣＰＵ）７０２と、１つ以上の入力装置７０４（たとえ
ばマウス、キーボード等）と、１つ以上の出力装置７０６（たとえばディスプレイ装置、プリンタ等）とを含んでいてもよい。ＣＰＵは、シングルコアまたはマルチコアＣＰＵを含んでいてもよい。また、コンピュータシステム７００は、１つ以上の記憶装置７０８も含んでいてもよい。一例として、記憶装置７０８は、ディスクドライブ、光学記憶装置、およびランダムアクセスメモリ（random access memory：ＲＡＭ）および／またはリードオンリメモリ（read-only memory：ＲＯＭ）などの、プログラム可能、フラッシュ更新可能などであり得るソリッドステート記憶装置、といった装置を含んでいてもよい。
【００４８】
さらに、コンピュータシステム７００は、コンピュータ読取可能記憶媒体リーダ７１２と、通信サブシステム７１４（たとえばモデム、ネットワークカード（無線または有線）、赤外線通信装置等）と、上記のＲＡＭおよびＲＯＭ装置を含み得るワーキングメモリ７１８とを含んでいてもよい。いくつかの実施形態では、コンピュータシステム７００は、デジタル信号プロセッサ（digital signal processor：ＤＳＰ）、特殊用途プロセッサなどを含み得る処理加速ユニット７１６も含んでいてもよい。
【００４９】
さらに、コンピュータ読取可能記憶媒体リーダ７１２は、ともに（および任意に、記憶装置７０８と組み合わせて）一時的および／またはより永久的にコンピュータ読取可能な情報を含むためのリモートの、ローカルの、固定された、および／または取外し可能な記憶装置プラス記憶媒体を包括的に表わすコンピュータ読取可能記憶媒体７１０に接続可能である。通信システム７１４は、ネットワークおよび／またはそのシステム環境に関して上記に説明した任意のその他のコンピュータとデータを遣り取りすることを可能にし得る。
【００５０】
また、コンピュータシステム７００は、現在のところワーキングメモリ７１８内に位置しているように示されているソフトウェア要素も含んでいてもよく、当該ソフトウェア要素は、オペレーティングシステム７２０、および／または、（クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、ＲＤＢＭＳ等であってもよい）アプリケーションプログラムなどの他のコード７２２を含む。例示的な実施形態では、ワーキングメモリ７１８は、実行可能なコードと、上記の認可要求を処理するために使用されるメ
モリ構造などの関連付けられたデータ構造とを含んでいてもよい。コンピュータシステム７００の代替的な実施形態は、上記のものからの多数の変更例を有していてもよいということが理解されるべきである。たとえば、カスタマイズされたハードウェアも使用されてもよく、および／または、特定の要素がハードウェア、（アプレットなどの高移植性ソフトウェアを含む）ソフトウェアまたはそれら両方で実現されてもよい。さらに、ネットワーク入力／出力装置などの他の演算装置への接続が利用されてもよい。
【００５１】
コードまたはコードの一部を含むための記憶媒体およびコンピュータ読取可能媒体は、記憶媒体および通信媒体を含む当該技術分野において公知のまたは使用される任意の適切な媒体を含み得て、当該媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報の格納のための任意の方法または技術において実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体などであるが、これらに限定されるものではない。記憶媒体およびコンピュータ読取可能媒体の例としては、所望の情報を格納するために使用可能であり、コンピュータによって読取可能であるＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（digital versatile disk：ＤＶＤ）もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、またはその他のメモリ媒体が挙げられる。記憶媒体およびコンピュータ読取可能媒体は、非一時的なメモリ装置を含んでいてもよい。
【００５２】
本発明の特定の実施形態について説明してきたが、さまざまな変換例、変更例、代替的な構成および等価物も本発明の範囲内に包含される。本発明の実施形態は、特定の具体的なデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で自由に動作できる。さらに、特定の一連のトランザクションおよびステップを使用して本発明の実施形態について説明してきたが、本発明の範囲が、記載されている一連のトランザクションおよびステップに限定されるものではないということが当業者に明らかであるべきである。
【００５３】
さらに、ハードウェアおよびソフトウェアの特定の組み合わせを使用して本発明の実施形態について説明してきたが、ハードウェアおよびソフトウェアの他の組み合わせも本発明の範囲内であることが認識されるべきである。本発明の実施形態は、ハードウェアのみで実現されてもよく、またはソフトウェアのみで実現されてもよく、またはそれらの組み合わせを使用して実現されてもよい。
【００５４】
したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかし、特許請求の範囲に記載されているより広範な精神および範囲から逸脱することなく、追加、削減、削除ならびに他の変換および変更がそれに対してなされてもよいということは明白であろう。当該変換および変更は、開示した特徴の任意の関連する組合わせを含む。
【図１】
2018060570.tif 000005
【図２】
2018060570.tif 000006
【図３】
2018060570.tif 000007
【図４Ａ】
2018060570.tif 000008
【図４Ｂ】
2018060570.tif 000009
【図４Ｃ】
2018060570.tif 000010
【図５】
2018060570.tif 000011
【図６】
2018060570.tif 000012
【図７】
2018060570.tif 000013
【手続補正書】
【提出日】平成29年12月14日(2017.12.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチテーブルデータセグメント化のためのコンピュータによって実現される方法であって、前記方法は、
相互参照テーブルに関連付けられた複数の定義ファイルを定義することを備え、前記相互参照テーブルは異なるアプリケーションにより利用されて、各前記複数の定義ファイルはアプリケーションに特有のフォーマットから共通フォーマットへのマッピングを定義し、前記方法はさらに、
データベーステーブルに関連付けられた複数の定義ファイルの各々をマルチテーブルデータを用いて拡張することと、
複数のマルチテーブルを作成することとを備え、各マルチテーブルは前記複数の定義ファイルのうちの異なる１つに関連付けられており、さらに、
前記相互参照テーブルに格納されたデータを、拡張された前記複数の定義ファイルに基づいて転置することと、を備え、前記転置することは、前記各定義ファイルに対応の転置スクリプトを生成することを含み、
前記転置スクリプトを実行することにより、前記データを前記相互参照テーブルから前記複数のマルチテーブルに移行させることとを備える、方法。
【請求項２】
前記転置することは、
前記定義ファイルの各々について転置スクリプトを生成することを含み、各転置スクリプトは、その定義ファイルに関連付けられた前記データがその定義ファイルの関連付けられたマルチテーブルと互換性があるようにどのようにセグメント化および変換されるのかを定義する、請求項１に記載のコンピュータによって実現される方法。
【請求項３】
前記移行させることは、
各転置スクリプトを実行して、各定義ファイルに関連付けられた前記データをセグメント化および変換することと、
セグメント化および変換した前記データを、前記相互参照テーブルから前記複数のマルチテーブルにコピーすることとを含む、請求項２に記載のコンピュータによって実現される方法。
【請求項４】
前記マルチテーブルデータは、前記マルチテーブルのうちの１つに関連付けられた識別子と、マルチテーブルフラグとを含む、請求項１から３のいずれか一項に記載のコンピュータによって実現される方法。
【請求項５】
複数のマルチテーブルを作成することはさらに、
各定義ファイルを解析してその定義ファイルのテーブル情報を求めることを含み、前記テーブル情報は、名前、列の数、および列名を含み、さらに、
複数のスクリプトを自動的に生成することを含み、各スクリプトは前記マルチテーブルのうちの１つを定義し、各スクリプトは、前記定義ファイルのうちの異なる１つから解析される前記テーブル情報を使用して生成され、さらに、
前記複数のスクリプトの各々を実行して前記複数のマルチテーブルを作成することを含む、請求項１から４のいずれか一項に記載のコンピュータによって実現される方法。
【請求項６】
マッピング定義テーブルを作成することをさらに備え、前記マッピング定義テーブルは、各定義ファイルをその関連付けられたマルチテーブルにマッピングする、請求項１から５のいずれか一項に記載のコンピュータによって実現される方法。
【請求項７】
転置した前記データが前記複数のマルチテーブルに正常に移行されたことの有効性を確認することをさらに備える、請求項１から６のいずれか一項に記載のコンピュータによって実現される方法。
【請求項８】
請求項１から７のいずれか一項に記載の方法をコンピュータに実行させる、プログラム。
【請求項９】
マルチテーブルデータセグメント化のためのシステムであって、
コンピュータ読取可能記憶媒体およびプロセッサを含むコンピュータと、
複数の定義ファイルおよび異なるアプリケーションにより使用される相互参照テーブルを含むデータベースと、
前記コンピュータ上で実行するマルチテーブルデータセグメント化ツールとを備え、各前記複数の定義ファイルは、アプリケーションに特有のフォーマットから共通フォーマットへのマッピングを定義し、前記マルチテーブルデータセグメント化ツールは、
前記複数の定義ファイルの各々をマルチテーブルデータを用いて拡張し、
複数のマルチテーブルを作成するように動作可能であり、各マルチテーブルは前記複数の定義ファイルのうちの異なる１つに関連付けられており、さらに、
前記相互参照テーブルに格納されたデータを前記複数の定義ファイルに基づいて転置し、前記転置するとき前記マルチテーブルデータセグメント化ツールは、前記各定義ファイルに対応の転置スクリプトを生成し、
前記転置スクリプトを実行することにより、前記データを前記相互参照テーブルから前記複数のマルチテーブルに移行させるように動作可能である、システム。
【外国語明細書】
2018060570000001.pdf