(57)【要約】【課題】２つのデータベースの統合処理において、“ドメイン情報”や“属性名”を使用せずにテーブルのマッピング情報を作成できるようにすることを目的とする。【解決手段】スキーマ情報抽出部１０３は統合対象である第１のデータベース１００と第２のデータベース１０１とからテーブルのデータ構造を示すスキーマ情報を取得してスキーマ情報記憶装置１０４に記憶する。各テーブルについて、特徴情報生成部１０５はスキーマ情報に基づいて各テーブルを構成する各データ項目の数を定義された属性の種類毎に算出して特徴情報として特徴情報記憶装置１０７に記憶する。類似度評価部１０８は第１のデータベース１００のテーブルと第２のデータベース１０１のテーブルとで特徴情報を比較して類似度を算出し、比較したテーブルとその類似度を対応付けてマッピング情報としてマッピングモデル記憶装置１１０に記憶する。【選択図】図３
2007188343.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータベースと第２のデータベースとの統合を支援する情報として第１のデータベースと第２のデータベースとでマッピングするテーブルについてのマッピング情報を出力するスキーマ統合支援装置であり、
第１のデータベースが有するテーブルＡのデータ構造情報と第２のデータベースが有するテーブルＢのデータ構造情報とを記憶したスキーマ情報記憶装置と、
前記スキーマ情報記憶装置に記憶された第１のデータベースが有するテーブルＡのデータ構造情報と第２のデータベースが有するテーブルＢのデータ構造情報とを中央処理装置を用いて比較して第１のデータベースが有するテーブルＡと第２のデータベースが有するテーブルＢとの類似度を算出し算出した類似度をマッピング情報として出力装置に出力する類似度評価部と
を備えたことを特徴とするスキーマ統合支援装置。
【請求項２】
前記スキーマ情報記憶装置は当該テーブルが有するデータ項目の従属関係を示す属性を前記データ構造情報に含んで記憶し、
前記類似度評価部は前記データ構造情報に含まれる当該テーブルが有するデータ項目の従属関係を示す属性について比較して類似度を算出する
ことを特徴とする請求項１記載のスキーマ統合支援装置。
【請求項３】
前記スキーマ情報記憶装置は主キー属性と従属属性と外部キー属性との少なくともいずれかの属性を含んで当該テーブルが有するデータ項目の従属関係を記憶し、
前記類似度評価部は前記データ構造情報に含まれる主キー属性と従属属性と外部キー属性との少なくともいずれかの属性について比較して類似度を算出する
ことを特徴とする請求項２記載のスキーマ統合支援装置。
【請求項４】
前記類似度評価部は、
主キー属性を持つデータ項目の数と従属属性を持つデータ項目の数と外部キー属性を持つデータ項目の数との少なくともいずれかのデータ項目の数を比較して類似度を算出する
ことを特徴とする請求項３記載のスキーマ統合支援装置。
【請求項５】
前記スキーマ情報記憶装置は当該テーブルが有するデータ項目のデータ型を示す属性を前記データ構造情報に含んで記憶し、
前記類似度評価部は前記データ構造情報に含まれる当該テーブルが有するデータ項目のデータ型を示す属性について比較して類似度を算出する
ことを特徴とする請求項１記載のスキーマ統合支援装置。
【請求項６】
前記類似度評価部は、
データ項目のデータ型毎の数を比較して類似度を算出する
ことを特徴とする請求項５記載のスキーマ統合支援装置。
【請求項７】
前記スキーマ情報記憶装置は当該テーブルが有するデータ項目の主キー属性と従属属性と外部キー属性との少なくともいずれかの属性を前記データ構造情報に含んで記憶し、
前記類似度評価部は主キー属性を持つデータ項目のデータ型毎の数と従属属性を持つデータ項目のデータ型毎の数と外部キー属性を持つデータ項目のデータ型毎の数との少なくともいずれかのデータ項目のデータ型毎の数を比較して類似度を算出する
ことを特徴とする請求項６記載のスキーマ統合支援装置。
【請求項８】
第１のデータベースと第２のデータベースとの統合を支援する情報として第１のデータベースと第２のデータベースとでマッピングするテーブルについてのマッピング情報を出力するスキーマ統合支援装置のスキーマ統合支援方法であり、
第１のデータベースが有するテーブルＡのデータ構造情報と第２のデータベースが有するテーブルＢのデータ構造情報とをスキーマ情報記憶装置に記憶し、
類似度評価部が前記スキーマ情報記憶装置に記憶された第１のデータベースが有するテーブルＡのデータ構造情報と第２のデータベースが有するテーブルＢのデータ構造情報とを中央処理装置を用いて比較して第１のデータベースが有するテーブルＡと第２のデータベースが有するテーブルＢとの類似度を算出し算出した類似度をマッピング情報として出力装置に出力する類似度評価処理を
行うことを特徴とするスキーマ統合支援方法。
【請求項９】
請求項８記載のスキーマ統合支援方法をコンピュータに実行させるスキーマ統合支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるデータベース間のスキーマ統合作業を支援するスキーマ統合支援装置、スキーマ統合支援方法およびスキーマ統合支援プログラムに関するものである。
【背景技術】
【０００２】
同一概念を表すデータが異なる表現形式で定義されているような複数の異なるデータベースを統合する際に使用する、異なるデータベース間のスキーマ（データベースの構造）の対応付け（マッピング）作業を支援する従来の方法には以下の方法があった。
従来の方法の一つは、データの中でマッピングに使用する属性のドメイン情報（実際のデータ値の集合）を使って、評価関数により一致度を判定し、マッピング候補の導出を行う（例えば、特許文献１）。
また別の方法では、マッピングに使用する属性の名称を標準化し、属性名から類似度を算出することによりマッピング候補を提示する（例えば、特許文献２）。
【特許文献１】特開２００４−８６７８２号公報
【特許文献２】特開平８−２４９３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のスキーマ統合支援方法のうち、マッピング候補の判定に“ドメイン情報”を使用する方法（特許文献１）では、統合処理においてスキーマ情報だけでなく、実際のデータ値が必要になるという課題点があった。さらに、一致度の判定にデータ値を使用するため、統合対象のデータベース間で、事前にデータ値を標準化（統一）する必要があるという課題点があった。
また、マッピング候補の判定に“属性名”を使用する方法（特許文献２）では、属性名は自由形式で任意に設定される情報であるため、統合対象のそれぞれのデータベースにおいて、類似度の算出に適切な属性名が設定されていなければマッピング候補を提示できないという課題点があった。
【０００４】
本発明は、“ドメイン情報”や“属性名”を使用せずにマッピング候補を作成できるようにすることなどを目的とする。
【課題を解決するための手段】
【０００５】
本発明のスキーマ統合支援装置は、第１のデータベースと第２のデータベースとの統合を支援する情報として第１のデータベースと第２のデータベースとでマッピングするテーブルについてのマッピング情報を出力するスキーマ統合支援装置であり、第１のデータベースが有するテーブルＡのデータ構造情報と第２のデータベースが有するテーブルＢのデータ構造情報とを記憶したスキーマ情報記憶装置と、前記スキーマ情報記憶装置に記憶された第１のデータベースが有するテーブルＡのデータ構造情報と第２のデータベースが有するテーブルＢのデータ構造情報とを中央処理装置を用いて比較して第１のデータベースが有するテーブルＡと第２のデータベースが有するテーブルＢとの類似度を算出し算出した類似度をマッピング情報として出力装置に出力する類似度評価部とを備えたことを特徴とする。
【発明の効果】
【０００６】
本発明のスキーマ統合支援装置によれば、例えば、データ間の制約条件・従属関係といったテーブルのデータ構造に着目することで、類似度を算出することができ、類似するテーブルを選択してマッピング候補を作成することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
以下、統合対象のデータベースシステム（以下、データベースとする）として「リレーショナルデータベース」を例に、データベースの統合を支援するための情報として、「テーブルのデータ構造情報（スキーマ情報）」に基づいて「テーブルの類似度（マッピング情報）」を生成するスキーマ統合支援装置、スキーマ統合支援方法およびスキーマ統合支援プログラムについて説明する。
【０００８】
図１は、実施の形態１におけるスキーマ統合支援装置１０２の外観を示す図である。
図１において、スキーマ統合支援装置１０２は、システムユニット９１０、表示装置９０１、キーボード（Ｋ／Ｂ）９０２、マウス９０３、コンパクトディスク装置（ＣＤＤ）９０５、プリンタ装置９０６、スキャナ装置９０７を備え、これらはケーブルで接続されている。
さらに、スキーマ統合支援装置１０２は、ＦＡＸ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク（ＬＡＮ）９４２、ウェブサーバ９４１を介してインターネット９４０に接続されている。
【０００９】
図２は、実施の形態１におけるスキーマ統合支援装置１０２のハードウェア構成図である。
図２において、実施の形態１におけるスキーマ統合支援装置１０２は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）９１１を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、Ｋ／Ｂ９０２、マウス９０３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）９０４、磁気ディスク装置９２０、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、光ディスク装置９０８と接続されている。
表示装置９０１には液晶ディスプレイ、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイなどがある。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０、光ディスク装置９０８は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例であり、以下で説明する“スキーマ情報記憶装置１０４”、“データ型辞書記憶装置１０６”、“特徴情報記憶装置１０７”、“重み付け変数記憶装置１０９”および“マッピングモデル記憶装置１１０”を構成する。
通信ボード９１５は、ＦＡＸ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。
例えば、通信ボード９１５、Ｋ／Ｂ９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力機器、入力装置あるいは入力部の一例である。
また、例えば、通信ボード９１５、表示装置９０１などは、出力機器、出力装置あるいは出力部の一例である。
【００１０】
ここで、通信ボード９１５は、ＬＡＮ９４２に限らず、直接、インターネット９４０、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されていても構わない。直接、インターネット９４０、或いはＩＳＤＮ等のＷＡＮに接続されている場合、スキーマ統合支援装置１０２は、インターネット９４０、或いはＩＳＤＮ等のＷＡＮに接続され、ウェブサーバ９４１は不用となる。また、スキーマ統合支援装置１０２の備える通信ボード９１５は統合対象のデータベースとスキーマ情報などのデータを送受信する。
磁気ディスク装置９２０には、オペレーティングシステム（ＯＳ）９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３は、ＣＰＵ９１１、ＯＳ９２１、ウィンドウシステム９２２により実行される。
【００１１】
上記プログラム群９２３には、実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、実施の形態の説明において、「〜情報」として説明するデータ、「〜部」として説明する機能を実行した際の判定結果や演算結果を示すデータ、「〜部」として説明する機能を実行するプログラム間で受け渡しするデータなどが「〜ファイル」として記憶されている。例えば、以下に説明する“スキーマ情報”、“データ型辞書”、“特徴情報”、“重み付け変数”、“マッピング情報”が「〜ファイル」として記憶される。
また、実施の形態の説明において、フローチャートや構成図の矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置９２０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  ｃａｒｔｒｉｄｇｅ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、その他の記憶媒体に記憶される。あるいは、信号線やその他の伝送媒体により伝送される。
【００１２】
また、実施の形態の説明において「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００１３】
また、実施の形態を実施するプログラムは、磁気ディスク装置９２０、ＦＤ、光ディスク、ＣＤ、ＭＤ、ＤＶＤ、その他の記憶媒体による記憶装置を用いて記憶されても構わない。
【００１４】
図３は、実施の形態１におけるスキーマ統合支援装置１０２の機能要素を示す機能構成図である。
図３において、第１のデータベース１００、第２のデータベース１０１はスキーマ統合対象のデータベースである。
また、図３において、スキーマ統合支援装置１０２は以下の機能を備える。
スキーマ統合支援処理で利用する「スキーマ情報」を統合対象のデータベースから取得するスキーマ情報抽出部１０３。
スキーマ情報抽出部１０３が取得した「スキーマ情報」を格納するスキーマ情報記憶装置１０４。
「スキーマ情報」を元にテーブルの「特徴情報」を生成する特徴情報生成部１０５。
「特徴情報」を生成の際に、統合対象の各データベースが使用するデータ型属性を標準化するための「データ型辞書」を格納するデータ型辞書記憶装置１０６。
特徴情報生成部１０５が生成した「特徴情報」を格納する特徴情報記憶装置１０７。
「特徴情報」に基づいてテーブルの類似度を評価する類似度評価部１０８。
類似度評価部１０８がテーブルの類似度を評価する際に使用する定義値（以下、「重み付け変数」とする）を格納する重み付け変数記憶装置１０９。
類似度評価部１０８が類似度を元に導出した統合対象のデータベース間でのテーブルの「マッピング情報」を格納するマッピングモデル記憶装置１１０を有する。
【００１５】
第１のデータベース１００、第２のデータベース１０１は一般的なデータベース管理システムにより管理され、スキーマ統合支援装置１０２とＬＡＮ等のネットワークにより接続される。あるいは、第１のデータベース１００、第２のデータベース１０１の両方または片方が、スキーマ統合支援装置１０２と同一の計算機システム上に存在していてもよい。
【００１６】
また、スキーマ情報記憶装置１０４、データ型辞書記憶装置１０６、特徴情報記憶装置１０７、重み付け変数記憶装置１０９およびマッピングモデル記憶装置１１０は、一つの記憶装置にまとめて実装してもよいし、個別の記憶装置で実装してもよい。
【００１７】
次に、スキーマ情報記憶装置１０４が格納する「スキーマ情報」、データ型辞書記憶装置１０６が格納する「データ型辞書」、特徴情報記憶装置１０７が格納する「特徴情報」、重み付け変数記憶装置１０９が格納する「重み付け変数」およびマッピングモデル記憶装置１１０が格納する「マッピング情報」について説明する。
【００１８】
スキーマ情報抽出部１０３が統合対象のデータベースから取得しスキーマ情報記憶装置１０４に格納する「スキーマ情報」は、データベースの構造を表わすデータであり、データベースで記憶管理する「テーブルのデータ構造情報」が含まれる。
また、「テーブルのデータ構造情報」にはテーブルを構成するデータ項目（“列”や“データフィールド”を示す）ごとに定義された「データ属性」が含まれる。
「データ属性」は、同一テーブル内の他のデータ項目を一意に識別する属性や他のテーブルとの関連付けを示す属性などの「従属関係に関する情報（従属関係を示す属性）」、データ型・データサイズなどデータ項目に設定されるデータの「制約条件に関する情報（制約条件を示す属性）」などを示す。
「従属関係に関する情報（従属関係を示す属性）」には、「主キー属性（従属属性項目のデータを一意に識別する属性）」、「従属属性（自テーブルの主キー属性項目のデータに関連付ける属性）」、「外部キー属性（他テーブルの主キー属性項目のデータに関連付ける属性）」などがある。
【００１９】
図４は、実施の形態１における「スキーマ情報」の一例を示すデータ構造図である。
図４において、テーブル情報１４０は１つのテーブルについての「テーブルのデータ構造情報」を示し、「スキーマ情報」はテーブル情報１４０をテーブル数分有する。各テーブル情報１４０はＩＤ、テーブル名、主キーカラム情報１４１、主キー参照先情報１４２、従属カラム情報１４３および外部キー情報１４４を有する。
ＩＤとテーブル名はテーブルを一意に識別する情報である。
主キーカラム情報１４１は「主キー属性」を示す情報であり、主キーを構成する全てのデータ項目のカラムについて「カラム名」と「データ型」を有する。
従属カラム情報１４３は「従属属性」を示す情報であり、主キー以外の全てのデータ項目のカラムについて「カラム名」と「データ型」を有する。
外部キー情報１４４は「外部キー属性」を示す情報であり、外部キーである全てのデータ項目について「外部キーＩＤ」と「外部キーカラム情報１４５」を有する。「外部キーＩＤ」は「外部キーカラム情報１４５」を一意に識別する情報であり、「外部キーカラム情報１４５」は外部キーを構成する全てのデータ項目のカラムについて「カラム名」と「データ型」を有する。
主キー参照先情報１４２は自テーブルの主キーに関連付いた外部キーを持つ他のテーブルの全てについて「参照先ＩＤ（他テーブルのＩＤ）」を有する。
図４に示したテーブル情報１４０のうちＩＤと外部キーＩＤは、スキーマ情報抽出部１０３が、統合対象のデータベースシステムから取得したスキーマ情報をスキーマ情報記憶装置１０４に格納する際に付加する情報である。
【００２０】
図５は、実施の形態１における「データ型辞書」の一例を示す図である。
データ型辞書記憶装置１０６には、スキーマ統合支援装置１０２がスキーマ統合支援処理に使用するデータ型（以下、標準データ型とする）と統合対象のデータベースが使用しているデータ型（以下、固有データ型とする）との対応関係を図５に示すような「データ型辞書」として登録する。つまり、スキーマ統合支援装置１０２は、スキーマ統合支援処理の前処理として、第１のデータベース１００と第２のデータベース１０１の固有データ型について、標準データ型との対応関係を事前にデータ型辞書記憶装置１０６に登録する。
図５に示す「データ型辞書」は、統合対象のデータベースである第１のデータベース１００“ＤＢＭＳ１”と第２のデータベース１０１“ＤＢＭＳ２”とのそれぞれの固有データ型を標準データ型に対応付けている。図５に示す「データ型辞書」は、例えば、“ＤＢＭＳ１”の固有データ型である“ｃｈａｒ”型と“ｉｎｔｅｇｅｒ”型とをそれぞれ標準データ型である“文字型”と“真数型”とに対応付け、“ＤＢＭＳ２”の固有データ型である“ｃｈａｒ”型と“ｎｃｈａｒ”型とを標準データ型である“文字型”に対応付けている。
第１のデータベース１００と第２のデータベース１０１が同一のデータベース管理システムを使用している場合、つまり、同一のデータ型を使用している場合、「データ型辞書」はどちらか片方の固有データ型に標準データ型を対応付けたデータであってもよい。
標準データ型には、例えば文字型、真数型、概数型、日時型、バイナリ型などを定義し、「データ型辞書」は、スキーマ統合支援装置１０２のデータ型辞書記憶装置１０６に、予め用意してもよいし、あるいはシステム管理者（ユーザ）が入力装置を用いて随時に定義可能にしておきスキーマ統合支援処理の際に固有データ型と標準データ型との対応関係の定義を変更してもよい。
【００２１】
図６は、実施の形態１における「特徴情報」の項目の一例を示す図である。
特徴情報記憶装置１０７に格納する「特徴情報」は特徴情報生成部１０５が「スキーマ情報」からテーブル毎に導出する定量的な値を持つ項目の集まりであり、「特徴情報」が類似する２つのテーブルをマッピング候補とする。「特徴情報」を構成する図６に示すような各項目はスキーマ統合支援装置１０２の記憶装置（例えば、特徴情報記憶装置１０７）に予め定義しておく。
図６では、「ＩＤ」、「主キー属性数」、「主キーのデータ型構成」、「主キーの参照先テーブル数」、「従属属性数」、「従属属性のデータ型構成」、「外部キー属性数」、「外部キーのデータ型構成」を「特徴情報」の項目として定義している。
「ＩＤ」は当該「特徴情報」に対応するテーブルを一意に識別する情報である。
「主キー属性数」は主キー属性が定義されたデータ項目の数を示し、「従属属性数」は主キー属性が定義されていないデータ項目の数を示し、「外部キー属性数」は外部キー属性が定義されたデータ項目の数を示す。
「主キーのデータ型構成」は標準データ型毎の「主キー属性数」、つまり、主キー属性が定義された各データ項目を標準データ型の属性で分類した数を示し、「従属属性のデータ型構成」は標準データ型毎の「従属属性数」を示し、「外部キーのデータ型構成」は標準データ型毎の「外部キー属性数」を示す。
「主キーの参照先テーブル数」は当該「特徴情報」に対応するテーブルの主キーに関連付いた外部キーを持つ他のテーブルの数を示す。
図６に示す「特徴情報」の項目「ＩＤ」、「主キーの参照先テーブル数」は、それぞれ図４に示すテーブル情報１４０のＩＤ、主キー参照先情報１４２に対応する情報である。
また、図６に示す「特徴情報」の項目「主キー属性数」と「主キーのデータ型構成」は図４に示すテーブル情報１４０の主キーカラム情報１４１に対応し、図６に示す「特徴情報」の項目「従属属性数」と「従属属性のデータ型構成」は図４に示すテーブル情報１４０の従属カラム情報１４３に対応し、図６に示す「特徴情報」の項目「外部キー属性数」と「外部キーのデータ型構成」は図４に示すテーブル情報１４０の外部キー情報１４４に対応する。
以下、「特徴情報」の各項目を特徴情報項目とする。
【００２２】
次に、「重み付け変数」について説明する。
重み付け変数記憶装置１０９には類似度評価部１０８が類似度を評価する際に使用するパラメータ（重み付け変数）を設定する。
パラメータ（重み付け変数）には、各“特徴情報項目”に対するパラメータである「類似許容範囲」と「変動率」と「比重」、また、“特徴情報”に対するパラメータである「類似判定閾値」、“データ型”に対するパラメータである「標準データ型間での類似度」等がある。
「類似許容範囲」は、統合対象のデータベースが有する各テーブル間で各特徴情報項目の値を比較するときに類似かどうかを判定するための境界値である。類似度評価部１０８は、２つのテーブル間で特徴情報項目Ａ（例えば、主キー属性数）の差分値が「類似許容範囲」以内であれば当該２つのテーブルの特徴情報項目Ａは“類似”、「類似許容範囲」を超えていれば特徴情報項目Ａは“類似していない（非類似）”と判定する。“類似”している“特徴情報項目”が多いほど“特徴情報”が類似し、類似する“特徴情報”に対応する２つのテーブルはマッピング候補となる。
「変動率」は、類似度評価部１０８が“類似”と判定した特徴情報項目について、類似度評価部１０８が２つのテーブル間での特徴情報項目の差分値に応じて当該特徴情報項目の類似度の算出に使用する値で、類似度を減少させる割合（差分値当たりの類似度減少値）を示す。例えば、類似度を０（完全不一致）〜１（完全一致）とし、「変動率」を０．１とした場合、差分値が２である特徴情報項目の類似度は０．８（＝１−０．１×２）になる。
「比重」は、類似度評価部１０８が特徴情報全体の類似度、つまり、比較した２つのテーブルの類似度、を算出する際に使用する各特徴情報項目の類似度に対する重み付けを示す。例えば、全ての特徴情報項目で類似度の重みを均等に扱う場合は全ての特徴情報項目の「比重」を１とする。また、ある特定の特徴情報項目を重く扱う場合は、他の特徴情報項目の「比重」が１であれば、重く扱う特徴情報項目の「比重」を１より大きい値にする。
「標準データ型間での類似度」は、２つのテーブル間で異なる標準データ型のデータ項目を対応付ける場合の当該データ項目分の特徴情報項目の類似度を示す。例えば、標準データ型間の類似度を０（完全不一致）〜１（完全一致）としたときの「標準データ型間での類似度」の一例を図７に示す。図７において、文字型のデータ項目同士の類似度は１、文字型のデータ項目と真数型のデータ項目との類似度は０．４を示す。
「類似判定閾値」は、特徴情報全体として類似か、つまり、テーブルが類似かどうか、を判定するための境界値である。類似度評価部１０８は各特徴情報項目の類似度に「比重」を掛けて合計した値が「類似判定閾値」以上であれば“類似”、「類似判定閾値」未満であれば“非類似”と判定する。
各パラメータの設定値は、スキーマ統合支援装置１０２で予め定義しておき、必要に応じてシステム管理者（ユーザ）により入力装置で変更することが可能である。また、パラメータは特徴情報項目の内容に応じて追加あるいは削除してもよい。
【００２３】
図８は、実施の形態１における「マッピング情報」の一例を示す図である。
類似度評価部１０８は、「特徴情報」が類似でありマッピング候補と判定した２つのテーブルについて、図８に示すような「マッピング情報」をマッピングモデル記憶装置１１０に格納する。「マッピング情報」は、例えば、第１のデータベース１００と第２のデータベース１０１とでマッピング候補と判定したそれぞれのテーブルの名前とその類似度を示す。
図８では、テーブル名を“スキーマ名．テーブル名”で表わし、各行にマッピング候補を示している。図８において、第１のデータベース１００の“ＨＡＮ”スキーマの“ＵＲＩＡＧＥ”テーブル（第１のデータベースが有するテーブルＡの一例）に対する第２のデータベース１０１のテーブルのマッピング候補（第２のデータベースが有するテーブルＢの一例）は、“販売”スキーマの“売上実績”テーブル、“販売”スキーマの“売上明細”テーブル、“在庫”スキーマの“出庫実績”テーブルの３テーブルである。また、それぞれの類似度は“４．２３”、“５．６５”、“３．７２”であり、データベースを統合するユーザやスキーマ統合支援装置１０２は類似度を参照することで、第１のデータベース１００の“ＨＡＮ”スキーマの“ＵＲＩＡＧＥ”テーブルにマッピングする第２のデータベース１０１のテーブルの一番の候補は一番類似度が高い“販売”スキーマの“売上明細”テーブルであることが判定できる。
【００２４】
図９は、実施の形態１におけるスキーマ統合支援処理（スキーマ統合支援方法）を示すフローチャートである。
スキーマ統合支援装置１０２が実行するスキーマ統合支援処理（スキーマ統合支援方法）を図９のフローチャートを用いて以下に説明する。
なお、以下に説明するスキーマ統合支援処理（スキーマ統合支援方法）はコンピュータに実行させることができ、スキーマ統合支援処理（スキーマ統合支援方法）をコンピュータに実行させるプログラムがスキーマ統合支援プログラムである。
【００２５】
＜ステップ１２０：データ構造情報抽出処理工程＞
まず、スキーマ情報抽出部１０３は、統合対象のデータベースシステムのいずれか（第１のデータベース１００あるいは第２のデータベース１０１）から「スキーマ情報」を取得する。そして、スキーマ情報抽出部１０３は、取得した「スキーマ情報」に基づいて各テーブルのテーブル情報１４０を生成し、全テーブルのテーブル情報１４０を「スキーマ情報（以降のスキーマ統合支援処理で使用するスキーマ情報）」としてスキーマ情報記憶装置１０４に格納する。
取得する「スキーマ情報」としては、データベースに存在するテーブルの“テーブル名一覧情報”、各テーブルの“主キー属性の情報”、各テーブルの“従属属性の情報”、各テーブルの“外部キー属性の情報”などがある。
スキーマ情報抽出部１０３は、第１のデータベース１００および第２のデータベース１０１を管理するデータベース管理システムが提供する「スキーマ情報」へのアクセス機能を使用して「スキーマ情報」を収集する。「スキーマ情報」にアクセスする方法としては、システムテーブル等と呼ばれるデータベースの「スキーマ情報」の格納されているデータを通常のデータと同様にアクセスする方法や、「スキーマ情報」をアクセスするための専用ＡＰＩ（アプリケーションインタフェース）を使用する方法等があるが、いずれの方法を使用してもよい。
スキーマ情報抽出部１０３は特徴情報生成部１０５が生成する「特徴情報」に依存して必要となる「スキーマ情報」を収集し、テーブル情報１４０を生成する。
例えば、特徴情報生成部１０５が図６に示すような特徴情報項目を有する「特徴情報」を生成することに依存して図４に示すようなテーブル情報１４０を生成する場合、スキーマ情報抽出部１０３のテーブル情報１４０（スキーマ情報の一部）の生成処理は次のようになる。
ユニークなＩＤを生成しテーブル情報１４０の“ＩＤ”に設定する。
また、取得した「スキーマ情報」の“テーブル名一覧情報”に基づいてテーブル情報１４０の“テーブル名”を設定する。
また、取得した「スキーマ情報」の“主キー属性の情報”に基づいてテーブル情報１４０の“主キーカラム情報１４１”を生成する。
また、取得した「スキーマ情報」の“従属属性の情報”に基づいてテーブル情報１４０の“従属カラム情報１４３”を生成する。
また、取得した「スキーマ情報」の“外部キー属性の情報”に基づいてテーブル情報１４０の“主キー参照先情報１４２”と“外部キー情報１４４”とを生成する。
【００２６】
＜ステップ１２１：特徴情報生成処理工程＞
次に、特徴情報生成部１０５は、スキーマ情報抽出部１０３が生成してスキーマ情報記憶装置１０４に格納した「スキーマ情報（テーブル情報１４０の集合）」に基づいて各テーブルの「特徴情報」を生成して特徴情報記憶装置１０７に格納する。
例えば、図４のテーブル情報１４０に基づいて図６に示す特徴情報項目を有する「特徴情報」を生成する場合の特徴情報生成部１０５の「特徴情報」の生成処理は次のようになる。
特徴情報項目の「ＩＤ」にはテーブル情報１４０のＩＤを設定する。
特徴情報項目の「主キー属性数」、「主キーの参照先テーブル数」、「従属属性数」、「外部キー属性数」には、それぞれテーブル情報１４０の主キーカラム情報１４１の個数、主キー参照先情報１４２の個数、従属カラム情報１４３の個数、外部キー情報１４４の個数を設定する。
また、特徴情報生成部１０５は、テーブル情報１４０の主キーカラム情報１４１、従属カラム情報１４３、外部キーカラム情報１４５の各データ型を、図５に示すようなデータ型辞書を使用して標準データ型に変換し、主キーカラム情報１４１、従属カラム情報１４３、外部キーカラム情報１４５のそれぞれについて標準データ型毎のデータ項目数を集計する。そして、特徴情報生成部１０５は、特徴情報項目の「主キーのデータ型構成」には主キーカラム情報１４１のデータ型について集計した各標準データ型のデータ項目数を設定し、特徴情報項目の「従属属性のデータ型構成」には従属カラム情報１４３のデータ型について集計した各標準データ型のデータ項目数を設定し、特徴情報項目の「外部キーのデータ型構成」には外部キーカラム情報１４５のデータ型について集計した各標準データ型のデータ項目数を設定する。
【００２７】
＜ステップ１２２＞
スキーマ統合支援装置１０２は統合対象の全てのデータベースについて「特徴情報」を生成したか判定する。
例えば、スキーマ情報抽出部１０３が、第１のデータベース１００と第２のデータベース１０１の二つのデータベースに対して上記ステップ１２０と上記ステップ１２１とを実施済みか確認し、実施済みの場合はステップ１２３に処理を移し、未実施のデータベースがある場合はステップ１２０に処理を移す。
【００２８】
＜ステップ１２３：類似度評価処理工程＞
そして、類似度評価部１０８は、特徴情報記憶装置１０７に格納された「特徴情報」に基づいて統合対象のデータベース間での各テーブルの類似度を算出する。そして、「マッピング情報」を生成してマッピングモデル記憶装置１１０（出力装置の一例）に格納しスキーマ統合支援処理を終了する。
また、類似度評価部１０８は表示装置９０１やプリンタ装置９０６などの出力装置、第１のデータベース１００と第２のデータベース１０１とのデータをマージするプログラムなどに「マッピング情報」を出力する。出力された「マッピング情報」に基づいてデータベースの統合作業をユーザに行わせることで、スキーマ統合支援装置１０２はユーザのデータベース統合作業の効率を向上することができる。
類似度評価部１０８は、類似度評価処理工程において、統合対象のデータベース間で２つのデータベースのテーブルを組み合わせて全テーブルの組み合わせについてテーブルの類似度を算出する。また、テーブルの類似度を算出する際、類似度評価部１０８は、各特徴情報項目について類似度を算出し、各特徴情報項目の類似度を合計した値を「特徴情報」の類似度、つまり、テーブルの類似度とする。
【００２９】
図１０は、実施の形態１における類似度評価部１０８の類似度評価処理の流れを示すフローチャートである。
類似度評価部１０８が実行する上記ステップ１２３（類似度評価処理工程）について図１０に基づいて以下に説明する。
【００３０】
＜類似度算出処理工程：ステップ１８１〜ステップ１８４、ステップ１８７、ステップ１８８＞
＜ステップ１８１＞
類似度評価部１０８は、統合対象のデータベースの一方を選定し、選定した方のデータベースを類似度評価する際の比較元のデータベースとする。例えば、第１のデータベース１００と第２のデータベース１０１とで定義されているそれぞれのテーブル数を比較してテーブル数が多い方を比較元のデータベースとする。ここでは、第１のデータベース１００を選定したものとする。なお選定方法は任意の方法でよく、例えば、データベースとして指定された順番に基づいて比較元・比較先を選定する。
【００３１】
＜ステップ１８２＞
類似度評価部１０８は比較元のデータベース（第１のデータベース１００）が有する各テーブルに対応する「特徴情報」を特徴情報記憶装置１０７から一つ取り出す。
【００３２】
＜ステップ１８３＞
類似度評価部１０８は比較先のデータベース（第２のデータベース１０１）が有する各テーブルに対応する「特徴情報」を特徴情報記憶装置１０７から一つ取り出す。
【００３３】
＜ステップ１８４：類似度計算処理＞
類似度評価部１０８はステップ１８２で取得した比較元のデータベース（第１のデータベース１００）の「特徴情報」とステップ１８３で取得した比較先のデータベース（第２のデータベース１０１）の「特徴情報」とを比較して「特徴情報」の類似度、つまり、テーブルの類似度を計算する。
【００３４】
＜マッピング情報生成処理工程：ステップ１８５〜ステップ１８６＞
＜ステップ１８５＞
類似度評価部１０８はステップ１８４で計算した類似度と重み付け変数記憶装置１０９に記憶された「類似判定閾値」とを比較する。比較した結果、類似度が「類似判定閾値」以上（類似）の場合はステップ１８６に処理を移し、類似度が「類似判定閾値」未満（非類似）の場合はステップ１８７に処理を移す。
【００３５】
＜ステップ１８６＞
類似度評価部１０８はステップ１８５で類似と判定した１組の「特徴情報」についてマッピング候補を生成しマッピングモデル記憶装置１１０に格納された「マッピング情報」に設定する。
このとき、類似度評価部１０８はステップ１８５で類似と判定した１組の「特徴情報」のそれぞれについてスキーマ情報記憶装置１０４に記憶された「スキーマ情報」を検索して「ＩＤ」が一致するテーブル情報１４０を取得し、取得したテーブル情報１４０のテーブル名とステップ１８４で計算した類似度とをマッピング候補として図８に示すようにマッピングモデル記憶装置１１０に格納する。
【００３６】
＜ステップ１８７＞
類似度評価部１０８は比較先のデータベース（第２のデータベース１０１）の「特徴情報」で未評価のものがないか確認し、未評価の「特徴情報」がある場合はステップ１８３に処理を移し、未評価の「特徴情報」がない場合はステップ１８８に処理を移す。
【００３７】
＜ステップ１８８＞
類似度評価部１０８は比較元のデータベース（第１のデータベース１００）の「特徴情報」で未評価のものがないか確認し、未評価の「特徴情報」がある場合はステップ１８２に処理を移し、未評価の「特徴情報」がない場合は類似度評価処理を終了する。
【００３８】
上記の類似度評価処理により、類似度評価部１０８は比較元のデータベースが有する全てのテーブルを比較先の全てのテーブルと比較して各テーブル間の類似度を計算し、マッピング情報を作成する。
【００３９】
上記類似度評価処理は統合対象のデータベースが２つである場合を説明した。統合対象のデータベースが３つ以上ある場合は、各データベースを比較先のデータベースとしてステップ１８３〜ステップ１８７をデータベース数分処理し、各データベースを比較元のデータベースとしてステップＳ１８２〜ステップ１８８をデータベース数分処理する。
【００４０】
図１１は、実施の形態１における類似度評価部１０８の類似度計算処理の流れを示すフローチャートである。
類似度評価部１０８が実行する上記ステップ１８４（類似度計算処理）について図１１に基づいて以下に説明する。
類似度評価部１０８は、上記ステップ１８４（類似度計算処理）において、特徴情報項目毎に類似度を算出し、各特徴情報項目の類似度の合計値を「特徴情報」の類似度（テーブルの類似度）として算出する。
【００４１】
＜ステップ２０１：特徴情報項目の類似度計算処理＞
類似度評価部１０８は、上記ステップ１８２で取得した比較元のデータベース（第１のデータベース１００）が有するテーブルの「特徴情報」と上記ステップ１８３で取得した比較先のデータベース（第２のデータベース１０１）が有するテーブルの「特徴情報」とから特徴情報項目を一つ選択して、選択した特徴情報項目の値を比較して選択した特徴情報項目の類似度を計算する。
【００４２】
＜ステップ２０２＞
類似度評価部１０８は、全ての特徴情報項目の類似度を計算したか確認し、類似度を算出していない特徴情報項目がある場合はステップ２０１に処理を移し、全ての特徴情報項目の類似度を計算済みである場合はステップ２０３に処理を移す。
【００４３】
＜ステップ２０３＞
類似度評価部１０８は、各特徴情報項目の類似度に重み付け変数記憶装置１０９に記憶された各特徴情報項目の「比重」を掛けて合計した合計値を「特徴情報」の類似度（テーブルの類似度）として算出し類似度計算処理を終了する。
【００４４】
次に、類似度評価部１０８が実行する上記ステップ２０１（特徴情報項目の類似度計算処理）について説明する。
特徴情報項目の類似度の計算には、“単一の項目値（各従属関係を示す属性が定義されたデータ項目の数を示す特徴情報項目値）”を比較して計算する場合と、“データ型の構成（データ型属性毎のデータ項目数を示す特徴情報項目値）”を比較する場合の二通りある。図６に示す特徴情報項目の場合、“単一の項目値”による類似度計算で比較する特徴情報項目は「主キー属性数」、「主キーの参照先テーブル数」、「従属属性数」、「外部キー属性数」が該当し、“データ型の構成”による類似度計算で比較する特徴情報項目は、「主キーのデータ型構成」、「従属属性のデータ型構成」、「外部キーのデータ型構成」が該当する。
以下に、“単一の項目値”による特徴情報項目の類似度計算処理と“データ型の構成”による特徴情報項目の類似度計算処理とを説明する。
【００４５】
図１２は、実施の形態１における特徴情報項目の類似度計算処理（単一の項目値）の流れを示すフローチャートである。
まず、上記ステップ２０１における類似度評価部１０８の“単一の項目値”による特徴情報項目の類似度計算処理について図１２に基づいて以下に説明する。
“単一の項目値”による類似度計算で比較する特徴情報項目は「主キー属性数」、「主キーの参照先テーブル数」、「従属属性数」、「外部キー属性数」が該当する。
【００４６】
＜ステップ１５０＞
類似度評価部１０８は比較元の特徴情報項目値が０かどうか調べる。０の場合はステップ１５１に処理を移し、０でない場合はステップ１５２に処理を移す。
＜ステップ１５１＞
比較元の特徴情報項目値が０である場合、類似度評価部１０８は比較先の特徴情報項目値が０かどうか調べる。０の場合はステップ１５７に処理を移し、０でない場合はステップ１５６に処理を移す。
＜ステップ１５７＞
比較元と比較先の特徴情報項目値が共に０である場合、類似度評価部１０８は当該特徴情報項目の類似度を１（類似）として特徴情報項目の類似度計算処理を終了する。
【００４７】
＜ステップ１５２＞
比較元の特徴情報項目値が０でない場合、類似度評価部１０８は比較先の特徴情報項目値が０かどうか調べる。０の場合はステップ１５６に処理を移し、０でない場合はステップ１５３に処理を移す。
＜ステップ１５３＞
比較元と比較先の特徴情報項目値が共に０でない場合、類似度評価部１０８は減算処理を行い比較元の特徴情報項目値と比較先の特徴情報項目値との差の絶対値を計算する。
＜ステップ１５４＞
類似度評価部１０８はステップ１５３で比較した特徴情報項目に対応する「類似許容範囲」を重み付け変数記憶装置１０９から取得し、ステップ１５３で計算した比較元と比較先との特徴情報項目値の差の絶対値（以下、差分とする）と取得した「類似許容範囲」とを比較する。差分が「類似許容範囲」以下の場合はステップ１５５に処理を移し、「類似許容範囲」を超える場合はステップ１５６に処理を移す。
＜ステップ１５５＞
類似度評価部１０８はステップ１５３で比較した特徴情報項目に対応する「変動率」を重み付け変数記憶装置１０９から取得し、ステップ１５３で計算した差分と取得した「変動率」とに基づいて当該特徴情報項目の類似度を計算して特徴情報項目の類似度計算処理を終了する。特徴情報項目の類似度は「１−（変動率×差分）」の式で計算する。
＜ステップ１５６＞
差分が類似度許容範囲より大きい場合（ステップ１５４）、または、比較元と比較先との一方の特徴情報項目値が０で他方の特徴情報項目値が０でない場合（ステップ１５１、ステップ１５２）、類似度評価部１０８は当該特徴情報項目の類似度を０（非類似）として特徴情報項目の類似度計算処理を終了する。
以上の処理により類似度評価部１０８は“単一の項目値”の比較により特徴情報項目の類似度を計算する。
【００４８】
図１３は、実施の形態１における特徴情報項目の類似度計算処理（データ型の構成）の流れを示すフローチャートである。
まず、上記ステップ２０１における類似度評価部１０８の“データ型の構成”による特徴情報項目の類似度計算処理について図１３に基づいて以下に説明する。
“データ型の構成”による類似度計算で比較する特徴情報項目は、「主キーのデータ型構成」、「従属属性のデータ型構成」、「外部キーのデータ型構成」が該当する。
【００４９】
類似度評価部１０８は、“データ型の構成”による特徴情報項目の類似度計算処理において、標準データ型が一致するデータ項目同士は互いに“対応するデータ項目（類似するデータ項目）”であると判定し、“対応するデータ項目”以外の“対応しないデータ項目”の数に基づいて類似度を算出する。また、類似度評価部１０８は、標準データ型が一致しない“対応しないデータ項目”を他の標準データ型（代替対応データ型）に置き換えることで、元の標準データ型が一致しなかった“対応しないデータ項目”を“対応するデータ項目”として扱う。このとき、類似度評価部１０８は、元の標準データ型と代替対応データ型との類似度（標準データ型間での類似度）に応じて“対応するデータ項目”の数および“対応しないデータ項目”の数を設定し類似度を算出する。
【００５０】
＜ステップ１６０＞
類似度評価部１０８は元の標準データ型同士で“対応するデータ項目”が幾つ有るか算出する。
そこで、類似度評価部１０８は、標準データ型毎に特徴情報項目の比較先のデータ項目数（文字型属性数、真数型属性数など）から比較元のデータ項目数を減算して標準データ型の差分値を計算する。
＜ステップ１６１＞
類似度評価部１０８は、全ての標準データ型について全てのデータ項目が“対応するデータ項目”であるか、つまり、“対応しないデータ項目”が無いかを判定する。
そこで、類似度評価部１０８は、すべての標準データ型について、ステップ１６０で計算した差分値が０かどうか調べる。すべての標準データ型の差分値が０であるとき、比較元と比較先ですべてのデータ項目が対応付けられたことを示す。すべての差分値が０の場合はステップ１６２に処理を移し、そうでない場合はステップ１６３に処理を移す。
＜ステップ１６２＞
全ての標準データ型の差分値が０である場合、類似度評価部１０８は当該特徴情報項目の類似度を１（類似）として特徴情報項目の類似度計算処理を終了する。
＜ステップ１６３＞
差分値が０である標準データ型が全ての標準データ型でない場合、類似度評価部１０８は、比較元と比較先のいずれか一方について全てのデータ項目が“対応するデータ項目”であるか、つまり、各データ型のデータ項目数について、比較元と比較先との一方のデータ項目数が他方のデータ項目数より全てのデータ型で多いかを判定する。
そこで、類似度評価部１０８は、ステップ１６０で計算した差分値のすべての値が正（＋）または負（−）であるか調べる。すべての差分値が正（＋）または０であるとき、比較元のデータ項目がすべて対応付けられたことを示す。すべての差分値が負（−）または０であるとき、比較先のデータ項目がすべて対応付けられたことを示す。すべての差分値が正か負の場合はステップ１６４に処理を移し、そうでない場合はステップ１６７に処理を移す。
図１４に比較元のデータ項目が全て対応付けられる場合のデータ項目数の例を示し、図１５に比較先のデータ項目が全て対応付けられる場合の例を示し、図１６に比較元・比較先共に未対応のデータ項目がある場合の例を示す。
＜ステップ１６４＞
全ての差分値が正か負の場合、類似度評価部１０８はステップ１６０で計算した各標準データ型での差分値の絶対値を合計する。合計した値は、比較元と比較先とで“対応しないデータ項目”の数である。
図１４または図１５に示す差分値の場合、合計は“５＝３＋２＋０”である
＜ステップ１６５＞
類似度評価部１０８は当該特徴情報項目に対応する「類似許容範囲」を重み付け変数記憶装置１０９から取得し、ステップ１６４で計算した合計（“対応しないデータ項目”の数）と取得した「類似許容範囲」とを比較する。合計が「類似許容範囲」以下の場合はステップ１６６に処理を移し、「類似許容範囲」を超える場合はステップ１７４に処理を移す。
＜ステップ１６６＞
合計が「類似許容範囲」以下の場合、類似度評価部１０８は当該特徴情報項目に対応する「変動率」を重み付け変数記憶装置１０９から取得し、ステップ１６４で計算した合計と取得した「変動率」とに基づいて当該特徴情報項目の類似度を計算して特徴情報項目の類似度計算処理を終了する。特徴情報項目の類似度は「１−（変動率×合計）」の式で計算する。
【００５１】
以下、ステップ１６０で計算した差分値が図１７に示す値である場合を例に説明する。
【００５２】
＜ステップ１６７＞
正の差分値と負の差分値とがある場合（ステップ１６３）、代替対応データ型でなく元の標準データ型で“対応するデータ項目”になっているデータ項目の数を算出する。
そこで、類似度評価部１０８は、まず、比較元の各データ型の値の合計（Ａ）を計算する。つまり、類似度評価部１０８は比較元の全データ項目数を求める。図１７の場合、“合計（Ａ）＝５＋５＋２＋２＋１＝１５”である（ステップ１６７ａ）。
次に、ステップ１６０で計算した差分値の中で、負の値になっているものの合計（Ｂ）を計算する。このとき、「差分値＝比較先のデータ項目数−比較元のデータ項目数」なので、値が負の差分値は、比較先に対応するデータ項目が無い比較元のデータ項目の数となる。図１７の場合、“合計（Ｂ）＝（−２）＋（−１）＝−３”である（ステップ１６７ｂ）。
そして、合計Ａと合計Ｂを加算して、比較元と比較先とで“対応するデータ項目”の数を求める。図１７の場合、“対応するデータ項目数＝１５＋（−３）＝１２”である（ステップ１６７ｃ）。
【００５３】
＜ステップ１６８〜ステップ１７０＞
類似度評価部１０８は、“対応しないデータ項目”の標準データ型を代替対応データ型に置き換える際、“対応しないデータ項目”を有する他の標準データ型のうちから代替対応データ型を選択する。代替対応データ型の選択は「標準データ型間での類似度」に基づいて行う。
【００５４】
以下、「標準データ型間での類似度」が図７に示す値である場合を例に説明する。
【００５５】
＜ステップ１６８＞
類似度評価部１０８は、ステップ１６０で計算した差分値が負のデータ型について、代替対応データ型がないか調べる。図１７の場合、真数型（差分値＝−２）とバイナリ型（差分値＝−１）について代替対応データ型が無いか調べる。以下、真数型を例に説明する。
類似度評価部１０８は、まず、重み付け変数記憶装置１０９に記憶された「標準データ型間での類似度」において、差分値が負の標準データ型との類似度が０でない標準データ型を調べる。図７に示す「標準データ型間の類似度」の場合、真数型との類似度が０でない標準データ型は文字型と概数型と日付型である。類似度が０でない標準データ型がない場合は代替対応データ型もない（ステップ１６８ａ）。
次に、差分値が正のデータ型を調べる。図１７に示す差分値の場合、文字型と概数型と日付型のうち差分値が正のデータ型は文字型と概数型である。差分値が正のデータ型がない場合は代替対応データ型もない（ステップ１６８ｂ）。
そして、「標準データ型間での類似度」が大きい標準データ型から順番に代替対応データ型を選択する。図７に示す「標準データ型間の類似度」の場合、文字型と概数型とで真数型との類似度が大きいのは概数型であるため代替対応データ型は概数型である（ステップ１６８ｃ）。
類似度評価部１０８は代替対応データ型が有る場合はステップ１６９に処理を移し、無い場合はステップ１７０に処理を移す（ステップ１６８ｄ）。
【００５６】
＜ステップ１６９＞
類似度評価部１０８は、ステップ１６８で代替対応データ型を選択することにより“対応するデータ項目”として扱うデータ項目について、ステップ１６０で計算した差分値に反映する。
そこで、類似度評価部１０８は、まず、負の値でありデータ型を代替対応データ型に置き換える元の標準データ型の差分値と正の値であり代替対応データ型の差分値を加算する。図１７に示す差分値の場合、“（−２）｛真数型の差分値｝＋１｛概数型の差分値｝＝−１”である（ステップ１６９ａ）。
加算した結果が正の値の場合、元の標準データ型の差分値の絶対値を代替対応済データ項目数とし、元の標準データ型の差分値を０とし、代替対応データ型の差分値をステップ１６９ａの加算結果として設定する。つまり、加算した結果が正の値ｎの場合、“代替対応済データ項目数＝元の標準データ型の差分値の絶対値”、“元の標準データ型の差分値＝０”、“代替対応データ型の差分値＝ｎ”である。加算した結果が負の値の場合、代替対応データ型の差分値を代替対応済データ項目数とし、元の標準データ型の差分値をステップ１６９ａの加算結果とし、代替対応データ型の差分値を０として設定する。つまり、図１７に示す差分値の場合、“代替対応済データ項目数＝１”、“真数型の差分値＝（−１）”、“概数型の差分値＝０”である。加算した結果が０のときは、代替対応データ型の差分値を代替対応済データ項目数とし、元の標準データ型と代替対応データ型の両方の差分値を０にする。つまり、加算した結果が０の場合、“代替対応済データ項目数＝代替対応データ型の差分値”、“元の標準データ型の差分値＝０”、“代替対応データ型の差分値＝０”である（ステップ１６９ｂ）。
次に、重み付け変数記憶装置１０９の「標準データ型間での類似度」が示す元の標準データ型と代替対応データ型との類似度と代替対応済データ項目数とを掛け合わせステップ１６７で算出した“対応するデータ項目”の数に加算する。図１７に示す差分値の場合、“１｛真数型の代替対応済データ項目数｝×０．８｛真数型と概数型との類似度｝＋１２｛代替対応データ型で置き換える前の対応するデータ項目数｝＝１２．８｛代替対応データ型で置き換えた後の対応するデータ項目数｝”である（ステップ１６９ｃ）
【００５７】
＜ステップ１７０＞
類似度評価部１０８は代替対応データ型の探索（ステップ１６８）をしていない“対応しないデータ項目”が残っているか判定する。
そこで、類似度評価部１０８は、ステップ１６０で計算した差分値が負の標準データ型のうち、代替対応データ型の探索をしていないものがないか調べ、未探索の標準データ型がある場合はステップ１６８に処理を移し、ない場合はステップ１７１に処理を移す。図１７に示す差分値の場合、一回目のステップ１６９の結果は図１８になる。図１８に示す結果の場合、差分値が負で代替対応データ型を探索していないものがあるか調べると、差分値が負のものは、真数型とバイナリ型であり、このうち真数型は探索済みなので、バイナリ型についてステップ１６８に処理を移す。バイナリ型の処理も完了すると、未探索のものはなくなるので、ステップ１７１に処理を移す。
【００５８】
＜ステップ１７１＞
類似度評価部１０８は“対応しないデータ項目”の数を計算する。
このとき、類似度評価部１０８は、正である差分値の合計と負である差分値の合計の絶対値を比較し、値が大きい方を“対応しないデータ項目”の数とする。差分値がすべてのデータ型で０になった場合の“対応しないデータ項目”の数は０である。図１７に示す差分値の場合、ステップ１７０の結果は図１８になる。図１８に示す結果の場合、“正である差分値の合計＝１”、“負である差分値の合計の絶対値＝２”であるため、“対応しないデータ項目の数＝２”である。
【００５９】
＜ステップ１７２＞
類似度評価部１０８は当該特徴情報項目に対応する「類似許容範囲」を重み付け変数記憶装置１０９から取得し、ステップ１７１で計算した合計（“対応しないデータ項目”の数）と取得した「類似許容範囲」とを比較する。合計が「類似許容範囲」以下の場合はステップ１７３に処理を移し、「類似許容範囲」を超える場合はステップ１７４に処理を移す。ステップ１７０の結果が図１８であり合計が２である場合、「類似許容範囲」＝３とすると“２｛合計｝≦３｛類似許容範囲｝”であるからステップ１７３に処理を移す。また、「類似許容範囲」＝１とすると“２｛合計｝＞１｛類似許容範囲｝”となるためステップ１７４に処理を移す。
【００６０】
＜ステップ１７３＞
合計が「類似許容範囲」以下の場合、類似度評価部１０８は、当該特徴情報項目に対応する「変動率」を重み付け変数記憶装置１０９から取得し、ステップ１７１で計算した合計と取得した「変動率」とに基づいて当該特徴情報項目の類似度を計算して特徴情報項目の類似度計算処理を終了する。特徴情報項目の類似度は「（１−（変動率×合計））×（対応するデータ項目数÷全データ項目数）」の式で計算する。
このとき、類似度評価部１０８は、まず、比較元と比較先それぞれについて、各データ型の値の合計を計算し、合計が小さい方、つまり、少ない方のデータ項目数を全データ項目数とする。ステップ１７０の結果が図１８の場合、“比較元のデータ型の値の合計＝５＋５＋２＋２＋１＝１５”、“比較先のデータ型の値の合計＝６＋３＋３＋２＋０＝１４”であるため、“全データ項目数＝１４（＜１５）”である（ステップ１７３ａ）。
そして、ステップ１６７およびステップ１６９で算出した“対応するデータ項目”の数とステップ１７１で計算した合計と重み付け変数記憶装置１０９から取得した「変動率」とに基づいて特徴情報項目の類似度を計算する。「変動率」が０．１、ステップ１７０の結果が図１８、合計が２、“対応するデータ項目”の数が１２．８の場合、“類似度＝０．７３≒（１−（０．１×２））×（１２．８÷１４）”である（ステップ１７３ｂ）。
【００６１】
＜ステップ１７４＞
合計が「類似許容範囲」を超える場合（ステップ１６５、ステップ１７２）、類似度評価部１０８は当該特徴情報項目の類似度を０（非類似）として特徴情報項目の類似度計算処理を終了する。
以上の処理により類似度評価部１０８は“データ型の構成”の比較による特徴情報項目の類似度を計算する。
【００６２】
上記実施の形態において、異なるデータベース間のスキーマ統合支援処理で、データベースの固有データ型を標準データ型に対応付けるデータ型辞書と、類似度の計算や評価基準に使用する重み付け変数を備え、データベースからスキーマ情報を抽出する手段（スキーマ情報抽出部１０３）と、抽出したスキーマ情報からデータの特徴情報を生成する手段（特徴情報生成部１０５）と、生成した特徴情報から類似度を評価しマッピングモデルを作成する手段（類似度評価部１０８）を有することを特徴とするスキーマ統合支援方法について説明した。
【００６３】
また、スキーマ情報として主にデータ間の制約条件・従属関係を使用して特徴情報を生成することを特徴とするスキーマ統合支援方法について説明した。
【００６４】
以上のように、データベースのスキーマ情報からデータ間の制約条件・従属関係に着目してテーブルの特徴情報を作成し、特徴情報を比較してテーブルの類似度を計算することで、一定基準の類似度（「類似判定閾値」以上の類似度）を持つテーブルのマッピング候補を生成することができる。
また、マッピング候補毎に類似度が計算されるため、類似度を比較することによりマッピング候補の順位付けを行うことができる。
さらに、特徴情報には外部キー属性や主キーの参照先テーブル数といった他のテーブルとの関連性の情報を含んでいるため、構造が似ているテーブルが複数存在している場合にも、他のテーブルとの関連性から類似度の違いを判別できる。
また、属性のデータ型は標準データ型に対応付けられ、異なる標準データ型間での類似度を評価できるので、同一の意味のデータ項目を異なるデータ型で定義しているようなスキーマ同士（例えば、日付データを片や文字型でもう一方は日付型で定義）についても対応できる。
さらに、特徴情報は数値項目の集合として定義されており、各項目について共通の方法により類似度を評価するので、特徴情報の項目の追加、削除に容易に対応できる。
また、特徴情報はデータベースのスキーマ情報から作成するので、データベースの実データにアクセスすることなしに、マッピング候補を作成できる。
さらに、マッピング候補の判定に実データを使用しないため、統合対象のデータベース間でのデータ内容の標準化（統一）といった前処理が不要である。
そして、特徴情報の項目としてデータの属性名を使用しないため、属性名が適切に設定されていないデータベースに対してもマッピング候補を作成できる。
【００６５】
上記実施の形態において、「リレーショナルデータベース」を例に挙げて説明したが、階層データベース、ネットワークデータベース、オブジェクト指向データベースなどの他のデータベースが統合対象のデータベースであっても構わない。上記実施の形態における「テーブル」とは特定のデータ構造を有するデータの集合を意味し、「リレーショナルデータベース」以外のデータベースにおいても、上記実施の形態と同様に、データ構造（特に、データ間の従属関係やデータ型）に基づいて類似度を算出し、マッピング情報を生成すればよい。
【図面の簡単な説明】
【００６６】
【図１】実施の形態１におけるスキーマ統合支援装置１０２の外観を示す図。
【図２】実施の形態１におけるスキーマ統合支援装置１０２のハードウェア構成図。
【図３】実施の形態１におけるスキーマ統合支援装置１０２の機能要素を示す機能構成図。
【図４】実施の形態１における「スキーマ情報」の一例を示すデータ構造図。
【図５】実施の形態１における「データ型辞書」の一例を示す図。
【図６】実施の形態１における「特徴情報」の項目の一例を示す図。
【図７】実施の形態１における「標準データ型間での類似度」の一例を示す図。
【図８】実施の形態１における「マッピング情報」の一例を示す図。
【図９】実施の形態１におけるスキーマ統合支援処理（スキーマ統合支援方法）を示すフローチャート。
【図１０】実施の形態１における類似度評価部１０８の類似度評価処理の流れを示すフローチャート。
【図１１】実施の形態１における類似度評価部１０８の類似度計算処理の流れを示すフローチャート。
【図１２】実施の形態１における特徴情報項目の類似度計算処理（単一の項目値）の流れを示すフローチャート。
【図１３】実施の形態１における特徴情報項目の類似度計算処理（データ型の構成）の流れを示すフローチャート。
【図１４】実施の形態１における差分値が全て０以上である場合の比較元と比較先の標準データ型毎のデータ項目数の一例を示す図。
【図１５】実施の形態１における差分値が全て０以下である場合の比較元と比較先の標準データ型毎のデータ項目数の一例を示す図。
【図１６】実施の形態１における差分値に正の値と負の値とが含まれる場合の比較元と比較先の標準データ型毎のデータ項目数の一例を示す図。
【図１７】実施の形態１におけるステップ１６０で算出した差分値の一例を示す図。
【図１８】実施の形態１におけるステップ１６９およびステップ１７０後の差分値の一例を示す図。
【符号の説明】
【００６７】
１００  第１のデータベース、１０１  第２のデータベース、１０２  スキーマ統合支援装置、１０３  スキーマ情報抽出部、１０４  スキーマ情報記憶装置、１０５  特徴情報生成部、１０６  データ型辞書記憶装置、１０７  特徴情報記憶装置、１０８  類似度評価部、１０９  重み付け変数記憶装置、１１０  マッピングモデル記憶装置、１４０  テーブル情報、１４１  主キーカラム情報、１４２  主キー参照先情報、１４３  従属カラム情報、１４４  外部キー情報、１４５  外部キーカラム情報、９０１  表示装置、９０２  Ｋ／Ｂ、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９０８  光ディスク装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ＦＡＸ機、９４０  インターネット、９４１  ウェブサーバ、９４２  ＬＡＮ。
【図１】
2007188343.tif 000003
【図２】
2007188343.tif 000004
【図３】
2007188343.tif 000005
【図４】
2007188343.tif 000006
【図５】
2007188343.tif 000007
【図６】
2007188343.tif 000008
【図７】
2007188343.tif 000009
【図８】
2007188343.tif 000010
【図９】
2007188343.tif 000011
【図１０】
2007188343.tif 000012
【図１１】
2007188343.tif 000013
【図１２】
2007188343.tif 000014
【図１３】
2007188343.tif 000015
【図１４】
2007188343.tif 000016
【図１５】
2007188343.tif 000017
【図１６】
2007188343.tif 000018
【図１７】
2007188343.tif 000019
【図１８】
2007188343.tif 000020