(57)【特許請求の範囲】
【請求項１】
複数のデータベースに記憶されているテーブルのデータを統合することによって仮想データベースを構築し、上記複数のデータベース間の連携を行うようになされたデータベース連携システムであって、
上記複数のデータベースを構成している複数のテーブルの中から何れかを選択する操作を受け付けて、ユーザ操作が可能なインタフェースを備えたクレンジング画面を表示させ、当該クレンジング画面を通じて、処理対象のデータ項目、データ粒度変換のための関数、当該関数で使用するパラメータをそれぞれ指定する操作を受け付ける指定操作受付部と、
上記指定操作受付部により受け付けられた指定内容に基づいてＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記選択されたテーブルに対してクレンジング処理を実行し、その実行結果を上記クレンジング画面にプレビューさせるクレンジング実行部と、
上記クレンジング処理を定義したＳＱＬを仮想テーブルとして記憶部に保存する仮想テーブル保存部と、
上記クレンジング実行部により実行された前回までのクレンジング処理の何れかの指定内容に戻る第１の戻り操作を受け付ける第１の戻り操作受付部とを備え、
上記指定操作受付部は、上記処理対象のデータ項目、上記関数および上記パラメータの組の指定を複数受け付けるためのユーザインタフェースを上記クレンジング画面に表示させ、
上記クレンジング実行部は、上記処理対象のデータ項目、上記関数および上記パラメータの組の新たな指定内容を上記指定操作受付部が受け付けた場合、当該新たな指定内容に基づいて新たなＳＱＬ文を生成し、当該新たなＳＱＬ文に従って、上記選択されたテーブルに対してクレンジング処理を実行し、その実行結果を上記クレンジング画面にプレビューさせ、
上記仮想テーブル保存部は、新たなＳＱＬを仮想テーブルとして追加保存し、
上記クレンジング実行部はさらに、上記第１の戻り操作受付部が上記第１の戻り操作を受け付けた場合、当該第１の戻り操作により指定された指定内容に対応するＳＱＬを上記記憶部から読み出し、当該読み出したＳＱＬに従ってクレンジング処理を実行することを特徴とするデータベース連携システム。
【請求項２】
複数のデータベースに記憶されているテーブルのデータを統合することによって仮想データベースを構築し、上記複数のデータベース間の連携を行うようになされたデータベース連携システムであって、
上記複数のデータベースを構成している複数のテーブルの中から何れかを選択する操作を受け付けて、ユーザ操作が可能なインタフェースを備えたクレンジング画面を表示させ、当該クレンジング画面を通じて、処理対象のデータ項目、データ粒度変換のための関数、当該関数で使用するパラメータをそれぞれ指定する操作を受け付ける指定操作受付部と、
上記指定操作受付部により受け付けられた指定内容に基づいてＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記選択されたテーブルに対してクレンジング処理を実行し、その実行結果を上記クレンジング画面にプレビューさせるクレンジング実行部と、
上記クレンジング処理を定義したＳＱＬを仮想テーブルとして記憶部に保存する仮想テーブル保存部と、
上記複数のテーブルをオブジェクトとして論理マッピング作成画面に配置し、当該複数のテーブルを統合する操作を受け付ける統合操作受付部と、
上記統合操作受付部により受け付けられた操作内容に基づいて、テーブル統合のためのＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記複数のテーブルの統合処理を実行する統合実行部とを備え、
上記統合操作受付部は、上記複数のテーブルの１つとして、上記記憶部に保存されたＳＱＬの上記仮想テーブルを上記オブジェクトとして上記論理マッピング作成画面に配置する操作を受け付け、
上記統合実行部は、上記仮想テーブルに対応するクレンジング処理のＳＱＬと上記テーブル統合のためのＳＱＬとを実行し、
上記論理マッピング作成画面から上記クレンジング画面に戻る第２の戻り操作を受け付ける第２の戻り操作受付部と、
上記第２の戻り操作受付部が上記第２の戻り操作を受け付けた場合、上記論理マッピング作成画面に配置されている上記仮想テーブルに対応するＳＱＬを上記記憶部から読み出して、当該読み出したＳＱＬによるクレンジング処理を実行した状態のクレンジング画面を再表示させる画面遷移部とを更に備えたことを特徴とするデータベース連携システム。
【請求項３】
上記複数のテーブルをオブジェクトとして論理マッピング作成画面に配置し、当該複数のテーブルを統合する操作を受け付ける統合操作受付部と、
上記統合操作受付部により受け付けられた操作内容に基づいて、テーブル統合のためのＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記複数のテーブルの統合処理を実行する統合実行部とを更に備え、
上記統合操作受付部は、上記複数のテーブルの１つとして、上記記憶部に保存されたＳＱＬの上記仮想テーブルを上記オブジェクトとして上記論理マッピング作成画面に配置する操作を受け付け、
上記統合実行部は、上記仮想テーブルに対応するクレンジング処理のＳＱＬと上記テーブル統合のためのＳＱＬとを実行し、
上記論理マッピング作成画面から上記クレンジング画面に戻る第２の戻り操作を受け付ける第２の戻り操作受付部と、
上記第２の戻り操作受付部が上記第２の戻り操作を受け付けた場合、上記論理マッピング作成画面に配置されている上記仮想テーブルに対応するＳＱＬを上記記憶部から読み出して、当該読み出したＳＱＬによるクレンジング処理を実行した状態のクレンジング画面を再表示させる画面遷移部とを更に備えたことを特徴とする請求項１に記載のデータベース連携システム。
【請求項４】
複数のデータベースに記憶されているデータを統合することによって仮想データベースを構築し、上記複数のデータベース間の連携を行うためのデータベース連携用プログラムであって、
上記複数のデータベースを構成している複数のテーブルの中から何れかを選択する操作を受け付けて、ユーザ操作が可能なインタフェースを備えたクレンジング画面を表示させ、当該クレンジング画面を通じて、処理対象のデータ項目、データ粒度変換のための関数、当該関数で使用するパラメータをそれぞれ指定する操作を受け付ける指定操作受付手段、
上記指定操作受付手段により受け付けられた指定内容に基づいてＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記選択されたテーブルに対してクレンジング処理を実行し、その実行結果を上記クレンジング画面にプレビューさせるクレンジング実行手段、
上記クレンジング処理を定義したＳＱＬを仮想テーブルとして記憶部に保存する仮想テーブル保存手段、および
上記クレンジング実行手段により実行された前回までのクレンジング処理の何れかの指定内容に戻る第１の戻り操作を受け付ける第１の戻り操作受付手段
としてコンピュータを機能させ、
上記指定操作受付手段は、上記処理対象のデータ項目、上記関数および上記パラメータの組の指定を複数受け付けるためのユーザインタフェースを上記クレンジング画面に表示させ、
上記クレンジング実行手段は、上記処理対象のデータ項目、上記関数および上記パラメータの組の新たな指定内容を上記指定操作受付手段が受け付けた場合、当該新たな指定内容に基づいて新たなＳＱＬ文を生成し、当該新たなＳＱＬ文に従って、上記選択されたテーブルに対してクレンジング処理を実行し、その実行結果を上記クレンジング画面にプレビューさせ、
上記仮想テーブル保存手段は、新たなＳＱＬを仮想テーブルとして追加保存し、
上記クレンジング実行手段はさらに、上記第１の戻り操作受付手段が上記第１の戻り操作を受け付けた場合、当該第１の戻り操作により指定された指定内容に対応するＳＱＬを上記記憶部から読み出し、当該読み出したＳＱＬに従ってクレンジング処理を実行することを特徴とするデータベース連携用プログラム。
【請求項５】
複数のデータベースに記憶されているデータを統合することによって仮想データベースを構築し、上記複数のデータベース間の連携を行うためのデータベース連携用プログラムであって、
上記複数のデータベースを構成している複数のテーブルの中から何れかを選択する操作を受け付けて、ユーザ操作が可能なインタフェースを備えたクレンジング画面を表示させ、当該クレンジング画面を通じて、処理対象のデータ項目、データ粒度変換のための関数、当該関数で使用するパラメータをそれぞれ指定する操作を受け付ける指定操作受付手段、
上記指定操作受付手段により受け付けられた指定内容に基づいてＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記選択されたテーブルに対してクレンジング処理を実行し、その実行結果を上記クレンジング画面にプレビューさせるクレンジング実行手段、
上記クレンジング処理を定義したＳＱＬを仮想テーブルとして記憶部に保存する仮想テーブル保存手段、
上記複数のテーブルをオブジェクトとして論理マッピング作成画面に配置し、当該複数のテーブルを統合する操作を受け付ける統合操作受付手段、および
上記統合操作受付手段により受け付けられた操作内容に基づいて、テーブル統合のためのＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記複数のテーブルの統合処理を実行する統合実行手段
としてコンピュータを機能させ、
上記統合操作受付手段は、上記複数のテーブルの１つとして、上記記憶部に保存されたＳＱＬの上記仮想テーブルを上記オブジェクトとして上記論理マッピング作成画面に配置する操作を受け付け、
上記統合実行手段は、上記仮想テーブルに対応するクレンジング処理のＳＱＬと上記テーブル統合のためのＳＱＬとを実行し、
上記論理マッピング作成画面から上記クレンジング画面に戻る第２の戻り操作を受け付ける第２の戻り操作受付手段、および
上記第２の戻り操作受付手段が上記第２の戻り操作を受け付けた場合、上記論理マッピング作成画面に配置されている上記仮想テーブルに対応するＳＱＬを上記記憶部から読み出して、当該読み出したＳＱＬによるクレンジング処理を実行した状態のクレンジング画面を再表示させる画面遷移手段
としてコンピュータを更に機能させることを特徴とするデータベース連携用プログラム。
【請求項６】
上記複数のテーブルをオブジェクトとして論理マッピング作成画面に配置し、当該複数のテーブルを統合する操作を受け付ける統合操作受付手段、および
上記統合操作受付手段により受け付けられた操作内容に基づいて、テーブル統合のためのＳＱＬ文を生成し、当該ＳＱＬ文に従って、上記複数のテーブルの統合処理を実行する統合実行手段
としてコンピュータを更に機能させ、
上記統合操作受付手段は、上記複数のテーブルの１つとして、上記記憶部に保存されたＳＱＬの上記仮想テーブルを上記オブジェクトとして上記論理マッピング作成画面に配置する操作を受け付け、
上記統合実行手段は、上記仮想テーブルに対応するクレンジング処理のＳＱＬと上記テーブル統合のためのＳＱＬとを実行し、
上記論理マッピング作成画面から上記クレンジング画面に戻る第２の戻り操作を受け付ける第２の戻り操作受付手段、および
上記第２の戻り操作受付手段が上記第２の戻り操作を受け付けた場合、上記論理マッピング作成画面に配置されている上記仮想テーブルに対応するＳＱＬを上記記憶部から読み出して、当該読み出したＳＱＬによるクレンジング処理を実行した状態のクレンジング画面を再表示させる画面遷移手段
としてコンピュータを更に機能させることを特徴とする請求項４に記載のデータベース連携用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース連携システムおよびデータベース連携用プログラムに関し、特に、複数の異なるデータベースに記憶されているテーブルのデータを統合することによって仮想データベースを構築し、データベース間の連携を行うようになされたデータベース連携システムに用いて好適なものである。
【背景技術】
【０００２】
従来、複数の異なるデータベースにおいて管理されているデータを統合することによって１つの仮想データベースを構築し、データベース間の連携を行うようになされたデータベース連携システムが知られている（例えば、特許文献１〜３参照）。この種のデータベース連携システムは、例えば、異なるデータベースに記憶されているデータを統合して分析することにより、１つのデータベースのみからでは得られない新たな知見を得ようとする場合などに使われる。
【０００３】
複数のデータベースから抽出したデータを統合する処理として、物理統合（ＥＴＬ：Extract Transform Load）と呼ばれるものと、仮想統合（ＥＩＩ：Enterprise Information Integration）と呼ばれるものとがある。物理統合では、それぞれのデータベースから抽出したデータについて、物理的な統合を行う。そして、統合結果を１つのビューとしてユーザに提供する。物理統合は、バッチ処理としてまとまった処理を行うのに適しているが、リアルタイムにデータを統合することには向いていない。
【０００４】
一方、仮想統合では、ユーザからの検索要求に応じて、必要なデータを各データベースから検索し、検索したデータについて仮想的な統合を行う。仮想統合では、複数のデータベースに存在するデータを、ユーザの要求によりリアルタイムに収集して統合する。そして、その統合結果を１つのビューとしてユーザに提供する。仮想統合はバッチ処理ではないため、ユーザが必要とするデータを複数のデータベースからリアルタイムに取得して統合することが可能である。
【０００５】
ところが、このように複数の異なるデータベースを連携する際に、それぞれのデータベースに記憶されたデータの粒度が合わないという問題が頻繁に発生する。そこで、一方のデータベースに記憶されたデータの粒度を、他方のデータベースに記憶されたデータの粒度に合わせるために、データの粒度を変換する機能が必要となる。一般に、このようにデータの粒度を変換する機能は、クレンジングと呼ばれている。例えば、データの形式を変換する処理や名寄せ処理などは、クレンジング処理の典型例である。
【０００６】
特許文献１に記載のデータ統合システムでは、多くのデータ・ソースにクエリすることができ、その結果、複数のデータ・ソースから受け取ったデータをクレンジングし、結合し、変形し、または他の方法で操作して、このように処理されたデータを用いてビジネスに有用なレポートを生成できるようにしている。この特許文献１に記載のクレンジング機能は、データの品質の選別、訂正、クリーニング、またはその他への拡張に関して、自動、半自動または手動ファシリティを提供することができる。
【０００７】
また、特許文献２に記載のデータ統合装置では、情報源からのデータ収集を各情報源側のデータモデル（物理モデル）で行う。一方、統合処理では、利用側アプリケーションごとにあらかじめ定義されたデータモデル（論理モデル）に向けてデータ構造を変換する処理（マッピング）と、各値を揃えるように変換する処理（クレンジング）とを行う。そして、その処理結果を、アプリケーションごとのビュー（論理モデル）として利用側アプリケーションに提供する。
【０００８】
特許文献２に記載された統合エンジンのアーキテクチャ（マッピングの定義）は、定義済みの物理モデルに基づいて論理モデルを定義するものである。ここで、情報源は複数のシステム（物理モデル）であり、利用側はシステムが必要とする論理モデルである。具体的には、まず、複数の物理モデルから必要な項目を論理モデルにセットする。論理モデルには、物理モデルから引き継いだ列名、型、型属性、制約が設定され、マッピング定義も自動的に作成される。次に、論理モデルに対して必要な修正を行う。例えば、不要な列の削除、列名の変更、型の変更と型属性変更などである。これらの変更は、マッピング定義およびクレンジング定義に反映される。
【０００９】
また、特許文献３に記載の名寄せデータベース設計支援システムでは、名寄せに関わる基本的なデータ項目定義と要件を入力することで、所望の要件に対応し、拡張性のある名寄せデータベースを短時間に設計することができるようにしている。この特許文献３には、名寄せデータベースのテーブル構成とリンク構成とを、ＳＱＬ言語形式のデータベース定義文で出力することが記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特表２００８−５１１９３４号公報
【特許文献２】特開２０１１−２５８２２５号公報
【特許文献３】特開２００４−３０３１１７号公報
【特許文献４】特開平７−３６９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述のように、複数のデータベースから抽出したデータを統合する際に、仮想統合の手法を用いれば、ユーザが必要とするデータを複数のデータベースからリアルタイムに取得して統合することが可能である。ところが、このようなリアルタイムなデータの統合ができるのは、それぞれのデータベースから取得するデータの粒度が互いに合っていることが前提である。
【００１２】
データの粒度が合っていない場合は、クレンジングによってデータの粒度を合せる処理を行うことが必要となる。しかしながら、従来このクレンジングは、バッチ処理によって試行錯誤的に行われており、ユーザの要求に合ったクレンジング定義を作成するまでに多くの時間がかかるという問題があった。また、専門的な知識を必要とするため、エンドユーザがクレンジングを簡単に行うことができないという問題もあった。
【００１３】
なお、顧客データの新規登録時に、カナ氏名照会画面および軒先・電話名寄せ照会画面上で同音異人有無および同一世帯員有無を対話形式でチェックして世帯名寄せを行うシステムが開示されている（例えば、特許文献４参照）。しかしながら、この特許文献４に記載されているのは、端末装置から顧客データが新規登録のために送信されてきたときに、その属性情報をチェックし、同音異人有無および同一世帯員有無を確認して登録することであり、この技術をデータベース連携に必要なクレンジングにそのまま適用することはできない。
【００１４】
本発明は、このような問題を解決するために成されたものであり、バッチ処理によらず対話的にクレンジング定義を作成できるようにすることにより、ユーザの要求に応じてリアルタイムにクレンジングを行ってデータベースの統合を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
上記した課題を解決するために、本発明では、複数のテーブルの中から選択したテーブルについて、ユーザ操作が可能なインタフェースを備えたクレンジング画面を通じて、処理対象のデータ項目、データ粒度変換のための関数、当該関数で使用するパラメータをそれぞれ指定してクレンジング処理を実行し、その実行結果をクレンジング画面にプレビューさせる。ここで、クレンジング画面を通じて指定された内容に基づいてＳＱＬ文を生成し、当該ＳＱＬ文に従って、選択されたテーブルに対してクレンジング処理を実行し、このクレンジング処理を定義したＳＱＬを仮想テーブルとして記憶部に保存するようにしている。
【発明の効果】
【００１６】
上記のように構成した本発明のデータベース連携システムによれば、当該システムを利用するユーザは、クレンジング画面を通じて、データ項目、関数およびパラメータを任意に指定し、その指定内容に基づくクレンジング処理の実行結果をプレビューにより確認しながら、適切なクレンジングの定義を作成することができる。また、クレンジング処理によって生成された仮想テーブルはＳＱＬによって保存されるので、テーブルの統合をＳＱＬによって簡単に行うことができる。これにより、本発明によれば、バッチ処理によらず対話的にクレンジング定義を作成することができ、ユーザの要求に応じてリアルタイムにクレンジングを行ってデータベースの統合を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態によるデータベース連携システムの全体構成例を示す図である。
【図２】本実施形態のデータベース連携システムにより生成される仮想データベースの概略的な構造の一例を示す図である。
【図３】本実施形態によるデータベース連携システムの機能構成例を示すブロック図である。
【図４】テーブルの選択操作を受け付けたときに表示されるクレンジング画面の一例を示す図である。
【図５】対象カラムとして「摘要」を指定し、関数として「変換」を指定した場合に表示されるクレンジング画面の一例を示す図である。
【図６】クレンジング処理の実行結果をプレビューした状態のクレンジング画面の一例を示す図である。
【図７】４回のクレンジング処理を実行した結果として表示されるクレンジング画面の一例を示す図である。
【図８】抽出タブが選択された状態の論理マッピング作成画面の一例を示す図である。
【図９】条件タブが選択された状態の論理マッピング作成画面の一例を示す図である。
【図１０】結合タブが選択された状態の論理マッピング作成画面の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるデータベース連携システムの全体構成例を示す図である。図１に示すように、本実施形態のデータベース連携システム１００は、  複数のデータベース２０１，２０２に記憶されているテーブルのデータを統合することによって仮想データベース３００を構築することにより、当該複数のデータベース２０１，２０２間の連携を行うようになされたものである。
【００１９】
図２は、本実施形態のデータベース連携システム１００により生成される仮想データベース３００の概略的な構造の一例を示す図である。図２に示すように、本実施形態の仮想データベース３００は、物理マッピングテーブル３１１，３１２と、クレンジングテーブル３１３と、論理マッピングテーブル３１４とにより構成されている。物理マッピングテーブル３１１，３１２は、データベース２０１，２０２から物理テーブルのデータを取得するために定義された外部データソース参照用の仮想テーブルである。
【００２０】
クレンジングテーブル３１３は、例えば、第１の物理マッピングテーブル３１１によって第１のデータベース２０１から何れか１つの物理テーブルのデータを取り出して後述するクレンジングを行った結果として生成される仮想テーブルであり、クレンジング操作をＳＱＬによって定義した情報を含む仮想テーブルである。
【００２１】
ここで、クレンジングテーブル３１３のＳＱＬによってクレンジングされたデータは、第２の物理マッピングテーブル３１２によって第２のデータベース２０２から取り出される物理テーブルのデータと粒度が一致したものとなっている。なお、ここでは、第２の物理マッピングテーブル３１２によって第２のデータベース２０２から取り出したデータに対してはクレンジングを行っていない例を説明したが、こちらのデータに対しても更にクレンジングを行ってもよい。
【００２２】
上記のようにデータの粒度が一致した２つのテーブル３１２，３１３を統合したものが、論理マッピングテーブル３１４である。この論理マッピングテーブル３１４は、ＳＱＬのいわゆるビュー定義を行った仮想テーブルである。このビューとしての論理マッピングテーブル３１４の情報が、例えばアプリケーションに提供されて、当該アプリケーションにおいて必要な処理が行われる。
【００２３】
図３は、本実施形態によるデータベース連携システム１００の機能構成例を示すブロック図である。図３に示すように、本実施形態のデータベース連携システム１００は、その機能構成として、指定操作受付部１１、クレンジング実行部１２、仮想テーブル保存部１３、第１の戻り操作受付部１４、統合操作受付部１５、統合実行部１６、第２の戻り操作受付部１７および画面遷移部１８を備えて構成されている。また、本実施形態のデータベース連携システム１００は、データ記憶媒体としての記憶部２０を備えている。
【００２４】
上記各機能ブロック１１〜１８を備えるデータベース連携システム１００は、例えば、インターネットに接続されたサーバ装置として構成される。また、データベース連携システム１００は、社内ＬＡＮ（Local Area Network）に接続されたサーバ装置として構成することも可能である。あるいは、データベース連携システム１００は、ネットワークとは非接続のパーソナルコンピュータとして構成することも可能である。
【００２５】
上記各機能ブロック１１〜１８は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１１〜１８は、実際にはサーバ装置またはパーソナルコンピュータ等のＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００２６】
指定操作受付部１１は、複数のデータベース２０１，２０２を構成している複数の物理テーブルの中から何れかを選択する操作を受け付けて、後述するクレンジング画面を表示させる。そして、当該クレンジング画面を通じて、処理対象のデータ項目、データ粒度変換のための関数、当該関数で使用するパラメータをそれぞれ指定する操作を受け付ける。
【００２７】
例えば、第１のデータベース２０１が１つ以上の物理テーブルを備え、第２のデータベース２０２も１つ以上の物理テーブルを備えているときに、図２のように、第１のデータベース２０１に関する第１の物理マッピングテーブル３１１と、第２のデータベース２０２に関する第２の物理マッピングテーブル３１２とを統合させて１つの論理マッピングテーブル３１４を生成するケースを考える。
【００２８】
このケースにおいて、第１の物理マッピングテーブル３１１によって第１のデータベース２０１から取り出した物理テーブル（以下、説明の便宜上、これを物理テーブル３１１Ｐと記す）を対象としてクレンジングを行う場合、指定操作受付部１１は、まず、第１のデータベース２０１の中から所望の物理テーブル３１１Ｐを選択する操作を受け付ける。指定操作受付部１１は、物理テーブル３１１Ｐの選択操作を受け付けると、ユーザ操作が可能なインタフェースを備えたクレンジング画面を表示させる。図４は、このとき表示されるクレンジング画面の一例を示す図である。
【００２９】
図４の例は、物理テーブル３１１Ｐとして、第１のデータベース２０１から「売上テーブル」を選択した例を示している。図４に示すように、クレンジング画面は、処理指定領域４１、関数プロパティ指定領域４２およびプレビュー領域４３を有している。処理指定領域４１には、対象テーブル表示欄４１ａと、クレンジング処理指定欄４１ｂ-1とが含まれている。この図４は、選択した物理テーブル３１１Ｐのテーブル名（売上）が処理指定領域４１の対象テーブル表示欄４１ａに表示されるとともに、当該売上テーブルの所定件数分のデータがプレビュー領域４３に表示された状態を示している。
【００３０】
次に、指定操作受付部１１は、図４のように表示されたクレンジング画面のクレンジング処理指定欄４１ｂ-1および関数プロパティ指定領域４２を通じて、クレンジング処理対象のデータ項目、データ粒度変換のための関数、当該関数で使用するパラメータをそれぞれ指定する操作を受け付ける。本実施形態では、処理対象のデータ項目として、対象カラムを指定するようになっている。なお、対象カラムおよび関数は、それぞれプルダウンメニューから選択して指定すること可能である。対象カラムのプルダウンメニューに表示されるデータ項目は、選択した売上テーブルが実際に有しているデータ項目であり、当該売上テーブルの各カラムから抽出したものである。一方、関数のプルダウンメニューに表示されるものは、あらかじめ用意された関数である。
【００３１】
図５は、対象カラムとして「摘要」を指定し、関数として「変換」を指定した場合に表示されるクレンジング画面の一例を示す図である。図５に示すように、クレンジング処理指定欄４１ｂ-1において対象カラムとして「摘要」を指定すると、指定した「摘要」カラムがプレビュー領域４３でハイライトして表示される。関数として指定した「変換」は、全角と半角との変換、大文字と小文字との変換、小書きと普通文字との変換を実行するためのものであり、その変換に関する詳細設定を、関数で使用するパラメータとして関数プロパティ指定領域４２にて指定することができるようになっている。
【００３２】
図３のクレンジング実行部１２は、指定操作受付部１１により受け付けられた指定内容に基づいて、ＳＱＬ文を生成する。そして、当該生成したＳＱＬ文に従って、選択された物理テーブル３１１Ｐに対してクレンジング処理を実行し、その実行結果をクレンジング画面のプレビュー領域４３にプレビューさせる。すなわち、図５のクレンジング画面において、「処理１実行後」ボタン５１が押下されると、クレンジング実行部１２は、対象カラムとして指定された「摘要」カラムのデータに対して、関数として指定された「変換」の処理を、関数プロパティ指定領域４２にて指定された条件に従って実行する。
【００３３】
このとき、クレンジング実行部１２は、関数の内容をＳＱＬ文として生成し、そのＳＱＬ文を実行することによって、指定のクレンジング処理を実行する。そして、そのクレンジング処理の実行結果をプレビュー領域４３にプレビューさせる。図６は、このプレビューが行われた状態を示す図である。本実施形態では、クレンジング処理の結果が常に新しい列６３として出力され、クレンジングの適用されたセルがハイライトして表示される。
【００３４】
指定操作受付部１１は、クレンジング実行部１２がクレンジング処理を実行すると、「処理２実行後」ボタン６１の左側に「処理１実行前」ボタン６２を表示させる。「処理１実行前」ボタン６２は、クレンジング処理を行う前の状態に戻すことを指示するためのボタンである。
【００３５】
また、指定操作受付部１１は、クレンジング実行部１２がクレンジング処理を実行すると、クレンジング処理指定欄４１ｂ-1の下に２つ目のクレンジング処理指定欄４１ｂ-2を追加して表示させる。２つ目のクレンジング処理指定欄４１ｂ-2は、１回目のクレンジング処理に続いて実行する２回目のクレンジング処理の内容を指定するためのユーザインタフェースである。このように、指定操作受付部１１は、１回目のクレンジング処理が実行された後は、対象カラム、関数およびパラメータの組の指定を追加で受け付けるためのユーザインタフェースをクレンジング画面に表示させる。
【００３６】
指定操作受付部１１は、２つ目のクレンジング処理指定欄４１ｂ-2を通じて、対象カラムおよび関数の新たな指定内容を受け付けることが可能である。また、指定操作受付部１１は、新たに指定された関数に応じて表示される関数プロパティ指定領域４２を通じて、当該新たな関数で使用するパラメータに関する新たな指定内容を受け付けることが可能である。
【００３７】
２つ目のクレンジング処理指定欄４１ｂ-2および関数プロパティ指定領域４２を通じて、対象カラム、関数およびパラメータの組の新たな指定内容を指定操作受付部１１が受け付けた場合、クレンジング実行部１２は、当該新たな指定内容に基づいて新たなＳＱＬ文を生成する。そして、当該新たなＳＱＬ文に従って、選択済みの売上テーブルに対してクレンジング処理を実行し、その実行結果をクレンジング画面のプレビュー領域４３にプレビューさせる。
【００３８】
ここで、指定操作受付部１１は、２つ目のクレンジング処理指定欄４１ｂ-2を通じて対象カラムの新たな指定を受け付けるときに、前回までのクレンジング処理の実行結果の指定（前回と同じカラムの指定）を受け付けることも可能である。具体的には、指定操作受付部１１は、対象カラムのプルダウンメニューに表示させるデータ項目の一覧の中に、前回までのクレンジング処理の実行結果を指定可能なデータ項目を追加して表示させる。
【００３９】
クレンジング実行部１２は、前回までのクレンジング処理の実行結果が対象カラムとして指定された場合、当該前回までのクレンジング処理のＳＱＬ文と、今回の指定内容に係るＳＱＬ文とを複合させたＳＱＬ文を生成する。そして、当該複合ＳＱＬ文に従って、選択されたテーブルに対してクレンジング処理を実行し、その実行結果をプレビュー領域４３にプレビューさせる。
【００４０】
例えば、１回目のクレンジング処理で指定された関数を“ｆ1”、この関数ｆ1を摘要カラムに適用してクレンジング処理を実行するＳＱＬ文（１回目のクレンジング処理の際にクレンジング実行部１２により生成されたＳＱＬ文）を“ｆ1（摘要カラム）”、２回目のクレンジング処理で指定された関数を“ｆ2”で表すものとする。この場合において、２回目のクレンジング処理において関数ｆ2を適用する対象カラムとして、１回目のクレンジング処理の実行結果が指定された場合、クレンジング実行部１２は、“ｆ2（ｆ1（摘要カラム））”という複合ＳＱＬ文を生成し、当該複合ＳＱＬ文に従ってクレンジング処理を実行する。
【００４１】
３回目以降も同様に、対象カラム、関数およびパラメータの組を指定してクレンジング処理を実行し、その実行結果をプレビュー領域４３にプレビューさせることが可能である。図７は、４回のクレンジング処理を実行した結果として表示されるクレンジング画面の一例を示す図である。この例では、２回目のクレンジング処理を行う際に、対象カラムとして１回目のクレンジング処理の実行結果を指定している。また、３回目のクレンジング処理を行う際に、対象カラムとして２回目のクレンジング処理の実行結果を指定している。さらに、４回目のクレンジング処理を行う際に、対象カラムとして３回目のクレンジング処理の実行結果を指定している。
【００４２】
なお、４回のクレンジング処理を実行した結果として表示される図７のクレンジング画面には、「処理５実行後」ボタン７１および「処理４実行前」ボタン７２が表示されている。「処理５実行後」ボタン７１は、５回目クレンジング処理の実行を指示するためのボタンである。一方、「処理４実行前」ボタン７２は、４回目のクレンジング処理を行う前の状態（３回目のクレンジング処理を実行した状態）に戻すことを指示するためのボタンである。
【００４３】
図３の仮想テーブル保存部１３は、クレンジング実行部１２により実行されたクレンジング処理を定義したＳＱＬを仮想テーブルとして記憶部２０に保存する。記憶部２０に記憶させるＳＱＬは、クレンジング実行部１２により生成されたＳＱＬ文そのものであってもよいし、当該ＳＱＬ文を組み立てるに足る構造体や変数のセットであってもよい。
【００４４】
ここで、２回目以降、対象カラム、関数およびパラメータの組の新たな指定内容を指定操作受付部１１が受け付けて、当該新たな指定内容に基づいてクレンジング実行部１２が新たなＳＱＬ文を生成してクレンジング処理を実行した場合、仮想テーブル保存部１３は、新たなＳＱＬを仮想テーブルとして記憶部２０に追加保存する。また、クレンジング実行部１２が複合ＳＱＬ文を生成してクレンジング処理を実行した場合、仮想テーブル保存部１３は、複合ＳＱＬを仮想テーブルとして記憶部２０に追加保存する。
【００４５】
上述した例のように、１回目のクレンジング処理において、関数ｆ1を摘要カラムに適用してクレンジング処理を実行した場合、仮想テーブル保存部１３は、ＳＱＬ文“ｆ1（摘要カラム）”または当該ＳＱＬ文を組み立てるに足る構造体や変数のセットを記憶部２０に保存する。次いで、２回目のクレンジング処理において、１回目のクレンジング処理の実行結果に関数ｆ2を適用してクレンジング処理を実行した場合、仮想テーブル保存部１３は、複合ＳＱＬ文“ｆ2（ｆ1（摘要カラム））” または当該複合ＳＱＬ文を組み立てるに足る構造体や変数のセットを記憶部２０に追加保存する。
【００４６】
第１の戻り操作受付部１４は、クレンジング実行部１２により実行された前回までのクレンジング処理の何れかの指定内容に戻る戻り操作を受け付ける。具体的には、第１の戻り操作受付部１４は、図６に例示した「処理１実行前」ボタン６２、図７に例示した「処理４実行前」ボタン７２などの操作を受け付ける。
【００４７】
第１の戻り操作受付部１４が上述の戻り操作を受け付けた場合、クレンジング実行部１２は、当該戻り操作により指定された指定内容に対応するＳＱＬを記憶部２０から読み出し、当該読み出したＳＱＬに従ってクレンジング処理を実行する。そして、その実行結果をプレビュー領域４３に表示させる。例えば、２回目のクレンジング処理が終わって、２つのＳＱＬ文“ｆ1（摘要カラム）”、“ｆ2（ｆ1（摘要カラム））”が記憶部２０に保存されているときに、「処理２実行前」ボタン（図示せず）が操作された場合、クレンジング実行部１２は、記憶部２０からＳＱＬ文“ｆ1（摘要カラム）”を読み出して実行する。
【００４８】
統合操作受付部１５は、複数のテーブル３１２，３１３をオブジェクトとして論理マッピング作成画面に配置し、当該複数のテーブル３１２，３１３を統合する操作を受け付ける。ここで、統合操作受付部１５は、複数のテーブル３１２，３１３の１つとして、記憶部２０にＳＱＬとして保存されたクレンジングテーブル３１３をオブジェクトとして論理マッピング作成画面に配置する操作を受け付け可能に構成している点を特徴として有している。
【００４９】
すなわち、図４〜図７に例示したクレンジング画面を通じて、クレンジングテーブル３１３を生成した後、２つのテーブル３１２，３１３を統合する際には、クレンジング画面を閉じて、別の論理マッピング作成画面を開く。そして、この論理マッピング作成画面上に２つのテーブル３１２，３１３をオブジェクトとして配置し、テーブル結合処理のための各種設定操作を行う。
【００５０】
図８は、論理マッピング作成画面の一例を示す図である。図８に示すように、論理マッピング作成画面は、テーブル一覧領域８１、エディタ領域８２、詳細設定領域８３を有している。詳細設定領域８３には、作成ボタン８４およびキャンセルボタン８５が表示されている。
【００５１】
統合操作受付部１５は、テーブル一覧領域８１の中から、統合する２つのテーブルを選択してテーブルオブジェクト３１２’，３１３’としてエディタ領域８２に配置する操作を受け付ける。例えば、テーブル一覧領域８１に表示されているテーブル名をエディタ領域８２にドラッグ＆ドロップする操作によって、テーブルオブジェクト３１２’，３１３’をエディタ領域８２に配置することが可能である。
【００５２】
エディタ領域８２に配置されるテーブルオブジェクト３１２’，３１３’は、各々のテーブルに含まれるデータ項目（カラム名）の一覧が表示されている。ここで、一方のテーブルオブジェクト３１３’に含まれる任意のカラムと、他方のテーブルオブジェクト３１２’に含まれる任意のカラムとの間にドラッグ＆ドロップ操作でリンク３２０を結ぶことにより、テーブル３１２，３１３の結合情報を定義することが可能である。図８の例は、双方のテーブル３１２，３１３に含まれる「取引ＩＤ」をキーとして統合するという結合情報を定義している。
【００５３】
詳細設定領域８３は、抽出、条件、結合の３つの選択可能なタブを有し、それぞれにおいてテーブル統合の詳細設定を定義することが可能である。抽出タブを選択した場合は、統合の際にテーブル内から抽出するカラムに関する詳細設定を行うことができる。まず、テーブルオブジェクト３１２’，３１３’に表示された任意のカラム名を抽出タブの詳細設定領域８３にドラッグ＆ドロップすることにより、出力列を指定する。そして、指定した出力列に関して、エイリアス、集約定義、ソート情報などを必要に応じて指定することができる。
【００５４】
また、図９に示すように、条件タブを選択した場合は、テーブル内からデータを抽出する際の条件に関する詳細設定を行うことができる。まず、テーブルオブジェクト３１２’，３１３’に表示された任意のカラム名を条件タブの詳細設定領域８３にドラッグ＆ドロップすることにより、条件列を指定する。そして、指定した条件列に関して、条件に対する演算式を選択し、評価式を自由記述によって指定することができる。
【００５５】
また、図１０に示すように、結合タブを選択した場合は、２つのテーブルを結合する際の詳細設定を行うことができる。この結合タブの詳細設定領域８３では、結合のパターン（内部結合、左外部結合、右外部結合、完全外部結合など）を指定することが可能である。
【００５６】
統合実行部１６は、統合操作受付部１５により受け付けられた操作内容、すなわち、図８〜図１０に例示したように論理マッピング作成画面を通じて行われた種々の設定内容に基づいて、テーブル統合のためのＳＱＬ文を生成し、当該ＳＱＬ文に従って、複数のテーブル３１２，３１３の統合処理を実行する。これにより、図２に示した論理マッピングテーブル３１４を生成する。
【００５７】
具体的には、統合操作受付部１５が作成ボタン８４の操作を受け付けると、統合実行部１６は、詳細設定領域８３にて指定されたテーブル統合のための詳細設定に対応したＳＱＬ文を生成する。そして、クレンジングテーブル３１３において定義されているクレンジング処理のＳＱＬ文と、詳細設定領域８３での指定内容から生成されたＳＱＬ文とを実行することにより、論理マッピングテーブル（結合テーブル）３１４を生成する。生成された論理マッピングテーブル３１４の内容は、ビューとして表示される。
【００５８】
第２の戻り操作受付部１７は、論理マッピング作成画面からクレンジング画面に戻る第２の戻り操作を受け付ける。この第２の戻り操作は、例えば、論理マッピング作成画面のエディタ領域８２に配置されているテーブルオブジェクト３１３’（クレンジング画面を通じてクレンジングされた仮想テーブルのオブジェクト）を指定して、例えばマウスの右クリックにより表示される戻りボタンを操作することによって行うことができる。なお、この操作は単なる一例であって、これに限定されるものではない。例えば、論理マッピング作成画面に戻りボタンを表示させるようにしてもよい。
【００５９】
画面遷移部１８は、第２の戻り操作受付部１７が第２の戻り操作を受け付けた場合、論理マッピング作成画面のエディタ領域８２に配置されているクレンジングテーブル３１３に対応するＳＱＬを記憶部２０から読み出す。そして、当該読み出したＳＱＬによるクレンジング処理を実行し、当該クレンジング処理が実行された状態のクレンジング画面を再表示させる。
【００６０】
以上詳しく説明したように、本実施形態では、複数のテーブルの中から選択したテーブルについて、クレンジング画面を通じて、対象カラム、関数、当該関数で使用するパラメータをそれぞれ指定してクレンジング処理を実行し、その実行結果をクレンジング画面にプレビューさせるようにしている。ここで、クレンジング画面を通じて指定された内容に基づいてＳＱＬ文を生成し、当該ＳＱＬ文に従って、選択されたテーブルに対してクレンジング処理を実行し、このクレンジング処理を定義したＳＱＬを仮想テーブルとして記憶部２０に保存するようにしている。
【００６１】
このように構成した本実施形態によれば、当該システムを利用するユーザは、クレンジング画面を通じて、テーブル、対象カラム、関数およびパラメータを任意に指定し、その指定内容に基づくクレンジング処理の実行結果をプレビューにより確認しながら、適切なクレンジングの定義を作成することができる。また、クレンジング処理によって生成された仮想テーブルはＳＱＬによって保存されるので、テーブルの統合をＳＱＬによって簡単に行うことができる。これにより、本実施形態によれば、バッチ処理によらず対話的にクレンジング定義を作成することができ、ユーザの要求に応じてリアルタイムにクレンジングを行ってデータベースの統合を行うことができる。
【００６２】
また、本実施形態では、クレンジング画面において、複数回分のクレンジング処理を行うことを可能とし、それぞれのクレンジング定義をＳＱＬとして記憶部２０に記憶させるようにしている。ここで、処理対象のデータ項目として新たなカラムが指定された場合は、その新たな指定内容に基づいて新たなＳＱＬ文を生成してクレンジング処理を実行し、当該新たなＳＱＬを記憶部２０に追加保存する。また、処理対象のデータ項目として、前回までのクレンジング処理の実行結果が指定された場合は、当該前回までのクレンジング処理のＳＱＬ文と、今回の指定内容に係るＳＱＬ文とを複合させたＳＱＬ文を生成してクレンジング処理を実行し、複合ＳＱＬを記憶部２０に追加保存するようにしている。
【００６３】
これにより、クレンジングの仕方を様々な角度から指定してクレンジング処理を実行することができ、このようなシミュレーションを通じて、２つのテーブルを統合する際の最適なクレンジング定義を簡単に作成することができる。
【００６４】
また、本実施形態では、複数回のクレンジング処理で生成されたそれぞれのクレンジング定義をＳＱＬとして記憶部２０に記憶させるようにしている。これにより、データの粒度がうまく合わないようなときに、クレンジング画面において、前回までのクレンジング処理の何れかに戻る操作を行い、戻ったクレンジング処理に対応するＳＱＬを記憶部２０から読み出して実行させることにより、所望のクレンジング処理に戻ってクレンジング定義の再編集を簡単に行うことができる。
【００６５】
また、本実施形態では、ＳＱＬによるクレンジング定義を内蔵したクレンジングテーブル３１３をテーブルオブジェクト３１３’として論理マッピング作成画面に配置可能に構成している。この特徴的な構成により、例えばクレンジング画面におけるクレンジング定義のシミュレーション結果が良好であったとして、論理マッピング作成画面に移って実際にテーブル結合を行ってみたところ、一部修正の必要があるというようなときに、論理マッピング作成画面からクレンジング画面に戻って、クレンジングテーブル３１３のクレンジング定義を再編集することができる。
【００６６】
なお、上記実施形態では、クレンジング画面において、１つ前のクレンジング処理に戻るボタン（図６の「処理１実行前」ボタン６２、図７の「処理４実行前」ボタン７２）の操作によって、１つ前のクレンジング処理に戻ることを可能とする例について説明したが、この戻り操作のユーザインタフェースはこれに限定されない。例えば、所望のクレンジング処理指定欄４１ｂ-nをダブルクリックする操作によって、所望のクレンジング処理指定欄４１ｂ-nにダイレクトに戻れるように構成してもよい。
【００６７】
また、上記実施形態では、２つのテーブル３１２，３１３を結合させて１つの論理マッピングテーブル３１４を生成する例について説明したが、３つ以上のテーブルを結合させることも可能である。
【００６８】
また、上記実施形態では、２つのデータベース２０１，２０２が記憶している複数の物理テーブルの中から所望の物理テーブルを選択してクレンジング画面を開く例について説明したが、物理テーブルから生成されている論理テーブルを選択してクレンジング画面を開くようにしてもよい。
【００６９】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７０】
１１  指定操作受付部
１２  クレンジング実行部
１３  仮想テーブル保存部
１４  第１の戻り操作受付部
１５  統合操作受付部
１６  統合実行部
１７  第２の戻り操作受付部
１８  画面遷移部
２０  記憶部
１００  データベース連携システム
２０１  第１のデータベース
２０２  第２のデータベース
３００  仮想データベース
３１１  第１の物理マッピングテーブル
３１２  第２の物理マッピングテーブル
３１３  クレンジングテーブル
３１４  論理マッピングテーブル（結合テーブル）
【図１】
0006582819.tif 000002
【図２】
0006582819.tif 000003
【図３】
0006582819.tif 000004
【図４】
0006582819.tif 000005
【図５】
0006582819.tif 000006
【図６】
0006582819.tif 000007
【図７】
0006582819.tif 000008
【図８】
0006582819.tif 000009
【図９】
0006582819.tif 000010
【図１０】
0006582819.tif 000011