JP4855080B2 - スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム - Google Patents

スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム Download PDF

Info

Publication number
JP4855080B2
JP4855080B2 JP2006006596A JP2006006596A JP4855080B2 JP 4855080 B2 JP4855080 B2 JP 4855080B2 JP 2006006596 A JP2006006596 A JP 2006006596A JP 2006006596 A JP2006006596 A JP 2006006596A JP 4855080 B2 JP4855080 B2 JP 4855080B2
Authority
JP
Japan
Prior art keywords
information
data
data items
schema
similarity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006006596A
Other languages
English (en)
Other versions
JP2007188343A (ja
Inventor
修一 森川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006006596A priority Critical patent/JP4855080B2/ja
Publication of JP2007188343A publication Critical patent/JP2007188343A/ja
Application granted granted Critical
Publication of JP4855080B2 publication Critical patent/JP4855080B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、異なるデータベース間のスキーマ統合作業を支援するスキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラムに関するものである。
同一概念を表すデータが異なる表現形式で定義されているような複数の異なるデータベースを統合する際に使用する、異なるデータベース間のスキーマ(データベースの構造)の対応付け(マッピング)作業を支援する従来の方法には以下の方法があった。
従来の方法の一つは、データの中でマッピングに使用する属性のドメイン情報(実際のデータ値の集合)を使って、評価関数により一致度を判定し、マッピング候補の導出を行う(例えば、特許文献1)。
また別の方法では、マッピングに使用する属性の名称を標準化し、属性名から類似度を算出することによりマッピング候補を提示する(例えば、特許文献2)。
特開2004−86782号公報 特開平8−249338号公報
従来のスキーマ統合支援方法のうち、マッピング候補の判定に“ドメイン情報”を使用する方法(特許文献1)では、統合処理においてスキーマ情報だけでなく、実際のデータ値が必要になるという課題点があった。さらに、一致度の判定にデータ値を使用するため、統合対象のデータベース間で、事前にデータ値を標準化(統一)する必要があるという課題点があった。
また、マッピング候補の判定に“属性名”を使用する方法(特許文献2)では、属性名は自由形式で任意に設定される情報であるため、統合対象のそれぞれのデータベースにおいて、類似度の算出に適切な属性名が設定されていなければマッピング候補を提示できないという課題点があった。
本発明は、“ドメイン情報”や“属性名”を使用せずにマッピング候補を作成できるようにすることなどを目的とする。
本発明のスキーマ統合支援装置は、第1のデータベースと第2のデータベースとの統合を支援する情報として第1のデータベースと第2のデータベースとでマッピングするテーブルについてのマッピング情報を出力するスキーマ統合支援装置であり、第1のデータベースが有するテーブルAのデータ構造情報と第2のデータベースが有するテーブルBのデータ構造情報とを記憶したスキーマ情報記憶装置と、前記スキーマ情報記憶装置に記憶された第1のデータベースが有するテーブルAのデータ構造情報と第2のデータベースが有するテーブルBのデータ構造情報とを中央処理装置を用いて比較して第1のデータベースが有するテーブルAと第2のデータベースが有するテーブルBとの類似度を算出し算出した類似度をマッピング情報として出力装置に出力する類似度評価部とを備えたことを特徴とする。
本発明のスキーマ統合支援装置によれば、例えば、データ間の制約条件・従属関係といったテーブルのデータ構造に着目することで、類似度を算出することができ、類似するテーブルを選択してマッピング候補を作成することができる。
実施の形態1.
以下、統合対象のデータベースシステム(以下、データベースとする)として「リレーショナルデータベース」を例に、データベースの統合を支援するための情報として、「テーブルのデータ構造情報(スキーマ情報)」に基づいて「テーブルの類似度(マッピング情報)」を生成するスキーマ統合支援装置、スキーマ統合支援方法およびスキーマ統合支援プログラムについて説明する。
図1は、実施の形態1におけるスキーマ統合支援装置102の外観を示す図である。
図1において、スキーマ統合支援装置102は、システムユニット910、表示装置901、キーボード(K/B)902、マウス903、コンパクトディスク装置(CDD)905、プリンタ装置906、スキャナ装置907を備え、これらはケーブルで接続されている。
さらに、スキーマ統合支援装置102は、FAX機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク(LAN)942、ウェブサーバ941を介してインターネット940に接続されている。
図2は、実施の形態1におけるスキーマ統合支援装置102のハードウェア構成図である。
図2において、実施の形態1におけるスキーマ統合支援装置102は、プログラムを実行するCPU(Central Processing Unit:中央処理装置)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、K/B902、マウス903、FDD(Flexible Disk Drive)904、磁気ディスク装置920、CDD905、プリンタ装置906、スキャナ装置907、光ディスク装置908と接続されている。
表示装置901には液晶ディスプレイ、CRT(Cathode Ray Tube)ディスプレイなどがある。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920、光ディスク装置908は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例であり、以下で説明する“スキーマ情報記憶装置104”、“データ型辞書記憶装置106”、“特徴情報記憶装置107”、“重み付け変数記憶装置109”および“マッピングモデル記憶装置110”を構成する。
通信ボード915は、FAX機932、電話器931、LAN942等に接続されている。
例えば、通信ボード915、K/B902、スキャナ装置907、FDD904などは、入力機器、入力装置あるいは入力部の一例である。
また、例えば、通信ボード915、表示装置901などは、出力機器、出力装置あるいは出力部の一例である。
ここで、通信ボード915は、LAN942に限らず、直接、インターネット940、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット940、或いはISDN等のWANに接続されている場合、スキーマ統合支援装置102は、インターネット940、或いはISDN等のWANに接続され、ウェブサーバ941は不用となる。また、スキーマ統合支援装置102の備える通信ボード915は統合対象のデータベースとスキーマ情報などのデータを送受信する。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
上記プログラム群923には、実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態の説明において、「〜情報」として説明するデータ、「〜部」として説明する機能を実行した際の判定結果や演算結果を示すデータ、「〜部」として説明する機能を実行するプログラム間で受け渡しするデータなどが「〜ファイル」として記憶されている。例えば、以下に説明する“スキーマ情報”、“データ型辞書”、“特徴情報”、“重み付け変数”、“マッピング情報”が「〜ファイル」として記憶される。
また、実施の形態の説明において、フローチャートや構成図の矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk cartridge)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)、その他の記憶媒体に記憶される。あるいは、信号線やその他の伝送媒体により伝送される。
また、実施の形態の説明において「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
また、実施の形態を実施するプログラムは、磁気ディスク装置920、FD、光ディスク、CD、MD、DVD、その他の記憶媒体による記憶装置を用いて記憶されても構わない。
図3は、実施の形態1におけるスキーマ統合支援装置102の機能要素を示す機能構成図である。
図3において、第1のデータベース100、第2のデータベース101はスキーマ統合対象のデータベースである。
また、図3において、スキーマ統合支援装置102は以下の機能を備える。
スキーマ統合支援処理で利用する「スキーマ情報」を統合対象のデータベースから取得するスキーマ情報抽出部103。
スキーマ情報抽出部103が取得した「スキーマ情報」を格納するスキーマ情報記憶装置104。
「スキーマ情報」を元にテーブルの「特徴情報」を生成する特徴情報生成部105。
「特徴情報」を生成の際に、統合対象の各データベースが使用するデータ型属性を標準化するための「データ型辞書」を格納するデータ型辞書記憶装置106。
特徴情報生成部105が生成した「特徴情報」を格納する特徴情報記憶装置107。
「特徴情報」に基づいてテーブルの類似度を評価する類似度評価部108。
類似度評価部108がテーブルの類似度を評価する際に使用する定義値(以下、「重み付け変数」とする)を格納する重み付け変数記憶装置109。
類似度評価部108が類似度を元に導出した統合対象のデータベース間でのテーブルの「マッピング情報」を格納するマッピングモデル記憶装置110を有する。
第1のデータベース100、第2のデータベース101は一般的なデータベース管理システムにより管理され、スキーマ統合支援装置102とLAN等のネットワークにより接続される。あるいは、第1のデータベース100、第2のデータベース101の両方または片方が、スキーマ統合支援装置102と同一の計算機システム上に存在していてもよい。
また、スキーマ情報記憶装置104、データ型辞書記憶装置106、特徴情報記憶装置107、重み付け変数記憶装置109およびマッピングモデル記憶装置110は、一つの記憶装置にまとめて実装してもよいし、個別の記憶装置で実装してもよい。
次に、スキーマ情報記憶装置104が格納する「スキーマ情報」、データ型辞書記憶装置106が格納する「データ型辞書」、特徴情報記憶装置107が格納する「特徴情報」、重み付け変数記憶装置109が格納する「重み付け変数」およびマッピングモデル記憶装置110が格納する「マッピング情報」について説明する。
スキーマ情報抽出部103が統合対象のデータベースから取得しスキーマ情報記憶装置104に格納する「スキーマ情報」は、データベースの構造を表わすデータであり、データベースで記憶管理する「テーブルのデータ構造情報」が含まれる。
また、「テーブルのデータ構造情報」にはテーブルを構成するデータ項目(“列”や“データフィールド”を示す)ごとに定義された「データ属性」が含まれる。
「データ属性」は、同一テーブル内の他のデータ項目を一意に識別する属性や他のテーブルとの関連付けを示す属性などの「従属関係に関する情報(従属関係を示す属性)」、データ型・データサイズなどデータ項目に設定されるデータの「制約条件に関する情報(制約条件を示す属性)」などを示す。
「従属関係に関する情報(従属関係を示す属性)」には、「主キー属性(従属属性項目のデータを一意に識別する属性)」、「従属属性(自テーブルの主キー属性項目のデータに関連付ける属性)」、「外部キー属性(他テーブルの主キー属性項目のデータに関連付ける属性)」などがある。
図4は、実施の形態1における「スキーマ情報」の一例を示すデータ構造図である。
図4において、テーブル情報140は1つのテーブルについての「テーブルのデータ構造情報」を示し、「スキーマ情報」はテーブル情報140をテーブル数分有する。各テーブル情報140はID、テーブル名、主キーカラム情報141、主キー参照先情報142、従属カラム情報143および外部キー情報144を有する。
IDとテーブル名はテーブルを一意に識別する情報である。
主キーカラム情報141は「主キー属性」を示す情報であり、主キーを構成する全てのデータ項目のカラムについて「カラム名」と「データ型」を有する。
従属カラム情報143は「従属属性」を示す情報であり、主キー以外の全てのデータ項目のカラムについて「カラム名」と「データ型」を有する。
外部キー情報144は「外部キー属性」を示す情報であり、外部キーである全てのデータ項目について「外部キーID」と「外部キーカラム情報145」を有する。「外部キーID」は「外部キーカラム情報145」を一意に識別する情報であり、「外部キーカラム情報145」は外部キーを構成する全てのデータ項目のカラムについて「カラム名」と「データ型」を有する。
主キー参照先情報142は自テーブルの主キーに関連付いた外部キーを持つ他のテーブルの全てについて「参照先ID(他テーブルのID)」を有する。
図4に示したテーブル情報140のうちIDと外部キーIDは、スキーマ情報抽出部103が、統合対象のデータベースシステムから取得したスキーマ情報をスキーマ情報記憶装置104に格納する際に付加する情報である。
図5は、実施の形態1における「データ型辞書」の一例を示す図である。
データ型辞書記憶装置106には、スキーマ統合支援装置102がスキーマ統合支援処理に使用するデータ型(以下、標準データ型とする)と統合対象のデータベースが使用しているデータ型(以下、固有データ型とする)との対応関係を図5に示すような「データ型辞書」として登録する。つまり、スキーマ統合支援装置102は、スキーマ統合支援処理の前処理として、第1のデータベース100と第2のデータベース101の固有データ型について、標準データ型との対応関係を事前にデータ型辞書記憶装置106に登録する。
図5に示す「データ型辞書」は、統合対象のデータベースである第1のデータベース100“DBMS1”と第2のデータベース101“DBMS2”とのそれぞれの固有データ型を標準データ型に対応付けている。図5に示す「データ型辞書」は、例えば、“DBMS1”の固有データ型である“char”型と“integer”型とをそれぞれ標準データ型である“文字型”と“真数型”とに対応付け、“DBMS2”の固有データ型である“char”型と“nchar”型とを標準データ型である“文字型”に対応付けている。
第1のデータベース100と第2のデータベース101が同一のデータベース管理システムを使用している場合、つまり、同一のデータ型を使用している場合、「データ型辞書」はどちらか片方の固有データ型に標準データ型を対応付けたデータであってもよい。
標準データ型には、例えば文字型、真数型、概数型、日時型、バイナリ型などを定義し、「データ型辞書」は、スキーマ統合支援装置102のデータ型辞書記憶装置106に、予め用意してもよいし、あるいはシステム管理者(ユーザ)が入力装置を用いて随時に定義可能にしておきスキーマ統合支援処理の際に固有データ型と標準データ型との対応関係の定義を変更してもよい。
図6は、実施の形態1における「特徴情報」の項目の一例を示す図である。
特徴情報記憶装置107に格納する「特徴情報」は特徴情報生成部105が「スキーマ情報」からテーブル毎に導出する定量的な値を持つ項目の集まりであり、「特徴情報」が類似する2つのテーブルをマッピング候補とする。「特徴情報」を構成する図6に示すような各項目はスキーマ統合支援装置102の記憶装置(例えば、特徴情報記憶装置107)に予め定義しておく。
図6では、「ID」、「主キー属性数」、「主キーのデータ型構成」、「主キーの参照先テーブル数」、「従属属性数」、「従属属性のデータ型構成」、「外部キー属性数」、「外部キーのデータ型構成」を「特徴情報」の項目として定義している。
「ID」は当該「特徴情報」に対応するテーブルを一意に識別する情報である。
「主キー属性数」は主キー属性が定義されたデータ項目の数を示し、「従属属性数」は主キー属性が定義されていないデータ項目の数を示し、「外部キー属性数」は外部キー属性が定義されたデータ項目の数を示す。
「主キーのデータ型構成」は標準データ型毎の「主キー属性数」、つまり、主キー属性が定義された各データ項目を標準データ型の属性で分類した数を示し、「従属属性のデータ型構成」は標準データ型毎の「従属属性数」を示し、「外部キーのデータ型構成」は標準データ型毎の「外部キー属性数」を示す。
「主キーの参照先テーブル数」は当該「特徴情報」に対応するテーブルの主キーに関連付いた外部キーを持つ他のテーブルの数を示す。
図6に示す「特徴情報」の項目「ID」、「主キーの参照先テーブル数」は、それぞれ図4に示すテーブル情報140のID、主キー参照先情報142に対応する情報である。
また、図6に示す「特徴情報」の項目「主キー属性数」と「主キーのデータ型構成」は図4に示すテーブル情報140の主キーカラム情報141に対応し、図6に示す「特徴情報」の項目「従属属性数」と「従属属性のデータ型構成」は図4に示すテーブル情報140の従属カラム情報143に対応し、図6に示す「特徴情報」の項目「外部キー属性数」と「外部キーのデータ型構成」は図4に示すテーブル情報140の外部キー情報144に対応する。
以下、「特徴情報」の各項目を特徴情報項目とする。
次に、「重み付け変数」について説明する。
重み付け変数記憶装置109には類似度評価部108が類似度を評価する際に使用するパラメータ(重み付け変数)を設定する。
パラメータ(重み付け変数)には、各“特徴情報項目”に対するパラメータである「類似許容範囲」と「変動率」と「比重」、また、“特徴情報”に対するパラメータである「類似判定閾値」、“データ型”に対するパラメータである「標準データ型間での類似度」等がある。
「類似許容範囲」は、統合対象のデータベースが有する各テーブル間で各特徴情報項目の値を比較するときに類似かどうかを判定するための境界値である。類似度評価部108は、2つのテーブル間で特徴情報項目A(例えば、主キー属性数)の差分値が「類似許容範囲」以内であれば当該2つのテーブルの特徴情報項目Aは“類似”、「類似許容範囲」を超えていれば特徴情報項目Aは“類似していない(非類似)”と判定する。“類似”している“特徴情報項目”が多いほど“特徴情報”が類似し、類似する“特徴情報”に対応する2つのテーブルはマッピング候補となる。
「変動率」は、類似度評価部108が“類似”と判定した特徴情報項目について、類似度評価部108が2つのテーブル間での特徴情報項目の差分値に応じて当該特徴情報項目の類似度の算出に使用する値で、類似度を減少させる割合(差分値当たりの類似度減少値)を示す。例えば、類似度を0(完全不一致)〜1(完全一致)とし、「変動率」を0.1とした場合、差分値が2である特徴情報項目の類似度は0.8(=1−0.1×2)になる。
「比重」は、類似度評価部108が特徴情報全体の類似度、つまり、比較した2つのテーブルの類似度、を算出する際に使用する各特徴情報項目の類似度に対する重み付けを示す。例えば、全ての特徴情報項目で類似度の重みを均等に扱う場合は全ての特徴情報項目の「比重」を1とする。また、ある特定の特徴情報項目を重く扱う場合は、他の特徴情報項目の「比重」が1であれば、重く扱う特徴情報項目の「比重」を1より大きい値にする。
「標準データ型間での類似度」は、2つのテーブル間で異なる標準データ型のデータ項目を対応付ける場合の当該データ項目分の特徴情報項目の類似度を示す。例えば、標準データ型間の類似度を0(完全不一致)〜1(完全一致)としたときの「標準データ型間での類似度」の一例を図7に示す。図7において、文字型のデータ項目同士の類似度は1、文字型のデータ項目と真数型のデータ項目との類似度は0.4を示す。
「類似判定閾値」は、特徴情報全体として類似か、つまり、テーブルが類似かどうか、を判定するための境界値である。類似度評価部108は各特徴情報項目の類似度に「比重」を掛けて合計した値が「類似判定閾値」以上であれば“類似”、「類似判定閾値」未満であれば“非類似”と判定する。
各パラメータの設定値は、スキーマ統合支援装置102で予め定義しておき、必要に応じてシステム管理者(ユーザ)により入力装置で変更することが可能である。また、パラメータは特徴情報項目の内容に応じて追加あるいは削除してもよい。
図8は、実施の形態1における「マッピング情報」の一例を示す図である。
類似度評価部108は、「特徴情報」が類似でありマッピング候補と判定した2つのテーブルについて、図8に示すような「マッピング情報」をマッピングモデル記憶装置110に格納する。「マッピング情報」は、例えば、第1のデータベース100と第2のデータベース101とでマッピング候補と判定したそれぞれのテーブルの名前とその類似度を示す。
図8では、テーブル名を“スキーマ名.テーブル名”で表わし、各行にマッピング候補を示している。図8において、第1のデータベース100の“HAN”スキーマの“URIAGE”テーブル(第1のデータベースが有するテーブルAの一例)に対する第2のデータベース101のテーブルのマッピング候補(第2のデータベースが有するテーブルBの一例)は、“販売”スキーマの“売上実績”テーブル、“販売”スキーマの“売上明細”テーブル、“在庫”スキーマの“出庫実績”テーブルの3テーブルである。また、それぞれの類似度は“4.23”、“5.65”、“3.72”であり、データベースを統合するユーザやスキーマ統合支援装置102は類似度を参照することで、第1のデータベース100の“HAN”スキーマの“URIAGE”テーブルにマッピングする第2のデータベース101のテーブルの一番の候補は一番類似度が高い“販売”スキーマの“売上明細”テーブルであることが判定できる。
図9は、実施の形態1におけるスキーマ統合支援処理(スキーマ統合支援方法)を示すフローチャートである。
スキーマ統合支援装置102が実行するスキーマ統合支援処理(スキーマ統合支援方法)を図9のフローチャートを用いて以下に説明する。
なお、以下に説明するスキーマ統合支援処理(スキーマ統合支援方法)はコンピュータに実行させることができ、スキーマ統合支援処理(スキーマ統合支援方法)をコンピュータに実行させるプログラムがスキーマ統合支援プログラムである。
<ステップ120:データ構造情報抽出処理工程>
まず、スキーマ情報抽出部103は、統合対象のデータベースシステムのいずれか(第1のデータベース100あるいは第2のデータベース101)から「スキーマ情報」を取得する。そして、スキーマ情報抽出部103は、取得した「スキーマ情報」に基づいて各テーブルのテーブル情報140を生成し、全テーブルのテーブル情報140を「スキーマ情報(以降のスキーマ統合支援処理で使用するスキーマ情報)」としてスキーマ情報記憶装置104に格納する。
取得する「スキーマ情報」としては、データベースに存在するテーブルの“テーブル名一覧情報”、各テーブルの“主キー属性の情報”、各テーブルの“従属属性の情報”、各テーブルの“外部キー属性の情報”などがある。
スキーマ情報抽出部103は、第1のデータベース100および第2のデータベース101を管理するデータベース管理システムが提供する「スキーマ情報」へのアクセス機能を使用して「スキーマ情報」を収集する。「スキーマ情報」にアクセスする方法としては、システムテーブル等と呼ばれるデータベースの「スキーマ情報」の格納されているデータを通常のデータと同様にアクセスする方法や、「スキーマ情報」をアクセスするための専用API(アプリケーションインタフェース)を使用する方法等があるが、いずれの方法を使用してもよい。
スキーマ情報抽出部103は特徴情報生成部105が生成する「特徴情報」に依存して必要となる「スキーマ情報」を収集し、テーブル情報140を生成する。
例えば、特徴情報生成部105が図6に示すような特徴情報項目を有する「特徴情報」を生成することに依存して図4に示すようなテーブル情報140を生成する場合、スキーマ情報抽出部103のテーブル情報140(スキーマ情報の一部)の生成処理は次のようになる。
ユニークなIDを生成しテーブル情報140の“ID”に設定する。
また、取得した「スキーマ情報」の“テーブル名一覧情報”に基づいてテーブル情報140の“テーブル名”を設定する。
また、取得した「スキーマ情報」の“主キー属性の情報”に基づいてテーブル情報140の“主キーカラム情報141”を生成する。
また、取得した「スキーマ情報」の“従属属性の情報”に基づいてテーブル情報140の“従属カラム情報143”を生成する。
また、取得した「スキーマ情報」の“外部キー属性の情報”に基づいてテーブル情報140の“主キー参照先情報142”と“外部キー情報144”とを生成する。
<ステップ121:特徴情報生成処理工程>
次に、特徴情報生成部105は、スキーマ情報抽出部103が生成してスキーマ情報記憶装置104に格納した「スキーマ情報(テーブル情報140の集合)」に基づいて各テーブルの「特徴情報」を生成して特徴情報記憶装置107に格納する。
例えば、図4のテーブル情報140に基づいて図6に示す特徴情報項目を有する「特徴情報」を生成する場合の特徴情報生成部105の「特徴情報」の生成処理は次のようになる。
特徴情報項目の「ID」にはテーブル情報140のIDを設定する。
特徴情報項目の「主キー属性数」、「主キーの参照先テーブル数」、「従属属性数」、「外部キー属性数」には、それぞれテーブル情報140の主キーカラム情報141の個数、主キー参照先情報142の個数、従属カラム情報143の個数、外部キー情報144の個数を設定する。
また、特徴情報生成部105は、テーブル情報140の主キーカラム情報141、従属カラム情報143、外部キーカラム情報145の各データ型を、図5に示すようなデータ型辞書を使用して標準データ型に変換し、主キーカラム情報141、従属カラム情報143、外部キーカラム情報145のそれぞれについて標準データ型毎のデータ項目数を集計する。そして、特徴情報生成部105は、特徴情報項目の「主キーのデータ型構成」には主キーカラム情報141のデータ型について集計した各標準データ型のデータ項目数を設定し、特徴情報項目の「従属属性のデータ型構成」には従属カラム情報143のデータ型について集計した各標準データ型のデータ項目数を設定し、特徴情報項目の「外部キーのデータ型構成」には外部キーカラム情報145のデータ型について集計した各標準データ型のデータ項目数を設定する。
<ステップ122>
スキーマ統合支援装置102は統合対象の全てのデータベースについて「特徴情報」を生成したか判定する。
例えば、スキーマ情報抽出部103が、第1のデータベース100と第2のデータベース101の二つのデータベースに対して上記ステップ120と上記ステップ121とを実施済みか確認し、実施済みの場合はステップ123に処理を移し、未実施のデータベースがある場合はステップ120に処理を移す。
<ステップ123:類似度評価処理工程>
そして、類似度評価部108は、特徴情報記憶装置107に格納された「特徴情報」に基づいて統合対象のデータベース間での各テーブルの類似度を算出する。そして、「マッピング情報」を生成してマッピングモデル記憶装置110(出力装置の一例)に格納しスキーマ統合支援処理を終了する。
また、類似度評価部108は表示装置901やプリンタ装置906などの出力装置、第1のデータベース100と第2のデータベース101とのデータをマージするプログラムなどに「マッピング情報」を出力する。出力された「マッピング情報」に基づいてデータベースの統合作業をユーザに行わせることで、スキーマ統合支援装置102はユーザのデータベース統合作業の効率を向上することができる。
類似度評価部108は、類似度評価処理工程において、統合対象のデータベース間で2つのデータベースのテーブルを組み合わせて全テーブルの組み合わせについてテーブルの類似度を算出する。また、テーブルの類似度を算出する際、類似度評価部108は、各特徴情報項目について類似度を算出し、各特徴情報項目の類似度を合計した値を「特徴情報」の類似度、つまり、テーブルの類似度とする。
図10は、実施の形態1における類似度評価部108の類似度評価処理の流れを示すフローチャートである。
類似度評価部108が実行する上記ステップ123(類似度評価処理工程)について図10に基づいて以下に説明する。
<類似度算出処理工程:ステップ181〜ステップ184、ステップ187、ステップ188>
<ステップ181>
類似度評価部108は、統合対象のデータベースの一方を選定し、選定した方のデータベースを類似度評価する際の比較元のデータベースとする。例えば、第1のデータベース100と第2のデータベース101とで定義されているそれぞれのテーブル数を比較してテーブル数が多い方を比較元のデータベースとする。ここでは、第1のデータベース100を選定したものとする。なお選定方法は任意の方法でよく、例えば、データベースとして指定された順番に基づいて比較元・比較先を選定する。
<ステップ182>
類似度評価部108は比較元のデータベース(第1のデータベース100)が有する各テーブルに対応する「特徴情報」を特徴情報記憶装置107から一つ取り出す。
<ステップ183>
類似度評価部108は比較先のデータベース(第2のデータベース101)が有する各テーブルに対応する「特徴情報」を特徴情報記憶装置107から一つ取り出す。
<ステップ184:類似度計算処理>
類似度評価部108はステップ182で取得した比較元のデータベース(第1のデータベース100)の「特徴情報」とステップ183で取得した比較先のデータベース(第2のデータベース101)の「特徴情報」とを比較して「特徴情報」の類似度、つまり、テーブルの類似度を計算する。
<マッピング情報生成処理工程:ステップ185〜ステップ186>
<ステップ185>
類似度評価部108はステップ184で計算した類似度と重み付け変数記憶装置109に記憶された「類似判定閾値」とを比較する。比較した結果、類似度が「類似判定閾値」以上(類似)の場合はステップ186に処理を移し、類似度が「類似判定閾値」未満(非類似)の場合はステップ187に処理を移す。
<ステップ186>
類似度評価部108はステップ185で類似と判定した1組の「特徴情報」についてマッピング候補を生成しマッピングモデル記憶装置110に格納された「マッピング情報」に設定する。
このとき、類似度評価部108はステップ185で類似と判定した1組の「特徴情報」のそれぞれについてスキーマ情報記憶装置104に記憶された「スキーマ情報」を検索して「ID」が一致するテーブル情報140を取得し、取得したテーブル情報140のテーブル名とステップ184で計算した類似度とをマッピング候補として図8に示すようにマッピングモデル記憶装置110に格納する。
<ステップ187>
類似度評価部108は比較先のデータベース(第2のデータベース101)の「特徴情報」で未評価のものがないか確認し、未評価の「特徴情報」がある場合はステップ183に処理を移し、未評価の「特徴情報」がない場合はステップ188に処理を移す。
<ステップ188>
類似度評価部108は比較元のデータベース(第1のデータベース100)の「特徴情報」で未評価のものがないか確認し、未評価の「特徴情報」がある場合はステップ182に処理を移し、未評価の「特徴情報」がない場合は類似度評価処理を終了する。
上記の類似度評価処理により、類似度評価部108は比較元のデータベースが有する全てのテーブルを比較先の全てのテーブルと比較して各テーブル間の類似度を計算し、マッピング情報を作成する。
上記類似度評価処理は統合対象のデータベースが2つである場合を説明した。統合対象のデータベースが3つ以上ある場合は、各データベースを比較先のデータベースとしてステップ183〜ステップ187をデータベース数分処理し、各データベースを比較元のデータベースとしてステップS182〜ステップ188をデータベース数分処理する。
図11は、実施の形態1における類似度評価部108の類似度計算処理の流れを示すフローチャートである。
類似度評価部108が実行する上記ステップ184(類似度計算処理)について図11に基づいて以下に説明する。
類似度評価部108は、上記ステップ184(類似度計算処理)において、特徴情報項目毎に類似度を算出し、各特徴情報項目の類似度の合計値を「特徴情報」の類似度(テーブルの類似度)として算出する。
<ステップ201:特徴情報項目の類似度計算処理>
類似度評価部108は、上記ステップ182で取得した比較元のデータベース(第1のデータベース100)が有するテーブルの「特徴情報」と上記ステップ183で取得した比較先のデータベース(第2のデータベース101)が有するテーブルの「特徴情報」とから特徴情報項目を一つ選択して、選択した特徴情報項目の値を比較して選択した特徴情報項目の類似度を計算する。
<ステップ202>
類似度評価部108は、全ての特徴情報項目の類似度を計算したか確認し、類似度を算出していない特徴情報項目がある場合はステップ201に処理を移し、全ての特徴情報項目の類似度を計算済みである場合はステップ203に処理を移す。
<ステップ203>
類似度評価部108は、各特徴情報項目の類似度に重み付け変数記憶装置109に記憶された各特徴情報項目の「比重」を掛けて合計した合計値を「特徴情報」の類似度(テーブルの類似度)として算出し類似度計算処理を終了する。
次に、類似度評価部108が実行する上記ステップ201(特徴情報項目の類似度計算処理)について説明する。
特徴情報項目の類似度の計算には、“単一の項目値(各従属関係を示す属性が定義されたデータ項目の数を示す特徴情報項目値)”を比較して計算する場合と、“データ型の構成(データ型属性毎のデータ項目数を示す特徴情報項目値)”を比較する場合の二通りある。図6に示す特徴情報項目の場合、“単一の項目値”による類似度計算で比較する特徴情報項目は「主キー属性数」、「主キーの参照先テーブル数」、「従属属性数」、「外部キー属性数」が該当し、“データ型の構成”による類似度計算で比較する特徴情報項目は、「主キーのデータ型構成」、「従属属性のデータ型構成」、「外部キーのデータ型構成」が該当する。
以下に、“単一の項目値”による特徴情報項目の類似度計算処理と“データ型の構成”による特徴情報項目の類似度計算処理とを説明する。
図12は、実施の形態1における特徴情報項目の類似度計算処理(単一の項目値)の流れを示すフローチャートである。
まず、上記ステップ201における類似度評価部108の“単一の項目値”による特徴情報項目の類似度計算処理について図12に基づいて以下に説明する。
“単一の項目値”による類似度計算で比較する特徴情報項目は「主キー属性数」、「主キーの参照先テーブル数」、「従属属性数」、「外部キー属性数」が該当する。
<ステップ150>
類似度評価部108は比較元の特徴情報項目値が0かどうか調べる。0の場合はステップ151に処理を移し、0でない場合はステップ152に処理を移す。
<ステップ151>
比較元の特徴情報項目値が0である場合、類似度評価部108は比較先の特徴情報項目値が0かどうか調べる。0の場合はステップ157に処理を移し、0でない場合はステップ156に処理を移す。
<ステップ157>
比較元と比較先の特徴情報項目値が共に0である場合、類似度評価部108は当該特徴情報項目の類似度を1(類似)として特徴情報項目の類似度計算処理を終了する。
<ステップ152>
比較元の特徴情報項目値が0でない場合、類似度評価部108は比較先の特徴情報項目値が0かどうか調べる。0の場合はステップ156に処理を移し、0でない場合はステップ153に処理を移す。
<ステップ153>
比較元と比較先の特徴情報項目値が共に0でない場合、類似度評価部108は減算処理を行い比較元の特徴情報項目値と比較先の特徴情報項目値との差の絶対値を計算する。
<ステップ154>
類似度評価部108はステップ153で比較した特徴情報項目に対応する「類似許容範囲」を重み付け変数記憶装置109から取得し、ステップ153で計算した比較元と比較先との特徴情報項目値の差の絶対値(以下、差分とする)と取得した「類似許容範囲」とを比較する。差分が「類似許容範囲」以下の場合はステップ155に処理を移し、「類似許容範囲」を超える場合はステップ156に処理を移す。
<ステップ155>
類似度評価部108はステップ153で比較した特徴情報項目に対応する「変動率」を重み付け変数記憶装置109から取得し、ステップ153で計算した差分と取得した「変動率」とに基づいて当該特徴情報項目の類似度を計算して特徴情報項目の類似度計算処理を終了する。特徴情報項目の類似度は「1−(変動率×差分)」の式で計算する。
<ステップ156>
差分が類似度許容範囲より大きい場合(ステップ154)、または、比較元と比較先との一方の特徴情報項目値が0で他方の特徴情報項目値が0でない場合(ステップ151、ステップ152)、類似度評価部108は当該特徴情報項目の類似度を0(非類似)として特徴情報項目の類似度計算処理を終了する。
以上の処理により類似度評価部108は“単一の項目値”の比較により特徴情報項目の類似度を計算する。
図13は、実施の形態1における特徴情報項目の類似度計算処理(データ型の構成)の流れを示すフローチャートである。
まず、上記ステップ201における類似度評価部108の“データ型の構成”による特徴情報項目の類似度計算処理について図13に基づいて以下に説明する。
“データ型の構成”による類似度計算で比較する特徴情報項目は、「主キーのデータ型構成」、「従属属性のデータ型構成」、「外部キーのデータ型構成」が該当する。
類似度評価部108は、“データ型の構成”による特徴情報項目の類似度計算処理において、標準データ型が一致するデータ項目同士は互いに“対応するデータ項目(類似するデータ項目)”であると判定し、“対応するデータ項目”以外の“対応しないデータ項目”の数に基づいて類似度を算出する。また、類似度評価部108は、標準データ型が一致しない“対応しないデータ項目”を他の標準データ型(代替対応データ型)に置き換えることで、元の標準データ型が一致しなかった“対応しないデータ項目”を“対応するデータ項目”として扱う。このとき、類似度評価部108は、元の標準データ型と代替対応データ型との類似度(標準データ型間での類似度)に応じて“対応するデータ項目”の数および“対応しないデータ項目”の数を設定し類似度を算出する。
<ステップ160>
類似度評価部108は元の標準データ型同士で“対応するデータ項目”が幾つ有るか算出する。
そこで、類似度評価部108は、標準データ型毎に特徴情報項目の比較先のデータ項目数(文字型属性数、真数型属性数など)から比較元のデータ項目数を減算して標準データ型の差分値を計算する。
<ステップ161>
類似度評価部108は、全ての標準データ型について全てのデータ項目が“対応するデータ項目”であるか、つまり、“対応しないデータ項目”が無いかを判定する。
そこで、類似度評価部108は、すべての標準データ型について、ステップ160で計算した差分値が0かどうか調べる。すべての標準データ型の差分値が0であるとき、比較元と比較先ですべてのデータ項目が対応付けられたことを示す。すべての差分値が0の場合はステップ162に処理を移し、そうでない場合はステップ163に処理を移す。
<ステップ162>
全ての標準データ型の差分値が0である場合、類似度評価部108は当該特徴情報項目の類似度を1(類似)として特徴情報項目の類似度計算処理を終了する。
<ステップ163>
差分値が0である標準データ型が全ての標準データ型でない場合、類似度評価部108は、比較元と比較先のいずれか一方について全てのデータ項目が“対応するデータ項目”であるか、つまり、各データ型のデータ項目数について、比較元と比較先との一方のデータ項目数が他方のデータ項目数より全てのデータ型で多いかを判定する。
そこで、類似度評価部108は、ステップ160で計算した差分値のすべての値が正(+)または負(−)であるか調べる。すべての差分値が正(+)または0であるとき、比較元のデータ項目がすべて対応付けられたことを示す。すべての差分値が負(−)または0であるとき、比較先のデータ項目がすべて対応付けられたことを示す。すべての差分値が正か負の場合はステップ164に処理を移し、そうでない場合はステップ167に処理を移す。
図14に比較元のデータ項目が全て対応付けられる場合のデータ項目数の例を示し、図15に比較先のデータ項目が全て対応付けられる場合の例を示し、図16に比較元・比較先共に未対応のデータ項目がある場合の例を示す。
<ステップ164>
全ての差分値が正か負の場合、類似度評価部108はステップ160で計算した各標準データ型での差分値の絶対値を合計する。合計した値は、比較元と比較先とで“対応しないデータ項目”の数である。
図14または図15に示す差分値の場合、合計は“5=3+2+0”である
<ステップ165>
類似度評価部108は当該特徴情報項目に対応する「類似許容範囲」を重み付け変数記憶装置109から取得し、ステップ164で計算した合計(“対応しないデータ項目”の数)と取得した「類似許容範囲」とを比較する。合計が「類似許容範囲」以下の場合はステップ166に処理を移し、「類似許容範囲」を超える場合はステップ174に処理を移す。
<ステップ166>
合計が「類似許容範囲」以下の場合、類似度評価部108は当該特徴情報項目に対応する「変動率」を重み付け変数記憶装置109から取得し、ステップ164で計算した合計と取得した「変動率」とに基づいて当該特徴情報項目の類似度を計算して特徴情報項目の類似度計算処理を終了する。特徴情報項目の類似度は「1−(変動率×合計)」の式で計算する。
以下、ステップ160で計算した差分値が図17に示す値である場合を例に説明する。
<ステップ167>
正の差分値と負の差分値とがある場合(ステップ163)、代替対応データ型でなく元の標準データ型で“対応するデータ項目”になっているデータ項目の数を算出する。
そこで、類似度評価部108は、まず、比較元の各データ型の値の合計(A)を計算する。つまり、類似度評価部108は比較元の全データ項目数を求める。図17の場合、“合計(A)=5+5+2+2+1=15”である(ステップ167a)。
次に、ステップ160で計算した差分値の中で、負の値になっているものの合計(B)を計算する。このとき、「差分値=比較先のデータ項目数−比較元のデータ項目数」なので、値が負の差分値は、比較先に対応するデータ項目が無い比較元のデータ項目の数となる。図17の場合、“合計(B)=(−2)+(−1)=−3”である(ステップ167b)。
そして、合計Aと合計Bを加算して、比較元と比較先とで“対応するデータ項目”の数を求める。図17の場合、“対応するデータ項目数=15+(−3)=12”である(ステップ167c)。
<ステップ168〜ステップ170>
類似度評価部108は、“対応しないデータ項目”の標準データ型を代替対応データ型に置き換える際、“対応しないデータ項目”を有する他の標準データ型のうちから代替対応データ型を選択する。代替対応データ型の選択は「標準データ型間での類似度」に基づいて行う。
以下、「標準データ型間での類似度」が図7に示す値である場合を例に説明する。
<ステップ168>
類似度評価部108は、ステップ160で計算した差分値が負のデータ型について、代替対応データ型がないか調べる。図17の場合、真数型(差分値=−2)とバイナリ型(差分値=−1)について代替対応データ型が無いか調べる。以下、真数型を例に説明する。
類似度評価部108は、まず、重み付け変数記憶装置109に記憶された「標準データ型間での類似度」において、差分値が負の標準データ型との類似度が0でない標準データ型を調べる。図7に示す「標準データ型間の類似度」の場合、真数型との類似度が0でない標準データ型は文字型と概数型と日付型である。類似度が0でない標準データ型がない場合は代替対応データ型もない(ステップ168a)。
次に、差分値が正のデータ型を調べる。図17に示す差分値の場合、文字型と概数型と日付型のうち差分値が正のデータ型は文字型と概数型である。差分値が正のデータ型がない場合は代替対応データ型もない(ステップ168b)。
そして、「標準データ型間での類似度」が大きい標準データ型から順番に代替対応データ型を選択する。図7に示す「標準データ型間の類似度」の場合、文字型と概数型とで真数型との類似度が大きいのは概数型であるため代替対応データ型は概数型である(ステップ168c)。
類似度評価部108は代替対応データ型が有る場合はステップ169に処理を移し、無い場合はステップ170に処理を移す(ステップ168d)。
<ステップ169>
類似度評価部108は、ステップ168で代替対応データ型を選択することにより“対応するデータ項目”として扱うデータ項目について、ステップ160で計算した差分値に反映する。
そこで、類似度評価部108は、まず、負の値でありデータ型を代替対応データ型に置き換える元の標準データ型の差分値と正の値であり代替対応データ型の差分値を加算する。図17に示す差分値の場合、“(−2){真数型の差分値}+1{概数型の差分値}=−1”である(ステップ169a)。
加算した結果が正の値の場合、元の標準データ型の差分値の絶対値を代替対応済データ項目数とし、元の標準データ型の差分値を0とし、代替対応データ型の差分値をステップ169aの加算結果として設定する。つまり、加算した結果が正の値nの場合、“代替対応済データ項目数=元の標準データ型の差分値の絶対値”、“元の標準データ型の差分値=0”、“代替対応データ型の差分値=n”である。加算した結果が負の値の場合、代替対応データ型の差分値を代替対応済データ項目数とし、元の標準データ型の差分値をステップ169aの加算結果とし、代替対応データ型の差分値を0として設定する。つまり、図17に示す差分値の場合、“代替対応済データ項目数=1”、“真数型の差分値=(−1)”、“概数型の差分値=0”である。加算した結果が0のときは、代替対応データ型の差分値を代替対応済データ項目数とし、元の標準データ型と代替対応データ型の両方の差分値を0にする。つまり、加算した結果が0の場合、“代替対応済データ項目数=代替対応データ型の差分値”、“元の標準データ型の差分値=0”、“代替対応データ型の差分値=0”である(ステップ169b)。
次に、重み付け変数記憶装置109の「標準データ型間での類似度」が示す元の標準データ型と代替対応データ型との類似度と代替対応済データ項目数とを掛け合わせステップ167で算出した“対応するデータ項目”の数に加算する。図17に示す差分値の場合、“1{真数型の代替対応済データ項目数}×0.8{真数型と概数型との類似度}+12{代替対応データ型で置き換える前の対応するデータ項目数}=12.8{代替対応データ型で置き換えた後の対応するデータ項目数}”である(ステップ169c)
<ステップ170>
類似度評価部108は代替対応データ型の探索(ステップ168)をしていない“対応しないデータ項目”が残っているか判定する。
そこで、類似度評価部108は、ステップ160で計算した差分値が負の標準データ型のうち、代替対応データ型の探索をしていないものがないか調べ、未探索の標準データ型がある場合はステップ168に処理を移し、ない場合はステップ171に処理を移す。図17に示す差分値の場合、一回目のステップ169の結果は図18になる。図18に示す結果の場合、差分値が負で代替対応データ型を探索していないものがあるか調べると、差分値が負のものは、真数型とバイナリ型であり、このうち真数型は探索済みなので、バイナリ型についてステップ168に処理を移す。バイナリ型の処理も完了すると、未探索のものはなくなるので、ステップ171に処理を移す。
<ステップ171>
類似度評価部108は“対応しないデータ項目”の数を計算する。
このとき、類似度評価部108は、正である差分値の合計と負である差分値の合計の絶対値を比較し、値が大きい方を“対応しないデータ項目”の数とする。差分値がすべてのデータ型で0になった場合の“対応しないデータ項目”の数は0である。図17に示す差分値の場合、ステップ170の結果は図18になる。図18に示す結果の場合、“正である差分値の合計=1”、“負である差分値の合計の絶対値=2”であるため、“対応しないデータ項目の数=2”である。
<ステップ172>
類似度評価部108は当該特徴情報項目に対応する「類似許容範囲」を重み付け変数記憶装置109から取得し、ステップ171で計算した合計(“対応しないデータ項目”の数)と取得した「類似許容範囲」とを比較する。合計が「類似許容範囲」以下の場合はステップ173に処理を移し、「類似許容範囲」を超える場合はステップ174に処理を移す。ステップ170の結果が図18であり合計が2である場合、「類似許容範囲」=3とすると“2{合計}≦3{類似許容範囲}”であるからステップ173に処理を移す。また、「類似許容範囲」=1とすると“2{合計}>1{類似許容範囲}”となるためステップ174に処理を移す。
<ステップ173>
合計が「類似許容範囲」以下の場合、類似度評価部108は、当該特徴情報項目に対応する「変動率」を重み付け変数記憶装置109から取得し、ステップ171で計算した合計と取得した「変動率」とに基づいて当該特徴情報項目の類似度を計算して特徴情報項目の類似度計算処理を終了する。特徴情報項目の類似度は「(1−(変動率×合計))×(対応するデータ項目数÷全データ項目数)」の式で計算する。
このとき、類似度評価部108は、まず、比較元と比較先それぞれについて、各データ型の値の合計を計算し、合計が小さい方、つまり、少ない方のデータ項目数を全データ項目数とする。ステップ170の結果が図18の場合、“比較元のデータ型の値の合計=5+5+2+2+1=15”、“比較先のデータ型の値の合計=6+3+3+2+0=14”であるため、“全データ項目数=14(<15)”である(ステップ173a)。
そして、ステップ167およびステップ169で算出した“対応するデータ項目”の数とステップ171で計算した合計と重み付け変数記憶装置109から取得した「変動率」とに基づいて特徴情報項目の類似度を計算する。「変動率」が0.1、ステップ170の結果が図18、合計が2、“対応するデータ項目”の数が12.8の場合、“類似度=0.73≒(1−(0.1×2))×(12.8÷14)”である(ステップ173b)。
<ステップ174>
合計が「類似許容範囲」を超える場合(ステップ165、ステップ172)、類似度評価部108は当該特徴情報項目の類似度を0(非類似)として特徴情報項目の類似度計算処理を終了する。
以上の処理により類似度評価部108は“データ型の構成”の比較による特徴情報項目の類似度を計算する。
上記実施の形態において、異なるデータベース間のスキーマ統合支援処理で、データベースの固有データ型を標準データ型に対応付けるデータ型辞書と、類似度の計算や評価基準に使用する重み付け変数を備え、データベースからスキーマ情報を抽出する手段(スキーマ情報抽出部103)と、抽出したスキーマ情報からデータの特徴情報を生成する手段(特徴情報生成部105)と、生成した特徴情報から類似度を評価しマッピングモデルを作成する手段(類似度評価部108)を有することを特徴とするスキーマ統合支援方法について説明した。
また、スキーマ情報として主にデータ間の制約条件・従属関係を使用して特徴情報を生成することを特徴とするスキーマ統合支援方法について説明した。
以上のように、データベースのスキーマ情報からデータ間の制約条件・従属関係に着目してテーブルの特徴情報を作成し、特徴情報を比較してテーブルの類似度を計算することで、一定基準の類似度(「類似判定閾値」以上の類似度)を持つテーブルのマッピング候補を生成することができる。
また、マッピング候補毎に類似度が計算されるため、類似度を比較することによりマッピング候補の順位付けを行うことができる。
さらに、特徴情報には外部キー属性や主キーの参照先テーブル数といった他のテーブルとの関連性の情報を含んでいるため、構造が似ているテーブルが複数存在している場合にも、他のテーブルとの関連性から類似度の違いを判別できる。
また、属性のデータ型は標準データ型に対応付けられ、異なる標準データ型間での類似度を評価できるので、同一の意味のデータ項目を異なるデータ型で定義しているようなスキーマ同士(例えば、日付データを片や文字型でもう一方は日付型で定義)についても対応できる。
さらに、特徴情報は数値項目の集合として定義されており、各項目について共通の方法により類似度を評価するので、特徴情報の項目の追加、削除に容易に対応できる。
また、特徴情報はデータベースのスキーマ情報から作成するので、データベースの実データにアクセスすることなしに、マッピング候補を作成できる。
さらに、マッピング候補の判定に実データを使用しないため、統合対象のデータベース間でのデータ内容の標準化(統一)といった前処理が不要である。
そして、特徴情報の項目としてデータの属性名を使用しないため、属性名が適切に設定されていないデータベースに対してもマッピング候補を作成できる。
上記実施の形態において、「リレーショナルデータベース」を例に挙げて説明したが、階層データベース、ネットワークデータベース、オブジェクト指向データベースなどの他のデータベースが統合対象のデータベースであっても構わない。上記実施の形態における「テーブル」とは特定のデータ構造を有するデータの集合を意味し、「リレーショナルデータベース」以外のデータベースにおいても、上記実施の形態と同様に、データ構造(特に、データ間の従属関係やデータ型)に基づいて類似度を算出し、マッピング情報を生成すればよい。
実施の形態1におけるスキーマ統合支援装置102の外観を示す図。 実施の形態1におけるスキーマ統合支援装置102のハードウェア構成図。 実施の形態1におけるスキーマ統合支援装置102の機能要素を示す機能構成図。 実施の形態1における「スキーマ情報」の一例を示すデータ構造図。 実施の形態1における「データ型辞書」の一例を示す図。 実施の形態1における「特徴情報」の項目の一例を示す図。 実施の形態1における「標準データ型間での類似度」の一例を示す図。 実施の形態1における「マッピング情報」の一例を示す図。 実施の形態1におけるスキーマ統合支援処理(スキーマ統合支援方法)を示すフローチャート。 実施の形態1における類似度評価部108の類似度評価処理の流れを示すフローチャート。 実施の形態1における類似度評価部108の類似度計算処理の流れを示すフローチャート。 実施の形態1における特徴情報項目の類似度計算処理(単一の項目値)の流れを示すフローチャート。 実施の形態1における特徴情報項目の類似度計算処理(データ型の構成)の流れを示すフローチャート。 実施の形態1における差分値が全て0以上である場合の比較元と比較先の標準データ型毎のデータ項目数の一例を示す図。 実施の形態1における差分値が全て0以下である場合の比較元と比較先の標準データ型毎のデータ項目数の一例を示す図。 実施の形態1における差分値に正の値と負の値とが含まれる場合の比較元と比較先の標準データ型毎のデータ項目数の一例を示す図。 実施の形態1におけるステップ160で算出した差分値の一例を示す図。 実施の形態1におけるステップ169およびステップ170後の差分値の一例を示す図。
符号の説明
100 第1のデータベース、101 第2のデータベース、102 スキーマ統合支援装置、103 スキーマ情報抽出部、104 スキーマ情報記憶装置、105 特徴情報生成部、106 データ型辞書記憶装置、107 特徴情報記憶装置、108 類似度評価部、109 重み付け変数記憶装置、110 マッピングモデル記憶装置、140 テーブル情報、141 主キーカラム情報、142 主キー参照先情報、143 従属カラム情報、144 外部キー情報、145 外部キーカラム情報、901 表示装置、902 K/B、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、908 光ディスク装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 FAX機、940 インターネット、941 ウェブサーバ、942 LAN。

Claims (6)

  1. CPU(Central Processing Unit)と、
    テーブルAの主キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ主キーカラム情報と、テーブルAに含まれる1つ以上のデータ項目それぞれのカラム名であって主キー以外の1つ以上のデータ項目それぞれのカラム名を含んだ従属カラム情報と、テーブルAの外部キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ外部キー情報とを含んだ情報をテーブルAのデータ構造情報として記憶し、テーブルBの主キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ主キーカラム情報と、テーブルBに含まれる1つ以上のデータ項目それぞれのカラム名であって主キー以外の1つ以上のデータ項目それぞれのカラム名を含んだ従属カラム情報と、テーブルBの外部キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ外部キー情報とを含んだ情報をテーブルBのデータ構造情報として記憶するスキーマ情報記憶装置と、
    前記スキーマ情報記憶装置に記憶されたテーブルAのデータ構造情報に基づいてテーブルAの主キーを構成するデータ項目の数とテーブルAの主キー以外のデータ項目の数とテーブルAの外部キーを構成するデータ項目の数とのうち所定の種類のデータ項目の数を含んだ情報をテーブルAの特徴情報として前記CPUを用いて生成し、前記スキーマ情報記憶装置に記憶されたテーブルBのデータ構造情報に基づいてテーブルBの前記所定の種類のデータ項目の数を含んだ情報をテーブルBの特徴情報として前記CPUを用いて生成する特徴情報生成部と、
    前記特徴情報生成部によって生成されたテーブルAの特徴情報とテーブルBの特徴情報とに基づいてテーブルAの前記所定の種類のデータ項目の数とテーブルBの前記所定の種類のデータ項目の数とを前記CPUを用いて比較してテーブルAとテーブルBとの類似度を算出し算出した類似度をマッピング情報として出力装置に出力する類似度評価部と
    を備えたことを特徴とするスキーマ統合支援装置。
  2. CPU(Central Processing Unit)と、
    テーブルAを構成する複数のデータ項目それぞれのデータ型を含んだ情報をテーブルAのデータ構造情報として記憶し、テーブルBを構成する複数のデータ項目それぞれのデータ型を含んだ情報をテーブルBのデータ構造情報として記憶するスキーマ情報記憶装置と、
    前記スキーマ情報記憶装置に記憶されたテーブルAのデータ構造情報に基づいてデータ項目のデータ型毎の数を含んだ情報をテーブルAの特徴情報として前記CPUを用いて生成し、前記スキーマ情報記憶装置に記憶されたテーブルBのデータ構造情報に基づいてデータ項目のデータ型毎の数を含んだ情報をテーブルBの特徴情報として前記CPUを用いて生成する特徴情報生成部と、
    前記特徴情報生成部によって生成されたテーブルAの特徴情報とテーブルBの特徴情報とに基づいてテーブルAのデータ項目の数とテーブルBのデータ項目の数とをデータ型毎に前記CPUを用いて比較してテーブルAとテーブルBとの類似度を算出し算出した類似度をマッピング情報として出力装置に出力する類似度評価部と
    を備えたことを特徴とするスキーマ統合支援装置。
  3. CPU(Central Processing Unit)と、
    ーブルAの主キーを構成する1つ以上のデータ項目それぞれのカラム名とデータ型とを含んだ主キーカラム情報と、テーブルAに含まれる1つ以上のデータ項目であって主キー以外の1つ以上のデータ項目それぞれのカラム名とデータ型とを含んだ従属カラム情報と、テーブルAの外部キーを構成する1つ以上のデータ項目それぞれのカラム名とデータ型とを含んだ外部キー情報とを含んだ情報をテーブルAのデータ構造情報として記憶し、テーブルBの主キーを構成する1つ以上のデータ項目それぞれのカラム名とデータ型とを含んだ主キーカラム情報と、テーブルBに含まれる1つ以上のデータ項目であって主キー以外の1つ以上のデータ項目それぞれのカラム名とデータ型とを含んだ従属カラム情報と、テーブルBの外部キーを構成する1つ以上のデータ項目それぞれのカラム名とデータ型とを含んだ外部キー情報とを含んだ情報をテーブルBのデータ構造情報として記憶するスキーマ情報記憶装置と
    前記スキーマ情報記憶装置に記憶されたテーブルAのデータ構造情報に基づいて主キーを構成するデータ項目のデータ型毎の数と主キー以外のデータ項目のデータ型毎の数と外部キーを構成するデータ項目のデータ型毎の数とのうち所定の種類のデータ項目のデータ型毎の数を含んだ情報をテーブルAの特徴情報として前記CPUを用いて生成し、テーブルBのデータ構造情報に基づいて前記所定の種類のデータ項目のデータ型毎の数を含んだ情報をテーブルBの特徴情報として前記CPUを用いて生成する特徴情報生成部と
    前記特徴情報生成部によって生成されたテーブルAの特徴情報とテーブルBの特徴情報とに基づいてテーブルAの前記所定の種類のデータ項目の数とテーブルBの前記所定の種類のデータ項目の数とをデータ型毎に前記CPUを用いて比較してテーブルAとテーブルBとの類似度を算出し、算出した類似度をマッピング情報として出力装置に出力する類似度評価部と
    を備えたことを特徴とするスキーマ統合支援装置。
  4. CPU(Central Processing Unit)と、テーブルAの主キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ主キーカラム情報と、テーブルAに含まれる1つ以上のデータ項目それぞれのカラム名であって主キー以外の1つ以上のデータ項目それぞれのカラム名を含んだ従属カラム情報と、テーブルAの外部キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ外部キー情報とを含んだ情報をテーブルAのデータ構造情報として記憶し、テーブルBの主キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ主キーカラム情報と、テーブルBに含まれる1つ以上のデータ項目それぞれのカラム名であって主キー以外の1つ以上のデータ項目それぞれのカラム名を含んだ従属カラム情報と、テーブルBの外部キーを構成する1つ以上のデータ項目それぞれのカラム名を含んだ外部キー情報とを含んだ情報をテーブルBのデータ構造情報として記憶するスキーマ情報記憶装置とを備えるスキーマ統合支援装置のスキーマ統合支援方法において、
    前記CPUが、前記スキーマ情報記憶装置に記憶されたテーブルAのデータ構造情報に基づいてテーブルAの主キーを構成するデータ項目の数とテーブルAの主キー以外のデータ項目の数とテーブルAの外部キーを構成するデータ項目の数とのうち所定の種類のデータ項目の数を含んだ情報をテーブルAの特徴情報として生成し、前記スキーマ情報記憶装置に記憶されたテーブルBのデータ構造情報に基づいてテーブルBの前記所定の種類のデータ項目の数を含んだ情報をテーブルBの特徴情報として生成し、
    前記CPUが、テーブルAの特徴情報とテーブルBの特徴情報とに基づいてテーブルAの前記所定の種類のデータ項目の数とテーブルBの前記所定の種類のデータ項目の数とを比較してテーブルAとテーブルBとの類似度を算出し、算出した類似度をマッピング情報として出力装置に出力する
    ことを特徴とするスキーマ統合支援装置のスキーマ統合支援方法。
  5. CPU(Central Processing Unit)と、テーブルAを構成する複数のデータ項目それぞれのデータ型を含んだ情報をテーブルAのデータ構造情報として記憶し、テーブルBを構成する複数のデータ項目それぞれのデータ型を含んだ情報をテーブルBのデータ構造情報として記憶するスキーマ情報記憶装置とを備えるスキーマ統合支援装置のスキーマ統合支援方法において、
    前記CPUが、前記スキーマ情報記憶装置に記憶されたテーブルAのデータ構造情報に基づいてデータ項目のデータ型毎の数を含んだ情報をテーブルAの特徴情報として生成し、前記スキーマ情報記憶装置に記憶されたテーブルBのデータ構造情報に基づいてデータ項目のデータ型毎の数を含んだ情報をテーブルBの特徴情報として生成し、
    前記CPUが、テーブルAの特徴情報とテーブルBの特徴情報とに基づいてテーブルAのデータ項目の数とテーブルBのデータ項目の数とをデータ型毎に比較してテーブルAとテーブルBとの類似度を算出し、算出した類似度をマッピング情報として出力装置に出力する
    ことを特徴とするスキーマ統合支援装置のスキーマ統合支援方法。
  6. 請求項4または請求項5記載のスキーマ統合支援方法をコンピュータに実行させるスキーマ統合支援プログラム。
JP2006006596A 2006-01-13 2006-01-13 スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム Expired - Fee Related JP4855080B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006006596A JP4855080B2 (ja) 2006-01-13 2006-01-13 スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006006596A JP4855080B2 (ja) 2006-01-13 2006-01-13 スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム

Publications (2)

Publication Number Publication Date
JP2007188343A JP2007188343A (ja) 2007-07-26
JP4855080B2 true JP4855080B2 (ja) 2012-01-18

Family

ID=38343464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006006596A Expired - Fee Related JP4855080B2 (ja) 2006-01-13 2006-01-13 スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム

Country Status (1)

Country Link
JP (1) JP4855080B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009017158A1 (ja) * 2007-08-01 2009-02-05 Nec Corporation 変換プログラム探索システムおよび変換プログラム探索方法
JP5250463B2 (ja) * 2009-03-23 2013-07-31 エヌ・ティ・ティ・コムウェア株式会社 意味的対応付け装置及びその処理方法とプログラム
JP2011028379A (ja) * 2009-07-22 2011-02-10 Toshiba Corp データ構造変換プログラムおよびデータ構造変換装置
CN105229618A (zh) * 2013-05-30 2016-01-06 三菱电机株式会社 数据协调支援装置和数据协调支援方法
JP6268435B2 (ja) * 2014-03-03 2018-01-31 富士通株式会社 データベースの再構成方法、データベースの再構成プログラム、及び、データベースの再構成装置
WO2017064769A1 (ja) * 2015-10-14 2017-04-20 株式会社ターボデータラボラトリー 情報処理システム及びコンピュータプログラム
US11494688B2 (en) * 2018-04-16 2022-11-08 Oracle International Corporation Learning ETL rules by example

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086782A (ja) * 2002-08-29 2004-03-18 Hitachi Ltd 異種データベース統合支援装置
JP2004227037A (ja) * 2003-01-20 2004-08-12 Sangaku Renkei Kiko Kyushu:Kk フィールドマッチング装置とそのプログラム、コンピュータ読み取り可能な記録媒体、及び同一フィールド判定方法
US7249135B2 (en) * 2004-05-14 2007-07-24 Microsoft Corporation Method and system for schema matching of web databases
JP2006099236A (ja) * 2004-09-28 2006-04-13 Toshiba Corp 分類支援装置、分類支援方法及び分類支援プログラム

Also Published As

Publication number Publication date
JP2007188343A (ja) 2007-07-26

Similar Documents

Publication Publication Date Title
US8886617B2 (en) Query-based searching using a virtual table
US9043365B2 (en) Peer to peer (P2P) federated concept queries
US8209407B2 (en) System and method for web service discovery and access
US8375046B2 (en) Peer to peer (P2P) federated concept queries
US7953766B2 (en) Generation of attribute listings for unique identification of data subsets
Chakaravarthy et al. Efficiently linking text documents with relevant structured information
US8316292B1 (en) Identifying multiple versions of documents
US7487174B2 (en) Method for storing text annotations with associated type information in a structured data store
JP4855080B2 (ja) スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム
US7269593B2 (en) Data processing apparatus and method
US10095766B2 (en) Automated refinement and validation of data warehouse star schemas
US6915303B2 (en) Code generator system for digital libraries
JP2008033931A (ja) テキストを追補する方法、クエリーに応答してテキストを取得する方法、およびシステム
US8250018B2 (en) Engineering expert system
US20120066580A1 (en) System for extracting relevant data from an intellectual property database
JP2005063332A (ja) 情報体系対応付け装置および対応付け方法。
US8086568B2 (en) Peer to peer (P2P) concept query notification of available query augmentation within query results
US20080215585A1 (en) System and method for creation, representation, and delivery of document corpus entity co-occurrence information
AU2020380139A1 (en) Data preparation using semantic roles
US20030110175A1 (en) Deploying predefined data warehouse process models
US8290950B2 (en) Identifying locale-specific data based on a total ordering of supported locales
US20080250003A1 (en) Peer to peer (p2p) concept query abstraction model augmentation with federated access only elements
JP2007304796A (ja) データベース解析システム及びデータベース解析方法及びプログラム
US9189478B2 (en) System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure
JP3786233B2 (ja) 情報検索方法および情報検索システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees