(57)【要約】【課題】複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とする場合に用いられる統合用メタデータを効率良く作成すること。【解決手段】統合用メタデータ作成者がＤＢ情報パネル画面１１および編集パネル画面１２を用いて行うドラッグ＆ドロップ操作に対応して編集処理部１４０が統合用メタデータの情報を編集し、カラム同士の関連付けが可能になると関連付け部１５０が関連付け組み合わせ候補を表示し、統合用メタデータ作成者が関連付け組み合わせを指定すると関連付けチェック部１６０が関連付けの妥当性を統計的に判定して表示し、統合用メタデータがデータベースと整合性がとれていないときは整合性チェック部１７０が修正の必要なカラム要素に対して修正が必要であることを表示するようメタデータエディタ１００を構成する。【選択図】        図２
2006018607.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータエディタプログラムであって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、
前記編集手順により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手順と、
をコンピュータに実行させることを特徴とするメタデータエディタプログラム。
【請求項２】
前記データベースは、リレーショナルデータベースであり、前記要素は、リレーショナルデータベースのカラムであることを特徴とする請求項１に記載のメタデータエディタプログラム。
【請求項３】
前記編集手順は、統合用メタデータ作成者がアクセス権限を有する範囲のスキーマを表示することを特徴とする請求項１または２に記載のメタデータエディタプログラム。
【請求項４】
前記編集手順は、編集中の統合用メタデータに含まれるテーブルとは異なるテーブルのカラムが新たに統合用メタデータに追加された場合に、異なるテーブルに属するカラム間の関連付けが可能な組み合わせ候補を表示することを特徴とする請求項２に記載のメタデータエディタプログラム。
【請求項５】
前記編集手順は、異なる要素間の関連付けが指定された場合に、該指定された関連付けが正しいか否かを判定して表示することを特徴とする請求項１または２に記載のメタデータエディタプログラム。
【請求項６】
前記編集手順は、統合用メタデータの作成に用いられたスキーマに変更があった場合に、統合用メタデータのうち変更されたスキーマに対応する箇所の修正が必要であるという情報を提供することを特徴とする請求項１または２に記載のメタデータエディタプログラム。
【請求項７】
複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とする場合に用いられる統合用メタデータを編集するメタデータエディタプログラムであって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、
前記編集手順により編集された統合用メタデータを記憶装置に格納する格納手順と、
をコンピュータに実行させることを特徴とするメタデータエディタプログラム。
【請求項８】
複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータエディタプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、
前記編集手順により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手順と、
をコンピュータに実行させるメタデータエディタプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータ編集方法であって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集工程と、
前記編集工程により編集された統合用メタデータを前記データベース統合参照装置に送信する送信工程と、
を含んだことを特徴とするメタデータ編集方法。
【請求項１０】
複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータ編集装置であって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手段と、
前記編集手段により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手段と、
を備えたことを特徴とするメタデータ編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータエディタプログラムおよびその記録媒体、メタデータ編集方法ならびにメタデータ編集装置に関し、特に、統合用メタデータの効率的な作成を可能とするメタデータエディタプログラムおよびその記録媒体、メタデータ編集方法ならびにメタデータ編集装置に関するものである。
【背景技術】
【０００２】
複数のデータベース上に関連するデータが散在していて、それらをまとめて参照したい場合、それらのデータベースに対してそれぞれ問い合わせを行い、その結果を合成することによって、あたかも一つのデータベースを参照しているかのように見せる、分散クエリーによるデータベース統合が近年行われるようになってきた。
【０００３】
この分散クエリーによるデータベース統合には、データ参照者からデータの要求があった時点で、各データベースに問い合わせを行って結果を得るため、リアルタイムにデータを参照することができるという利点がある。
【０００４】
このような分散クエリーによるデータベース統合の場合、あたかも一つのデータベースを参照しているかのように見せるために、データ参照者にはタグ付き文書というビューを提供する方法がある。このタグ付き文書のビューを提供するためには、ビューを定義するメタデータを予め用意しておく必要がある。
【０００５】
例えば、特願２００４−０１２３０６に記載されたデータベース統合参照装置では、データ参照者にＸＭＬビューを提供し、データ参照者がそのＸＭＬビューに対して、ＸＭＬに対する問い合わせ言語であるXQueryを用いて問い合わせを行うと、問い合わせ結果がＸＭＬ形式で返ってくる。このデータベース統合参照装置では、ＸＭＬビューを定義するために、メタデータの中に統合のルールをＸＭＬ形式で記述している。
【０００６】
また、非特許文献１では、統合対象の各データベースのスキーマをそのまま反映したデフォルトのＸＭＬビューを提供し、さらにユーザ独自のＸＭＬビューを定義するために、XQueryを用いてメタデータを記述している。
【０００７】
このように、タグ付き文書のビューを定義するメタデータの中に統合のルールを記述しておくことで、データの分散を隠蔽することができる。
【０００８】
【非特許文献１】IBM Almaden Research Center “Querying XML Views of Relational Data”、［online］、［平成１６年６月１０日検索］、インターネット＜http://www.almaden.ibm.com/software/dm/Xperanto/Xperanto.2001.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、タグ付き文書のビューを定義するメタデータ（以降、「統合用メタデータ」と呼ぶ)の編集は、従来手作業で行われていたため、非常に手間がかかるという問題があった。すなわち、統合用メタデータの中には統合対象のデータベースの情報を記述する必要があるため、統合メタデータを作成する統合メタデータ作成者は、各データベースのスキーマに精通している必要がある。
【００１０】
また、統合メタデータ作成者は、各データベースのメタ情報を個別に集めていたが、複数のデータベースを扱うため、メタ情報が散在していたり、形式が統一されていない場合もあり、全データベースの情報を把握するのに非常に手間がかかっていた。また、手作業による編集では記述を間違える可能性があるが、統合用メタデータの記述が間違っていると、そもそも問い合わせができないという問題があった。
【００１１】
また、複数のデータベースを扱うため、統合用メタデータでは、各データベースのどの要素とどの要素で対応を取るのかという定義をする必要がある。ある要素同士で対応を取れるのかどうかは、それぞれが属している各データベースのスキーマを把握し、両要素のカラム名・データ型などの情報を集め、様々な情報を総合して判断する必要がある。
【００１２】
しかし、上記の情報だけでは判断を間違える場合もあり、間違えると問い合わせ条件に該当するデータが存在しないことになり、意味のない統合用メタデータになってしまう。従って、どの要素同士で対応を取るのかを定義する際は、慎重に定義する必要があった。
【００１３】
さらに、統合対象のデータベースが多くなると、各データベースのスキーマと統合用メタデータの間の整合性や、統合用メタデータ自身の中での整合性を取るのが難しくなる。また、データベースに変更が生じると、統合用メタデータもそれに合わせて修正する必要があり、修正漏れがあると、それらの整合性を保てないという問題もあった。
【００１４】
また、複数のデータベースを統合して複数の部署で参照する場合などは、部署毎に異なるタグ付き文書のビューを用意することがある。このようなときに、他の部署には見せたくないデータが存在する場合もあるため、ビュー毎に利用できるデータ参照者を制限したいという要望がある。しかし、従来は、用意された全てのビューが、全てのデータ参照者に見えてしまうという問題もあった。
【００１５】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、統合用メタデータの効率的な作成を可能とするメタデータエディタプログラムおよびその記録媒体、メタデータ編集方法ならびにメタデータ編集装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、本発明は、複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータエディタプログラムであって、前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、前記編集手順により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手順と、をコンピュータに実行させることを特徴とする。
【００１７】
また、本発明は、複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータエディタプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、前記編集手順により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手順と、をコンピュータに実行させるメタデータエディタプログラムを記録したことを特徴とする。
【００１８】
また、本発明は、複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータ編集方法であって、前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集工程と、前記編集工程により編集された統合用メタデータを前記データベース統合参照装置に送信する送信工程と、を含んだことを特徴とする。
【００１９】
また、本発明は、複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータ編集装置であって、前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手段と、前記編集手段により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手段と、を備えたことを特徴とする。
【００２０】
かかる発明によれば、複数のデータベースのスキーマを表示し、表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて統合用メタデータを編集し、編集した統合用メタデータをデータベース統合参照装置に送信するよう構成したので、統合用メタデータ作成者はスキーマや統合用メタデータの記述ルールに精通する必要がなくなる。
【００２１】
また、本発明は、複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とする場合に用いられる統合用メタデータを編集するメタデータエディタプログラムであって、前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、前記編集手順により編集された統合用メタデータを記憶装置に格納する格納手順と、をコンピュータに実行させることを特徴とする。
【００２２】
この発明によれば、複数のデータベースのスキーマを表示し、表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて統合用メタデータを編集し、編集した統合用メタデータを記憶装置に格納するよう構成したので、統合用メタデータ作成者はスキーマや統合用メタデータの記述ルールに精通する必要がなくなる。
【００２３】
また、本発明は、上記発明において、前記編集手順は、統合用メタデータ作成者がアクセス権限を有する範囲のスキーマを表示することを特徴とする。
【００２４】
この発明によれば、統合用メタデータ作成者がアクセス権限を有する範囲のスキーマを表示するので、統合用メタデータをアクセス権限を有する範囲で作成することができる。
【００２５】
また、本発明は、上記発明において、データベースはリレーショナルデータベースであり、前記編集手順は、編集中の統合用メタデータに含まれるテーブルとは異なるテーブルのカラムが新たに統合用メタデータに追加された場合に、異なるテーブルに属するカラム間の関連付けが可能な組み合わせ候補を表示することを特徴とする。
【００２６】
この発明によれば、編集中の統合用メタデータに含まれるテーブルとは異なるテーブルのカラムが新たに統合用メタデータに追加された場合に、異なるテーブルに属するカラム間の関連付けが可能な組み合わせ候補を表示するので、統合用メタデータ作成者は、関連付けを容易に行うことができる。
【００２７】
また、本発明は、上記発明において、前記編集手順は、異なる要素間の関連付けが指定された場合に、該指定された関連付けが正しいか否かを判定して表示することを特徴とする。
【００２８】
この発明によれば、異なる要素間の関連付けが指定された場合に、指定された関連付けが正しいか否かを判定して表示するので、統合用メタデータ作成者は、関連付けを容易に行うことができる。
【００２９】
また、本発明は、上記発明において、前記編集手順は、統合用メタデータの作成に用いられたスキーマに変更があった場合に、統合用メタデータのうち変更されたスキーマに対応する箇所の修正が必要であるという情報を提供することを特徴とする。
【００３０】
この発明によれば、統合用メタデータの作成に用いられたスキーマに変更があった場合に、統合用メタデータのうち変更されたスキーマに対応する箇所の修正が必要であるという情報を提供するので、統合用メタデータ作成者は、統合用メタデータの修正を容易に行うことができる。
【発明の効果】
【００３１】
本発明によれば、統合用メタデータ作成者は、スキーマや統合用メタデータの記述ルールに精通する必要がなくなるので、統合用メタデータを効率良く作成することができるという効果を奏する。
【００３２】
すなわち、従来は、統合用メタデータを用意するためには、各データベースの所在・メタ情報を個別に調べる必要があったが、本発明によれば、必要な情報が表示されているため、表示された各データベースのスキーマの中の要素を選択するだけでよい。また、正確な統合用メタデータを作成しないとそもそも問い合わせができないが、本発明によれば、記述ルールに従ったタグ付き文書の木構造を組み立てることが可能であるため、記述ルールに精通していない統合用メタデータ作成者でも、正確な統合用メタデータを作成することができる。
【００３３】
また、複数のデータベースを統合し、複数の部署で利用する場合などは、ビュー毎に利用できるデータ参照者を制限したい場合がある。従来は、用意された全てのビューが、全てのデータ参照者から利用できるようになっていたが、本発明によれば、アクセス可能なデータのみを使って統合用メタデータを作成できるため、その統合用メタデータで定義されるビューを利用できるデータ参照者も、制限することができるという効果を奏する。
【００３４】
また、複数のデータベースに分散したデータを扱う場合には、各データベースの各要素間の関連付けを定義する必要があるが、従来は、そのために各データベースのメタ情報を個別に調べる必要があった。本発明によれば、関連付け可能な要素の組み合わせの候補を知ることができ、既存の関連付け情報を利用することもできるため、それらの作業を大幅に削減することができるという効果を奏する。さらに、本発明によれば、関連付けの可能性をチェックできるため、統合用メタデータ作成者は、定義した関連付けが正しいのかどうかを知ることができるという効果を奏する。
【００３５】
また、データベースに変更が生じた場合、従来は統合用メタデータの中のどこがその変更によって影響を受けるかを探し出して修正する必要があったが、本発明によれば、変更を簡単に知ることができ、修正箇所を探し出す手間も省くことができるという効果を奏する。
【発明を実施するための最良の形態】
【００３６】
以下に添付図面を参照して、この発明に係るメタデータエディタプログラムおよびその記録媒体、メタデータ編集方法ならびにメタデータ編集装置の好適な実施例を詳細に説明する。なお、本実施例では、本発明をリレーショナルデータベース（ＲＤＢ）に適用した場合について説明する。また、タグ付き文書としてはＸＭＬを採用した。
【実施例】
【００３７】
まず、本実施例に係るメタデータエディタが提供する画面について説明する。図１は、本実施例に係るメタデータエディタが提供する画面の一例を示す図である。同図に示すように、このメタデータエディタは、利用可能なデータベースの所在・メタ情報を取得してそのスキーマを表示するＤＢ情報パネル画面１１と、タグ付き文書というビューを定義するための木構造を表示する編集パネル画面１２を提供する。
【００３８】
統合用メタデータ作成者は、ＤＢ情報パネル画面１１に表示された各データベースのスキーマから必要な要素を選択し、その要素を編集パネル画面１２のＸＭＬビューの木構造の中にドラッグ＆ドロップするだけでよい。なお、ここで要素とは、リレーショナルデータベースのカラムである。
【００３９】
必要な要素が木構造の中にドラッグ＆ドロップされると、本実施例に係るメタデータエディタが、統合用メタデータの記述ルールに従ってその要素を木構造の中に配置する。また、要素が木構造の中に配置されると、その要素が属しているデータベースの情報が、木構造の要素の情報として保存される。
【００４０】
このように、本実施例に係るメタデータエディタは、統合用メタデータ作成者がＤＢ情報パネル画面１１に表示されたスキーマから必要な要素を選択し、その要素を編集パネル画面１２のタグ付き文書の木構造の中にドラッグ＆ドロップするだけで、統合用メタデータを自動的に作成する。従って、統合用メタデータ作成者は、各データベースのメタ情報を収集する必要がなく、効率的に統合用メタデータを作成することができる。
【００４１】
次に、本実施例に係るメタデータ編集システムのシステム構成について説明する。図２は、本実施例に係るメタデータ編集システムのシステム構成を示す機能ブロック図である。同図に示すように、このメタデータ編集システムは、メタデータエディタ１００が動作するクライアント１０と、統合用メタデータをメタデータ格納用リポジトリ２１に格納し、格納した統合用メタデータを用いて分散クエリーによるデータベース統合を行う統合参照サーバ２０とがネットワークで接続されて構成される。なお、ここでは説明の便宜上、１台のクライアントのみを示したが、このメタデータ編集システムは多数のクライアントから構成される。
【００４２】
統合参照サーバ２０は、メタデータエディタ１００からの要求に応答してメタデータ格納用リポジトリ２１からの統合用メタデータの読み出し、メタデータ格納用リポジトリ２１への統合用メタデータの保存を行う。また、この統合参照サーバ２０は、統合対象のデータベース「ＲＤＢ１」〜「ＲＤＢ３」からスキーマの情報を集め、メタデータエディタ１００が要求する情報をクライアント１０へ送信する。
【００４３】
なお、ここでは、統合対象のデータベースとして三つのデータベース「ＲＤＢ１」〜「ＲＤＢ３」を示したが、このメタデータ編集システムは、任意の数のデータベースを統合する統合用メタデータを編集することができる。
【００４４】
メタデータエディタ１００は、情報問合部１１０と、ＤＢ情報パネル１２０と、編集パネル１３０と、編集処理部１４０と、関連付け部１５０と、関連付けチェック部１６０と、整合性チェック部１７０とを有する。
【００４５】
情報問合部１１０は、ＤＢ情報パネル画面１１に表示されるスキーマについての情報や、編集パネル画面１２で編集される統合用メタデータについての情報を統合参照サーバ２０から取得する処理部である。また、この情報問合部１１０は、編集した統合用メタデータに関する情報を統合参照サーバ２０に送信する。
【００４６】
ＤＢ情報パネル１２０は、情報問合部１１０が統合参照サーバ２０から取得したスキーマについての情報を記憶するとともに、ＤＢ情報パネル画面１１にスキーマを表示するパネルである。すなわち、ＤＢ情報パネル１２０は、ＤＢ情報パネル画面１１に利用可能なデータベース名、テーブル名およびカラム名を表示する。
【００４７】
また、このＤＢ情報パネル１２０は、利用可能なデータの情報のみを表示する。すなわち、このＤＢ情報パネル１２０は、統合参照サーバ２０にスキーマについての情報を要求するとき、統合用メタデータ作成者のアカウント情報も一緒に送る。すると、統合参照サーバ２０は、そのアカウントでアクセス可能なデータベースの情報を、データベースリスト情報として返す。
【００４８】
そして、ＤＢ情報パネル１２０は、返ってきた情報の全てのデータベース・テーブル・カラムに対して利用可否フラグを調べ、利用可能なデータのみを画面上に表示する。このとき、統合対象のＲＤＢの構造をそのまま表示する。
【００４９】
図３は、ＤＢ情報パネル画面１１に表示されるスキーマとデータベースリスト情報の関係を説明するための説明図である。同図に示すように、統合参照サーバ２０から取得したデータベースリスト情報には利用不可能なデータベース、テーブルおよびカラムの情報が含まれる。ここで、利用不可能なデータベース、テーブル、カラムとは、過去に存在したデータベース、テーブル、カラムが削除されたり名前が変更された結果、利用不可能になったデータベース、テーブル、カラムである。
【００５０】
ＤＢ情報パネル１２０は、統合参照サーバ２０から取得したデータベースリスト情報に含まれる、これら利用不可能なデータを除いて、データベースのスキーマをＤＢ情報パネル画面１１に表示する。
【００５１】
編集パネル１３０は、統合用メタデータに関する情報を記憶するとともに、編集パネル画面１２にＸＭＬビューの木構造を表示するパネルである。この編集パネル１３０は、統合用メタデータとして、仮想ＸＭＬスキーマ情報と、スキーマ・データベース対応関係情報と、要素間関連付け情報とを記憶する。
【００５２】
仮想ＸＭＬスキーマ情報は、ＸＭＬビューの木構造を定義する情報である。この仮想ＸＭＬスキーマ情報は、複数のデータベースに存在するデータを、データ参照者にどのような構造で見せるかということを定義している。編集パネル１３０は、この情報を基に木構造を編集パネル画面１２に表示する。
【００５３】
スキーマ・データベース対応関係情報は、ＸＭＬビューの木構造の各要素が、どのデータベースのどの要素と対応しているのかを定義している。編集パネル１３０は、統合用メタデータが編集される間この情報を保持しており、木構造が作成・変更される度にこの情報を更新する。
【００５４】
要素間関連付け情報は、複数のデータベースの要素同士を関連付けて一つのタグ付き文書とする場合、それぞれのテーブルのどの要素とどの要素で対応を取るのかを定義している。編集パネル１３０は、統合用メタデータが編集される間この情報を保持しており、木構造が作成・変更される度にこの情報を更新する。
【００５５】
編集パネル１３０が統合参照サーバ２０に統合用メタデータを要求すると、統合参照サーバ２０は、該当する統合用メタデータの情報をメタデータ格納用リポジトリ２１から抽出して返す。
【００５６】
そして、編集パネル１３０は、統合用メタデータの情報を受け取ると、その中からＸＭＬビューの木構造を定義している仮想ＸＭＬスキーマ情報の部分を抽出し、木構造を画面上に表示する。このとき、木構造を構成する構成要素の配置位置は、木構造の階層構造をそのまま反映している。
【００５７】
なお、この編集パネル１３０が表示する木構造は、必ずしもデータ参照者に見せるＸＭＬビューの構造と完全に一致していない。この木構造の中には、木構造を組み立てるために必要であるが、データ参照者に見せるＸＭＬビューとしては見せる必要がない要素も含まれているためである。
【００５８】
図４は、木構造とＸＭＬビューの関係の一例を示す図である。同図において、「order_num」は「order_id」に関連付けられたカラムであり、「code」は「item_code」に関連付けられたカラムである。
【００５９】
従って、「order_num」や「code」などは、「order_id」や「item_code」が表示されていれば、データ参照者には見せる必要のない要素であり、これらの各要素に対してデータ参照者には見せる必要のない要素であることを設定することによって、木構造から削除して表示することも可能となっている。なお、要素間の関連付けの詳細については、後述する。
【００６０】
編集パネル１３０は、同じ統合用メタデータで定義されている木構造を、編集したままの形で表示することも、データ参照者には見せない要素を削って見せることも可能である。後者の構造は、データ参照者に見せるＸＭＬビューの構造と一致する。
【００６１】
編集処理部１４０は、統合用メタデータの編集処理を行う処理部である。すなわち、この編集処理部１４０は、統合用メタデータ作成者によるドラッグ＆ドロップ動作を受け付け、編集パネル１３０が記憶する、仮想ＸＭＬスキーマ情報、スキーマ・データベース対応関係情報および要素間関連付け情報を編集する。
【００６２】
関連付け部１５０は、既に配置されている要素と異なるテーブルの要素がドラッグ＆ドロップされた場合に、異なるテーブルの要素間での関連付けが可能な要素組み合わせを表示し、統合用メタデータ作成者が表示された要素組み合わせに基づいて指定した要素組み合わせを関連付ける処理部である。なお、この関連付け部１５０の詳細については後述する。
【００６３】
関連付けチェック部１６０は、統合用メタデータ作成者が指定した要素組み合わせの妥当性を統計的に判定する処理部である。なお、この関連付けチェック部１６０の詳細についても後述する。
【００６４】
整合性チェック部１７０は、データベースのスキーマの変更に起因して、過去に編集された統合用メタデータが利用不可能なデータベース、テーブルまたはカラムを使用しているか否かをチェックする処理部である。なお、この整合性チェック部１７０の詳細についても後述する。
【００６５】
次に、本実施例に係るメタデータ編集システムにおけるアクセス制御について説明する。分散クエリーによるデータベース統合では、ある統合用メタデータで定義されるＸＭＬビューについて、それを利用できるデータ参照者を制限したいという要望がある。
【００６６】
これを実現することは簡単で、統合用メタデータにアクセス権を設定して、問い合わせを処理する際にデータ参照者のアクセス権を確認すれば済む。しかし、これだけでは次のような問題が残る。
【００６７】
統合用メタデータの作成やアクセス権の設定に失敗すると、想定外のデータが参照されてしまう。また、そうならないように気を付けなければならないので、統合用メタデータの作成に余計な労力が必要となる。
【００６８】
また、統合用メタデータ作成者には、システムの扱える全てのデータベーススキーマが見え、それらへのアクセス権が設定できてしまう。これは個々のデータベースの立場から見ると、多くのデータにアクセスできる権限の大きなユーザが外部に存在することになり、セキュリティ管理が甘くなることを意味する。例えば、悪意のある統合用メタデータ作成者が一人でもいると、想定外のデータを参照されてしまうことになる。
【００６９】
そこで、本実施例に係るメタデータ編集システムでは、統合用メタデータを作成する際に、ＤＢ情報パネル画面１１に表示するデータベース情報（データベース名・テーブル名・カラム名）を、その統合用メタデータ作成者のアクセス権に応じたものに制限することによって、これらの問題を解決している。その手順は以下のようになっている。
【００７０】
まず予め、アカウント設定ファイルを準備する。このアカウント設定ファイルには、メタデータエディタ１００から送信されるアカウント名と、データベース名と、そのアカウントがそのデータベースを参照する際に使用するＤＢアカウント名とが記述されている。このアカウント設定ファイルを編集する権限は統合参照サーバ２０全体の管理者のみが保有し、統合用メタデータの作成者では編集できない。
【００７１】
統合参照サーバ２０の中のＤＢ監視デーモンは、常に一定間隔で全てのデータベースへアクセスし、その時点でのデータスキーマ情報（全テーブル名とそのカラム名）を獲得し、それをデータベースリスト情報として管理している。
【００７２】
この時に、通常はグリッド用の一般アカウント「grid_anonymous」でデータスキーマ情報を獲得するが、前述のアカウント設定ファイルに記述がある場合は、それら記述されているデータベースに関しては記述されているアカウントでもデータスキーマ情報を獲得する。こうして獲得されたデータスキーマ情報は、そのアカウントでのみ参照が許されているデータスキーマとして、「grid_anonymous」の分とは区別して管理される。
【００７３】
図５は、ＧＲＩＤ一般アカウントでのデータスキーマ収集を示す図である。同図に示すように、統合参照サーバ２０の中のＤＢ監視デーモンが、「grid_anonymous」アカウントで定期的に、例えば「ＲＤＢ１」や「ＲＤＢ２」へアクセスし、その時点でのデータスキーマ情報を獲得し、それを「grid_anonymous」がアクセス可能なデータスキーマ一覧として管理している。ここで、データベースへのアクセスには、従来型の問い合わせ型データベース統合である「Globus Toolkit 3.2 + OGSA-DAI4.0」をそのまま利用している。
【００７４】
図６は、個別指定アカウントでのデータスキーマ収集を示す図である。同図に示すように、統合参照サーバ２０が保持するアカウント設定ファイルに、ＤＢアカウント名として「grid_user1」、「grid_user2」の二つがあるため、図５で示したＧＲＩＤ一般アカウントでのデータスキーマ収集と同時に、それぞれのアカウントでアクセス可能な「ＲＤＢ１」、「ＲＤＢ２」にアクセスし、データスキーマ情報を獲得し、それらをそれぞれ「grid_user1」、「grid_user2」がアクセス可能なデータスキーマ一覧として管理している。
【００７５】
そして、統合用メタデータの作成者がメタデータエディタ１００にログインすると、その時点でメタデータエディタ１００はＤＢ監視デーモンが管理しているデータベースリスト情報を統合参照サーバ２０に要求するが、同時にそのときにログインしたアカウントの情報を送り、統合参照サーバ２０はアカウント設定ファイルを参照してそのアカウントに相当するデータベースリスト情報のみを返す。なお、アカウント設定ファイルに記述が無い場合は、グリッド一般アカウント「grid_anonymous」が指定されたものとみなす。
【００７６】
図７は、user1アカウントで利用可能なデータベースリスト情報を示す図である。同図に示すように、user1アカウントでメタデータエディタ１００にログインすると、アカウント設定ファイルに記述されている「ＲＤＢ１」に関しては、それに対応するＤＢアカウント「grid_user1」でアクセス可能なデータスキーマ一覧を、それ以外のデータベース（ここでは「ＲＤＢ２」）に関しては、「grid_anonymous」でアクセス可能なデータスキーマ一覧をメタデータエディタ１００に返す。
【００７７】
図８は、user3アカウントで利用可能なデータベースリスト情報を示す図である。同図に示すように、user3アカウントでメタデータエディタ１００にログインすると、「ＲＤＢ１」に関しては、アカウント設定ファイルに記述されている「grid_user1」でアクセス可能なデータスキーマ一覧を、「ＲＤＢ２」に関しては、同じくアカウント設定ファイルに記述されている「grid_user2」でアクセス可能なデータスキーマ一覧をメタデータエディタ１００に返す。
【００７８】
メタデータエディタ１００は、統合参照サーバ２０によって送り返されたデータベースリスト情報をＤＢ情報パネル画面１１に表示し、統合用メタデータ作成者にその情報で統合用メタデータを作成させる。
【００７９】
このように、統合参照サーバ２０がアカウント設定ファイルを参照して統合用メタデータ作成者のアカウントに相当するデータベースリスト情報のみを返すことによって、メタデータエディタ１００が表示するデータベース情報を、その統合用メタデータ作成者のアクセス権に応じたものに制限することができる。
【００８０】
次に、編集処理部１４０による統合用メタデータの作成手順について説明する。図９は、木構造の作成の概要を説明するための説明図である。同図に示すように、統合用メタデータ作成者は、ＤＢ情報パネル画面１１から木構造に含めたいカラム要素をドラッグし、編集パネル画面１２上の木構造の任意の要素の上にドロップすることにより、木構造を組み立てていく。
【００８１】
ここで、ＤＢ情報パネル画面１１では、カラム要素のみがドラッグ可能となっており、このカラム要素を編集パネル画面１２上の木構造の上にドロップする。なお、ＤＢ情報パネル画面１１上の要素の名前と、編集パネル画面１２上の要素の名前が必ずしも一致していないのは、編集パネル画面１２上の要素の名前は変更することができるためである。
【００８２】
編集処理部１４０は、統合用メタデータ作成者がこの木構造を組み立てることに対応して、以下の手順で統合用メタデータを作成する。
【００８３】
統合用メタデータ作成者が木構造を初めて作成するときは、編集処理部１４０は、編集パネル画面１２上に、カラム要素をドラッグ＆ドロップするための要素を一つだけ配置する（図１０）。
【００８４】
そして、統合用メタデータ作成者が、ＤＢ情報パネル画面１１から、必要な要素を上記の要素にドラッグ＆ドロップすると（図１１（１））、編集処理部１４０は、最初の要素の横にドロップしたカラム要素を配置する（図１１（２））。
【００８５】
これは、あるＸＭＬエレメントの一段下位の階層に新たなＸＭＬエレメントが追加されたことに相当する。カラム要素が追加されると、編集処理部１４０は、統合用メタデータの仮想ＸＭＬスキーマ情報を更新し、追加されたカラムがＤＢ情報パネル画面１１に表示されているスキーマの中のどの要素に対応しているのかという情報を、統合用メタデータのスキーマ・データベース対応関係情報に追加する。
【００８６】
さらに、統合用メタデータ作成者が新たなカラム要素を同様にドラッグ＆ドロップすると（図１２（３））、編集処理部１４０は、既に配置されているカラム要素のテーブルと、追加したカラム要素のテーブルを調べる。その結果、両者が同じテーブルなら、追加したカラム要素を、既に配置されているカラム要素と同じ階層に配置する（図１２（４））。
【００８７】
一方、両者が違うテーブルなら、追加したカラム要素を、既に配置されているカラム要素の一段下位の階層に配置する（図１３（５）、（６））。これは、図１１の（２）と同様、既に配置されているカラム要素に相当するＸＭＬエレメントの一段下位の階層に、さらに新たなＸＭＬエレメントが追加されたことに相当する。
【００８８】
また、統合用メタデータ作成者が、既に配置されているカラム要素のテーブルと違うテーブルのカラム要素を追加した場合（図１３（５））、両テーブルのどの要素とどの要素を関連付けるのか定義する必要があるため、編集処理部１４０は、関連付け部１５０を用いて、関連付け可能な要素の組み合わせ候補をリストアップする。
【００８９】
そして、統合用メタデータ作成者が、リストアップされた候補の中からある組み合わせを選ぶと、編集処理部１４０は、必要なカラム要素を自動的に追加・配置し、両者を関連付けの接続線で接続する（図１３（７））。同時に、要素間関連付け情報を追加する。
【００９０】
そして、統合用メタデータ作成者が編集した統合用メタデータを保存すると、編集パネル画面１２上の木構造を反映した仮想ＸＭＬスキーマ情報、編集中更新されたスキーマ・データベース対応関係情報、要素間関連付け情報をまとめ、情報問合部１１０を介して統合参照サーバ２０に送る。
【００９１】
統合参照サーバ２０がその情報を受け取ると、その情報からＸＭＬファイルを生成し、統合用メタデータとしてメタデータ格納用リポジトリ２１に保存する。なお、本実施例では、統合用メタデータの情報をＸＭＬファイルに変換して保存しているが、ファイルではなくオブジェクトのまま保存しても同じことが実現できる。
【００９２】
このようにして組み立てられる木構造の階層構造はＸＭＬの階層構造に相当し、木構造の各要素はＸＭＬの各エレメントに相当する。通常は、木構造の要素一つが各データベースの要素一つに対応しているが、同種のデータが複数のデータベースに分かれて格納されていて、ある一つの値を持つデータに関してはそれらのいずれに格納されているか分からないような場合、それらのデータベースの各カラム要素を、木構造の一つのカラム要素に対応させることができる。
【００９３】
図１４は、複数のデータを含むカラム要素を示す図である。同図において、製品コード「034564」の製品と製品コード「063200」の製品の在庫情報はstock1データベースのitem_stockテーブルに格納されているが、製品コード「087245」の製品の在庫情報はstock2データベースのstockテーブルに格納されている場合、両テーブルの製品コードのカラム要素「item_code, code」を木構造のstock_code要素に、両テーブルの在庫量のカラム「item_quantity, quantity」を木構造のstock_quantity要素にまとめて定義できる。
【００９４】
このように定義しておくことで、データ参照者がどの製品コードの製品がどのデータベースにあるかを知らなくても、統合参照サーバ２０がstock1、stock2データベース両方にアクセスして、データを集めてくる。こうすることによって、別々のテーブルの別々のカラムに分かれて格納されているデータも、データ参照者には一つのカラムに格納されているように見える。
【００９５】
次に、統合参照サーバ２０が生成するＸＭＬ形式の統合用メタデータについて図１５〜１８を用いて説明する。図１５は、ＸＭＬによる木構造の定義例を示す図である。同図に示すように、ＸＭＬによる木構造の定義は、編集パネル画面１２上で表示される木構造の各要素をそのままＸＭＬエレメントに置き換えた形になっており、各ＸＭＬエレメントにはＩＤが振られている。
【００９６】
図１６および図１７は、ＸＭＬによるスキーマ・データベース対応関係情報の例を示す図（１）および（２）である。図１６および図１７に示すように、このスキーマ・データベース対応関係情報は、木構造の各要素が各データベースのどの要素に対応しているかを示している。
【００９７】
また、このスキーマ・データベース対応関係情報は、データベース・テーブルごとにまとめられ、各データベース・テーブル・カラムはそれぞれＩＤで識別される。対応関係は、カラムのＩＤと図１５で振られているＸＭＬエレメントのＩＤで定義されている。カラムの実際の名前やデータ型は、そのＩＤを基に、統合参照サーバ２０から取得したデータベースリスト情報から知ることができる。
【００９８】
図１８は、ＸＭＬによる要素間の関連付け情報の例を示す図である。同図に示すように、要素間の関連付け情報は、どの要素とどの要素を関連付けているかを示し、対応関係は、ＸＭＬエレメントのＩＤ同士で定義されている。
【００９９】
次に、関連付け部１５０による要素間関連付けの詳細について説明する。複数のテーブルの要素同士の関連付けの際、関連付け部１５０は、以下の手順によって、統合用メタデータ作成者に関連付けの候補となる情報を提供し、関連付けを行う。
【０１００】
まず、関連付け部１５０は、既に配置されているカラム要素が属するテーブルと、追加しようとしたカラム要素が属するテーブルに対して、含まれるカラムを全て抽出する。例えば、図１９に示すように、orderデータベースのORDER_ITEMテーブルとorderデータベースのORDERテーブルを関連付けようとしている場合、関連付け部１５０は、両テーブルの全カラムの名前、データ型を抽出する。
【０１０１】
ここで、それぞれのカラム要素が属しているテーブル、およびそのテーブルに含まれるカラムの情報は、ＤＢ情報パネル画面１１の表示時に取得した、データベースリスト情報の中に含まれている。
【０１０２】
そして、抽出した全てのカラムのデータ型を調べる。ここで、カラムのデータ型は、ＤＢ情報パネル画面１１の表示時に取得した、データベースリストの情報に含まれている。そして、二つのカラム群から、関連付けが可能なカラムの組み合わせを抽出する。このとき、カラムのデータ型を基に、関連付けが可能な組み合わせを絞り込む。
【０１０３】
すなわち、ORDER_ITEMテーブルのカラム数「３」とORDERテーブルのカラム数「４」から、両者のカラム同士の組み合わせは１２通りあるが、ORDER_ITEMテーブルのQUANTITYカラムのデータ型だけがINTEGERで他のカラムのデータ型CHARと異なるため、QUANTITYカラムを組み合わせから除外する。従って、組み合わせ候補は、図２０に示すように、CHAR型のカラム同士の８通りである。
【０１０４】
そして、上記組み合わせに含まれるカラムに対して、それらのカラムに関係する既存の関連付け情報がないか、統合参照サーバ２０に問い合わせ、既存の関連付け情報が返ってきた場合はその情報を強調して関連付けが可能な組み合わせを表示し、既存の関連付け情報がなかった場合は関連付けが可能な組み合わせを表示する。
【０１０５】
例えば、図２１では、ORDER_ITEMテーブルのORDER_NOカラムとORDERテーブルのORDER_IDカラムの組み合わせに対して既存の関連付け情報があったため、ORDER_NOカラムとORDER_IDカラムの組み合わせを、確実に関連付け可能な組み合わせとしている。
【０１０６】
そして、統合用メタデータ作成者が、表示された候補の中からある組み合わせを選ぶと、その組み合わせの中の二つのカラム要素が、編集パネル画面１２上に既に配置されているか、もしくは統合用メタデータ作成者がドラッグ＆ドロップしたカラム要素なのかを調べる。
【０１０７】
その結果、両カラム要素の片方が編集パネル画面１２上に既に配置されており、もう片方は統合用メタデータ作成者がドラッグ＆ドロップしたカラム要素であった場合、両者を関連付けの接続線で接続する。一方、両カラム要素のいずれかが、編集パネル画面１２上に配置されておらず、統合用メタデータ作成者がドラッグ＆ドロップしたカラム要素でもない場合、ＤＢ情報パネル画面１１から編集パネル画面１２上にカラム要素を自動的に追加・配置し、両者を関連付けの接続線で接続する。
【０１０８】
次に、関連付け部１５０による関連付け処理の処理手順をフローチャートを用いて説明する。図２２は、関連付け部１５０による関連付け処理の処理手順を示すフローチャートである。なお、この関連付け処理は、既に配置されているカラム要素と異なるテーブルのカラム要素が編集パネル画面１２上にドラッグ＆ドロップされた場合に起動される。
【０１０９】
同図に示すように、この関連付け処理では、既に配置されているカラム要素が属するテーブルＡを求めてテーブルＡが含んでいる全カラムを抽出し（ステップＳ１０１）、ドラッグ＆ドロップされたカラム要素が属するテーブルＢを求めて、テーブルＢが含んでいる全カラムを抽出する（ステップＳ１０２）。
【０１１０】
そして、テーブルＡの全カラムとテーブルＢの全カラムのデータ型を比較し（ステップＳ１０３）、データ型が一致したカラム同士を、関連付け可能な組み合わせ候補とする（ステップＳ１０４）。
【０１１１】
そして、既存の関連付け情報問合せルーチンを呼び出し（ステップＳ１０５）、組み合わせ候補の中に既存の関連付け情報が存在するか否かを判定する（ステップＳ１０６）。その結果、組み合わせ候補の中に既存の関連付け情報が存在する場合には、その組み合わせ候補を強調して組み合わせ候補を表示し（ステップＳ１０７）、組み合わせ候補の中に既存の関連付け情報が存在しない場合には、全ての組み合わせ候補を同じ形態で表示する（ステップＳ１０８）。
【０１１２】
そして、組み合わせ候補の中から統合用メタデータ作成者により選択された組み合わせを受け付け（ステップＳ１０９）、選択された組み合わせ中のテーブルＡに属するカラムが、編集パネル画面１２上に配置されているか否かを判定し（ステップＳ１１０）、配置されていない場合には、該当するカラム要素を自動配置する（ステップＳ１１１）。
【０１１３】
そして、ドラッグ＆ドロップされたカラム要素を自動配置し（ステップＳ１１２）、選択された組み合わせ中のテーブルＢに属するカラムが、ドラッグ＆ドロップしたカラム要素であるか否かを判定し（ステップＳ１１３）、ドラッグ＆ドロップしたカラム要素でない場合には、該当するカラム要素を自動配置する（ステップＳ１１４）。
【０１１４】
そして、選択された組み合わせ中の両カラムに相当する要素同士を、関連付けの接続線で接続し（ステップＳ１１５）、関連付けの接続線で接続したカラム要素の情報を統合用メタデータの要素間関連付け情報として保存する（ステップＳ１１６）。
【０１１５】
このように、関連付け部１５０がデータ型に基づいて、関連付け可能なカラムの組み合わせ候補を抽出して表示するとともに、組み合わせ候補の中に既存の関連付けがある場合には、その候補を強調して表示することによって、統合用メタデータ作成者の関連付け作業を容易にすることができる。
【０１１６】
なお、統合参照サーバ２０は、以下のような手順で既存の関連付け情報を蓄積し、必要なときに情報を提供する。まず、作成された統合用メタデータを使って実際の問い合わせを行い、問い合わせ結果が返ってきた場合、その統合用メタデータの中で定義された関連付け情報を抽出する。
【０１１７】
そして、抽出した関連付け情報をカラム毎にまとめ、カラムを識別する情報（データベース・テーブル・カラムの名前かＩＤもしくは両者）をキー、組み合わせ相手のカラムを識別する情報を値として保存する。
【０１１８】
そして、カラムを識別する情報をキーとして関連付け情報の要求があった場合は、そのキーに対応する値を抽出し、指定されたカラムに関係する既存の関連付け情報として返す。
【０１１９】
次に、既存の関連付け情報問い合わせルーチンの処理手順について説明する。図２３は、既存の関連付け情報問い合わせルーチンの処理手順を示すフローチャートである。同図に示すように、既存の関連付け情報問い合わせルーチンは、組み合わせ候補の中のテーブルＡのカラムを一つ選択し（ステップＳ２０１）、選択したカラムのＤＢ・テーブル・カラムＩＤを統合参照サーバ２０に送り、そのカラムに関係する、既存の関連付け情報がないか問い合わせる（ステップＳ２０２）。
【０１２０】
その結果、統合参照サーバ２０が既存の関連付け情報が存在すると回答した場合には（ステップＳ２０３、Ｙｅｓ）、統合参照サーバ２０から既存の関連付け情報を受け取り（ステップＳ２０４）、受け取った情報の中の組み合わせで、かつ組み合わせ候補の中に存在するものを、組み合わせ候補に関係する既存の関連付け情報とする（ステップＳ２０５）。
【０１２１】
そして、組み合わせ候補の中のテーブルＡの全カラムについて問い合わせたか否かを判定し（ステップＳ２０６）、全カラムについて問い合わせていない場合には、ステップＳ２０１に戻って次のカラムを選択し、全カラムについて問い合わせた場合には、処理を終了する。
【０１２２】
このように、この既存の関連付け情報問い合わせルーチンが、統合参照サーバ２０に既存の関連付け情報を問い合わせ、組み合わせ候補の中にある既存の関連付け情報を確認することによって、実績のある関連付けを統合用メタデータに示し、統合用メタデータ作成者の関連付け作業を容易にすることができる。
【０１２３】
次に、関連付けチェック部１６０の関連付けチェック処理の詳細について説明する。関連付けチェック部１６０は、統合用メタデータの編集中に関連付けが指定された際に、その関連付けが妥当であるか否かをチェックする。
【０１２４】
関連付けが指定されると、統合されたデータを提供する際に指定された両テーブルのレコード同士をジョインすることになるので、関連付けで指定された両テーブルのカラム同士は同じ値の集合を取らなければならない。もし、両カラムが全く別々の値を取るものであると、統合されたデータを作成する過程でジョインができず、該当する統合データが存在しないことになり、その統合用メタデータが意味の無いものになる。従って、この関連付けチェック部１６０による関連付けチェック処理は、重要な処理となる。
【０１２５】
具体的には、関連付けチェック部１６０は、指定された両テーブルから実際のデータをサンプリングしてきて、そのサンプリングしてきたデータを統計学的に分析し、両カラムの値が関連しているかどうかをチェックする。
【０１２６】
図２４は、関連付けチェック処理の概要を説明するための説明図である。同図は、注文商品テーブルの商品コードと取扱商品テーブルのコードを関連付ける場合の関連付けチェック処理を示している。同図に示すように、関連付けチェック部１６０は、注文商品テーブルの商品コードおよび取扱商品テーブルのコードから実際のデータをサンプリングし、サンプリングしたデータ間の関連性を統計分析によって判定することによって、関連付けをチェックする。
【０１２７】
ここで、関連付けチェックを単純に実行するならば、片方のテーブルからサンプリングしてきたデータがもう片方に含まれているかどうかを調べ、その割合で判断するということが考えられる。しかし、これでは以下の点で上手くいかないことが考えられる。
【０１２８】
偶然の一致：例えば両カラムのデータ型が数字２桁でデータ数が十分に多いとすると、００〜９９の１００種類の値全てが存在することがあり、その場合は(意味的には関係なくても)データが偶然一致することになる。
【０１２９】
冗長性によるサンプル数の変動：例えば、１万件のデータの中から１００件をサンプリングしてきても、その中に冗長なものが多くて、実際には１０種類しかデータが無かった場合、その１０種類のデータのみで、関連付けしようとする相手のデータと比較をすると、偶然に含まれる確率が高まる。サンプリングしたデータのうち冗長を省いたデータの数が少ないほど、その確率は高くなる。
【０１３０】
そこで、関連付けチェック部１６０は、以下の手順で関連付けのチェックを行っている。まず、図２５に示すように、Ａから一定件数をサンプリングし、サンプリングした個々についてＢに含まれているかどうかを調べ、その割合を求める。
【０１３１】
また、Ｂから適当な数のデータをサンプリングし、冗長を省いたデータ数を数える。そして、この操作を、サンプル数を段階的に増加させて何回か行う。すると、図２６に示すように、あるサンプル数の時の冗長を省いたデータ件数はある漸化式で表わすことができ、その漸化式から、全データをサンプルした時の冗長を省いたデータ件数、すなわち冗長を省いた全データ件数を推定する。ここで、冗長を省いた全データ件数を推定するのは、全データをサンプルすることがネットワーク性能上非現実的であるためであり、冗長を省いた全データ件数は、なるべく少ないサンプル量で推定する必要がある。また、冗長を省いた全データ件数の推定に用いる漸化式は、図２７に示すように、繰り返しコンピュータで計算して最適値を求める方法と、値の取り得る範囲を求める方法がある。なお、Ｂのカラムにデータベースのユニーク制約が付いている場合は冗長なデータは存在しないので、全データ件数が冗長を省いた全データ件数となり、冗長を省いた全データ件数の推定は必要ない。
【０１３２】
そして、冗長を省いたＢのデータ数から、Ｂの濃度（データのカバー率）を推定する。ここで、
Ｂの濃度＝冗長を省いたＢのデータ数／集合の大きさ
集合の大きさ＝１桁のデータの種類＾桁数
であり、Ｂの濃度は、Ａから抽出したデータがＢに偶然に含まれる確率を表わしている。
【０１３３】
例えば、図２８に示す集合Ａ、Ｂのようにデータが４桁の数値の場合、値の１桁のデータの種類は０〜９の１０種類であり、それが４桁あるため、集合全体の大きさは１０の４乗の１０，０００となる。つまり、集合Ｂは最大１０，０００通りの値を含んでいる可能性がある。しかし実際には、そもそも集合Ｂの全データ数が１０，０００未満であったり、冗長があった場合、集合Ｂの冗長を省いたデータ数は１０，０００より低くなる。その割合が集合Ｂの濃度、つまり任意の４桁の数値が集合Ｂに含まれている確率である。図２８では、０．１４がＢの濃度である。
【０１３４】
そして、図２９に示すように、Ａから抽出したサンプルがＢに含まれている割合とＢの濃度を比較し、統計的に関連があると言えるか検定する。そして、検定結果を表示することによって、統合用メタデータ作成者は指定した関連付けが妥当であるか否かを知ることができる。
【０１３５】
なお、本実施例では統合用メタデータ作成者が関連付けを指定したタイミングでチェックすることにしているが、同様にして、統合用メタデータ作成者が一つの統合用メタデータを作成し終わったタイミングで、一括してチェックを行うことも可能である。
【０１３６】
次に、関連付けチェック部１６０による関連付けチェック処理の処理手順をフローチャートを用いて説明する、図３０は、関連付けチェック部１６０による関連付けチェック処理の処理手順を示すフローチャートである。
【０１３７】
同図に示すように、この関連付けチェック部１６０は、Ａからデータサンプルを抽出し（ステップＳ３０１）、統合参照サーバ２０を介してＢのデータベースに問い合わせを行い、抽出したＡのサンプルデータがＢに含まれる割合を求める（ステップＳ３０２）。
【０１３８】
一方、Ｂにユニーク制約があるか否かを調べ（ステップＳ３０３）、Ｂにユニーク制約がない場合には、統合参照サーバ２０を介してＢのデータベースに問い合わせを行い、Ｂから特定個数のデータを抜き出して、冗長なものを取り除いた個数を調べる（ステップＳ３０４）。そして、冗長を省いたＢの全データ数を推定し（ステップＳ３０５）、Ｂの濃度を求める（ステップＳ３０６）。なお、Ｂにユニーク制約がある場合には、Ｂの全データ件数を用いてＢの濃度を求める（ステップＳ３０６）。
【０１３９】
そして、ステップＳ３０２で求めた、ＡのサンプルデータがＢに含まれる割合がＢの濃度に比べて有意であるか否かを判定し（ステップＳ３０７）、有意である場合には、関連付けは妥当と判定し（ステップＳ３０８）、有意でない場合には、関連付けは妥当であるとは言えないと判定する（ステップＳ３０９）。
【０１４０】
このように、関連付けチェック部１６０が、ＡのサンプルデータがＢに含まれる割合がＢの濃度に比べて有意であるか否かを判定して関連付けの妥当性を判定することによって、メタデータエディタ１００は、統合用メタデータ作成者に対して関連付けの妥当性を表示することができる。
【０１４１】
次に、整合性チェック部１７０による統合用メタデータの整合性チェックについて説明する。統合対象のデータベースに変更が生じると、統合用メタデータの方もそれに合わせて修正する必要がある。木構造は、作成時に利用可能である（利用可否フラグ=true）データのみを使って作成される。一方、データベースに変更が生じると、そのデータの利用可否フラグがfalseになる。名前が変わっただけの場合でも、名前が変わる前のデータの利用可否フラグをfalseとし、名前が変わった後のデータを新規のデータ（利用可否フラグ=true）として登録する。
【０１４２】
そこで、整合性チェック部１７０は、木構造とデータベースリスト情報を比較して整合性をチェックし、矛盾する箇所があれば、そこが修正するべき箇所であることを表示する。以下、図３１を用いてその手順を説明する。
【０１４３】
統合用メタデータのスキーマ・データベース対応関係情報（図３１（１））を基に、木構造のあるカラム要素に関して、データベースリスト情報の中から、そのカラムに該当する情報を探し出す（図３１（２））。
【０１４４】
そして、抽出した情報から、そのカラム、そのカラムを含むテーブル、そのテーブルを含むデータベースの利用可否フラグを調べる（図３１（３））。その結果、いずれの利用可否フラグも利用可能なら、木構造の中のそのカラム要素について、修正は必要ないと判断する。一方、いずれかの利用可否フラグが利用不可なら、木構造の中のそのカラム要素について、修正が必要と判断する。
【０１４５】
このような操作を木構造の中の全てのカラム要素に対して行い、修正が必要と判断されたカラム要素に対して修正が必要であることを表示する（図３１（４））。そして、編集パネル画面１２上の木構造の該当部分が統合用メタデータ作成者によって修正されると、統合用メタデータの中の、仮想ＸＭＬスキーマ情報、スキーマ・データベース対応関係情報、要素間関連付け情報、全てを更新する。従って、統合用メタデータ作成者は、表示された情報を基に、編集パネル上の木構造の該当部分を修正するだけでよい。
【０１４６】
このように、整合性チェック部１７０が、木構造の中の全てのカラム要素に対して利用可否を判定し、利用不可の場合には、そのカラム要素に対して修正が必要であることを表示することによって、統合用メタデータ作成者は、データベースと整合のとれていない統合用メタデータを容易に修正することができる。
【０１４７】
次に、本実施例に係るメタデータエディタを実行するコンピュータシステムについて説明する。図３２は、本実施例に係るメタデータエディタを実行するコンピュータシステムを示す図である。
【０１４８】
同図に示すように、このコンピュータシステム２００は、本体部２０１と、本体部２０１からの指示により表示画面２０２ａに情報を表示するディスプレイ２０２と、このコンピュータシステム２００に種々の情報を入力するためのキーボード２０３と、ディスプレイ２０２の表示画面２０２ａ上の任意の位置を指定するマウス２０４と、ＬＡＮ２０６または広域エリアネットワーク（ＷＡＮ）に接続するＬＡＮインタフェースと、公衆回線２０７に接続するモデムとを有する。
【０１４９】
ここで、ＬＡＮ２０６は、統合参照サーバ２０や他のコンピュータシステム（ＰＣ）２１１、サーバ２１２、プリンタ２１３などとコンピュータシステム２００とを接続している。
【０１５０】
また、図３３は、図３２に示した本体部２０１の構成を示す機能ブロック図である。同図に示すように、この本体部２０１は、ＣＰＵ２２１と、ＲＡＭ２２２と、ＲＯＭ２２３と、ハードディスクドライブ（ＨＤＤ）２２４と、ＣＤ−ＲＯＭドライブ２２５と、ＦＤドライブ２２６と、Ｉ／Ｏインタフェース２２７と、ＬＡＮインタフェース２２８と、モデム２２９とを有する。
【０１５１】
そして、このコンピュータシステム２００において実行されるメタデータエディタ１００は、フロッピィディスク（ＦＤ）２０８、ＣＤ−ＲＯＭ２０９、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの可搬型記憶媒体に記憶され、これらの記憶媒体から読み出されてコンピュータシステム２００にインストールされる。
【０１５２】
あるいは、このメタデータエディタ１００は、ＬＡＮインタフェース２２８を介して接続された統合参照サーバ２０やサーバ２１２のデータベース、他のコンピュータシステム（ＰＣ）２１１のデータベースなどに記憶され、これらのデータベースから読み出されてブラウザのプラグインプログラムなどとしてコンピュータシステム２００にインストールされる。
【０１５３】
そして、インストールされたメタデータエディタ１００は、ＨＤＤ２２４に記憶され、ＲＡＭ２２２、ＲＯＭ２２３などを利用してＣＰＵ２２１により実行される。
【０１５４】
上述してきたように、本実施例では、統合用メタデータ作成者がＤＢ情報パネル画面１１および編集パネル画面１２を用いて行うドラッグ＆ドロップ操作に対応して編集処理部１４０が統合用メタデータの情報を編集し、カラム同士の関連付けが可能になると関連付け部１５０が関連付け組み合わせ候補を表示し、統合用メタデータ作成者が関連付け組み合わせを指定すると関連付けチェック部１６０が関連付けの妥当性を統計的に判定して表示し、統合用メタデータがデータベースと整合性がとれていないときは整合性チェック部１７０が修正の必要なカラム要素に対して修正が必要であることを表示することとしたので、統合用メタデータ作成者は、効率良く統合用メタデータを作成することができる。
【０１５５】
なお、本実施例では、メタデータエディタ１００が統合用メタデータ情報を統合参照サーバ２０へ送信し、統合参照サーバ２０がＸＭＬ形式の統合用メタデータに変換してメタデータ格納用リポジトリ２１に格納する場合について説明したが、本発明はこれに限定されるものではなく、例えば、メタデータエディタ１００が統合用メタデータ情報をＸＭＬ形式の統合用メタデータに変換して統合参照サーバ２０へ送信する場合にも同様に適用することができる。
【０１５６】
また、本実施例では、メタデータエディタ１００をクライアント１０で動作させる場合について説明したが、本発明はこれに限定されるものではなく、例えば、メタデータエディタ１００を統合参照サーバ２０で動作させる場合にも同様に適用することができる。
【０１５７】
また、本実施例では、メタデータエディタ１００は、統合参照サーバ２０を介してデータベースのスキーマ情報を取得する場合について説明したが、本発明はこれに限定されるものではなく、例えば、メタデータエディタ１００が直接データベースのスキーマ情報を取得する場合にも同様に適用することができる。
【０１５８】
（付記１）複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータエディタプログラムであって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、
前記編集手順により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手順と、
をコンピュータに実行させることを特徴とするメタデータエディタプログラム。
【０１５９】
（付記２）前記データベースは、リレーショナルデータベースであり、前記要素は、リレーショナルデータベースのカラムであることを特徴とする付記１に記載のメタデータエディタプログラム。
【０１６０】
（付記３）前記編集手順は、画面上に表示したスキーマを構成する要素から統合用メタデータ作成者によりドラッグされ、統合用メタデータを編集する画面にドロップされて木構造に配置された要素に基づいて前記統合用メタデータを編集することを特徴とする付記１または２に記載のメタデータエディタプログラム。
【０１６１】
（付記４）前記編集手順は、統合用メタデータ作成者がアクセス権限を有する範囲のスキーマを表示することを特徴とする付記１または２に記載のメタデータエディタプログラム。
【０１６２】
（付記５）前記編集手順は、編集中の統合用メタデータに含まれるテーブルとは異なるテーブルのカラムが新たに統合用メタデータに追加された場合に、異なるテーブルに属するカラム間の関連付けが可能な組み合わせ候補を表示することを特徴とする付記２に記載のメタデータエディタプログラム。
【０１６３】
（付記６）前記編集手順は、過去に作成された統合用メタデータにおいて関連付けられた組み合わせ候補がある場合には、該組み合わせ候補の情報を提供することを特徴とする付記５に記載のメタデータエディタプログラム。
【０１６４】
（付記７）前記編集手順は、カラムのデータ型が同じ場合にカラム間の関連付けが可能な組み合わせ候補とすることを特徴とする付記５または６に記載のメタデータエディタプログラム。
【０１６５】
（付記８）前記編集手順は、異なる要素間の関連付けが指定された場合に、該指定された関連付けが正しいか否かを判定して表示することを特徴とする付記１または２に記載のメタデータエディタプログラム。
【０１６６】
（付記９）前記編集手順は、関連付けが指定されたそれぞれの要素の実データ間の関連性を統計的に分析することによって、指定された関連付けが正しいか否かを判定することを特徴とする付記８に記載のメタデータエディタプログラム。
【０１６７】
（付記１０）前記編集手順は、一方の要素の実データが他方の要素の実データに含まれる確率が有意であるか否かによって、指定された関連付けが正しいか否かを判定することを特徴とする付記９に記載のメタデータエディタプログラム。
【０１６８】
（付記１１）前記編集手順は、一方の要素の実データをサンプリングして該サンプリングした実データが他方の要素の実データに含まれる確率と、該他方の要素の値域の集合の濃度とを算出し、該算出した二つの値に基づいて該確率が有意であるか否かを判定することを特徴とする付記１０に記載のメタデータエディタプログラム。
【０１６９】
（付記１２）前記編集手順は、統合用メタデータの作成に用いられたスキーマに変更があった場合に、統合用メタデータのうち変更されたスキーマに対応する箇所の修正が必要であるという情報を提供することを特徴とする付記１または２に記載のメタデータエディタプログラム。
【０１７０】
（付記１３）前記編集手順は、前記データベース統合参照装置から過去に作成された統合用メタデータを受け取って編集を開始する際に、該受け取った統合用メタデータの作成に用いられたスキーマに変更があったか否かを判定することを特徴とする付記１２に記載のメタデータエディタプログラム。
【０１７１】
（付記１４）複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とする場合に用いられる統合用メタデータを編集するメタデータエディタプログラムであって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、
前記編集手順により編集された統合用メタデータを記憶装置に格納する格納手順と、
をコンピュータに実行させることを特徴とするメタデータエディタプログラム。
【０１７２】
（付記１５）前記格納手順は、統合用メタデータをＸＭＬ形式で格納することを特徴とする付記１４に記載のメタデータエディタプログラム。
【０１７３】
（付記１６）前記複数のデータベースから所定の時間間隔でスキーマに関する情報を取得するデータベース監視手順をさらにコンピュータに実行させ、
前記編集手順は、前記データベース監視手順により取得されたスキーマに関する情報を用いてスキーマを表示することを特徴とする付記１４または１５に記載のメタデータエディタプログラム。
【０１７４】
（付記１７）前記データベース監視手順は、統合用メタデータ作成者が各データベースに対して有するアクセス権限の範囲でスキーマに関する情報を取得し、前記編集手順は、統合用メタデータ作成者が各データベースに対して有するアクセス権限の範囲でスキーマを表示することを特徴とする付記１６に記載のメタデータエディタプログラム。
【０１７５】
（付記１８）複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータエディタプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手順と、
前記編集手順により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手順と、
をコンピュータに実行させるメタデータエディタプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【０１７６】
（付記１９）複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータ編集方法であって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集工程と、
前記編集工程により編集された統合用メタデータを前記データベース統合参照装置に送信する送信工程と、
を含んだことを特徴とするメタデータ編集方法。
【０１７７】
（付記２０）複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベース統合参照装置がデータの統合に用いる統合用メタデータを編集するメタデータ編集装置であって、
前記複数のデータベースのスキーマを表示し、該表示したスキーマを構成する要素から統合用メタデータ作成者により選択されて木構造に配置された要素に基づいて前記統合用メタデータを編集する編集手段と、
前記編集手段により編集された統合用メタデータを前記データベース統合参照装置に送信する送信手段と、
を備えたことを特徴とするメタデータ編集装置。
【産業上の利用可能性】
【０１７８】
以上のように、本発明に係るメタデータエディタプログラムおよびその記録媒体、メタデータ編集方法ならびにメタデータ編集装置は、複数のデータベースに分散しているデータを仮想的に一つの統合データベースとして参照可能とするデータベースシステムに有用である。
【図面の簡単な説明】
【０１７９】
【図１】本実施例に係るメタデータエディタが提供する画面の一例を示す図である。
【図２】本実施例に係るメタデータ編集システムのシステム構成を示す機能ブロック図である。
【図３】ＤＢ情報パネル画面に表示されるスキーマとデータベースリスト情報の関係を説明するための説明図である。
【図４】木構造とＸＭＬビューの関係の一例を示す図である。
【図５】ＧＲＩＤ一般アカウントでのデータスキーマ収集を示す図である。
【図６】個別指定アカウントでのデータスキーマ収集を示す図である。
【図７】user1アカウントで利用可能なデータベースリスト情報を示す図である。
【図８】user3アカウントで利用可能なデータベースリスト情報を示す図である。
【図９】木構造の作成の概要を説明するための説明図である。
【図１０】木構造の作成手順を示す図（その１）である。
【図１１】木構造の作成手順を示す図（その２）である。
【図１２】木構造の作成手順を示す図（その３）である。
【図１３】木構造の作成手順を示す図（その４）である。
【図１４】複数のデータを含むカラム要素を示す図である。
【図１５】ＸＭＬによる木構造の定義例を示す図である。
【図１６】ＸＭＬによるスキーマ・データベース対応関係情報の例を示す図（１）である。
【図１７】ＸＭＬによるスキーマ・データベース対応関係情報の例を示す図（２）である。
【図１８】ＸＭＬによる要素間の関連付け情報の例を示す図である。
【図１９】関連付けの手順を示す図（その１）である。
【図２０】関連付けの手順を示す図（その２）である。
【図２１】関連付けの手順を示す図（その３）である。
【図２２】関連付け部による関連付け処理の処理手順を示すフローチャートである。
【図２３】既存の関連付け情報問い合わせルーチンの処理手順を示すフローチャートである。
【図２４】関連付けチェック処理の概要を説明するための説明図である。
【図２５】関連付けのチェック手順を示す図（その１）である。
【図２６】関連付けのチェック手順を示す図（その２）である。
【図２７】関連付けのチェック手順を示す図（その３）である。
【図２８】関連付けのチェック手順を示す図（その４）である。
【図２９】関連付けのチェック手順を示す図（その５）である。
【図３０】関連付けチェック部による関連付けチェック処理の処理手順を示すフローチャートである。
【図３１】整合性チェック部による統合用メタデータの整合性チェックを説明するための説明図である。
【図３２】本実施例に係るメタデータエディタを実行するコンピュータシステムを示す図である。
【図３３】図３２に示した本体部の構成を示す機能ブロック図である。
【符号の説明】
【０１８０】
１０    クライアント
１１    ＤＢ情報パネル画面
１２    編集パネル画面
２０    統合参照サーバ
２１    メタデータ格納用リポジトリ
１００    メタデータエディタ
１１０    情報問合部
１２０    ＤＢ情報パネル
１３０    編集パネル
１４０    編集処理部
１５０    関連付け部
１６０    関連付けチェック部
１７０    整合性チェック部
２００，２１１    コンピュータシステム
２０１    本体部
２０２    ディスプレイ
２０２ａ    表示画面
２０３    キーボード
２０４    マウス
２０６    ＬＡＮ
２０７    公衆回線
２０８    フロッピィディスク
２０９    ＣＤ−ＲＯＭ
２１２    サーバ
２１３    プリンタ
２２１    ＣＰＵ
２２２    ＲＡＭ
２２３    ＲＯＭ
２２４    ハードディスクドライブ
２２５    ＣＤ−ＲＯＭドライブ
２２６    フロッピィディスクドライブ
２２７    Ｉ／Ｏインタフェース
２２８    ＬＡＮインタフェース
２２９    モデム
【図１】
2006018607.tif 000003
【図２】
2006018607.tif 000004
【図３】
2006018607.tif 000005
【図４】
2006018607.tif 000006
【図５】
2006018607.tif 000007
【図６】
2006018607.tif 000008
【図７】
2006018607.tif 000009
【図８】
2006018607.tif 000010
【図９】
2006018607.tif 000011
【図１０】
2006018607.tif 000012
【図１１】
2006018607.tif 000013
【図１２】
2006018607.tif 000014
【図１３】
2006018607.tif 000015
【図１４】
2006018607.tif 000016
【図１５】
2006018607.tif 000017
【図１６】
2006018607.tif 000018
【図１７】
2006018607.tif 000019
【図１８】
2006018607.tif 000020
【図１９】
2006018607.tif 000021
【図２０】
2006018607.tif 000022
【図２１】
2006018607.tif 000023
【図２２】
2006018607.tif 000024
【図２３】
2006018607.tif 000025
【図２４】
2006018607.tif 000026
【図２５】
2006018607.tif 000027
【図２６】
2006018607.tif 000028
【図２７】
2006018607.tif 000029
【図２８】
2006018607.tif 000030
【図２９】
2006018607.tif 000031
【図３０】
2006018607.tif 000032
【図３１】
2006018607.tif 000033
【図３２】
2006018607.tif 000034
【図３３】
2006018607.tif 000035