(57)【要約】【課題】データウェアハウス構築の際に、変更個所が複数ミドルウェア基盤上に分散され、複数ミドルウェアの開発環境で変更箇所を修正し、さらに、複数ミドルウェア基盤に対する高度な知識を要求するため、変更に多大の工数を要する。【解決手段】変更パタン情報として、パタン名とこれに対応した変数名、変数名に基づいた影響範囲検出開始先、影響範囲検出結果に基づく修正範囲を管理する。そして、変更パタン情報から選択したパタンに応じた変数値を登録し、変更パタンに対応して入力した変数値に基づき、複数ミドルウェア基盤上での変更対象を影響範囲情報として検出し、影響範囲情報を用いて、データベースのスキーマ定義、データ変換処理のコマンド群を変更内容に応じたものへ修正する。【選択図】　図１
2004094425.tif 000002
【特許請求の範囲】
【請求項１】
メタ情報としてデータを保持する関係もしくは多次元データベースのスキーマ定義とデータベース間のデータ変換処理の定義を保持し、
変更パタン情報としてシステムに対して変更を指定するための変数と変数により影響受ける個所を特定するための管理情報を保持し、
前記メタ情報と前記変更パタン情報を入力して、前記スキーマ定義とデータベース間のデータ変換処理の変更影響範囲を検出し、前記メタ情報に対する影響範囲を影響範囲情報として出力する変更範囲検出処理、
前記影響範囲情報と前記メタ情報を入力して、前記メタ情報に格納されているスキーマ定義とデータ変換処理と実行時参照情報を修正し、ミドルウェアの設定および実行ファイルよりなるシステム構築情報を出力するシステム構築情報の変更処理を有することを特徴とするデータベース構築処理変更方法。
【請求項２】
前記変更パタン情報は、ユーザに値入力を求める変数名と、変数名に対して入力された値を、変更範囲検出処理での検索条件値として用いるのか、システム構築情報変更処理での変更値として用いるのかの区分して管理し、この区分に基づいて変更範囲検出処理とシステム構築情報変更処理に入力する変数値を制御する処理を有することを特徴とする請求項１記載のデータベース構築処理変更方法。
【請求項３】
前記変更範囲検出処理において、データベースのスキーマ変更から、システムを稼動するにあたり変更が影響するジョブの変更を検出するジョブ変更検出処理と、ジョブの変更から、システムを稼動するにあたり変更が影響するデータベースの変更を検出するデータベース変更検出処理と、ジョブ変更検出処理とデータベース変更検出処理において相互において検出結果入出力する処理を繰り返し実行することにより、システム全体での変更対象部を影響範囲情報として出力をすることを特徴とする請求項１記載のデータベース構築処理変更方法。
【請求項４】
前記変更範囲検出処理において、システムの構成要素である、多次元データベースと、関係データベースと、システムに入力される入力ファイルと、データベース上でのデータ変換処理を行うジョブ処理と、ジョブ処理において参照のみ行われる実行時参照情報と、に対応したシステム区分を、前記影響範囲情報として出力することを特徴とする請求項１記載のデータベース構築処理変更方法。
【請求項５】
前記システム構築情報の変更処理において、影響範囲情報に格納されたシステムの構成要素である、多次元データベースと、関係データベースと、システムに入力される入力ファイルと、データベース上でのデータ変換処理を行うジョブ処理と、ジョブ処理において参照のみ行われる実行時参照情報と、に対応したシステム区分に基づき、多次元データベースと、関係データベースと、入力ファイルと、ジョブ処理と、実行時参照情報に対して変更を行う処理を有することを特徴とする請求項１記載のデータベース構築処理変更方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データウェアハウスなどの複数ミドルウェア基盤を用いて実現されるデータベースシステムに対して、システム変更を容易にするシステム支援技術に関する。特に、変更パタンに応じて、複数ミドルウェア基盤の変更箇所特定と特定した変更箇所の修正処理を行うものである。本発明はデータウェアハウスに限らず、ウェッブシステムなどのウェッブ上で公開するためのデータベース情報を構築する処理に対するシステム変更支援にも関する。
【０００２】
【従来の技術】
近年、百貨店、専門店、家電量販店、スーパーマーケットなど、幅広い業種において、各店舗や店舗グループ間で利用可能な独自の支払いカードなどにより、商品購入を行った顧客の属性データ（氏名、住所など）と顧客の購買履歴を取得できる。そこで個別の店舗で生じる、購買履歴を様々な分析手法の観点に応じたデータ加工を行うシステムが構築されるようになってきている。このような背景の下、購買履歴などの明細情報を様々な観点から集計や詳細情報の検索を行うデータウェアハウスと呼ばれるシステムがある。
【０００３】
データウェアハウスは、データベースシステムの一分野として位置付けられる。このデータウェアハウスは、様々な観点に対応したデータ結果の出力を行うため、関係データベースと多次元データベース、データ加工処理ツール、データ加工処理ジョブのスケジュール管理ツールなど多くのミドルウェア基盤を用いて実現されることが多い。
【０００４】
なお、多次元データベースは、従来の関係データベースと異なり、３次元以上の次元をもつデータベースである。関係データベースでは、データ格納を行うデータ構造をテーブルと呼ぶが、多次元データベースでは、データ格納を行うデータ構造をキューブと呼ぶ。例えば図２にはキューブの例として、年齢次元、部門次元、期間次元をもつ「年齢・部門・期間キューブ２０９」を示している。このキューブをある断面を表示したり、分析対象となる次元の階層を上げたり、下げたりする操作を行うことができる。
【０００５】
多次元データベースに関しては、Ｗｉｌｌｉａｍ　Ａ．　Ｇｉｏｖｉｎａｚｚｏ，　”Ｏｂｊｅｃｔ−Ｏｒｉｅｎｔｅｄ　Ｄａｔａ　Ｗａｒｅｈｏｕｓｅ　Ｄｅｓｉｇｎ　Ｂｕｉｌｄｉｎｇ　ａ　Ｓｔａｒ　Ｓｃｈｅｍｅ”，　ｐｐ．１−２，　ＰＰ．１２７−１５２，　ＰＲｅｈＴＩＣＥ　ＨＡＬＬ，　２０００　に記載されている。
【０００６】
また、これらデータウェアハウスなど情報システムの構築期間の短期化傾向が強まっており、データウェアハウスに関しては、顧客の要求に応じたシステム構築の期間を短縮するために、以下のような技術が知られている。
【０００７】
まず、第一の従来技術として、業種・業務別のパッケージであるＩＢＭ社のＳｔａｒｔＮｏｗ　ｆｏｒ　Ｒｅｌａｔｉｏｎｓｈｉｐ　Ｍａｒｋｅｔｉｎｇは、ＣＲＭ（Ｃｕｓｔｏｍｅｒ　Ｒｅｌａｔｉｏｎｓｈｉｐ　Ｍａｎａｇｅｍｅｎｔ）に特化したハードウェア、ソフトウェア、分析モデル、業種別導入支援サービスを一体として提供している。（ＳｔａｒｔＮｏｗ　ｆｏｒ　Ｒｅｌａｔｉｏｎｓｈｉｐ　ＭａｒｋｅｔｉｎｇはＩＢＭ社の登録商標）
第二の従来技術としては、データウェアハウス構築支援ツールであるＩｎｆｏｃｏｍ社のＲｅｄＢｒｉｃｋ　Ｗａｒｅｈｏｕｓｅは、データウェアハウス構築専門のデータベースである。さらに、データウェアハウスの設計、構築を支援するＲｅｄ　Ｂｒｉｃｋ　Ｗａｒｅｈｏｕｓｅ　Ａｄｍｉｎｉｓｔｒａｔｏｒと呼ばれるツールは、データウェアハウスを構成するＲＤＢテーブル間の関係を定義するＧＵＩや、必要なディスク容量の概算を算出するＧＵＩを提供している。ＲｅｄＢｒｉｃｋに関しては、Ｒｏｂｅｒｔ　Ｊ．　Ｈｏｃｕｔｔ，　“Ｔｈｅ　ｏｆｆｉｃｉａｌ　ｇｕｉｄｅ　ｔｏ　Ｉｎｆｏｒｍｉｘ／Ｒｅｄ　ＢＲｉｃｋ　Ｄａｔａ　Ｗａｒｅｈｏｕｓｉｎｇ”，　ｃｈａｐｔｅｒ　１，　Ｈｕｒｇｒｙ　Ｍｉｎｄｓ，　Ｉｎｃ．，２０００に記載されている。（ＲｅｄＢｒｉｃｋ　ＷａｒｅｈｏｕｓｅはＩｎｆｏｃｏｍ社の登録商標）また、Ｏｒａｃｌｅ社は、データウェアハウスの設計、実装、管理をするＯｒａｃｌｅ　Ｗａｒｅｈｏｕｓｅ　Ｂｕｉｌｄｅｒ（ＯＷＢ）を提供している。ＯＷＢを利用すると、ＧＵＩにより、ＲＤＢテーブル、ＭＤスキーマ、ＥＴＬジョブの設計が可能である。（Ｏｒａｃｌｅ　Ｗａｒｅｈｏｕｓｅ　Ｂｕｉｌｄｅｒ（ＯＷＢ）はＯｒａｃｌｅ社の登録商標）
【０００８】
【発明が解決しようとする課題】
第一の従来技術では、パッケージの適用により、導入期間を短縮することを目標としている。しかし、データウェアハウス及び分析システムは、自社の特長やビジネスモデルに基づいた戦略策定、意思決定を支援するシステムであるため、導入先ユーザから導入先の事情に応じた変更が求められる。しかしパッケージ内部の構成が複数ミドルウェア基盤上で実現されているため、変更に応じた修正箇所の特定や修正作業が容易ではない。変更箇所も予めパッケージとして想定された範囲に限定される。このため、変更要求が生じた場合には、従来技術１で述べたパッケージを利用しても、構築期間を短縮できない場合がある。また、このような従来技術によって多様な顧客要求に応じようとすると、予め予測される修正を行えるための変更に応じた多くの部品を管理する必要があり、システムで管理する部品が多くなるので、システム管理が複雑になる。
【０００９】
特に、データウェアハウスの構築に当たっては、ＲＤＢ、ＭＤＢやこれらの上でデータ加工を行うジョブを管理するジョブ管理システムなど多くのミドルウェア基盤を用いて実現されている。このため、外部仕様としては小さな変更を行うに当たっても、複数のミドルウェア基盤上での処理に対して変更を行うことになる。このため、（１）変更個所が複数ミドルウェア基盤上に分散され、変更箇所の検出に工数を要する、（２）検出した変更箇所を、複数ミドルウェアの開発環境で修正するため、整合性保持や確認作業に多くの工数を要する、（３）開発者に対して、複数ミドルウェア基盤に対する高度な知識を要求するため、対応可能な作業者が見つからず修正作業が行えない、といった課題が生じている。
【００１０】
第２の従来技術では、構築支援ツールによりデータウェアハウスの設計、実装を支援するものである。こうしたツール類により、変更に伴う修正作業そのものは楽になるが、上記で述べた（１）（２）（３）の課題は解決できていない。開発者が個別の変更を修正し、全体の整合性を保持するにあたっては開発者自身が全体の影響関係を理解しながら修正作業を進める必要がある。
【００１１】
そこで、本発明の目的は、予め登録された変更パタンに応じて、分析しシステムの内部構成を意識することなくデータウェアハウスシステムを変更できるデータベース構築処理変更方法を提供することにある。
【００１２】
【課題を解決するための手段】
本発明では、変更パタン情報として、変更の内容を示すパタン名とこれに対応した変数名、変数名に基づいた影響範囲検出開始先、影響範囲検出結果に基づく修正範囲を管理する。そして、変更パタン情報からパタンを選択し、パタンに応じた変数値を登録し、変更パタンに対応して入力した変数値に基づき、複数ミドルウェア基盤上での変更対象を影響範囲情報として検出し、影響範囲情報を用いて、データベースのスキーマ定義、データ変換処理のコマンド群を、変更内容に応じて修正する。これら処理により、開発者は変更パタン選択とこれに対応した変数値入力のみでシステム変更が可能になる。開発者が、内部のどの部品を検索条件として、内部処理の影響範囲を検出するのか、どのリソースに対して変更を加えるべきか、などの詳細情報を意識することなく、データウェアハウスなどのデータベースシステムの動作を変更できる。
【００１３】
また、本発明では、複数ミドルウェア間の連携を考慮した変更箇所の影響範囲を検出する処理と、影響範囲に応じた修正変更を行う処理を有するため、複数ミドルウェアの環境にて個別の変更箇所検出と修正を行う必要がなくなる。
【００１４】
【発明の実施の形態】
以下、図面を用いて、本発明の実施の形態について説明する。
【００１５】
まず、図２を用いてデータウェアハウスシステムの概略を説明する。データウェアハウスシステムでは、図２に示すようにデータ変換処理を多段階に行うことにより、最終的には多次元データベース（以下図面等においてＭＤＢとも表記する）上にキューブと呼ばれるものを構築する。この例では取引明細入力ファイル２０１を入力として、入力ファイル格納２０２処理を行うことにより、取引明細情報２０３を出力する。以下、顧客・部門別サマリ２０４、年齢・部門・期間ロード情報作成２０６、キューブへのデータロード２０８などのデータ加工処理が行われ、関係データベース（以下図面等においてＲＤＢとも表記する）上の中間テーブル（２０３、２０５、２０７）に途中結果を格納する。
【００１６】
なお、中間テーブルを作成するに当たっては、実行時参照情報と呼ぶマスタ類を参照する場合がある。例えば、図２の「年間・部門・期間ロード情報作成２０６」では、業務の月締め開始・終了日を知るために、カレンダマスタ２１３として、図５に示すカレンダテーブル５３１を参照する。カレンダテーブル５３１には業務の月初めが何日から始まり何日に終わるかを示すためのフラグをカレンダテーブル５３１の項目「月締め」において管理している。図５の例では１日始まりの３１日終わりになっている。この項目を「年間・部門・期間ロード情報作成２０６」の処理にて参照することにより、業務の月締め開始・終了日を取得している。すなわち、実行時参照情報であるカレンダテーブル５３１の値を変更すれば、「年間・部門・期間ロード情報作成２０６」で扱われる業務の月締め開始・終了日を変更できる。
【００１７】
図２に示したデータウェアハウスのデータ構築処理は、外部からのデータ投入を行う入力ファイル、データ構築の最終結果として得られるキューブ、中間のデータ加工結果を保持するテーブル、テーブルやキューブおよび入力ファイル間のデータ変換を行うジョブ、データ変換処理においてカレンダマスタなどのようなデータ加工処理時に参照利用される実行時参照情報からなる。
【００１８】
このように多段階のデータ変換処理の結果としてキューブが構築されるため、年齢・部門・期間キューブに対して項目の追加を行えば図２に示す全ての要素に対して変更の影響が波及する。
【００１９】
図２に示したデータウェアハウスの変更の際に、まず影響先を検出し、次に影響先として検出したリソースを変更する必要がある。しかし、従来技術ではこれらの作業には多くの工数を要する。本発明では、影響先検出作業と検出結果の応じた変更作業を容易にする。
【００２０】
以下ではまず、図１を用いて本発明の構成を説明する。本システムは変更処理部１１０、変更パタン情報１２０、ＤＷＨメタ情報１３０、影響範囲情報１４０及びＤＷＨ構築情報１５０よりなる。変更処理部１１０は、変更パタン指定１１１、変更範囲検出１１２及びＤＷＨ構築情報の変更１１３よりなる。
【００２１】
変更パタン指定１１１では、変更パタン情報１２０を読み込み、変更パタンの一覧が図９に示す変更パタン選択画面上のパタン名一覧表示領域９１１に表示される。パタン名一覧表示領域９１１からユーザが必要と思われるパタン名を選択すると、システム内部では、選択パタン名をキーとして変更パタン情報１２０を検索し、この条件に合致した変数名を図９の変数名表示領域９１２に表示する。そして、ユーザは表示された変数名に対応した値を値入力領域９１３に入力する。そして、図９の変更パタン選択画面９１０上の登録ボタンを押す。
【００２２】
すると、変更範囲検出１１２では、選択されたパタンとパタンの変数名に基づいて入力された値を用いて、キューブ、テーブル、入力ファイル、ジョブ、及び実行時参照情報のそれぞれに対して影響範囲の検出処理を行う。そして、影響範囲の検出結果を影響範囲情報１４０に格納する。影響範囲情報１４０には、「指定された変更パタンに応じて、キューブ、テーブル、入力ファイル、ジョブ、及び実行時参照情報に対してどのような変更が必要か」を示す情報を格納する。
【００２３】
そして、ＤＷＨ構築情報の変更１１３では、影響範囲情報１４０に基づき、ＤＷＨメタ情報１３０の変更を行う。そして、変更後のＤＷＨメタ情報１３０を用いてＤＷＨ構築情報１５０を生成する。このＤＷＨ構築情報１５０は、ジョブ管理ツールや多次元データベース、関係データベースといったミドルウェア基盤で動作するコマンドや実行ファイルからなる。上記の処理により、指示されたパタンの変更内容を反映したＤＷＨ構築情報１５０が生成され、その結果、要求された変更内容を反映したＤＷＨシステムが構築される。
【００２４】
図３に本発明のシステム構成を示す。本システムは、端末３１０、分析処理システム３２０、ネットワーク３３０、外部記憶装置３４０よりなる。端末３１０、分析処理システム３２０はおのおのＣＰＵ３１１、３２１および主記憶装置３１２、３２２をもち、分析処理システム３２０の主記憶装置３２２において変更処理部１１０が実行される。外部記憶装置３４０には、ＤＷＨメタ情報１３０、変更パタン情報１２０、影響範囲情報１４０、及びＤＷＨ構築情報１５０を格納する。なお、図３は発明を実現するための一構成例であり、これらの構成以外をとっても良い。
【００２５】
以下では、本発明の詳細内容について説明を行う。本発明の詳細内容を説明するにあたり、図１に示す、変更パタン１２０、ＤＷＨメタ情報１３０、影響範囲情報１４０、及びＤＷＨ構築情報１５０の各内容について説明を行う。
【００２６】
変更パタン情報１２０は、図１に示すように、パタン名、変数名、変数値、検出開始元、影響先種別、及びリソース名の項目から構成される。パタン名にはパタンに応じた名称を格納する。変数名には、パタンに応じた変更を行うために入力する変数名を格納する。この変数名に応じて入力された値を項目「値」に格納する。検出開始元には、「キューブ」、「入力ファイル」、「実行時参照情報」のいずれかの値が格納される。これらの値は、データウェアハウスに対して外部からの変更要求が発生するカテゴリを表している。影響先種別には「キューブ」、「ジョブ」、「テーブル」、「入力ファイル」、「実行時参照情報」のいずれかの値が格納される。影響先種別に対応して具体的なリソース名をあらかじめパタンとして登録できる場合には、「リソース名」に具体的なリソース名（キューブ名、ジョブ名、テーブル名、など）を格納しておく。
【００２７】
ＤＷＨメタ情報１３０には、システム内部のリソースを管理するための情報を格納する。図４にＤＷＨメタ情報１３０の詳細を示す。図４にはＥ−Ｒ図と呼ばれる表記を用いて、テーブル構成とテーブル間の関係とを表している。ＤＷＨメタ情報１３０はＭＤＢメタデータ４１０、ジョブメタデータ４２０、及びＲＤＢメタデータ群４３０よりなる。
【００２８】
ＭＤＢメタデータ４１０は、キューブ４１１、キー次元４１２、分析次元４１３、キー次元階層項目４１４、分析時限項目４１５よりなる。キー次元４１２は階層的ＭＤＢで必要となる階層情報を格納するテーブルであるため、キー次元４１２の項目「親階層」に親となるレコードの「階層名」に値を格納することにより、同一テーブルのレコード間でリンク関係を保持するようになっている。
【００２９】
ジョブメタデータ４２０は、ジョブ４２１、項目マッピング４２２よりなる。ジョブ４２１にはジョブ名とジョブ処理タイプを項目としてもつ。ジョブ処理タイプには「入力ファイル取り込み」、「テーブル間変換」、及び「ロードテーブル読み込み」の何れかを格納する。項目マッピング４２２には、データ加工処理を行うための項目間の対応関係を格納する。ＦｒｏｍテーブルのＦｒｏｍ項目と、ＴｏテーブルのＴｏ項目が対応づけられる。
【００３０】
ＲＤＢメタデータ４３０には、テーブル４３１、項目４３２、インデックス４４３、及びインデックス項目４４４よりなる。項目４３２にはテーブル個々の項目名とデータ型を格納する。インデックス４４３にはインデックス名を格納し、インデックス項目４４４により、インデックス名とインデックス対象となる項目を対応づけた情報を管理する。対応先となる項目をインデックス項目４４４の項目名に格納する。
【００３１】
図１に示すように、影響範囲情報１４０には、影響先種別、リソース名、変更対象内容を格納する。
【００３２】
影響先種別には「キューブ」、「ジョブ」、「テーブル」、「入力ファイル」、及び「実行時参照情報」のいずれかの値が格納される。影響先種別に「キューブ」の値が格納された場合には、ＭＤＢメタデータ４１０とスキーマ定義情報７１０を変更することを示す。影響先種別に「テーブル」の値が格納された場合には、ＲＤＢメタデータ４３０とスキーマ定義情報７１０を変更することを示す。影響先種別に「ジョブ」の値が格納された場合には、ジョブメタデータ４２０とデータ変換制御情報７２０を変更することを示す。影響先種別に「実行時参照情報」の値が格納された場合には、実行時参照情報７３０を変更することを示す。
【００３３】
リソース名には、影響先種別の値に応じて、キューブ名、テーブル名、及びコマンド名などの変更対象となるリソース名を格納する。そして、変更対象内容にはリソース名にて指定された対象物（キューブ、テーブル、ジョブなど）に対して、どのような変更を行うかを示す情報を格納する。
【００３４】
ＤＷＨ構築情報１５０にはＤＷＨシステムを実現するためにミドルウェア基盤の動作を制御するための設定および制御情報を格納する。ＤＷＨ構築情報１５０は、スキーマ定義情報７１０、データ変換制御情報７２０、及び実行時参照情報７３０よりなる。以下では、図５を用いてＤＷＨ構築情報１５０の詳細を説明する。
【００３５】
スキーマ定義情報７１０は、テーブル定義情報５１１、マッピング定義情報５１２、キューブ定義情報５１３、次元マッピングファイル５１４、及び階層定義５１５よりなる。
【００３６】
テーブル定義情報５１１は、テーブル定義を行うＳＱＬコマンドもしくはこれと同等の情報を含む。
【００３７】
キューブ定義情報５１３はキューブの軸構成を定義するものである。軸の詳細な階層構造は階層定義５１５に格納される。そして、階層定義５１５とキューブ定義情報５１３は、次元マッピング５１４により対応づけられる。マッピング定義情報５１２は、ＲＤＢ上のテーブルをＭＤＢに読み込むために必要な項目間のマッピング情報を格納する。このマッピング情報を用いることにより２次元のテーブルの格納値を、多次元であるＭＤＢのキューブに読み込む制御が行われる。
【００３８】
データ変換制御情報７２０は、ジョブ定義情報５２１とコマンド群５２２よりなる。ジョブ定義情報５２１には、コマンド群５２２の実行順序を定義する情報を格納する。コマンド群５２２には、ＤＷＨシステムでの個別処理を実現するためのＳＱＬ、ストアドプロシジャなどのコマンドを格納する。これらのコマンドの順序をジョブ定義情報に登録し、ジョブを起動することにより、図２に示した一連の構築処理が行われる。
【００３９】
実行時参照情報７３０には、ジョブ実行時に参照される情報からなる。実行時参照情報７３０にはカレンダテーブル５３１が含まれており、このテーブルではカレンダ日付と、業務の月締め、及び年締めの区別を指定するための項目からなる。
【００４０】
次に、図１における変更範囲検出１１２の詳細を図６、図７、図８を用いて説明する。まず、図６に変更範囲検出１１２のフローを示す。
【００４１】
ステップ６０１では、キューブ名の値を検索条件とし、変更パタン情報の項目「検出開始元」を参照する。「検出開始元」は一般に複数得られ、この結果を検出開始元配列情報として保持する。
【００４２】
ステップ６０２では、上記ステップで保持した配列情報に関する配列インデックスの初期化を行う。Ｉ＝１、ＩＭＡＸ＝全ステップで得た配列個数とする。
【００４３】
ステップ６０３では、検出開始元配列情報におけるＩ番目の値に基づき、分岐判定処理を行う。検出開始元配列情報の値が「キューブ」であった場合には、「キューブ変更の影響範囲検出６０４」を実行する。検出開始元配列情報の値が「入力ファイル」であった場合には、「入力ファイル変更の影響範囲検出６０５」を実行する。検出開始元配列情報の値が「実行時参照情報」であった場合には、「実行時参照情報の影響範囲検出６０６」を実行する。これら分岐先であるステップ６０４、６０５、６０６については別途詳細に説明する。
【００４４】
ステップ６０７では、配列インデックスを１増加する。
【００４５】
ステップ６０８では、Ｉ≦ＩＭＡＸが成立するか否かを判定し、成立する場合にはステップ６０３を行い、成立しない場合には変更範囲検出１１２を終了する。
【００４６】
次に、図７を用いて「キューブ変更の影響範囲検出６０４」を説明する。ここで行われる処理は、図２に示すようにＭＤＢ側から矢印をさかのぼり、関連するテーブル名、データ変換処理名をリストアップする処理に該当する。図４に示すＤＷＨメタ情報１３０に対して繰り返し検索処理を行うことにより、影響範囲の検出を行う。
【００４７】
ステップ７０１では、キューブにおいて変更が発生したため、図１に示す影響範囲情報１４０に影響範囲を示すための情報を出力する。影響範囲情報１４０の項目「影響先種別」に対する値として「キューブ」を出力する。変更パタン指定１１１において、ユーザにより入力されたキューブ名をリソース名に格納する。次に、選択パタン名によって絞り込まれた変更パタン情報からさらに項目「影響先種別」が「キューブ」の値を含んでいることを検索条件として検索を行う。その結果得られた変数名と値との対応関係を変更対照内容として格納する。
【００４８】
ステップ７０２では、キューブ名を検索条件として図４のキューブ４１１を検索し、検索結果のレコードから項目「ロードテーブル名」を取得する。これによりＭＤＢに対するロードテーブル名が得られる。そして、このロードテーブルを影響範囲として特定するための情報を図１に示す影響範囲情報１４０に出力する。影響範囲情報１４０の項目「影響先種別」に対する値として「テーブル」を出力する。
【００４９】
そして、ロードテーブル名を影響範囲情報１４０の項目「リソース名」に格納する。そして、変更パタン情報１２０からテーブル変更に用いるための変数名およびこれに対応した値を取得する。こうした変数名と値を取得するには、「パタン名＝変更パタン指定で選択されたパタン名であり、影響先種別＝テーブル」を検索条件として変更パタン情報１２０を検索する。この結果得たレコード情報の変数名と値を参照することにより、テーブルの変更に関連する変数名と値が得られる。これらの変数名と値を変更対象内容の値として影響範囲情報１４０に格納する。そして、影響発生元テーブル＝ロード情報テーブルと設定する。
【００５０】
ステップ７０３では、項目マッピング４２２のテーブルに対して「Ｔｏテーブル名＝影響発生元テーブル」を条件として検索処理を行う。この処理は、図２に示すような矢印を逆にたどり、着目しているテーブルのひとつ前の入力テーブル名を調べる行為に対応する。
【００５１】
ステップ７０４では、ステップ７０３で項目マッピング４２２に対して行った検索結果のレコード数が０かそうでないかを判定する。検索結果のレコード数が０以下であれば、キューブ変更の影響範囲検出６０４の処理を終了する。検索結果のレコード数が１以上であれば、ステップ７０５を実行する。
【００５２】
ステップ７０５では、ステップ７０４で得た検索結果のレコードにおける「ジョブ名」を参照し、そこに示されたジョブ名をもとに影響範囲情報１４０を出力する。影響範囲情報１４０の「影響先種別」には「ジョブ」の値を格納し、ステップ７０４で得た検索結果のレコードにおける「ジョブ名」に格納された値を「リソース名」に格納する。影響範囲情報１４０の「変更対象内容」には、該当ジョブの入力テーブル側に対する変更対象項目名と入力テーブル側の変更対象項目によって影響のうける出力テーブル側の変更対象項目を格納する。Ｆｒｏｍ項目名とＴｏ項目名の対応が存在しない場合には、新たなＦｒｏｍ項目名とＴｏ項目名の対応を影響範囲情報１４０の「変更対象内容」に追加する。
【００５３】
ステップ７０６では、ステップ７０４で得た検索結果のレコードにおける「Ｔｏテーブル名」を参照し、変更の影響するテーブル名を特定する。特定されたテーブルのスキーマに対して影響が生じたことを示すための影響範囲情報１４０を出力する。影響範囲情報１４０の「影響先種別」には「テーブル」の値を格納し、ステップ７０４で得た検索結果のレコードにおける「Ｔｏテーブル名」に格納された値を「リソース名」に格納する。影響範囲情報１４０の「変更対象内容」には、ステップ７０５にて追加又は変更したＴｏ項目に対する追加又は変更内容を格納する。そして、ステップ７０４で得た検索結果のレコードにおける「Ｆｒｏｍテーブル名」を参照し、影響発生元テーブル名＝Ｆｒｏｍテーブル名に格納された値を用いてステップ７０３の処理を行う。
【００５４】
以上示した処理により、図２に示したデータ加工処理の矢印を逆向きにたどることができ、矢印を逆向きにたどることで得たリソース名（ジョブ名、テーブル名、キューブ名）をもとに影響範囲情報１４０が生成される。
【００５５】
次に、図８を用いて「入力ファイル変更の影響範囲検出６０５」を説明する。ここで行われる処理は、図２に示す入力ファイル側から矢印の向きに従い、関連するテーブル名、ジョブ名、及びキューブ名をリストアップする処理に該当する。図４に示すＤＷＨメタ情報１３０に対して繰り返し検索処理を行うことにより、影響範囲を検出する。
【００５６】
ステップ８０１では、入力ファイルそれ自身において変更が発生したため、図１に示す影響範囲情報１４０に影響範囲を設定するための情報を出力する。影響範囲情報１４０の項目「影響先種別」に対する値として「入力ファイル」を出力する。変更パタン指定１１１において、ユーザにより入力された入力ファイル名をリソース名に格納する。次に、選択パタン名によって絞り込まれた変更パタン情報からさらに項目「影響先種別」が「入力ファイル」の値を含んでいることを検索条件として検索を行う。この結果得られた変数名と値との対応関係を変更対照内容として格納する。
【００５７】
ステップ８０２では、Ｆｒｏｍテーブル名＝入力ファイル名を条件として、図４に示す項目マッピング４２２を検索する。
【００５８】
ステップ８０３では、ステップ８０２の検索結果のレコード数が０か否かを判定する。検索結果のレコード数が０以下であれば、ステップ８０６の処理を行う。検索結果のレコード数が１以上であれば、ステップ８０４の処理を行う。
【００５９】
ステップ８０４では、ステップ８０２で得た検索結果のレコードにおける「ジョブ名」を参照し、そこに示されたジョブ名をもとに影響範囲情報１４０を出力する。影響範囲情報１４０の「影響先種別」には「ジョブ」の値を格納し、ステップ８０２で得た検索結果のレコードにおける「ジョブ名」に格納された値を「リソース名」に格納する。影響範囲情報１４０の「変更対象内容」には、該当ジョブの入力テーブル側の変更対象項目名と入力テーブル側の変更対象項目によって影響を受ける出力テーブル側の変更対象項目名とを格納する。Ｆｒｏｍ項目名とＴｏ項目名の対応が存在しない場合には、新たなＦｒｏｍ項目名とＴｏ項目名の対応を影響範囲情報１４０の「変更対象内容」に追加する。
【００６０】
ステップ８０５では、ステップ８０２で得た検索結果のレコードにおける「Ｆｒｏｍテーブル名」を参照し、変更の影響するテーブル名を特定する。特定されたテーブルのスキーマに対して影響が生じたことを示すための影響範囲情報１４０を出力する。影響範囲情報１４０の「影響先種別」には「テーブル」の値を格納し、ステップ８０２で得た検索結果のレコードにおける「Ｆｒｏｍテーブル名」に格納された値を「リソース名」に格納する。影響範囲情報１４０の「変更対象内容」には、ステップ７０４にて追加又は変更したＦｒｏｍ項目に対する追加又は変更内容を格納する。そして、ステップ８０２で得た検索結果のレコードにおける「Ｔｏテーブル名」を参照し、「影響発生元テーブル名＝Ｔｏテーブル名に格納された値」、として図４の項目マッピング４２２を検索する。そして、ステップ８０３に進む。
【００６１】
ステップ８０６では、キューブに対する影響範囲情報を生成する。ロードテーブル名＝影響発生元テーブル名を検索条件とし、図４のキューブ４１１を検索する。この検索結果のレコードにおける「キューブ名」を参照することで、影響を受けるキューブ名が得られる。影響範囲情報１４０の「影響先種別」には「キューブ」の値を格納し、キューブ名を「リソース名」として格納する。影響範囲情報１４０の「変更対象内容」には、ステップ８０４にて追加又は変更したＴｏ項目に対する追加又は変更内容を格納する。
【００６２】
以上示した処理により、図２に示すデータ加工処理の矢印を順方向にたどることができ、矢印を順方向にたどることで得たリソース名（ジョブ名、テーブル名、キューブ名）をもとに影響範囲情報１４０が生成されることになる。
【００６３】
次に、参照情報変更の影響範囲検出６０６を説明する。この処理では、変更パタン情報１２０の影響先種別が実行時参照情報であるものを検索し、この検索結果のレコードにおけるリソース名および変数名と値を用いて、図５に示す実行時参照情報７３０を変更する。例えば、実行時参照情報としては、ジョブの実行日に業務の締め日などを知るために参照するカレンダテーブル５３１がある。図５にカレンダテーブル５３１を示す。図１に示した変更パタン１２０の場合には、変更先種別とリソース名には「実行時参照情報」と「カレンダマスタ」の値がそれぞれ格納されている。この変更パタン１２０の格納値に基づいて、カレンダテーブル５３１に対する月締めと年締めに対する変更を行うべきことを判定する。そこで、この判定に基づいて実行時参照情報７３０におけるカレンダテーブル５３１を変更する。
【００６４】
以上に述べた処理により、影響範囲情報１４０が生成された。次は、ＤＷＨ構築情報の変更１１３により、影響範囲情報１４０に基づいたＤＷＨ構築情報１５０を生成する。以下では図１を用いてＤＷＨ構築情報の変更１１３を説明する。
【００６５】
図１のスキーマ定義情報の変更１１８では、図１および図５のスキーマ定義情報７１０を変更する。
【００６６】
まず、キューブに関連する変更として、次元の変更、又は次元階層の変更をＭＤＢ関連のスキーマ定義情報に対して反映させる。影響範囲情報１４０の影響先種別がキューブであるレコードのリソース名、及び変更対象内容に基づき、ＭＤＢメタデータ４１０を変更し、変更されたＭＤＢメタデータ４１０から、図５におけるマッピング定義情報５１２、キューブ定義情報５１３、次元マッピングファイル５１４、及び階層定義５１５を生成する。
【００６７】
次に、テーブルに関連する変更として、テーブル項目およびインデックスの変更、を図５のテーブル定義情報５１１に反映させる。影響範囲情報１４０の影響先種別がテーブルであるレコードのリソース名、及び変更対象内容に基づき、ＲＤＢメタデータ群４３０を変更し、変更されたＲＤＢメタデータ群４３０から、図５に示したテーブル定義情報５１１を生成する。
【００６８】
図１のデータ変換制御情報の変更１１９では、ジョブにおける項目マッピング４２２の変更を、図５のコマンド群５２２に反映させる。影響範囲情報１４０の影響先種別がジョブであるレコードのリソース名、及び変更対象内容に基づき、ジョブの項目マッピング４２２を変更し、変更された項目マッピング４２２から、図５におけるコマンド群５２２を生成する。
【００６９】
図１の実行時参照情報の変更１２１では、図１および図５の実行時参照情報７３０を変更する。影響範囲情報１４０の影響先種別が実行時参照情報であるレコードのリソース名、及び変更対象内容に基づき図５の実行時参照情報７３０に保持されるテーブルの値を変更する。
【００７０】
【発明の効果】
本発明によれば、複数のミドル基盤上で動作するデータウェアハウスシステムを、あらかじめ登録した変更パタン情報に基づいて修正できるため、データウェアハウスシステムへの変更を指示するユーザが、システム内部のどの部品を検索条件として、内部処理の影響範囲を検出するのか、どのリソースに対して変更を加えるべきか、などの詳細情報を意識しなくても、データウェアハウスシステムの動作を変更できる。これにより開発者が各ミドルウェア基盤を意識した修正個所の検索や、修正作業を行う必要がない。
【図面の簡単な説明】
【図１】本発明の構成と処理を示す図である。
【図２】本発明におけるデータマート構築例を示した図である。
【図３】ハードシステム構成図である。
【図４】ＤＷＨメタ情報の図である。
【図５】ＤＷＨ構築情報の図である。
【図６】カスタマイズ範囲検出処理のフロー図である。
【図７】キューブ変更の影響範囲検出処理のフロー図である。
【図８】入力ファイル変更の影響範囲検出のフロー図である。
【図９】変更パタン選択の画面図である。
【符号の説明】
１１１：変更パタン指定、１１２：変更範囲検出、１１３：ＤＷＨ構築情報の変更、１２０：変更パタン情報、１３０：ＤＷＨメタ情報、１４０：影響範囲情報、１５０：ＤＷＨ構築情報
【図１】
2004094425.tif 000003
【図２】
2004094425.tif 000004
【図３】
2004094425.tif 000005
【図４】
2004094425.tif 000006
【図５】
2004094425.tif 000007
【図６】
2004094425.tif 000008
【図７】
2004094425.tif 000009
【図８】
2004094425.tif 000010
【図９】
2004094425.tif 000011