(57)【要約】【課題】異なる複数のデータベース中の、テーブル内の属性項目同士の迅速に対応付けることを支援する装置を提供する。【解決手段】二つの異なるデータベース１１０ｃ，１２０ｃに属するテーブルの属性が有する属性値同士を設計データベース間比較マッピング・モデル生成装置１２００で比較し、同装置で属性値同士の比較結果の一致度が高いものから各テーブル内の属性項目同士を対応付けるマッピング・モデルを生成する。【選択図】　図１
2004086782.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる各データベースに属する各テーブルの属性が有する属性値同士を比較する手段と、前記属性値同士の比較結果から前記各テーブル内の属性項目同士を対応付ける手段と、前記対応付け結果に基づいて前記異なるデータベース間の属項目を対応付けるマッピング・モデルを作成する手段とを有する異種データベース統合支援装置。
【請求項２】
請求項１において、前記属性値同士を比較する手段は、前記各テーブルの属性値同士の一致度を演算する手段を有するとともに、前記対応付け手段は、前記演算する手段の演算結果からあらかじめ規定した閾値以上の一致度をもつ属性ペアを抽出する手段を有することを特徴とする異種データベース統合支援装置。
【請求項３】
請求項１において、前記属性値同士を比較する手段は、前記属性値同士の比較手段は、属性ごとに属性値の度数分布を取ってその度数分布の形状を比較する手段を有し、前記対応付け手段は、前記度数分布の形状を比較する手段による比較結果から前記形状の差が最も小さいものを一致する属性ペアとして抽出する手段を有することを特徴とする異種データベース統合支援装置。
【請求項４】
請求項２又は請求項３において、属性値同士の比較の際に、あらかじめ作成済みの属性値のコード変換関数を利用して、比較相手のデータベースで利用しているコード体系または単位系に合わせる処理手段を有することを特徴とする異種データベース統合支援装置。
【請求項５】
請求項２および３において、属性値同士の比較の際に、あらかじめ外部から規定した属性について属性値の内容を複数の要素に分割し、分割した要素を用いて、比較対象データベースのテーブルの属性が有する属性値と比較する手段を有することを特徴とする異種データベース統合支援装置。
【請求項６】
請求項１において、属性値同士の比較の前に、格納されているデータ量が少ない属性については比較対象の属性から除去する手段を有することを特徴とする異種データベース統合支援装置。
【請求項７】
請求項１において、属性値の集合がどのような設計意味情報に対応付けられるかを示す情報を利用して、各テーブルの属性ごとに、属性値の情報から、その属性が対応付けられる設計意味情報を判定し、同一の設計意味情報に対応付けられる属性同士が対応付けられる属性として判定する手段を有することを特徴とする異種データベース統合支援装置。
【請求項８】
請求項１において、比較対象の少なくとも一方のテーブルを複数のテーブルの結合からなる一つのテーブルとして扱って比較する手段を有することを特徴とする異種データベース統合支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプラントの設計・運転・保守などの分業化された分散設計業務の、より効率的な情報伝達と共有を支援するための異種データベース統合支援装置に関する。
【０００２】
【従来の技術】
従来技術として特開平１１−２８２８７８号公報に、複数のデータベース（以下、ＤＢともいう。）から関連付けの推定を行いつつ複数のデータベースの検索を実施する関連情報検索装置が開示されている。この従来技術の例は様々な外部データを利用した関連付け「推定」結果に基づいて検索し、検索内容に基づいて、「連想値」にしたがった関連を学習しつつ、データベース間の関連性に関するモデル化を実施していくものである。
【０００３】
【発明が解決しようとする課題】
コンカレント（同時並行）設計業務の複数の部署のデータベース整合性管理に関わるものであり、従来技術の例は複数ＤＢから関連付けの推定を行いつつ検索を実施する。したがって、従来技術の例は様々な外部データを利用した関連付け「推定」結果に基づくデータベース整合性管理を行う。このように従来技術の例は、データベース全体を分析して、属性値の一致数などに基づいて、ボトムアップにデータベース間の関係を作り上げるものでないから、信頼性の高いモデルを作り上げることが困難である。
【０００４】
コンカレント設計業務における設計データの整合性管理を実施するには、まず、最初に、コンカレント設計業務における別々の設計分野の異種ＤＢの対応関係モデル作成時にデータベース間の完全な対応関係を作り上げるものになっていなければならないが、従来技術の例では、ボトムアップにデータベース間の関係を作り上げるものでないから、異種データベース間で同じ値であるべきデータの整合性を管理する統合支援に従来技術の例を利用することが出来ない。
【０００５】
したがって、本発明の目的は、異種データベース間で同じ値であるべきデータの整合性を管理する統合支援に利用する異種データベース統合支援装置を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は複数の異なるデータベースに属するテーブルの属性が有する属性値同士を比較することで、属性値同士の比較結果に基づいて、各テーブル内の属性項目同士を対応付けるマッピング・モデルを生成する手段を備えている。その比較結果を出す際には、前述の属性値同士を比較して一致度が高いものから各テーブル内の属性項目同士を対応付けるマッピング・モデルを生成する手段を有することが好ましい。
【０００７】
【発明の実施の形態】
原子力・火力などのプラントの設計業務は通常は分業化されており、いくつかの段階に分かれて設計業務が進行する。設計の初めの段階は「上流」と呼ばれ、後の段階は「下流」としばしば呼ばれる。原子力，火力などのプラントの設計部署においては、系統設計，配管三次元設計，機器設計などに関わる各データベースに設計結果を格納し、管理している。これらのデータベースは、データ量が膨大で、業務の性格上、各データベースにそれぞれのデータがコンカレントに蓄積されていく。すなわち、上流側の設計を待たずに下流側の設計がスタートしてしまうため、単にデータベース間のリンクを張るだけではデータベースの整合性管理ができない。これらの業務はコンカレントに進むものであり、上流の設計結果を待たずに、値の仮決めにより下流側の設計もスタートしている。
【０００８】
図２は一般的なプラント設計業務の種類と業務間の係わりを示すブロック図である。ここでは例として上流から下流に向けて、プラントの系統設計１０，配管設計２０，機器設計３０などの順番で業務の成果が移行する場合を示している。この図のようにその成果が順次流れれば、これらの業務の設計結果に関して差異はなく統一が保たれる。しかしながら、現実的にはシステムが膨大であること、全体の設計にかけられる時間を多くとることができないこと、業務に関わる人数が多いこと、などの理由から、ほとんどの場合コンカレントに仕事が進められる。
【０００９】
例えば、図２の例で言えば、系統設計の部門１０では配管計装線図を作成
（１０ａ）し、また機器リストの作成（１０ｂ）などを行い、その結果を系統設計データベース（ＤＢ）１２０ｃに格納する。また配管設計の部門では配管空間３Ｄレイアウトなどを作成（２０ａ）して配管設計データベース（ＤＢ）１１０ｃに格納する。さらに、機器設計の部門では、機器詳細設計（３０ａ），発注品手配用仕様（３０ｂ）などを作成して機器設計データベース（ＤＢ）１３０ｃに格納する。それぞれの業務がコンカレントにデータをデータベースに蓄積しているから、整合性情報１から３、すなわち４００ａから４００ｃを確認し、設計結果の調整を設計者間でとって、ＤＢ間でのデータ転送により、それぞれの業務の成果を他の部署のデータベースに反映することが必須条件となる。
【００１０】
本発明の実施例では、それぞれの業務がコンカレントにデータをデータベースに蓄積している場合において、以下のように、それぞれの業務の成果を他の部署のデータベースに反映することを支援する。本発明の実施の形態に係わる異種データベース統合支援装置の構成について図１を用いて説明する。
【００１１】
本発明の異種データベース統合支援装置は設計データベース群１１００として管理されているデータベース，配管設計データベース１１０ｃ，系統設計データベース１２０ｃ，機器設計データベース１３０ｃなどを利用する。なお、データベースはこの３個以上の複数があってもよい。これらのデータベースに格納されているテーブルおよび属性，属性値を利用して、異なる二つのテーブルの間についての属性のマッピング（対応付け）を、設計データベース間比較マッピング・モデル生成装置１２００を用いて実施する。生成したマッピング・モデルはマッピング・モデル・データベース１３００に格納される。
【００１２】
すなわち配管設計データベース１１０ｃと系統設計データベース１２０ｃとの関係は１１０−１２０で、その逆の関係は１２０−１１０のマッピング・モデルとして格納される。また、系統設計データベース１２０ｃと機器設計データベース１３０ｃとの関係は１２０−１３０で、その逆の関係は１３０−１２０のマッピング・モデルとして格納される。逆の関係があるのはそれぞれのデータベースで利用している情報表現のコード体系の違いや単位系の違いに対応して、情報表現方法を変えるためである。
【００１３】
生成したマッピング・モデルについては管理・編集端末１０００を利用して表示する他に編集操作によってマッピング・モデルの内容を変更することができる。最終的に生成・編集されたマッピング・モデルは差異管理データサーバ６００に実装されているタグ付き文書変換装置３００（図３では３１０，３２０で表現される）で利用され、データベース間の整合性維持状況を表すタグ付き文書を生成する処理に利用される。
【００１４】
図３はデータベース間の整合性情報を管理するシステムの構成を示すものである。図３のデータベース統合システムは既存システムとして、配管設計システム１１０，系統設計システム１２０および機器設計システム１３０を有している場合の実施例である。この例では，配管設計システム１１０は、端末装置１１０ａ、と業務対応アプリケーションとしての配管設計アプリケーション（プログラム）１１０ｂおよび業務対応データベースとしての配管設計データベース１１０ｃから構成されている。
【００１５】
また、系統設計システム１２０は端末装置１２０ａ，業務対応アプリケーションとしての系統設計アプリケーション（プログラム）１２０ｂおよび業務対応
ＤＢとしての系統設計データベース１２０ｃから構成されている。また、機器設計システム１３０は端末装置１３０ａ，業務対応アプリケーションとしての機器設計アプリケーション（プログラム）１３０ｂおよび業務対応ＤＢとしての機器設計データベース１３０ｃから構成されている。
【００１６】
各システムのデータベース１１０ｃ，１２０ｃおよび１３０ｃに、マッピング・モデル・データベース１３００に格納されているマッピング・モデル１１０−１２０および１２０−１３０を割り当てることによって、系統設計データベース１２０ｃを中心にして、配管設計データベース１１０ｃと機器設計データベース１３０ｃを対応付ける環境を作っている。
【００１７】
また、１１０ｃ，１２０ｃおよび１３０ｃの各データベースにおける変更検知処理装置２１０，２２０，２３０を通じて、データベースに変更があったかどうかを検知する。この変更検知結果およびデータベースの変更部分のデータについての信号２１０（ｉ），２２０（ｉ），２２０（ｉｉ），２３０（ｉ）を入力データとする差異データ管理サーバ６００で、タグ付き文書によってデータベース間の整合状態を管理する。
【００１８】
ここで、タグとはデータに対して意味付けをする情報、すなわち属性名称などから作った記述子のことを言う。差異データ管理サーバ６００では信号２１０（ｉ）または信号２２０（ｉ）のいずれかの信号が発生したときに、マッピング・モデル１１０−１２０を利用してタグ付き文書変換処理装置３１０が起動し、系統設計データベース−配管設計データベース１２０ｃと１１０ｃの整合性維持状況を表すタグ付き文書を生成し、タグ付き文書蓄積ファイルシステム４１０に蓄積する。タグ付き文書蓄積ファイルシステム４１０は系統設計−配管設計のデータベース間で対応状況に差異を検出した場合に、各業務アプリケーション１１０ｂ，１２０ｂにデータ修正要求４１０（ｉ）と４１０（ｉｉ）を出力する。
【００１９】
同様に、信号２２０（ｉｉ）または信号２３０（ｉ）のいずれかの信号が発生したときに、マッピング・モデル１２０−１３０を利用してタグ付き文書変換処理装置３２０が起動し、系統設計データベース−機器設計データベース１２０ｃと１３０ｃの整合性維持状況を表すタグ付き文書を生成し、タグ付き文書蓄積ファイルシステム４２０に蓄積する。タグ付き文書蓄積ファイルシステム４２０は系統設計−配管設計のデータベース間で対応状況に差異を検出した場合に各業務アプリケーション１２０ｂ，１３０ｂにデータ修正要求４２０（ｉ）と４２０（ｉｉ）を出力し、系統設計アプリケーション・プログラム１２０ｂあるいは機器設計アプリケーション・プログラム１３０ｂにより設計データの修正を行う。
【００２０】
また、既存システムとは別にネットワークに接続された端末装置７００と、これに実装されているブラウザにより、ユーザからの表示要求を表示要求受付装置５００で処理する。この際、表示要求受付装置５００が必要とするタグ付き文書はタグ付き文書蓄積ファイルシステム４１０または４２０から選択し、表示形態も予め用意したスタイル設定ファイル５１０から選択して、表示画面を生成する。
【００２１】
図３の例では系統設計データベース１２０ｃと配管設計データベース１１０ｃ，系統設計データベース１２０ｃと機器設計データベース１３０ｃとの間のデータベース間の差異を管理するシステムを表現しているが、配管設計データベース１１０ｃと機器設計データベース１３０ｃとの間の差異関係も同様の構成で確認できるように構成することができる。
【００２２】
図４は系統設計データベースと配管設計データベースの対応付けの関係を示す図である。図４（ａ）は実際のデータベース内容の一例を示すものである。例えば、配管設計データベース１１０ｃのテーブルと系統設計データベース１２０ｃのテーブルを対応付けた例である。例えば、配管番号とＬＣ，ＬＤが１１０−１２０−１ｃ，最高使用圧力とＬＧが１１０−１２０−２ｃ，最高使用温度とＬＨが１１０−１２０−３ｃという関係で各行ごとに対応が付けられている。この関係は図４（ｂ）のようなモデルで表されるようなものである。図４（ｂ）は（ａ）の対応関係を図式的に表示したものである。
【００２３】
すなわち、系統設計＿配管設計という内容で比較すべき属性項目集合ＲＯＷが複数行存在する。複数行存在するという情報はＲＯＷの上についている＊で表している。＊がなければ、一つ存在するという意味になる。そしてＲＯＷの構成要素として、配管番号１１０−１２０−３，最高使用圧力１１０−１２０−４，最高使用温度１１０−１２０−５などといった情報がある。さらに、配管番号１１０−１２０−１の下位情報として系統設計側の配管番号、配管設計側のＬＤとＬＣを「−（ハイフン）」で結びつけた内容が対応付けられる、などといった階層構成になっている。この図４（ｂ）で表される対応付けの関係を利用して実際のデータベースの属性値を対応付ける。
【００２４】
図５は配管設計データベース１１０ｃ，系統設計データベース１２０ｃの対応付けをＷ３Ｃ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ　Ｃｏｎｓｏｒｔｉｕｍ、ｈｔｔｐ：／／ｗｗｗ．ｗ３ｃ．ｏｒｇ）で国際的に標準化されているタグ付き文書規格、すなわちＸＭＬに従う構文であるＸＭＬ　Ｓｃｈｅｍａに従った場合の、マッピング・モデル１１０−１２０の記述例を示すものである。この例では系統設計＿配管設計という名称で最上位の要素を定めて、比較すべき属性項目集合をＲＯＷとして定めると、ＲＯＷの中には配管番号，最高使用圧力などといったものがある。
【００２５】
さらに配管番号として比較する情報は系統設計データベース側の配管番号という属性項目，配管設計データベース側のＬＣ＿ＬＤという属性項目があるといったように階層的に対応関係の情報を展開して記述する。また、系統設計データベース側のテーブル名を＄ｔａｂｌｅＮａｍｅ１、配管設計データベース側のテーブル名を＄ｔａｂｌｅＮａｍｅ２としておくと、実際のテーブル内の属性項目はそれぞれ、＄ｔａｂｌｅＮａｍｅ１．配管番号，ＣＯＮＣＡＴ（＄ｔａｂｌｅＮａｍｅ２．ＬＤ，ＣＯＮＣＡＴ（‘−’，＄ｔａｂｌｅＮａｍｅ２．ＬＣ））で表現するような情報で表される。ここで、ＣＯＮＣＡＴ（‘−’，＄ｔａｂｌｅＮａｍｅ２．ＬＣ）は‘−’と＄ｔａｂｌｅＮａｍｅ２．ＬＣの文字列を結合する関数を意味している。
【００２６】
図６は図５に示すマッピング・モデルを使って生成したタグ付き文書の例を示す。タグ付き文書の一例としてＸＭＬでデータベース間の対応関係を表すと図６のように表され、この対応付けは図４（ｂ）または図５で表すマッピングデータを用いて、図４（ａ）の実際の属性値を用いて実施される。すなわち、＜系統設計＿配管設計＞と＜／系統設計＿配管設計＞というタグで、情報の先頭と最後をはさむことで対応関係全体を表している。
【００２７】
＜系統設計＿配管設計＞の中にはプラントコード，更新時刻，データ数のパラメータとして、それぞれ、“Ａ”，“２００１／１２／１７　１８：１４：５６”，“１００”を表記する。＜系統設計＿配管設計＞＜／系統設計＿配管設計＞のタグの内側に＜ＲＯＷ＞＜／ＲＯＷ＞タグで実際のデータの、対応関係の集合を表す。
【００２８】
＜ＲＯＷ＞タグの中にはｎｕｍ＝“０”といったデータの通し番号を付ける。＜ＲＯＷ＞タグの内側には＜配管番号＞＜／配管番号＞，＜最高使用圧力＞＜／最高使用圧力＞などといった対応付ける属性の意味情報を表す。各タグの中には、例えば＜配管番号＿系統設計＞＜／配管番号＿系統設計＞，＜ＬＣ＿ＬＤ＿配管設計＞＜／ＬＣ＿ＬＤ＿系統設計＞などで属性値をはさんで、実際のデータベースの固有の情報をＲＨＲ−００１というように具体的に記述する。
【００２９】
図７は図６のタグ付き文書を用いて生成した表示画面の一例で、対応関係生成処理により生成されたタグ付き文書を用いて生成した画面の例を示す図である。一般的にタグ付き文書に関しては表示変換のためのプログラムが公開・市販されており、容易に入手可能になっている。図７では、図６に示すようなタグ付き文書を表形式の表示に変換する処理を表示変換プログラムで実施している。ウィンドウ７００−ａには配管データ比較対応関係を表示する。例えば、プルダウンメニュー７０１からプラント名として、Ａプラントを選択し、系統として、ツリーメニューからＥ１１残留熱除去系７０２を選択してから、対応関係表示ボタン７０３を押すと、右下のウィンドウ７０７に各属性間の対応関係が例えば最高使用圧力とＬＧ、最高使用温度とＬＨのように配管番号順に表示される。これは図６に示すようなタグ付き文書をもとに生成している。
【００３０】
図８は２つの設計データベースの属性値同士を比較し、マッピング・モデルを生成する処理の流れの概要を示す図である。この処理は設計データベース間比較マッピング・モデル生成装置１２００上における処理を説明するものであり、管理・編集端末１０００からのデータベース・マッピング・モデル作成指示信号の出力によって実行される。
【００３１】
ここでは、まず、管理・編集端末１０００からのデータベース関連パラメータの指定情報をまずプログラムが利用しているメモリに格納する（ＳＴＥＰ１０）。データベース関連パラメータとしては、例えばテーブル名称やそのテーブルの主キー情報などがある。ここでは仮にデータベース１（ＤＢ１）とデータベース２（ＤＢ２）に格納されているテーブルに含まれる属性同士を対応付けるものとする。
【００３２】
次に、ＤＢ１とＤＢ２から選択した各テーブルの主キーのドメイン情報を収集する（ＳＴＥＰ２０）。ここで主キーとはテーブルに含まれる行方向のデータを特定する属性を意味するものであり、ドメイン情報とはある特定の属性の列方向に関わる属性値についての集合のことを意味する。すなわち、主キーのドメイン情報とは行方向のデータを特定する属性に対応する属性値の集合のことになる。
【００３３】
次に、ＤＢ１とＤＢ２から選択した各テーブルの主キーの共通ドメイン情報を収集する（ＳＴＥＰ３０）。主キーの共通ドメイン情報とはＤＢ１とＤＢ２で行方向のデータを特定する属性に対応する共通の属性値の集合である。
【００３４】
次に、ＤＢ１とＤＢ２から選択した各テーブルの属性名称を収集する（ＳＴＥＰ４０）。これは、選択した２つのテーブルについてそれぞれ、列方向を特定する属性の名称を収集することになる。
【００３５】
次に、ＤＢ１とＤＢ２から選択した各テーブルの間でＳＴＥＰ４０で収集した属性名称ごとに、属性値が一致するかどうか判定し、一致数・不一致数を計数する（ＳＴＥＰ５０）。
【００３６】
次に、ＳＴＥＰ５０で得られた属性値の一致数・不一致数から計算した一致指数を基にＤＢ１とＤＢ２から選択した各テーブルの間を対応付けるマッピング・モデルを生成する（ＳＴＥＰ６０）。
【００３７】
最後に、マッピング・モデルを図１に示したような管理・編集端末１０００にマッピング・モデル作成結果を表示する（ＳＴＥＰ７０）ことで処理を終了する。
【００３８】
以下、図８に示す処理の詳細を図とフローチャートを用いて説明する。
【００３９】
図９はマッピング・モデル生成処理のためのデータを入力するシステムの表示画面例を示す図である。これは管理・編集端末１０００に処理開始前の必須データを与える入力パラメータ設定画面１０００−ａとして利用される。入力パラメータ設定画面１０００−ａにはＤＢ１とＤＢ２に分けて情報を設定する項目がある（１０００−ａ−１，１０００−ａ−２）。
【００４０】
設定項目としてはテーブル名１０００−ａ−３，主キー属性名１０００−ａ−４，区切り文字１０００−ａ−５，検索条件１０００−ａ−６，生成条件１０００−ａ−７がある。ここでは、例えば、ＤＢ１とＤＢ２のそれぞれのテーブル名として「系統設計」と「配管設計」を、主キー属性名として「配管番号」と「ＬＤ」および「ＬＣ」を、図４に示すようなテーブルで「ＲＨＲ−００１」のような配管番号の属性値を区切る文字列１０００−ａ−５を「−」として設定する。これにより、「ＲＨＲ−００１」から「ＲＨＲ」と「００１」を抽出して、「配管番号」と「ＬＤ」，「ＬＣ」を比較するための情報を生成することができる。また、検索条件１０００−ａ−６は、ある特定の属性値のときに比較したい場合に使用することができ、空白でもかまわない。検索条件１０００−ａ−６が空白のときには、テーブルに含まれる全属性値を用いて比較することになる。さらに、生成条件１０００−ａ−７は例えばＤＢ１とＤＢ２のテーブル「系統設計」，「配管設計」それぞれに対して「“系統略称＝＄ｓｙｓｔｅｍＮａｍｅＡｂｂ”」，「“ｌａ＝＄ｐｌａｎｔＮａｍｅ　ａｎｄ　ｎｔ＝＄ａｒｅａ　ａｎｄ　ｌｄ＝＄ｓｙｓｔｅｍＮａｍｅＡｂｂ”」と設定する。これは、タグ付き文書変換装置３００において二つのデータベースのテーブルからタグ付き文書を生成する際に利用する外部条件を指定するものであり、＄ｓｙｓｔｅｍＮａｍｅＡｂｂとして系統略称を、＄ｐｌａｎｔＮａｍｅとしてプラント名を、＄ａｒｅａとして建屋を、外部から変数として与えるのに利用する。ここで、「系統略称」，「ｌａ」，「ｎｔ」，「ｌｄ」はそれぞれのテーブルに含まれる属性の名称である。
【００４１】
データベースの設定に依存しない共通の設定項目として保存ディレクトリ名１０００−ａ−８，比較レコード名１０００−ａ−９，コード変換の指定１０００−ａ−１０および属性値比較方法１０００−ａ−１１がある。ここでは、設計データベース間比較マッピング・モデル生成処理により作成されたマッピング・モデルを保存するコンピュータ上のディレクトリ名１０００−ａ−８を「Ｃ：￥ＸＭＬＳｃｈｅｍａ」、属性値を比較するためのデータ数（レコード数とも言う）１０００−ａ−９を「１００」、単位系や独自のコード体系の変換があるかどうかの指定１０００−ａ−１０を「ｙｅｓ」、属性値の比較方法１０００−ａ−１１を「主キー−属性値一致」として指定している。これらの指定項目を入力したあと、モデル生成ボタン１０００−ａ−１２を押すことによって、図８のＳＴＥＰ１０以降の処理が開始される。リセットボタン１０００−ａ−１３を押すことによって、入力パラメータ設定画面１０００−ａですでに入力した内容を消去することができる。図８に示すＤＢ関連パラメータ指定処理ＳＴＥＰ１０では図９で指定した内容をプログラム上で確保したメモリに記憶させる処理を実施することになる。
【００４２】
図１０はＤＢ１とＤＢ２の主キーのドメイン情報を収集する処理ＳＴＥＰ２０の詳細な処理の流れを示す図である。まず、ＳＴＥＰ１０においてＤＢ関連パラメータが設定されたあと、本処理が実行される。
【００４３】
処理においては、まず、データベース番号として１を設定する（ＳＴＥＰ２０−１）。
【００４４】
次に、図９に示すような入力画面とＳＴＥＰ１０の処理で設定したＤＢ１についての主キーの属性名称とテーブル名称を設定する（ＳＴＥＰ２０−３）。
【００４５】
そして、該テーブルにおける主キーの属性値を全数検索して、一時的にメモリに格納する（ＳＴＥＰ２０−４）。
【００４６】
この後、あらかじめカウント数を０にしておき（ＳＴＥＰ２０−６）、データ番号が１の主キー属性値から始めて（ＳＴＥＰ２０−５およびＳＴＥＰ２０−７，Ｙｅｓ）、属性値が空ではないかどうか判定する。もし、属性値が空ではないとき（ＳＴＥＰ２０−８，Ｙｅｓ）、カウント数を１増やし（ＳＴＥＰ２０−９）、データ番号に対応付けた主キードメイン情報の集合、すなわち主キードメイン情報［カウント数］に空ではない主キーの属性値を格納する（ＳＴＥＰ２０−１０）。ＳＴＥＰ２０−９およびＳＴＥＰ２０−１０は属性値が空のときは実施しない（ＳＴＥＰ２０−８，Ｎｏ）。これらの処理の後、データ番号を１増やし（ＳＴＥＰ２０−１１）、データ番号がＳＴＥＰ２０−４で検索した結果得られたデータの全件数に達するまで（ＳＴＥＰ２０−７，Ｎｏとなるまで）処理を繰り返す。
【００４７】
データベース番号１について処理が終了するとデータベース番号を１増やして、すなわちＤＢ２についてＳＴＥＰ２０−３からＳＴＥＰ２０−１２を繰り返して実施する。
【００４８】
以上の処理によりＤＢ１とＤＢ２のそれぞれのデータベースに含まれる、指定したテーブルについてのそれぞれの主キーに関する属性値についてのドメイン情報を収集する。
【００４９】
図１１は主キーの共通ドメイン情報収集の流れを示す図である。この図は図８におけるＳＴＥＰ３０の処理を詳細に説明したものである。
【００５０】
まず、図１０に示す処理に得られた各データベースに対応する主キードメイン情報を主キードメインの配列に格納する。すなわち、ＤＢ１に関わる主キードメインの配列の内容を主キードメイン１という名称の配列に、ＤＢ２に関わる主キードメインの配列の内容を主キードメイン２という名称の配列に格納する。そして、共通ドメインデータ番号を０にしておく（ＳＴＥＰ３０−１）。
【００５１】
次に、主キードメイン１の配列の要素を順にサーチしていくためのデータ番号１を１にする（ＳＴＥＰ３０−２）。データ番号１が主キードメイン１のデータ数、すなわち主キードメイン１の配列の最大要素数以内であるとき（ＳＴＥＰ３０−３，Ｙｅｓ）、以下の処理を繰り返す。
【００５２】
まず、主キードメイン２の配列の要素を順にサーチしていくためのデータ番号２を１にする（ＳＴＥＰ３０−４）。そして、データ番号２が主キードメイン２のデータ数、すなわち主キードメイン２の配列の最大要素数以内であるとき（ＳＴＥＰ３０−５，Ｙｅｓ）、さらに、以下の処理を繰り返す。
【００５３】
ここでは、データ番号１に対応する主キードメイン１の値、すなわち主キードメイン１［データ番号１］で表される値とデータ番号２に対応する主キードメイン２の値、すなわち主キードメイン２［データ番号２］で表される値を比較し、それらが一致する場合（ＳＴＥＰ３０−６，Ｙｅｓ）、共通ドメインデータ番号を１増やし（ＳＴＥＰ３０−７）、共通ドメイン［共通ドメインデータ番号］に主キードメイン１［データ番号１］，主キードメイン２［データ番号２］を格納する（ＳＴＥＰ３０−８）。
【００５４】
これらの処理の終了後、データ番号２を１増やし（ＳＴＥＰ３０−９）、ＳＴＥＰ３０−５からＳＴＥＰ３０−９までの処理をデータ番号２が主キードメイン２の最大データ数に達するまで（ＳＴＥＰ３０−５，Ｎｏ）、繰り返す。これらの処理の終了後、データ番号１を増やし（ＳＴＥＰ３０−１０）、ＳＴＥＰ３０−３からＳＴＥＰ３０−１０までの処理をデータ番号１が主キードメイン１の最大データ数に達するまで（ＳＴＥＰ３０−３，Ｎｏ）、繰り返す。
【００５５】
以上の処理により共通ドメイン［共通ドメインデータ番号］に、ＤＢ１とＤＢ２で共通する主キードメイン情報を収集する。
【００５６】
図１２はデータベースの属性名称収集処理の流れを示す図である。この図は図８におけるＳＴＥＰ４０の処理を詳細に説明したものである。
【００５７】
処理においては、まず、データベース番号として１を設定する（ＳＴＥＰ４０−１）。次に、テーブル名にデータベース番号１に対応したテーブル名を設定する（ＳＴＥＰ４０−３）。次に、データベース側で持っているテーブル名に属する属性の名称のデータベース辞書を参照することによって、テーブル名に対応した属性名称のリストを検索する（ＳＴＥＰ４０−４）。
【００５８】
次に、検索の結果得られた属性名称リストを属性名称リスト［１］に格納する（ＳＴＥＰ４０−５）。
【００５９】
次に、データベース番号を１増やしてデータベース番号が２のデータベースについてＳＴＥＰ４０−２からＳＴＥＰ４０−６までの処理を繰り返して実施する。これにより、属性名称リスト［２］にデータベース番号２の属性名称のリストを格納する。そして、ＳＴＥＰ４０−２，Ｎｏの条件が成立して終了することによって、次のＳＴＥＰ５０に属性名称リストを渡す。
【００６０】
以上の処理により、ＤＢ１とＤＢ２の各データベースで指定したテーブルの属性名称を収集する。
【００６１】
図１３は主キーを利用した属性値の一致情報収集処理の流れを示す図である。この図は図８におけるＳＴＥＰ５０の処理を詳細に説明したものである。処理においては、まず、共通ドメインデータ番号として１を設定する（ＳＴＥＰ５０−１）。また、属性値の一致数と不一致数を見るための属性番号１と属性番号２の対応関係と非対応関係を表す一致カウント［属性番号１］［属性番号２］と不一致カウント［属性番号１］［属性番号２］としての初期値０を設定する（ＳＴＥＰ５０−２）。図では簡略表記として一致カウント［］［］，不一致カウント［］［］で表している。
【００６２】
次に、以下の処理を共通ドメインデータ番号がＳＴＥＰ３０で収集した共通ドメイン情報の最大数になるまで（ＳＴＥＰ５０−３，Ｎｏとなるまで）、繰り返す。ここで、生成された一致カウント［］［］，不一致カウント［］［］の情報はＳＴＥＰ６０で利用する。
【００６３】
共通ドメインデータ番号が共通ドメイン情報の最大数以内であるとき（ＳＴＥＰ５０−３，Ｙｅｓ）、まず、ＤＢ１で指定したテーブルに格納される属性の順番を表す属性番号１に１を設定する（ＳＴＥＰ５０−４）。そして、ＳＴＥＰ５０−５からＳＴＥＰ５０−１３までの処理を属性番号１がＤＢ１で指定したテーブルに格納される属性の最大数になるまで（ＳＴＥＰ５０−５，Ｎｏとなるまで）、繰り返す。ＳＴＥＰ５０−５，Ｎｏとなれば、共通ドメインデータ番号を１増やして（ＳＴＥＰ５０−１５）、ＳＴＥＰ５０−３からＳＴＥＰ５０−１５までの処理を繰り返す。
【００６４】
ＳＴＥＰ５０−５からＳＴＥＰ５０−１４までの繰り返し処理では、まず、共通ドメイン［共通ドメインデータ番号］と属性番号１で特定されるＤＢ１側の属性値をデータ１に割り当てる。また、データベースの属性値のコード体系や単位系を変換するために、コード変換の指定を図９に示すような入力画面で指定した場合には、コード変換フラグをＹｅｓにして、得られた属性値に対してコード変換を施したものを比較用の値として利用する（ＳＴＥＰ５０−６）。
【００６５】
次に、ＤＢ２で指定したテーブルに格納される属性の順番を表す属性番号２に１を設定する（ＳＴＥＰ５０−７）。ＳＴＥＰ５０−８からＳＴＥＰ５０−１３までの処理を属性番号２がＤＢ２で指定したテーブルに格納される属性の最大数になるまで（ＳＴＥＰ５０−８，Ｎｏとなるまで）、繰り返す。ＳＴＥＰ５０−８，Ｎｏとなれば、属性番号１を１増やして（ＳＴＥＰ５０−１４）、ＳＴＥＰ５０−５からＳＴＥＰ５０−１４までの処理を繰り返す。
【００６６】
ＳＴＥＰ５０−８からＳＴＥＰ５０−１３までの繰り返し処理では、共通ドメイン［共通ドメインデータ番号］と属性番号２で特定されるＤＢ２側の属性値をデータ２に割り当てる。また、データベースの属性値のコード体系や単位系を変換するために、コード変換の指定を図９に示すような入力画面で指定した場合には、コード変換フラグをＹｅｓにして、得られた属性値に対してコード変換を施したものを比較用の値として利用する（ＳＴＥＰ５０−９）。
【００６７】
次に、データ１とデータ２をある評価関数（ここでは、一致関数と名付けた関数）により一致すると判定された場合（ＳＴＥＰ５０−１０，Ｙｅｓ）、一致カウント［属性番号１］［属性番号２］を１増やす（ＳＴＥＰ５０−１１）。また、一致関数の評価で不一致であると判定された場合（ＳＴＥＰ５０−１０，Ｎｏ）、不一致カウント［属性番号１］［属性番号２］を１増やす（ＳＴＥＰ５０−１２）。ＳＴＥＰ５０−１１またはＳＴＥＰ５０−１２の処理後、属性番号２を１増やして（ＳＴＥＰ５０−１３）、ＳＴＥＰ５０−８からＳＴＥＰ５０−１３までの処理を繰り返す。
【００６８】
以上の処理により、ＤＢ１とＤＢ２より選択した各テーブルに属する属性の属性値同士の一致度および不一致度を、二次元配列の形式の情報として、一致カウント［属性番号１］［属性番号２］，不一致カウント［属性番号１］［属性番号２］のように生成する。
【００６９】
図１４は主キーを利用した属性値の一致情報収集処理により得られた属性一致度に関する情報をグラフ形式で示した例である。例えば、ＤＢ１とＤＢ２に関して設定したテーブル名をそれぞれ「系統設計」，「配管設計」とすると、主キーの属性を除いて比較した結果を図１４では示している。
【００７０】
系統設計テーブルに含まれる属性の名称を最高使用圧力，最高使用温度、および耐震クラスとして、配管設計テーブルに含まれる属性の名称をＬＧ，ＬＨ、およびＬＩとすると、最高使用圧力−ＬＧ，最高使用温度−ＬＨ、および、耐震クラス−ＬＩの一致指数が大きいことが評価の結果わかったことがグラフより読み取ることができる。その他の属性間の対応関係は一致指数が非常に低くなっている。
【００７１】
ここで、一致指数は、例えば、一致カウント［属性番号１］［属性番号２］／（一致カウント［属性番号１］［属性番号２］＋不一致カウント［属性番号１］［属性番号２］）で表されるもので、分母は属性値が空ではないものの属性の総数を表す。このような一致指数に対して、例えば閾値を０．７　と設定するとそれ以上のものを属性同士が対応していると判定し、閾値より小さいものについての属性間は対応していないものと判定することができる。
【００７２】
図２２はＤＢ１とＤＢ２に含まれる各テーブルの属性間の対応関係を表すマッピング・モデルを生成する処理の流れを示す図である。この図は図８におけるＳＴＥＰ６０の処理を詳細に説明したものである。ここでは、ＳＴＥＰ１０からＳＴＥＰ５０までの処理結果に基づき、例えば、図５に示すようなマッピング・モデルの雛型を生成する。
【００７３】
処理においては、まず、ＤＢ１とＤＢ２から選択したテーブル名からマッピング・モデルのルート要素、つまり、図６で示すようなタグ付き文書の一番先頭となる要素を生成する（ＳＴＥＰ６０−１）。図５，図６の例ではルート要素は「系統設計＿配管設計」で記述される要素となる。次に、各テーブルの行に対応する行属性要素「ＲＯＷ」を生成して、ルート要素に子要素として追加する（ＳＴＥＰ６０−２）。ここでは、「系統設計＿配管設計」の下位に「ＲＯＷ」を追加する。次に、主キー属性要素を生成し、ＲＯＷに子要素として追加する
（ＳＴＥＰ６０−３）。
【００７４】
さらに、ＤＢ１のテーブルの主キー要素，データベース接続情報を生成し、主キー属性要素に子要素として追加する。この処理はＤＢ２についても実施する（ＳＴＥＰ６０−４，５）。次に、属性番号１に最初に１を設定した後、ＳＴＥＰ６０−６からＳＴＥＰ６０−１４までの処理を属性番号１に関して繰り返す（ＳＴＥＰ６０−６，Ｙｅｓ）。さらに、属性番号１に関する繰り返し処理の中では、属性番号２に１を設定した後、ＳＴＥＰ６０−７からＳＴＥＰ６０−１３までの処理を属性番号２に関して繰り返す（ＳＴＥＰ６０−７，Ｙｅｓ）。
【００７５】
属性番号２に関する繰り返し処理の中では、図１３に関する説明で述べた一致指数［属性番号１］［属性番号２］が予め定めた閾値以上で、マッピング・モデル生成用に未選択の場合（ＳＴＥＰ６０−８，Ｙｅｓ）、属性間の対応関係を表す要素を生成する。もし、閾値より小さいか、マッピング・モデル生成用に属性が選択済みの場合（ＳＴＥＰ６０−８，Ｎｏ）、属性値間の対応関係を表す要素を生成することはしない。
【００７６】
属性間の対応関係を表す要素を生成する処理はＳＴＥＰ６０−９からＳＴＥＰ６０−１２で実施する。ここでは、代表属性名を生成し、ＲＯＷに子要素として追加する（ＳＴＥＰ６０−９）。なお、代表属性名として利用する属性名はＤＢ１かＤＢ２のいずれかのテーブルに属する属性名を設定するものとし、どちらを使用するかは予め定めておくことにする。ここでは、ＤＢ１のテーブルに属する属性名を選択している。
【００７７】
次に、ＤＢ１から選択したテーブルの属性名で要素を生成し、かつ、データベースへの接続情報も生成して、代表属性名の子要素として追加する。この処理はＤＢ２についても実施する（ＳＴＥＰ６０−１０，１１）。次に、属性名１［属性番号１］，属性名２［属性番号２］についてはマッピング・モデル用の要素生成に使用済みであることを表すフラグを設定する（ＳＴＥＰ６０−１２）。次に、属性番号２を１増やした（ＳＴＥＰ６０−１３）後、ＳＴＥＰ６０−７からＳＴＥＰ６０−１３までの処理を繰り返す。すべての属性に関して、対応付けられる属性をマッピング・モデル中に生成した後、対応付けることが不可能な属性の要素群を生成し、ＲＯＷに子要素として追加する（ＳＴＥＰ６０−１５）。
【００７８】
以上の処理により、属性値の一致指数の評価により、対応付けられる属性に関してはマッピング・モデル中に対応関係を表す要素群を表現し、対応付けることが不可能な属性に関してはマッピング・モデル中に対応付け不可能であった要素群を生成して、マッピング・モデルとしての雛型を生成することができる。
【００７９】
図２３は生成したマッピング・モデルの雛型に関して、編集中の画面例を示す図である。これは図８のマッピング・モデル表示処理ＳＴＥＰ７０により生成する。
【００８０】
この図に示す画面は管理・編集端末１０００に表示して、ユーザが操作を加えるものである。この画面例１０００−ｃにおいては表示枠１０００−ｃ−１の中に系統設計＿配管設計をルート要素として、その下にＲＯＷという要素が追加されている。
【００８１】
ＲＯＷの下位には、ＳＴＥＰ１０からＳＴＥＰ６０までの処理により生成された自動対応付け部分と自動対応付け不可だった不一致部分が接続される。
【００８２】
不一致部分に関してはユーザの編集操作１０００−ｃ−ａ１により自動対応付け部分に要素を移動して、手動でデータベース間の要素対応付けを図ることができる。また、自動対応付けの結果に関しても、ユーザの判断で対応すべきでないと思われる要素については削除することができる。
【００８３】
このような画面を用いて、編集した後に、マッピング・モデルをマッピング・モデル・データベース１３００に「修正結果保存ボタン」１０００−ｃ−２を押して保存する。
【００８４】
以上のような構成・処理により、二つのテーブルの持つ属性値の一致／不一致の関係から、異なるデータベースを対応付けるモデルを自動的に作成できる。
【００８５】
次に、上記の実施の形態から処理・構成を変更した場合における実施の形態について、別の図を用いて説明する。
【００８６】
図１５は図１３の主キーを利用した属性値の一致情報収集処理ＳＴＥＰ５０に変わるものであり、属性の度数分布を利用した属性値の一致情報収集処理の流れを示す図である。この図は図８におけるＳＴＥＰ５０の処理を入れ替えて利用するものなので、処理番号をＳＴＥＰ５０ａとする。
【００８７】
処理においては、まず、属性番号１に１を設定する（ＳＴＥＰ５０ａ−１）。
【００８８】
属性番号１がテーブル１の属性数（属性数１）以下（ＳＴＥＰ５０ａ−２，Ｙｅｓ）であれば、レコード番号に１を設定する（ＳＴＥＰ５０ａ−３）。レコード番号が最大レコード数以内（ＳＴＥＰ５０ａ−４，Ｙｅｓ）であれば、レコード番号と属性番号１で特徴付けられるデータ１の配列（データ１［レコード番号］［属性番号１］）に、コード変換フラグ，レコード番号，属性番号１で特徴付けられるデータベース１のテーブル１における属性値を代入する（ＳＴＥＰ５０ａ−５）。次に、レコード番号を１増やし（ＳＴＥＰ５０ａ−６）、ＳＴＥＰ５０ａ−４からＳＴＥＰ５０ａ−６の処理を繰り返す。
【００８９】
もし、レコード番号が最大レコード数を超えた場合（ＳＴＥＰ５０ａ−４，Ｎｏ）、属性番号１を１増やし（ＳＴＥＰ５０ａ−７）、ＳＴＥＰ５０ａ−２からＳＴＥＰ５０ａ−７の処理を繰り返す。
【００９０】
属性番号１がテーブル１の属性数の最大値を超えた場合（ＳＴＥＰ５０ａ−２，Ｎｏ）、いくつかのレコードの値から求めたデータ１［］［属性番号１］からヒストグラム生成関数を利用することにより、属性番号１ごとのヒストグラム１［属性番号１］、すなわち、テーブル１における属性ごとの属性値の分布を表すヒストグラムを生成する（ＳＴＥＰ５０ａ−８）。
【００９１】
次に、ＳＴＥＰ５０ａ−１からＳＴＥＰ５０ａ−８までと同等の処理をテーブル２の属性に関しても繰り返し、テーブル２における属性ごとの属性値の分布を表すヒストグラム２を生成する（ＳＴＥＰ５０ａ−１００）。最後に、ヒストグラム１とヒストグラム２をそれぞれの属性数１と属性数２にわたって面積の差を比較する（ＳＴＥＰ５０ａ−２００）。
【００９２】
図１６は属性の度数分布（ヒストグラム）についての比較方法の一例を示す図である。例えば、ＤＢ１の系統設計テーブルに関する度数分布を（ａ）最高使用圧力，（ｂ）最高使用温度，（ｃ）耐震クラスの属性について、属性値ごとに示している。また、同様にＤＢ２の配管設計テーブルについても（ｄ）ＬＧ，（ｅ）ＬＨ，（ｆ）ＬＩの属性について、属性値ごとに示している。なお、（ｄ）についてはコード変換により単位系を変えた場合の度数分布を示している。
【００９３】
これらの度数分布における軸方向のデータの型と範囲を度数分布同士で比較し、比較可能なものについては縦軸方向の度数の差を面積差として求め、（ｇ）のように度数分布比較グラフを作成する。このグラフ（ｇ）は図１４に示すものと同等のものであるが縦軸の一致指数は１−（規格化された度数分布の区分ごとの面積の差の総和）となっている。この一致指数が、ある閾値を超えた場合には、一致する属性の対が求められる。また、グラフ（ｇ）では耐震クラスとＬＩのような文字列型の属性値の分布のその他の数値型の属性値の分布は比較不可能なので、一致指数を０に設定している。
【００９４】
このように度数分布を用いた属性値同士の比較により、比較対象のテーブルの主キーが不明な場合でも属性間の一致関係を抽出することができる。
【００９５】
次に、図１７と図１８は図９のＳＴＥＰ４０とＳＴＥＰ５０の間に挿入可能な処理であり、データ変換処理として機能する。図１７は指定した属性値を分解した場合における属性値の一致情報収集処理の流れを示す図である。
【００９６】
処理においてはまず、データベース番号に１を設定する（ＳＴＥＰ４００−１）。データベース番号が２以下である場合（ＳＴＥＰ４００−２，Ｙｅｓ）、以下の処理（ＳＴＥＰ４００−３からＳＴＥＰ４００−１６）を繰り返す。
【００９７】
処理ではまず、共通ドメインデータ番号に１を設定する（ＳＴＥＰ４００−３）。共通ドメインデータ番号が最大となる共通ドメイン数以下であるならば（ＳＴＥＰ４００−４，Ｙｅｓ）、属性番号に１を設定する（ＳＴＥＰ４００−５）。
【００９８】
次に、属性番号がデータベース番号に応じた属性数（属性数［データベース番号］）以下ならば、すなわち、ＤＢ１またはＤＢ２の各テーブル中に含まれる属性数以下ならば（ＳＴＥＰ４００−６，Ｙｅｓ）、データベース番号，共通ドメインデータ番号，属性番号で特定する属性値（属性値［データベース番号］［共通ドメインデータ番号］［属性番号］）に、データベース番号，共通ドメイン［共通ドメインデータ番号］，属性番号で取得することのできる属性値を属性値取得関数で代入する（ＳＴＥＰ４００−７）。
【００９９】
さらに、分割番号として１を設定する（ＳＴＥＰ４００−８）。
【０１００】
図９の１０００−ａ−５のように示した“−”のような区切り文字があるか、予め属性値の切り出し指定がある場合（ＳＴＥＰ４００−９，Ｙｅｓ）、データベース番号，共通ドメインデータ番号，属性番号，分割番号で特定する属性値（属性値［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］）に、属性値［データベース番号］［共通ドメインデータ番号］［属性番号］に区切り文字で指定される文字切り出し条件を基にして、文字切り出し関数を作用させて文字列を切り出す（ＳＴＥＰ４００−１０）。これは、例えば、文字列“ＲＨＲ−００１”に対して区切り文字列“−”という条件で“ＲＨＲ”を切り出すようなものである。
【０１０１】
そして、属性名称として、属性名称［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］を定義し、これに、もとの属性名称（属性名称［データベース番号］［共通ドメインデータ番号］［属性番号］）と分割番号を連結した文字列を新たに生成する（ＳＴＥＰ４００−１１）。これは、例えば、“配管番号”という属性名称に分割番号の“１”を追加して、新たに“配管番号１”を生成するようなものである。
【０１０２】
この後に、分割番号を１増やし（ＳＴＥＰ４００−１２）、区切り文字がなくなるまで（ＳＴＥＰ４００−９，Ｎｏ）繰り返す。区切り文字がなくなれば、属性番号を１増やして（ＳＴＥＰ４００−１３）、属性番号が最大の属性数になるまで（ＳＴＥＰ４００−６，Ｎｏ）、ＳＴＥＰ４００−６からＳＴＥＰ４００−１３までの処理を繰り返す。
【０１０３】
属性番号が最大の属性になると、共通ドメインデータ番号を１増やし、共通ドメインデータ番号が最大の共通ドメイン数になるまで（ＳＴＥＰ４００−４，Ｎｏ）、ＳＴＥＰ４００−４からＳＴＥＰ４００−１４までの処理を繰り返す。共通ドメインデータ番号が最大の共通ドメイン数になれば、データベース番号を１増やし（ＳＴＥＰ４００−１６）、ＤＢ２についてＳＴＥＰ４００−３からＳＴＥＰ４００−１６の処理を繰り返す。
【０１０４】
ＤＢ２についての処理が終了した段階で、次の処理ＳＴＥＰ４０００にデータ変換後のデータ、すなわち、属性値［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］と属性名称［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］を渡す。
【０１０５】
以上の処理により、たとえ、一つの属性の情報が複数の構造からなる情報から構成されていたとしても、その属性値を分解して、他のデータベースに含まれる情報と比較可能なように情報を分解して取り出すことができる。
【０１０６】
図１８は属性のデータ格納率に応じて属性値比較対象となる属性を選択する処理の流れを示す図である。ここでは、本図で表される処理をＳＴＥＰ４０００としてある。なお、処理の流れの中では、データベース番号，共通ドメインデータ番号，属性番号，分割番号を各条件判断分岐の前に１に初期化する処理の表現を省略してある。
【０１０７】
処理では、まずデータベース番号が初期値１になっているので、データベース番号が２以下であるという条件を満たし（ＳＴＥＰ４０００−１，Ｙｅｓ）、共通ドメインデータ番号，属性番号，分割番号おのおのについてその最大数になるまで（ＳＴＥＰ４０００−２，３，４がＮｏとなるまで）繰り返し処理を実行する。
【０１０８】
処理の最も内側のループでは、データベース番号，共通ドメインデータ番号，属性番号，分割番号で特徴付けられる属性値［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］を属性値という一時変数に代入し（ＳＴＥＰ４０００−５）、属性値がＮＵＬＬでなければ、すなわち、空でなければ（ＳＴＥＰ４０００−６，Ｙｅｓ）、データベース番号，共通ドメインデータ番号，属性番号，分割番号で特徴付けられるカウント［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］を１増やす（ＳＴＥＰ４０００−７）。なお、カウント［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］は処理開始直前にゼロクリアされているものとする。この後、分割番号を１増やし（ＳＴＥＰ４０００−９）、処理を繰り返す。
【０１０９】
以上の一連の処理（ＳＴＥＰ４０００−１からＳＴＥＰ４０００−１２）までの処理が終了したあと、属性データ格納率［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］をカウント［データベース番号］［共通ドメインデータ番号］［属性番号］［分割番号］／共通ドメイン数から求める（ＳＴＥＰ４０００−１３）。
【０１１０】
以上の処理による属性データ格納率を属性値同士の対応付けの際、属性値を比較すべきかどうかの基準に用いれば、すなわち、属性データ格納率が少ないものは属性値同士の対応付けには利用しないということにすれば、比較的、データの格納率が高いもの同士の属性の対応付けが可能になり、属性対応付けの精度を向上させることができる。
【０１１１】
図１９は属性値プールの例を示す図である。これは、過去の属性対応付けの際に、代表的な属性値について、対応する正しい属性名があらかじめ求められたものの結果を格納したものであり、例えば、図１３のＳＴＥＰ５０−６やＳＴＥＰ５０−９でデータ１やデータ２を求めた場合に一致関数を利用しなくても、即座に代表属性名を求めるために利用できるものである。すなわち、過去の属性対応付けの結果を新規の属性対応付けに利用することができ、属性対応付けの精度の向上に寄与することができる。
【０１１２】
図２０はマッピングデータを生成処理のため変数を入力するための画面を用いて、複数テーブルを結合するためのデータを入力する画面例を示す図である。これは、図９に示す入力パラメータ設定画面１０００−ａとほぼ同等のものであり、テーブル名の入力フィールドが複数に増えた（１０００−ａ−３１から３２）のと、テーブル接続条件指定ボタン１０００−ａ−３４と３５が増えたものである。
【０１１３】
テーブル接続条件指定ボタン１０００−ａ−３４を画面上でクリックすると、テーブル接続条件設定ダイアログ１０００−ｂが開く。ここで、マスタテーブル１０００−ｂ−１と接続テーブル１０００−ｂ−２を指定し、属性接続条件を１０００−ｂ−３、その他の条件を１０００−ｂ−４で指定してＯＫボタン１０００−ｂ−５で確定するものである。画面例ではＤＢ１のプラント管理テーブルと系統設計テーブルをそれぞれのテーブルのプラントコードで接続し、その他の条件として、プラント管理のプラント名を“Ａプラント”に制限したものを表している。なお、テーブル接続条件指定ボタン１０００−ａ−３５をクリックするとＤＢ２についてのテーブル接続条件を設定できる。
【０１１４】
図２１は設計データベースの対応付けに使用する結合テーブルの例である。例では、ＤＢ１のプラント管理テーブルと系統設計テーブルをプラントコードという属性で、プラントコードがＡの場合に接続した場合を示している。このようにすることによって、複数のテーブルを一つのテーブルとして表現することができるので、図８に示すようなデータベース対応付けモデル作成の処理が複数のテーブルの場合にも適用することができる。
【０１１５】
以上説明したように、本発明の実施例によれば、複数のテーブルの持つ属性値の一致／不一致の関係から、異なるデータベースを対応付けるモデルを自動的に作成できる。
【０１１６】
また、度数分布を用いた属性値同士の比較手段を備えるものにあっては、比較対象のテーブルの主キーが不明な場合でも属性間の一致関係を抽出することができる。
【０１１７】
更に、属性値同士の比較の際に、あらかじめ作成済みの属性値のコード変換関数を利用して、比較相手のデータベースで利用しているコード体系または単位系に合わせる処理手段を有するものにあっては、データベースで利用している単位系，コード体系が異なる場合でも属性値同士の比較ができる。
【０１１８】
また、属性値同士の比較の際に、あらかじめ外部から規定した属性について属性値の内容を複数の要素に分割し、分割した要素を用いて、比較対象データベースのテーブルの属性が有する属性値と比較する手段を有するものにあっては、たとえ、一つの属性の情報が複数の構造からなる情報から構成されていたとしても、その属性値を分解して、他のデータベースに含まれる情報と比較可能なように情報を分解して取り出すことができる。
【０１１９】
また、属性値同士の比較の前に、格納されているデータ量が少ない属性については比較対象の属性から除去する手段を有するものにあっては、属性データ格納率が少ないものは属性値同士の対応付けには利用しないということにすれば、比較的、データの格納率が高いもの同士の属性の対応付けが可能になり、属性対応付けの精度を向上させることができる。
【０１２０】
また、属性値の集合がどのような設計意味情報に対応付けられるかを示す情報を利用して、各テーブルの属性ごとに、属性値の情報から、その属性が対応付けられる設計意味情報を判定し、同一の設計意味情報に対応付けられる属性同士が対応付けられる属性として判定する手段を有するものにあっては、過去の属性対応付けの結果を新規の属性対応付けに利用することができ、属性対応付けの精度の向上に寄与することができる。
【０１２１】
また、比較対象の少なくとも一方のテーブルを複数のテーブルの結合からなる一つのテーブルとして扱って比較する手段を有するものにあっては、複数のテーブルを一つのテーブルとして表現することができるので、データベース対応付けモデル作成の処理が複数のテーブルの場合にも適用することができる。
【０１２２】
【発明の効果】
以上説明したように、本発明によれば、異なるデータベースの複数のテーブルの持つ属性値を比較した結果から、異なるデータベースを対応付けるためのモデルを作成できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係わる設計データベースをマッピングするモデルを生成するシステムの構成図である。
【図２】一般的なプラント設計業務の種類と業務間の係わりを示す図である。
【図３】データベース統合システムの構成図の一例である。
【図４】系統設計データベースと配管設計データベースの対応付けの関係を示す図である。
【図５】系統設計データベースと配管設計データベースを対応付けるモデルをＸＭＬ
Ｓｃｈｅｍａ形式で示す図である。
【図６】対応関係生成処理により生成されたタグ付き文書の例を示す図である。
【図７】対応関係生成処理により作成されたタグ付き文書を用いて構築した画面の例を示す図である。
【図８】２つの設計データベースの属性値同士を比較し、マッピング・モデルを生成する処理の流れの概要を示す図である。
【図９】マッピング・モデル生成処理のためのデータを入力するシステムの表示画面例を示す図である。
【図１０】主キーのドメイン情報収集処理の流れを示す図である。
【図１１】主キーの共通ドメイン情報収集の流れを示す図である。
【図１２】データベースの属性名称収集処理の流れを示す図である。
【図１３】主キーを利用した属性値の一致情報収集処理の流れを示す図である。
【図１４】主キーを利用した属性値の一致情報収集処理により得られた属性一致度に関するグラフを示す図である。
【図１５】属性の度数分布を利用した属性値の一致情報収集処理の流れを示す図である。
【図１６】属性の度数分布についての比較方法の一例を示す図である。
【図１７】指定した属性値を分解した場合における属性値の一致情報収集処理の流れを示す図である。
【図１８】属性のデータ格納率に応じて属性値比較対象となる属性を選択する処理の流れを示す図である。
【図１９】属性値プールの例を示す図である。
【図２０】マッピングデータを生成処理のため変数を入力するための画面を用いて、複数テーブルを結合するためのデータを入力する画面例を示す図である。
【図２１】設計データベースの対応付けに使用する結合テーブルの例である。
【図２２】マッピング・モデル生成処理の流れを示す図である。
【図２３】生成したマッピング・モデルの雛型に関して、編集中の画面例を示す図である。
【符号の説明】
１１０−１２０，１２０−１１０，１２０−１３０，１３０−１２０…マッピング・モデル、１１０ｃ〜１３０ｃ…各設計アプリケーションが利用するデータベース、３００…タグ付き文書変換装置、１０００…管理・編集端末、１１００…設計データベース群、１２００…設計データベース間比較マッピング・モデル生成装置、１３００…マッピング・モデル・データベース。
【図１】
2004086782.tif 000003
【図２】
2004086782.tif 000004
【図３】
2004086782.tif 000005
【図４】
2004086782.tif 000006
【図５】
2004086782.tif 000007
【図６】
2004086782.tif 000008
【図７】
2004086782.tif 000009
【図８】
2004086782.tif 000010
【図９】
2004086782.tif 000011
【図１０】
2004086782.tif 000012
【図１１】
2004086782.tif 000013
【図１２】
2004086782.tif 000014
【図１３】
2004086782.tif 000015
【図１４】
2004086782.tif 000016
【図１５】
2004086782.tif 000017
【図１６】
2004086782.tif 000018
【図１７】
2004086782.tif 000019
【図１８】
2004086782.tif 000020
【図１９】
2004086782.tif 000021
【図２０】
2004086782.tif 000022
【図２１】
2004086782.tif 000023
【図２２】
2004086782.tif 000024
【図２３】
2004086782.tif 000025