(57)【要約】【課題】本発明の課題は、１：ｎの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを高速に結合することを目的とする。【解決手段】本発明の課題は、１：ｎの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるコンピュータ実行可能なプログラムにおいて、上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、前記上位層テーブルの項目名に前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行させるコンピュータ実行可能なプログラムより達成される。【選択図】図３
2008026992.tif 000002
【特許請求の範囲】
【請求項１】
１：ｎの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるコンピュータ実行可能なプログラムにおいて、
上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、
前記上位層テーブルの項目名に前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、
前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行させることを特徴とするコンピュータ実行可能なプログラム。
【請求項２】
前記パラメータファイル成形手順は、テーブル毎にテーブルを構成する項目を定義している定義ファイルから項目名を取得することを特徴とする請求項１記載のコンピュータ実行可能なプログラム。
【請求項３】
前記最大繰り返し回数取得手順は、前記相関テーブル名ファイルに予め定義されている前記最大繰り返し回数を取得し、
前記パラメータファイル成形手順は、前記上位層テーブルの項目名に前記レコード数が前記最大繰り返し回数を超えていることを示す通知情報のための通知領域を更に加えることを特徴とする請求項２記載のコンピュータ実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１：ｎの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理に関する。
【背景技術】
【０００２】
従来より、企業では様々なシステムを構築しており、システム毎にデータベースを備えていることが多い。このようなデータベースの利用者は、複数のデータベースにまたがって管理されているデータが必要な場合、ＳＱＬ（Structured Query Language）コマンドを用いてデータの抽出やデータの結合を行っている。
【０００３】
ユーザがデータの抽出を主観的に行えるようにするために、データベースの物理的な構造に影響を与えることなく、ユーザがデータベースのデータを任意に選択して、ユーザが使いやすいツリーを作成可能とする技術が提案されている（例えば、特許文献１）。
【特許文献１】特開平８−１７１５７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
企業などで構築されているシステムにおいて、一般的に利用されるデータベースの形態として、ＲＤＢ（リレーショナルデータベース）がある。ＲＤＢでは、レコード間で１：ｎの相関関係を持つことができる。複数のＲＤＢを結合する場合には、この相関関係によりデータが多層構造（１：ｎ、ｎ：ｍ、・・・）になる場合があり、特に高次に正規化されたデータベースほど下位層が深くかつ多くなる傾向がある。
【０００５】
このようにデータ間で１：ｎの相関があり、かつ、データが多層に渡る場合では、データの結合処理に大量の時間が必要となるという問題がある。
【０００６】
よって、本発明の目的は、結合処理をより高速に実現する、データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明は、１：ｎの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるコンピュータ実行可能なプログラムにおいて、上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、前記上位層テーブルの項目名に前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行させるように構成される。
【０００８】
このようなコンピュータ実行可能なプログラムでは、テーブルの実データを結合する前に相関しているレコード数を検出して、テーブルを結合した場合の項目を予め用意しておくため、結合処理の際にテーブル間の相関有無を判断しつつ処理を行う必要がない。従って、高速にテーブルの結合処理を行うことができる。
【０００９】
上記課題を解決するための手段として、本発明は、上記プログラムを実行することによって実現されるデータベースを構成する複数のテーブルを結合する情報処理装置、上記プログラムを記憶した記憶媒体とすることもできる。
【発明の効果】
【００１０】
本願発明は、テーブルの実データを結合する前に相関しているレコード数を検出しておくため、結合処理の際にテーブル間の相関有無を判断することなく、高速にテーブルの結合処理を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１２】
本実施例では、特許出願に係る基幹システムの基幹ＲＤＢ（リレーショナルデータベース）を統合する統合データベース構築処理について、特許出願に係る基幹データベースを例にして説明する。本発明に係る統合データベース構築処理は、テーブル又はデータベース間の相関関係が複数に階層化しているいかなるデータベースにも適応可能である。
【００１３】
本発明に係る統合データベース構築処理は、ＣＰＵ（中央処理装置）によって制御される情報処理装置によって実現される処理である。このような情報処理装置は、例えば、図１に示すような機能構成を有する。図１は、本発明の一実施例に係る情報処理装置の機能構成例を示す図である。
【００１４】
図１において、情報処理装置１００は、主に、基幹システム１０１と、統合データベース構築処理部１０４と、表示処理部１１１と、入出力処理部１１２と、通信制御部１１３と、インストーラ１１４と、バックアップファイル５１と、バックアップファイル（項目名付与済み）５１ａと、データベース定義ファイル５２と、多層相関テーブル名ファイル５３と、データ結合パラメータファイル５４と、中間結合ファイル５５と、中間結合ファイル（サニタライズ済み）５５ａと、結合済みＸＭＬファイル５６とを有する。各種ファイルは、情報処理装置１００に備えられた記憶装置に格納される。
【００１５】
基幹システム１０１は、利用者が業務処理を行うためのシステムであり、基幹業務処理部１０２とＲＤＢなどの基幹データベース１０３とを有する。基幹データベース１０３は、情報処理装置１００の記憶装置に格納される。
【００１６】
統合データベース構築処理部１０４は、基幹データベース１０３を構成する複数のテーブルを相関関係に基づいてテーブルを高速に結合する処理部であり、項目名付与処理部１０５と、テーブル結合処理部１０６と、ＸＭＬ（eXtensible Markup Language）などで記述出力するメタデータ作成部１０７とを有する。
【００１７】
項目名付与処理部１０５は、基幹データベース１０３をバックアップしたバックアップファイル５１に項目名を付与して、バックアップファイル５５ａを成形する処理部である。
【００１８】
テーブル結合処理部１０６は、データベース定義ファイル５２と多層相関テーブル名ファイル５３とを参照して、相関関係のあるテーブル同士の項目を結合してデータ結合パラメータファイル５４を成形する。そして、テーブル結合処理部１０６は、データ結合パラメータファイル５４で定義される項目名に対応させて実データをバックアップファイル５１ａから中間結合ファイル５５へと出力する。中間結合ファイル５５は、適切にメタデータ形式に記述可能なようにサニタライズされ、サニタライズされた中間結合ファイル５５ａが成形される。
【００１９】
メタデータ作成部１０７は、サニタライズされた中間結合ファイル５５ａを用いて結合されたテーブルをＸＭＬで記述出力し、結合済みＸＭＬファイル５６を形成する。
【００２０】
表示処理部１１１は、ディスプレイ等の表示ユニットを制御し、表示用データを制御する。入出力制御処理部１１２は、マウス、キーボード等の入力ユニット及びプリンター等の出力ユニットを制御し、データの入出力を制御する。通信制御処理部１１３は、ネットワークを介して送受信データを制御する処理部であって、ネットワーク網に接続するための通信ユニットを有する。インストーラ１１４は、例えば、ＣＤ−ＲＯＭドライブに設定されたＣＤ−ＲＯＭなどの記憶媒体２０から本発明に係るプログラムを読み出し、その読み出されたプログラムを、例えば、記憶装置等にインストールする。そして、後述される各処理等が起動されると、記憶装置にインストールされた当該プログラムに従って、ＣＰＵがその処理を開始する。尚、当該プログラムを格納する記憶媒体２０としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。
【００２１】
図２は、統合データベース構築処理の概要を説明するための図である。図２（Ａ）は、１：ｎの相関が２層あるデータベースを例とした場合のテーブル間の相関を示している（初期状態）。この例では、メインテーブル２１から１：ｎの相関が複数の層となるのは、中間履歴テーブル２２、そして弁理士テーブル２３への相関であるが、メインテーブル２１から中間履歴テーブル２２とは別のテーブルへの相関があってもよい。
【００２２】
出願毎のメインテーブル２１は、出願情報を管理し、特許出願１件に対して１レコードが作成され、例えば、整理番号、国、法区分、出願番号などの項目で構成される。整理番号又は出願番号で特許出願を一意に特定する。メインテーブル２１は、整理番号によって１対ｎで中間履歴テーブル２２に相関される（１：ｎの相関３１）。
【００２３】
中間履歴テーブル２２は、１の出願に対してなされた中間処理毎の履歴を管理し、例えば、整理番号、中間履歴番号、中間コード、中間受発信日などの項目で構成される。中間履歴テーブル２２は、整理番号と中間履歴番号との組み合わせによって１対ｍで弁理士テーブル２３に相関される（１：ｍの相関３２）。
【００２４】
弁理士テーブル２３は、１の中間処理に対して弁理士との間でなされた処理の履歴を管理し、例えば、整理番号、中間履歴番号、弁理士番号、識別番号などの項目で構成される。この弁理士テーブル２３は、データベースの末端に位置し、統合データベース構築処理によって１層上位の中間履歴テーブル２２に結合される。
【００２５】
図２（Ｂ）は、図２（Ａ）に示す１：ｎの相関が２層あるデータベースを１層へと結合した状態を示している（中間状態）。図２（Ｂ）において、中間履歴テーブル２２内に弁理士テーブル２３の項目を追加する。
【００２６】
１の中間履歴テーブル２２に対してｍ個の弁理士テーブル２３が相関されている場合、弁理士テーブル２３の項目のうち相関させるために使用される整理番号と中間履歴番号とを除く全項目がｍ回繰り返して１の中間履歴テーブル２２に挿入される。例えば、弁理士番号１、識別番号１、・・・、弁理士番号２、識別番号２、・・・、弁理士番号ｍ、識別番号ｍ、・・・の項目が１の中間履歴テーブル２２に挿入される。
【００２７】
この中間状態において、データベースの末端は、中間履歴テーブル２２となる。更に、中間履歴テーブル２２は、統合データベース構築処理によって１層上位のメインテーブル２１へと結合される。
【００２８】
図２（Ｃ）は、図２（Ｂ）に示す１：ｎの相関が統合された状態を示している（最終状態）。図２（Ｃ）において、メインテーブル２１内に、弁理士テーブル２３が既に統合されている中間履歴テーブル２２の項目を追加する。
【００２９】
１のメインテーブル２１に対してｎ個の中間履歴テーブル２２が相関されている場合、中間履歴テーブル２２の項目のうち相関させるために使用される整理番号を除く全項目がｎ回繰り返して１のメインテーブル２１に挿入される。例えば、中間履歴番号１、弁理士番号１、識別番号１、・・・、弁理士番号２、識別番号２、・・・、弁理士番号ｍ、識別番号ｍ、・・・、中間コード１、中間受発信日１、中間履歴番号２、弁理士番号１、識別番号１、・・・、弁理士番号２、識別番号２、・・・、弁理士番号ｍ、識別番号ｍ、・・・、中間コード２、中間受発信日２、・・・の項目が１のメインテーブル２１に挿入される。
【００３０】
図３は、統合データベース構築処理の一例を説明するためのフローチャート図である。図３において、先ず、特許業務で利用される基幹システムのデータベースのバックアップファイル５１を取得し（ステップＳ１１）、基幹システムのデータベース定義ファイル５２を取得する（ステップＳ１２）。
【００３１】
読み込んだデータベース定義ファイル５２からテーブル名と項目名とを抽出し、テーブル名は、ファイル名、項目名をデータ列名としてバックアップファイル５１ａを成形する（ステップＳ１３）。なお、ステップＳ１１からＳ１３の処理は、Ｓ１４以降で処理対象とするＲＤＢ上のデータにつき同等のデータを別に生成して、該別データをＳ１４以降の処理対象にするようにすることで、ＲＤＢ本体上のデータを直接操作する必要を排除し、ＲＤＢを利用して行われる他処理への影響を軽減するための工夫である。従って、Ｓ１４以降で処理対象とするデータは、別の方法により生成されても構わない。
【００３２】
次に、メインテーブル２１に対して１：ｎの相関が２層以上の階層となるテーブル名を多層相関テーブル名ファイル５３から取得する（ステップＳ１４）。全ての多層相関テーブルは処理済みか否かを判断する（ステップＳ１５）。多層相関テーブルが処理済みの場合、つまり、全てのテーブルが結合されている場合、ステップＳ２０へと進む。
【００３３】
一方、同一層にある多層相関を保有するテーブル毎に、そのテーブルから下位層のテーブル内で相関される複数のレコードをカウントし、最大となるレコード数を追加すべき項目の繰り返し回数として取得する（ステップＳ１６）。
【００３４】
取得した繰り返し回数に基づいて項目名を追加し、データ結合パラメータファイル５４を成形する（ステップＳ１７）。追加すべき下位層のテーブルの項目をこの繰り返し回数分で作成する。
【００３５】
そして、データ結合パラメータファイル５４に基づいて、多層相関を保有するテーブル内に、相関される側のテーブルの項目値（明細部の実データ）を追加する。繰り返し回数分実行することで、相関される複数のレコードを順次取得し、そのレコードの項目値を追加して、中間結合ファイル５５に出力される（ステップＳ１８）。繰り返し回数未満で、相関されるレコードがなくなった場合は、以降の項目値を設定しない。
【００３６】
次に、中間結合ファイル５５をサニタイズして、サイタイズ済みの中間結合ファイル５５ａへと出力し（ステップＳ１９）、ステップＳ１４へと戻る。ステップＳ１９では、ＸＭＬ文書として中間結合ファイル５５を記述する際に、文書構造を表現する記号（"<"など）がデータ文字列として扱われるように、文書構造を表現する記号（"<"など）にはエスケープ文字を付与しておく。メタデータ記述形式で出力する例として、ＸＭＬで記述する。
【００３７】
このようにしてサニタイズされている中間結合ファイル５５ａは、多層相関テーブル名ファイル５３に定義されているが層相関テーブルの数分作成される。
【００３８】
ステップＳ１５において、多層相関テーブルが処理済みである場合、ＸＭＬタグを成形して、中間結合ファイル５５ａを結合する（ステップＳ２０）。ＸＭＬタグ名は、ファイル名として付与されたテーブル名と、データ列名とを結合してＸＭＬタグ名とし、中間結合ファイル５５ａ毎にＸＭＬ文書を形成する。そして、複数のＸＭＬ文書を元のデータベースにおける結合キーに基づいて１つのＸＭＬ文書となるように結合する。
なお、ステップＳ１９のサニタイズ処理やステップＳ２０での出力データのＸＭＬ化の処理は、本フローによる処理の出力結果データがどのような処理に利用されるかに応じて便利のために行うものであって、必須の処理ではない。
【００３９】
基幹システムのデータベースのバックアップファイル５１について図４、図５、及び図６で説明する。図２に示す例において、バックアップファイル５１には、メインテーブル２１のバックアップと、中間履歴テーブル２２のバックアップと、弁理士テーブル２３のバックアップとが含まれる。
【００４０】
図４は、メインテーブルのバックアップファイルのテーブル構成例を示す図である。図４において、メインテーブル２１のバックアップファイル５１１は、整理番号、国、法区分、出願番号、発明の名称などの項目で構成され、例えば、夫々の項目値として「０６Ｐ００１２３」、「ＪＰ」、「特許」、「2006-100123」、「半導体製造装置」などのデータが格納される。
【００４１】
図５は、中間履歴テーブル２２のバックアップファイルのテーブル構成例を示す図である。図５において、中間履歴テーブル２２のバックアップファイル５１２は、整理番号、中間履歴番号、中間コード、中間受発信日などの項目で構成され、例えば、夫々の項目値として「０６Ｐ００１２３」、「１」、「６３」、「2000/02/04」などのデータが格納される。
【００４２】
図６は、弁理士テーブル２３のバックアップファイルのテーブル構成例を示す図である。図６において、弁理士テーブル２３のバックアップファイル５１３は、整理番号、中間履歴番号、弁理士番号、識別番号などの項目で構成され、例えば、夫々の項目値として「０６Ｐ００１２３」、「１」、「１」、「123456789」などのデータが格納される。
【００４３】
図４、図５、図６に示すバックアップファイル５１１、５１２、５１３には項目名が存在しない。各バックアップファイル５１１、５１２、５１３の項目名は、図７に示すようなデータベース定義ファイルで定義されている。
【００４４】
図７は、データベース定義ファイルの例を示す図である。図７において、記述５２１によってメインテーブル２２の項目名とデータタイプが定義され、記述５２２によって中間履歴テーブル２２の項目名とデータタイプが定義され、記述５２３によって弁理士テーブル２３の項目名とデータタイプが定義される。
【００４５】
図７に示すデータベース定義ファイル５２で定義される項目名を用いてデータ列名が付与されたバックアップファイル５１ａの例が図８、図９及び図１０に示される。
【００４６】
図８は、項目名付与済みメインテーブルファイルのテーブル構成例を示す図である。図８において、バックアップファイル５１ａに含まれる項目名付与済みメインテーブルファイル５１１ａは、データベース定義ファイル５２の記述５２１で定義される項目名「整理番号」、「国」、「法区分」、「出願番号」、「発明の名称」などがデータ列名として付加されたテーブルとなっている。
【００４７】
図９は、項目名付与済み中間履歴テーブルファイルのテーブル構成例を示す図である。図９において、バックアップファイル５１ａに含まれる項目名付与済み中間履歴テーブルファイル５１２ａは、データベース定義ファイル５２の記述５２２で定義される項目名「整理番号」、「中間履歴番号」、「中間コード」、「中間受発信日」などがデータ列名として付加されたテーブルとなっている。
【００４８】
図１０は、項目名付与済み弁理士テーブルファイルのテーブル構成例を示す図である。図１０において、バックアップファイル５１ａに含まれる項目名付与済み弁理士テーブルファイル５１２ａは、データベース定義ファイル５２の記述５２３で定義される項目名「整理番号」、「中間履歴番号」、「弁理士番号」、「識別番号」などがデータ列名として付加されたテーブルとなっている。
【００４９】
データベースを結合する仕組みについて、図１１、図１２及び図１３で更に詳しく説明する。図１１は、複数のテーブルに対して１：ｎのレコード相関があるデータベースの例を示す図である。図１１中、「→→」は１：ｎのレコード相関を示している。
【００５０】
図１１において、メインテーブル２１は、特許出願１件に対して１レコード作成され、整理番号又は出願番号で一意にレコードが特定される。メインテーブル２１から１：ｎ４の相関で中間履歴テーブル２２へと関連付けられる。
【００５１】
中間履歴テーブル２２では、審査請求、拒絶理由などのイベント毎に１レコードが作成される。中間履歴テーブル２２から１：ｍ４の相関で期限管理テーブル２５へと関連付けられる。その他、中間履歴テーブル２２からは、１：ｍ２の相関で弁理士テーブル２３へ、また、１：ｍ３の相関で文献・引例テーブル２４へと関連付けられる。中間履歴テーブル２２からの弁理士テーブル２３、文献・引例テーブル２４、期限管理テーブル２５への相関を相関６２で示す。
【００５２】
期限管理テーブル２５では、中間履歴毎に行うべき作業１つにつき１レコードが作成される。作業毎の期限日などが管理される。期限管理テーブル２５から１：ｐ１の相関で作業進捗テーブル２６へと関連付けられる。この１：ｐ１の相関を相関６１で示す。
【００５３】
また、メインテーブル２１は、１：ｎ１の相関で出願人テーブル４１に関連付けられる。更に、出願人テーブル４１からは、１：ｍ１で出願人連絡先テーブル４２へと関連付けられる。出願人連絡先テーブル４２は、共願人１社毎に複数の連絡先を登録するためのテーブルである。出願人テーブル４１から出願人連絡先テーブル４２への相関を相関６３で示す。
【００５４】
メインテーブル２１からは、更に、１：ｎ２の相関で発明者テーブル４３へ、１：ｎ３の相関でＩＰＣテーブル４４へと関連付けられる。
【００５５】
このような相関関連において、メインテーブル２１を第１層に位置づけると、出願人テーブル４１、発明者テーブル４３、ＩＰＣテーブル４４、中間履歴テーブル２２が第２層に位置し、出願人連絡先テーブル４２、弁理士テーブル２３、文献・引例テーブル２４、期限管理テーブル２５が第３層に位置し、作業進捗テーブル２６が第４層に位置する。
【００５６】
相関６１、６２及び６３に係るテーブルは、多層相関テーブル名ファイル５３にて図１２に示されるように定義される。図１２は、図１１おける相関毎にテーブル名を定義した多層相関テーブル名ファイルの定義例を示す図である。
【００５７】
図１２において、多層相関テーブル名ファイル５３は、相関を保有するテーブルのうち最下層のテーブルと関連付けられる相関から定義する。例えば、図１１の相関６１に関して、「＃  第４層の処理」としてテーブル名「期限管理」、「作業進捗」が１行で定義される。
【００５８】
また、図１１の相関６２及び相関６３に関して、「＃  第３層の処理」としてテーブル名「中間履歴」、「弁理士」、「文献・引例」、「期限管理」が最初の行で定義され、テーブル名「出願人」、「出願人連絡先」が次の行に定義される。行毎に１の相関が定義される。
【００５９】
更に、メインテーブル２１への相関を定義するために、「＃  第２層の処理」としてテーブル名「メインテーブル」、「出願人」、「発明者」、「ＩＰＣ」、「中間履歴」が１行で定義される。
【００６０】
図７のデータベース定義ファイル５２を用いて、中間履歴テーブル２２と弁理士テーブル２３との相関において、弁理士テーブル２３が中間履歴テーブル２２に結合される処理について図１３で説明する。
【００６１】
図１３は、データ結合パラメータファイルの形成例を示す図である。図１３に示す処理例において、図３のステップＳ１６にて、中間履歴テーブル２２に対する弁理士テーブル２３の繰り返し回数が「３」であったとして説明する。
【００６２】
データ結合パラメータファイル５４には、多層相関テーブル名ファイル５３を参照して、中間履歴テーブル２２に弁理士テーブル２３が統合されるように項目名が定義される。中間履歴テーブル２２の元々の項目名として、「整理番号」、「中間履歴番号」、「中間コード」、「中間受発信日」、・・・の項目名をデータベース定義ファイル５２から取得する。次に、弁理士テーブル２３の元々の項目名として、「整理番号」、「中間履歴番号」、「弁理士番号」、「識別番号」、・・・の項目名をデータベース定義ファイル５２から取得する。そのうち、「整理番号」と「中間履歴番号」とを除く「弁理士番号」、「識別番号」、・・・の項目名を３回繰り返して中間履歴テーブル２２の項目名に挿入する。その際、繰り返す毎に１、２、３、・・・などの連番を付与するようにする。
【００６３】
図１３に示すデータ結合パラメータファイル５４に格納された中間履歴テーブル２２の項目名のパラメータに基づいて、図１４に示すような中間結合ファイル５５が形成される。
【００６４】
図１４は、中間結合ファイルのデータ構成例を示す図である。図１４において、中間結合ファイル５５には、弁理士テーブル２３の項目が最大の繰り返し数に合わせて出力する列が決定される。最大の繰り返し数に合わせて出力するため、中間結合ファイル５５の一部が空白７５のように値が空白となる場合がある。
【００６５】
「整理番号」の値「06P00123」に関しては、「弁理士番号３」、「識別番号３」、・・・の値が空白となり、また、「整理番号」の値「06P00124」に関しては、「弁理士番号２」、「識別番号２」、・・・、「弁理士番号３」、「識別番号３」、・・・の値が空白となる。一方、「整理番号」の値「06P00125」に関しては、全ての項目に値が設定される。
【００６６】
上述したようなデータベース結合方法によって、最終的には、一つのメインテーブル２１に全テーブルの項目が結合される。
【００６７】
以下に、項目数を制限してテーブルを結合する方法について説明する。図１５は、本発明に係る統合データベース構築処理のその他の例を説明するためのフローチャート図である。図１５中、図３と同様のステップには同一の符号を付し、その説明を省略する。図１５に示すフローチャートで参照される多層相関テーブル名ファイル５３−２は、図３に示すフローチャートで参照される多層相関テーブル名ファイル５３のデータ構成に、追加すべき項目を繰り返す際の最大繰り返し数が予め定義されている。
【００６８】
図１５において、ステップＳ１１からステップＳ１５までは図３と同様である。従って、ステップＳ１５にて、多層相関テーブルが処理済みであると判断された場合、つまり、全てのテーブルが結合されている場合、ステップＳ２０へと進む。
【００６９】
一方、ステップＳ１５にて、多層相関テーブルが処理済みではないと判断された場合、多層相関デーブル名ファイル５３−２から最大となるレコード数を追加すべき項目の繰り返し回数として取得する（ステップＳ１６−２）。
【００７０】
多層相関デーブル名ファイル５３−２から取得した最大繰り返し回数に基づいて項目名を追加し、データ結合パラメータファイル５４−２を作成する（ステップＳ１７−２）。
【００７１】
そして、データ結合パラメータファイル５４に基づいて、多層相関を保有するテーブル内に、相関される側のテーブルの項目値（明細部）を追加する。繰り返し回数分実行することで、相関される複数のレコードを順次取得し、そのレコードの項目値を追加して、中間結合ファイル５５に出力される（ステップＳ１８−２）。繰り返し回数未満で、相関されるレコードがなくなった場合は、以降の項目値を設定しない。
【００７２】
ただし、多層相関テーブル名ファイル５４−２から取得した最大繰り返し回数を超えるレコードがあった場合、残りのレコードの数を値とするデータ列として中間結合ファイル５５−２に出力する。例えば、他データと比較して突出して繰り返し回数が多いデータ（イレギュラーなデータ）をそのまま処理すると、データ全体の中での出現割合は極少ないものであるにも関わらず、該イレギュラーなデータもカバーできるようなシステムリソースを用意する必要が生じてしまう。このような場合に、上記処理による繰り返し回数の足切りを行えば、イレギュラーなデータに引きずられること無く、無駄なシステムリソースを確保する必要が無くなるというシステム運用上のメリットが得られる。
【００７３】
次に、中間結合ファイル５５−２をサニタイズして、サイタイズ済みの中間結合ファイル５５ａへと出力し（ステップＳ１９−２）、ステップＳ１４へと戻る。ステップＳ１９−２では、ＸＭＬ文書として中間結合ファイル５５−２を記述する際に、文書構造を表現する記号（"<"など）がデータ文字列として扱われるように、文書構造を表現する記号（"<"など）にはエスケープ文字を付与しておく。
【００７４】
以降、図３に示すフローチャートと同様の処理を行い、結合済みＸＭＬファイル５６が成形される。
【００７５】
図１１に示すデータベースの相関例を用いて、多層相関デーブル名ファイル５３−２に最大となるレコード数を追加すべき項目の繰り返し回数が設定されている場合について説明する。
【００７６】
図１６は、多層相関テーブル名ファイルにおける最大繰り返し回数の定義例を示す図である。図１６に示す多層相関テーブル名ファイル５３−２では、（  ）内に最大繰り返し回数５ｐが定義される。
【００７７】
図１１の相関６１に関して、「＃  第４層の処理」としてテーブル名「期限管理」、「作業進捗」が定義される場合、例えば、期限管理テーブル２５と１：ｐ１で関連付けられる側の作業進捗テーブル２６に対して最大繰り返し回数「１０」を(  )内に示す。
【００７８】
このように最大繰り返し回数を定義した場合において、弁理士テーブル２３が中間履歴テーブル２２に結合される処理について図１７で説明する。
【００７９】
図１７は、最大繰り返し回数が定義される場合のデータ結合パラメータファイルの形成例を示す図である。図１３に示す処理例との違いは、最大繰り返し回数が定義されていることのみで、他は同様である。多層相関テーブル名ファイル５３−２にて、中間履歴テーブル２２に対する弁理士テーブル２３の最大繰り返し回数が「３」で定義されているとして説明する。
【００８０】
データ結合パラメータファイル５４−２には、多層相関テーブル名ファイル５３−２を参照して、中間履歴テーブル２２に弁理士テーブル２３が統合されるように項目名が定義される。中間履歴テーブル２２の元々の項目名として、「整理番号」、「中間履歴番号」、「中間コード」、「中間受発信日」、・・・の項目名をデータベース定義ファイル５２から取得する。次に、弁理士テーブル２３の元々の項目名として、「整理番号」、「中間履歴番号」、「弁理士番号」、「識別番号」、・・・の項目名をデータベース定義ファイル５２から取得する。そのうち、「整理番号」と「中間履歴番号」とを除く「弁理士番号」、「識別番号」、・・・の項目名を３回繰り返して中間履歴テーブル２２の項目名に挿入する。
【００８１】
最大繰り返し回数が「３」であるので、項目名の挿入の繰り返しを終了させて、「通知領域」という項目名４ｓを付加して、中間履歴テーブル２２に関する項目名の定義を終了する。
【００８２】
項目名４ｓの「通知領域」には、実データを処理する際に予め定義されている最大繰り返し回数を超えるレコードが存在する場合には、例えば、残りのレコードの数を示す情報などが設定される。
【００８３】
図１７に示すデータ結合パラメータファイル５４−２に格納された中間履歴テーブル２２の項目名のパラメータに基づいて、図１８に示すような中間結合ファイル５５−２が形成される。
【００８４】
図１８は、最大繰り返し回数が定義されている場合の中間結合ファイルのデータ構成例を示す図である。図１８において、中間結合ファイル５５には、多層相関テーブル名ファイル５３−２に定義されている最大の繰り返し回数に合わせて出力する列が決定される。定義されている最大の繰り返し回数に合わせて出力するため、最大繰り返し回数に達しないデータ部（空白７５−２）と、最大繰り返し回数を超えてしまったために「通知領域」にデータが設定される部分（通知情報７５−４）とがある。
【００８５】
「整理番号」の値「06P00123」に関しては、「弁理士番号３」、「識別番号３」、・・・、「通知領域」の値が空白となり、また、「整理番号」の値「06P00124」に関しては、「弁理士番号２」、「識別番号２」、・・・、「弁理士番号３」、「識別番号３」、・・・、「通知領域」の値が空白となる。
【００８６】
一方、「整理番号」の値「06P00125」かつ「中間履歴番号」の値「１」と「２」とに関しては、最大繰り返し回数を超えているために「通知領域」に「他２件」などの値が設定されている。
【００８７】
このような仕組みとすることによって、テーブル間の相関（繰り返し回数）が相当の回数になる場合は、存在しても稀な場合であるので、このような相関（繰り返し回数）を制限することによって、ＣＰＵ及び記憶領域などのコンピュータ資源を効率的に使用することが可能となる。
【００８８】
また、「通知領域」の項目を付加することによって、最大繰り返し回数を超えた場合には、更に項目値が存在すること記憶させておくことができる。
【００８９】
上述したように、複数のテーブルが１：ｎ、１：ｎ：ｍ、１：ｎ：ｍ：ｐといった関連付けによって正規化されたデータを段階的に非正規化データを復元（例えば、１：ｎ：ｍ：ｐ  −>  １：ｎ：ｍ  −>  １：ｎ  −>  １）することができる。
【００９０】
上述では、多層相関テーブル名ファイル５３及び５３−２によって、メインテーブル２１へ全てのテーブルを統合する場合を例にして説明したが、第２層までの統合としてもよい。その場合には、例えば、図１９に示すように、「＃  第２層の処理」に関する定義が省略される。更に、第３層までの統合とする場合、「＃  第３層の処理」に関する定義が更に省略される。
【００９１】
このように、多層相関テーブルファイル５３及び５３−２でのテーブル相関に関する定義によって、最下層のテーブルから所定階層のテーブルまでを統合することができる。また、実データファイルの結合処理に先立って相関の回数を取得し、その回数で相関されるテーブルの項目を繰り返して上位層のテーブルの項目へ追加するため、実データを結合する際に相関有無を検出する必要がなく、テーブルの結合処理を高速化することができる。
【００９２】
以上の説明に関し、更に以下の項を開示する。
（付記１）
１：ｎの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラムにおいて、
上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、
前記上位層テーブルの項目名に前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、
前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行させることを特徴とするコンピュータ実行可能なプログラム。
（付記２）
前記最大繰り返し回数取得手順は、層毎に互いに相関する上位層のテーブル名と下位層のテーブル名とを記憶した相関テーブル名ファイルを参照することによって、相関関係にあるテーブルを特定することを特徴とする付記１記載のコンピュータ実行可能なプログラム。
（付記３）
前記パラメータファイル成形手順は、テーブル毎にテーブルを構成する項目を定義している定義ファイルから項目名を取得することを特徴とする付記１又は２記載のコンピュータ実行可能なプログラム。
（付記４）
前記最大繰り返し回数取得手順は、前記相関テーブル名ファイルに予め定義されている前記最大繰り返し回数を取得し、
前記パラメータファイル成形手順は、前記上位層テーブルの項目名に前記レコード数が前記最大繰り返し回数を超えていることを示す通知情報のための通知領域を更に加えることを特徴とする付記３記載のコンピュータ実行可能なプログラム。
（付記５）
前記相関テーブル名ファイルは、多層にわたるデータベースを構成する複数のテーブルの最上位層からｎ番目の層以降に関して相関関係を定義していることを特徴とする付記２乃至４のいずれか一項記載のコンピュータ実行可能なプログラム。
（付記６）
前記コンピュータに、
前記項目値追加格納手順によって前記下位層テーブルが結合された前記上位層テーブルをメタデータ形式で記述するメタデータ形式記述手順を更に実行させることを特徴とする付記１乃至５のいずれか一項記載のコンピュータ実行可能なプログラム。
（付記７）
１：ｎの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理方法において、コンピュータが、
上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、
前記上位層テーブルの項目名に前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、
前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行することを特徴とする結合処理方法。
【００９３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００９４】
【図１】本発明の一実施例に係る情報処理装置の機能構成例を示す図である。
【図２】統合データベース構築処理の概要を説明するための図である。
【図３】統合データベース構築処理の一例を説明するためのフローチャート図である。
【図４】メインテーブルのバックアップファイルのテーブル構成例を示す図である。
【図５】中間履歴テーブルのバックアップファイルのテーブル構成例を示す図である。
【図６】弁理士テーブルのバックアップファイルのテーブル構成例を示す図である。
【図７】データベース定義ファイルの例を示す図である。
【図８】項目名付与済みメインテーブルファイルのテーブル構成例を示す図である。
【図９】項目名付与済み中間履歴テーブルファイルのテーブル構成例を示す図である。
【図１０】項目名付与済み弁理士テーブルファイルのテーブル構成例を示す図である。
【図１１】複数のテーブルに対して１：ｎのレコード相関があるデータベースの例を示す図である。
【図１２】図１０おける相関毎にテーブル名を定義した多層相関テーブル名ファイルの定義例を示す図である。
【図１３】データ結合パラメータファイルの形成例を示す図である。
【図１４】中間結合ファイルのデータ構成例を示す図である。
【図１５】本発明に係る統合データベース構築処理のその他の例を説明するためのフローチャート図である。
【図１６】多層相関テーブル名ファイルにおける最大繰り返し回数の定義例を示す図である。
【図１７】最大繰り返し回数が定義される場合のデータ結合パラメータファイルの形成例を示す図である。
【図１８】最大繰り返し回数が定義されている場合の中間結合ファイルのデータ構成例を示す図である。
【図１９】第２層までのテーブル統合を行う場合の多層相関テーブル名ファイルの定義例を示す図である。
【符号の説明】
【００９５】
２０          記憶媒体
２１          メインテーブル
２２          中間履歴テーブル
２３          弁理士テーブル
２４          文献・引例テーブル
２５          期限管理テーブル
２６          作業進捗テーブル
４１          出願人テーブル
４２          出願人連絡先テーブル
４３          発明者テーブル
４４          ＩＰＣテーブル
５１          バックアップファイル
５１ａ        バックアップファイル
５２          データベース定義ファイル
５３、５３−２          多層相関テーブル名ファイル
５４、５４−２          データベースバックアップファイル（項目名付与済み）
５５、５５−２          中間結合ファイル
５５ａ        中間結合ファイル（サニタイズ済み）
５６          結合済みＸＭＬファイル
６１、６２、６３        相関
１００        情報処理装置
１０１        基幹システム
１０２        基幹業務処理部
１０３        基幹データベース
１０４        統合データベース構築処理部
１０５        項目名付与処理部
１０６        テーブル結合処理部
１０７        メタデータ作成部
１１１        表示処理部
１１２        入出力処理部
１１３        通信制御部
１１４        インストーラ
【図１】
2008026992.tif 000003
【図２】
2008026992.tif 000004
【図３】
2008026992.tif 000005
【図４】
2008026992.tif 000006
【図５】
2008026992.tif 000007
【図６】
2008026992.tif 000008
【図７】
2008026992.tif 000009
【図８】
2008026992.tif 000010
【図９】
2008026992.tif 000011
【図１０】
2008026992.tif 000012
【図１１】
2008026992.tif 000013
【図１２】
2008026992.tif 000014
【図１３】
2008026992.tif 000015
【図１４】
2008026992.tif 000016
【図１５】
2008026992.tif 000017
【図１６】
2008026992.tif 000018
【図１７】
2008026992.tif 000019
【図１８】
2008026992.tif 000020
【図１９】
2008026992.tif 000021