JP5028894B2 - データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム - Google Patents

データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム Download PDF

Info

Publication number
JP5028894B2
JP5028894B2 JP2006196082A JP2006196082A JP5028894B2 JP 5028894 B2 JP5028894 B2 JP 5028894B2 JP 2006196082 A JP2006196082 A JP 2006196082A JP 2006196082 A JP2006196082 A JP 2006196082A JP 5028894 B2 JP5028894 B2 JP 5028894B2
Authority
JP
Japan
Prior art keywords
file
correlation
repetitions
maximum number
item
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
JP2006196082A
Other languages
English (en)
Other versions
JP2008026992A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006196082A priority Critical patent/JP5028894B2/ja
Publication of JP2008026992A publication Critical patent/JP2008026992A/ja
Application granted granted Critical
Publication of JP5028894B2 publication Critical patent/JP5028894B2/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:nの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理に関する。
従来より、企業では様々なシステムを構築しており、システム毎にデータベースを備えていることが多い。このようなデータベースの利用者は、複数のデータベースにまたがって管理されているデータが必要な場合、SQL(Structured Query Language)コマンドを用いてデータの抽出やデータの結合を行っている。
ユーザがデータの抽出を主観的に行えるようにするために、データベースの物理的な構造に影響を与えることなく、ユーザがデータベースのデータを任意に選択して、ユーザが使いやすいツリーを作成可能とする技術が提案されている(例えば、特許文献1)。
特開平8−171571号公報
企業などで構築されているシステムにおいて、一般的に利用されるデータベースの形態として、RDB(リレーショナルデータベース)がある。RDBでは、レコード間で1:nの相関関係を持つことができる。複数のRDBを結合する場合には、この相関関係によりデータが多層構造(1:n、n:m、・・・)になる場合があり、特に高次に正規化されたデータベースほど下位層が深くかつ多くなる傾向がある。
このようにデータ間で1:nの相関があり、かつ、データが多層に渡る場合では、データの結合処理に大量の時間が必要となるという問題がある。
よって、本発明の目的は、結合処理をより高速に実現する、データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラムを提供することである。
上記課題を解決するため、本発明は、1:nの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるコンピュータ実行可能なプログラムにおいて、上位層テーブルの1以上の項目名によって該上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、前記上位層テーブルの項目名に前記1以上の項目名を除いた前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行させるように構成される。
このようなコンピュータ実行可能なプログラムでは、テーブルの実データを結合する前に相関しているレコード数を検出して、テーブルを結合した場合の項目を予め用意しておくため、結合処理の際にテーブル間の相関有無を判断しつつ処理を行う必要がない。従って、高速にテーブルの結合処理を行うことができる。
上記課題を解決するための手段として、本発明は、上記プログラムを実行することによって実現されるデータベースを構成する複数のテーブルを結合する情報処理装置、上記プログラムを記憶した記憶媒体とすることもできる。
本願発明は、テーブルの実データを結合する前に相関しているレコード数を検出しておくため、結合処理の際にテーブル間の相関有無を判断することなく、高速にテーブルの結合処理を行うことができる。
以下、本発明の実施の形態を図面に基づいて説明する。
本実施例では、特許出願に係る基幹システムの基幹RDB(リレーショナルデータベース)を統合する統合データベース構築処理について、特許出願に係る基幹データベースを例にして説明する。本発明に係る統合データベース構築処理は、テーブル又はデータベース間の相関関係が複数に階層化しているいかなるデータベースにも適応可能である。
本発明に係る統合データベース構築処理は、CPU(中央処理装置)によって制御される情報処理装置によって実現される処理である。このような情報処理装置は、例えば、図1に示すような機能構成を有する。図1は、本発明の一実施例に係る情報処理装置の機能構成例を示す図である。
図1において、情報処理装置100は、主に、基幹システム101と、統合データベース構築処理部104と、表示処理部111と、入出力処理部112と、通信制御部113と、インストーラ114と、バックアップファイル51と、バックアップファイル(項目名付与済み)51aと、データベース定義ファイル52と、多層相関テーブル名ファイル53と、データ結合パラメータファイル54と、中間結合ファイル55と、中間結合ファイル(サニタライズ済み)55aと、結合済みXMLファイル56とを有する。各種ファイルは、情報処理装置100に備えられた記憶装置に格納される。
基幹システム101は、利用者が業務処理を行うためのシステムであり、基幹業務処理部102とRDBなどの基幹データベース103とを有する。基幹データベース103は、情報処理装置100の記憶装置に格納される。
統合データベース構築処理部104は、基幹データベース103を構成する複数のテーブルを相関関係に基づいてテーブルを高速に結合する処理部であり、項目名付与処理部105と、テーブル結合処理部106と、XML(eXtensible Markup Language)などで記述出力するメタデータ作成部107とを有する。
項目名付与処理部105は、基幹データベース103をバックアップしたバックアップファイル51に項目名を付与して、バックアップファイル55aを成形する処理部である。
テーブル結合処理部106は、データベース定義ファイル52と多層相関テーブル名ファイル53とを参照して、相関関係のあるテーブル同士の項目を結合してデータ結合パラメータファイル54を成形する。そして、テーブル結合処理部106は、データ結合パラメータファイル54で定義される項目名に対応させて実データをバックアップファイル51aから中間結合ファイル55へと出力する。中間結合ファイル55は、適切にメタデータ形式に記述可能なようにサニタライズされ、サニタライズされた中間結合ファイル55aが成形される。
メタデータ作成部107は、サニタライズされた中間結合ファイル55aを用いて結合されたテーブルをXMLで記述出力し、結合済みXMLファイル56を形成する。
表示処理部111は、ディスプレイ等の表示ユニットを制御し、表示用データを制御する。入出力制御処理部112は、マウス、キーボード等の入力ユニット及びプリンター等の出力ユニットを制御し、データの入出力を制御する。通信制御処理部113は、ネットワークを介して送受信データを制御する処理部であって、ネットワーク網に接続するための通信ユニットを有する。インストーラ114は、例えば、CD−ROMドライブに設定されたCD−ROMなどの記憶媒体20から本発明に係るプログラムを読み出し、その読み出されたプログラムを、例えば、記憶装置等にインストールする。そして、後述される各処理等が起動されると、記憶装置にインストールされた当該プログラムに従って、CPUがその処理を開始する。尚、当該プログラムを格納する記憶媒体20としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。
図2は、統合データベース構築処理の概要を説明するための図である。図2(A)は、1:nの相関が2層あるデータベースを例とした場合のテーブル間の相関を示している(初期状態)。この例では、メインテーブル21から1:nの相関が複数の層となるのは、中間履歴テーブル22、そして弁理士テーブル23への相関であるが、メインテーブル21から中間履歴テーブル22とは別のテーブルへの相関があってもよい。
出願毎のメインテーブル21は、出願情報を管理し、特許出願1件に対して1レコードが作成され、例えば、整理番号、国、法区分、出願番号などの項目で構成される。整理番号又は出願番号で特許出願を一意に特定する。メインテーブル21は、整理番号によって1対nで中間履歴テーブル22に相関される(1:nの相関31)。
中間履歴テーブル22は、1の出願に対してなされた中間処理毎の履歴を管理し、例えば、整理番号、中間履歴番号、中間コード、中間受発信日などの項目で構成される。中間履歴テーブル22は、整理番号と中間履歴番号との組み合わせによって1対mで弁理士テーブル23に相関される(1:mの相関32)。
弁理士テーブル23は、1の中間処理に対して弁理士との間でなされた処理の履歴を管理し、例えば、整理番号、中間履歴番号、弁理士番号、識別番号などの項目で構成される。この弁理士テーブル23は、データベースの末端に位置し、統合データベース構築処理によって1層上位の中間履歴テーブル22に結合される。
図2(B)は、図2(A)に示す1:nの相関が2層あるデータベースを1層へと結合した状態を示している(中間状態)。図2(B)において、中間履歴テーブル22内に弁理士テーブル23の項目を追加する。
1の中間履歴テーブル22に対してm個の弁理士テーブル23が相関されている場合、弁理士テーブル23の項目のうち相関させるために使用される整理番号と中間履歴番号とを除く全項目がm回繰り返して1の中間履歴テーブル22に挿入される。例えば、弁理士番号1、識別番号1、・・・、弁理士番号2、識別番号2、・・・、弁理士番号m、識別番号m、・・・の項目が1の中間履歴テーブル22に挿入される。
この中間状態において、データベースの末端は、中間履歴テーブル22となる。更に、中間履歴テーブル22は、統合データベース構築処理によって1層上位のメインテーブル21へと結合される。
図2(C)は、図2(B)に示す1:nの相関が統合された状態を示している(最終状態)。図2(C)において、メインテーブル21内に、弁理士テーブル23が既に統合されている中間履歴テーブル22の項目を追加する。
1のメインテーブル21に対してn個の中間履歴テーブル22が相関されている場合、中間履歴テーブル22の項目のうち相関させるために使用される整理番号を除く全項目がn回繰り返して1のメインテーブル21に挿入される。例えば、中間履歴番号1、弁理士番号1、識別番号1、・・・、弁理士番号2、識別番号2、・・・、弁理士番号m、識別番号m、・・・、中間コード1、中間受発信日1、中間履歴番号2、弁理士番号1、識別番号1、・・・、弁理士番号2、識別番号2、・・・、弁理士番号m、識別番号m、・・・、中間コード2、中間受発信日2、・・・の項目が1のメインテーブル21に挿入される。
図3は、統合データベース構築処理の一例を説明するためのフローチャート図である。図3において、先ず、特許業務で利用される基幹システムのデータベースのバックアップファイル51を取得し(ステップS11)、基幹システムのデータベース定義ファイル52を取得する(ステップS12)。
読み込んだデータベース定義ファイル52からテーブル名と項目名とを抽出し、テーブル名は、ファイル名、項目名をデータ列名としてバックアップファイル51aを成形する(ステップS13)。なお、ステップS11からS13の処理は、S14以降で処理対象とするRDB上のデータにつき同等のデータを別に生成して、該別データをS14以降の処理対象にするようにすることで、RDB本体上のデータを直接操作する必要を排除し、RDBを利用して行われる他処理への影響を軽減するための工夫である。従って、S14以降で処理対象とするデータは、別の方法により生成されても構わない。
次に、メインテーブル21に対して1:nの相関が2層以上の階層となるテーブル名を多層相関テーブル名ファイル53から取得する(ステップS14)。全ての多層相関テーブルは処理済みか否かを判断する(ステップS15)。多層相関テーブルが処理済みの場合、つまり、全てのテーブルが結合されている場合、ステップS20へと進む。
一方、同一層にある多層相関を保有するテーブル毎に、そのテーブルから下位層のテーブル内で相関される複数のレコードをカウントし、最大となるレコード数を追加すべき項目の繰り返し回数として取得する(ステップS16)。
取得した繰り返し回数に基づいて項目名を追加し、データ結合パラメータファイル54を成形する(ステップS17)。追加すべき下位層のテーブルの項目をこの繰り返し回数分で作成する。
そして、データ結合パラメータファイル54に基づいて、多層相関を保有するテーブル内に、相関される側のテーブルの項目値(明細部の実データ)を追加する。繰り返し回数分実行することで、相関される複数のレコードを順次取得し、そのレコードの項目値を追加して、中間結合ファイル55に出力される(ステップS18)。繰り返し回数未満で、相関されるレコードがなくなった場合は、以降の項目値を設定しない。
次に、中間結合ファイル55をサニタイズして、サイタイズ済みの中間結合ファイル55aへと出力し(ステップS19)、ステップS14へと戻る。ステップS19では、XML文書として中間結合ファイル55を記述する際に、文書構造を表現する記号("<"など)がデータ文字列として扱われるように、文書構造を表現する記号("<"など)にはエスケープ文字を付与しておく。メタデータ記述形式で出力する例として、XMLで記述する。
このようにしてサニタイズされている中間結合ファイル55aは、多層相関テーブル名ファイル53に定義されているが層相関テーブルの数分作成される。
ステップS15において、多層相関テーブルが処理済みである場合、XMLタグを成形して、中間結合ファイル55aを結合する(ステップS20)。XMLタグ名は、ファイル名として付与されたテーブル名と、データ列名とを結合してXMLタグ名とし、中間結合ファイル55a毎にXML文書を形成する。そして、複数のXML文書を元のデータベースにおける結合キーに基づいて1つのXML文書となるように結合する。
なお、ステップS19のサニタイズ処理やステップS20での出力データのXML化の処理は、本フローによる処理の出力結果データがどのような処理に利用されるかに応じて便利のために行うものであって、必須の処理ではない。
基幹システムのデータベースのバックアップファイル51について図4、図5、及び図6で説明する。図2に示す例において、バックアップファイル51には、メインテーブル21のバックアップと、中間履歴テーブル22のバックアップと、弁理士テーブル23のバックアップとが含まれる。
図4は、メインテーブルのバックアップファイルのテーブル構成例を示す図である。図4において、メインテーブル21のバックアップファイル511は、整理番号、国、法区分、出願番号、発明の名称などの項目で構成され、例えば、夫々の項目値として「06P00123」、「JP」、「特許」、「2006-100123」、「半導体製造装置」などのデータが格納される。
図5は、中間履歴テーブル22のバックアップファイルのテーブル構成例を示す図である。図5において、中間履歴テーブル22のバックアップファイル512は、整理番号、中間履歴番号、中間コード、中間受発信日などの項目で構成され、例えば、夫々の項目値として「06P00123」、「1」、「63」、「2000/02/04」などのデータが格納される。
図6は、弁理士テーブル23のバックアップファイルのテーブル構成例を示す図である。図6において、弁理士テーブル23のバックアップファイル513は、整理番号、中間履歴番号、弁理士番号、識別番号などの項目で構成され、例えば、夫々の項目値として「06P00123」、「1」、「1」、「123456789」などのデータが格納される。
図4、図5、図6に示すバックアップファイル511、512、513には項目名が存在しない。各バックアップファイル511、512、513の項目名は、図7に示すようなデータベース定義ファイルで定義されている。
図7は、データベース定義ファイルの例を示す図である。図7において、記述521によってメインテーブル22の項目名とデータタイプが定義され、記述522によって中間履歴テーブル22の項目名とデータタイプが定義され、記述523によって弁理士テーブル23の項目名とデータタイプが定義される。
図7に示すデータベース定義ファイル52で定義される項目名を用いてデータ列名が付与されたバックアップファイル51aの例が図8、図9及び図10に示される。
図8は、項目名付与済みメインテーブルファイルのテーブル構成例を示す図である。図8において、バックアップファイル51aに含まれる項目名付与済みメインテーブルファイル511aは、データベース定義ファイル52の記述521で定義される項目名「整理番号」、「国」、「法区分」、「出願番号」、「発明の名称」などがデータ列名として付加されたテーブルとなっている。
図9は、項目名付与済み中間履歴テーブルファイルのテーブル構成例を示す図である。図9において、バックアップファイル51aに含まれる項目名付与済み中間履歴テーブルファイル512aは、データベース定義ファイル52の記述522で定義される項目名「整理番号」、「中間履歴番号」、「中間コード」、「中間受発信日」などがデータ列名として付加されたテーブルとなっている。
図10は、項目名付与済み弁理士テーブルファイルのテーブル構成例を示す図である。図10において、バックアップファイル51aに含まれる項目名付与済み弁理士テーブルファイル512aは、データベース定義ファイル52の記述523で定義される項目名「整理番号」、「中間履歴番号」、「弁理士番号」、「識別番号」などがデータ列名として付加されたテーブルとなっている。
データベースを結合する仕組みについて、図11、図12及び図13で更に詳しく説明する。図11は、複数のテーブルに対して1:nのレコード相関があるデータベースの例を示す図である。図11中、「→→」は1:nのレコード相関を示している。
図11において、メインテーブル21は、特許出願1件に対して1レコード作成され、整理番号又は出願番号で一意にレコードが特定される。メインテーブル21から1:n4の相関で中間履歴テーブル22へと関連付けられる。
中間履歴テーブル22では、審査請求、拒絶理由などのイベント毎に1レコードが作成される。中間履歴テーブル22から1:m4の相関で期限管理テーブル25へと関連付けられる。その他、中間履歴テーブル22からは、1:m2の相関で弁理士テーブル23へ、また、1:m3の相関で文献・引例テーブル24へと関連付けられる。中間履歴テーブル22からの弁理士テーブル23、文献・引例テーブル24、期限管理テーブル25への相関を相関62で示す。
期限管理テーブル25では、中間履歴毎に行うべき作業1つにつき1レコードが作成される。作業毎の期限日などが管理される。期限管理テーブル25から1:p1の相関で作業進捗テーブル26へと関連付けられる。この1:p1の相関を相関61で示す。
また、メインテーブル21は、1:n1の相関で出願人テーブル41に関連付けられる。更に、出願人テーブル41からは、1:m1で出願人連絡先テーブル42へと関連付けられる。出願人連絡先テーブル42は、共願人1社毎に複数の連絡先を登録するためのテーブルである。出願人テーブル41から出願人連絡先テーブル42への相関を相関63で示す。
メインテーブル21からは、更に、1:n2の相関で発明者テーブル43へ、1:n3の相関でIPCテーブル44へと関連付けられる。
このような相関関連において、メインテーブル21を第1層に位置づけると、出願人テーブル41、発明者テーブル43、IPCテーブル44、中間履歴テーブル22が第2層に位置し、出願人連絡先テーブル42、弁理士テーブル23、文献・引例テーブル24、期限管理テーブル25が第3層に位置し、作業進捗テーブル26が第4層に位置する。
相関61、62及び63に係るテーブルは、多層相関テーブル名ファイル53にて図12に示されるように定義される。図12は、図11おける相関毎にテーブル名を定義した多層相関テーブル名ファイルの定義例を示す図である。
図12において、多層相関テーブル名ファイル53は、相関を保有するテーブルのうち最下層のテーブルと関連付けられる相関から定義する。例えば、図11の相関61に関して、「# 第4層の処理」としてテーブル名「期限管理」、「作業進捗」が1行で定義される。
また、図11の相関62及び相関63に関して、「# 第3層の処理」としてテーブル名「中間履歴」、「弁理士」、「文献・引例」、「期限管理」が最初の行で定義され、テーブル名「出願人」、「出願人連絡先」が次の行に定義される。行毎に1の相関が定義される。
更に、メインテーブル21への相関を定義するために、「# 第2層の処理」としてテーブル名「メインテーブル」、「出願人」、「発明者」、「IPC」、「中間履歴」が1行で定義される。
図7のデータベース定義ファイル52を用いて、中間履歴テーブル22と弁理士テーブル23との相関において、弁理士テーブル23が中間履歴テーブル22に結合される処理について図13で説明する。
図13は、データ結合パラメータファイルの形成例を示す図である。図13に示す処理例において、図3のステップS16にて、中間履歴テーブル22に対する弁理士テーブル23の繰り返し回数が「3」であったとして説明する。
データ結合パラメータファイル54には、多層相関テーブル名ファイル53を参照して、中間履歴テーブル22に弁理士テーブル23が統合されるように項目名が定義される。中間履歴テーブル22の元々の項目名として、「整理番号」、「中間履歴番号」、「中間コード」、「中間受発信日」、・・・の項目名をデータベース定義ファイル52から取得する。次に、弁理士テーブル23の元々の項目名として、「整理番号」、「中間履歴番号」、「弁理士番号」、「識別番号」、・・・の項目名をデータベース定義ファイル52から取得する。そのうち、「整理番号」と「中間履歴番号」とを除く「弁理士番号」、「識別番号」、・・・の項目名を3回繰り返して中間履歴テーブル22の項目名に挿入する。その際、繰り返す毎に1、2、3、・・・などの連番を付与するようにする。
図13に示すデータ結合パラメータファイル54に格納された中間履歴テーブル22の項目名のパラメータに基づいて、図14に示すような中間結合ファイル55が形成される。
図14は、中間結合ファイルのデータ構成例を示す図である。図14において、中間結合ファイル55には、弁理士テーブル23の項目が最大の繰り返し数に合わせて出力する列が決定される。最大の繰り返し数に合わせて出力するため、中間結合ファイル55の一部が空白75のように値が空白となる場合がある。
「整理番号」の値「06P00123」に関しては、「弁理士番号3」、「識別番号3」、・・・の値が空白となり、また、「整理番号」の値「06P00124」に関しては、「弁理士番号2」、「識別番号2」、・・・、「弁理士番号3」、「識別番号3」、・・・の値が空白となる。一方、「整理番号」の値「06P00125」に関しては、全ての項目に値が設定される。
上述したようなデータベース結合方法によって、最終的には、一つのメインテーブル21に全テーブルの項目が結合される。
以下に、項目数を制限してテーブルを結合する方法について説明する。図15は、本発明に係る統合データベース構築処理のその他の例を説明するためのフローチャート図である。図15中、図3と同様のステップには同一の符号を付し、その説明を省略する。図15に示すフローチャートで参照される多層相関テーブル名ファイル53−2は、図3に示すフローチャートで参照される多層相関テーブル名ファイル53のデータ構成に、追加すべき項目を繰り返す際の最大繰り返し数が予め定義されている。
図15において、ステップS11からステップS15までは図3と同様である。従って、ステップS15にて、多層相関テーブルが処理済みであると判断された場合、つまり、全てのテーブルが結合されている場合、ステップS20へと進む。
一方、ステップS15にて、多層相関テーブルが処理済みではないと判断された場合、多層相関デーブル名ファイル53−2から最大となるレコード数を追加すべき項目の繰り返し回数として取得する(ステップS16−2)。
多層相関デーブル名ファイル53−2から取得した最大繰り返し回数に基づいて項目名を追加し、データ結合パラメータファイル54−2を作成する(ステップS17−2)。
そして、データ結合パラメータファイル54に基づいて、多層相関を保有するテーブル内に、相関される側のテーブルの項目値(明細部)を追加する。繰り返し回数分実行することで、相関される複数のレコードを順次取得し、そのレコードの項目値を追加して、中間結合ファイル55に出力される(ステップS18−2)。繰り返し回数未満で、相関されるレコードがなくなった場合は、以降の項目値を設定しない。
ただし、多層相関テーブル名ファイル54−2から取得した最大繰り返し回数を超えるレコードがあった場合、残りのレコードの数を値とするデータ列として中間結合ファイル55−2に出力する。例えば、他データと比較して突出して繰り返し回数が多いデータ(イレギュラーなデータ)をそのまま処理すると、データ全体の中での出現割合は極少ないものであるにも関わらず、該イレギュラーなデータもカバーできるようなシステムリソースを用意する必要が生じてしまう。このような場合に、上記処理による繰り返し回数の足切りを行えば、イレギュラーなデータに引きずられること無く、無駄なシステムリソースを確保する必要が無くなるというシステム運用上のメリットが得られる。
次に、中間結合ファイル55−2をサニタイズして、サイタイズ済みの中間結合ファイル55aへと出力し(ステップS19−2)、ステップS14へと戻る。ステップS19−2では、XML文書として中間結合ファイル55−2を記述する際に、文書構造を表現する記号("<"など)がデータ文字列として扱われるように、文書構造を表現する記号("<"など)にはエスケープ文字を付与しておく。
以降、図3に示すフローチャートと同様の処理を行い、結合済みXMLファイル56が成形される。
図11に示すデータベースの相関例を用いて、多層相関デーブル名ファイル53−2に最大となるレコード数を追加すべき項目の繰り返し回数が設定されている場合について説明する。
図16は、多層相関テーブル名ファイルにおける最大繰り返し回数の定義例を示す図である。図16に示す多層相関テーブル名ファイル53−2では、( )内に最大繰り返し回数5pが定義される。
図11の相関61に関して、「# 第4層の処理」としてテーブル名「期限管理」、「作業進捗」が定義される場合、例えば、期限管理テーブル25と1:p1で関連付けられる側の作業進捗テーブル26に対して最大繰り返し回数「10」を( )内に示す。
このように最大繰り返し回数を定義した場合において、弁理士テーブル23が中間履歴テーブル22に結合される処理について図17で説明する。
図17は、最大繰り返し回数が定義される場合のデータ結合パラメータファイルの形成例を示す図である。図13に示す処理例との違いは、最大繰り返し回数が定義されていることのみで、他は同様である。多層相関テーブル名ファイル53−2にて、中間履歴テーブル22に対する弁理士テーブル23の最大繰り返し回数が「3」で定義されているとして説明する。
データ結合パラメータファイル54−2には、多層相関テーブル名ファイル53−2を参照して、中間履歴テーブル22に弁理士テーブル23が統合されるように項目名が定義される。中間履歴テーブル22の元々の項目名として、「整理番号」、「中間履歴番号」、「中間コード」、「中間受発信日」、・・・の項目名をデータベース定義ファイル52から取得する。次に、弁理士テーブル23の元々の項目名として、「整理番号」、「中間履歴番号」、「弁理士番号」、「識別番号」、・・・の項目名をデータベース定義ファイル52から取得する。そのうち、「整理番号」と「中間履歴番号」とを除く「弁理士番号」、「識別番号」、・・・の項目名を3回繰り返して中間履歴テーブル22の項目名に挿入する。
最大繰り返し回数が「3」であるので、項目名の挿入の繰り返しを終了させて、「通知領域」という項目名4sを付加して、中間履歴テーブル22に関する項目名の定義を終了する。
項目名4sの「通知領域」には、実データを処理する際に予め定義されている最大繰り返し回数を超えるレコードが存在する場合には、例えば、残りのレコードの数を示す情報などが設定される。
図17に示すデータ結合パラメータファイル54−2に格納された中間履歴テーブル22の項目名のパラメータに基づいて、図18に示すような中間結合ファイル55−2が形成される。
図18は、最大繰り返し回数が定義されている場合の中間結合ファイルのデータ構成例を示す図である。図18において、中間結合ファイル55には、多層相関テーブル名ファイル53−2に定義されている最大の繰り返し回数に合わせて出力する列が決定される。定義されている最大の繰り返し回数に合わせて出力するため、最大繰り返し回数に達しないデータ部(空白75−2)と、最大繰り返し回数を超えてしまったために「通知領域」にデータが設定される部分(通知情報75−4)とがある。
「整理番号」の値「06P00123」に関しては、「弁理士番号3」、「識別番号3」、・・・、「通知領域」の値が空白となり、また、「整理番号」の値「06P00124」に関しては、「弁理士番号2」、「識別番号2」、・・・、「弁理士番号3」、「識別番号3」、・・・、「通知領域」の値が空白となる。
一方、「整理番号」の値「06P00125」かつ「中間履歴番号」の値「1」と「2」とに関しては、最大繰り返し回数を超えているために「通知領域」に「他2件」などの値が設定されている。
このような仕組みとすることによって、テーブル間の相関(繰り返し回数)が相当の回数になる場合は、存在しても稀な場合であるので、このような相関(繰り返し回数)を制限することによって、CPU及び記憶領域などのコンピュータ資源を効率的に使用することが可能となる。
また、「通知領域」の項目を付加することによって、最大繰り返し回数を超えた場合には、更に項目値が存在すること記憶させておくことができる。
上述したように、複数のテーブルが1:n、1:n:m、1:n:m:pといった関連付けによって正規化されたデータを段階的に非正規化データを復元(例えば、1:n:m:p −> 1:n:m −> 1:n −> 1)することができる。
上述では、多層相関テーブル名ファイル53及び53−2によって、メインテーブル21へ全てのテーブルを統合する場合を例にして説明したが、第2層までの統合としてもよい。その場合には、例えば、図19に示すように、「# 第2層の処理」に関する定義が省略される。更に、第3層までの統合とする場合、「# 第3層の処理」に関する定義が更に省略される。
このように、多層相関テーブルファイル53及び53−2でのテーブル相関に関する定義によって、最下層のテーブルから所定階層のテーブルまでを統合することができる。また、実データファイルの結合処理に先立って相関の回数を取得し、その回数で相関されるテーブルの項目を繰り返して上位層のテーブルの項目へ追加するため、実データを結合する際に相関有無を検出する必要がなく、テーブルの結合処理を高速化することができる。
以上の説明に関し、更に以下の項を開示する。
(付記1)
1:nの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラムにおいて、
上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、
前記上位層テーブルの項目名に前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、
前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行させることを特徴とするコンピュータ実行可能なプログラム。
(付記2)
前記最大繰り返し回数取得手順は、層毎に互いに相関する上位層のテーブル名と下位層のテーブル名とを記憶した相関テーブル名ファイルを参照することによって、相関関係にあるテーブルを特定することを特徴とする付記1記載のコンピュータ実行可能なプログラム。
(付記3)
前記パラメータファイル成形手順は、テーブル毎にテーブルを構成する項目を定義している定義ファイルから項目名を取得することを特徴とする付記1又は2記載のコンピュータ実行可能なプログラム。
(付記4)
前記最大繰り返し回数取得手順は、前記相関テーブル名ファイルに予め定義されている前記最大繰り返し回数を取得し、
前記パラメータファイル成形手順は、前記上位層テーブルの項目名に前記レコード数が前記最大繰り返し回数を超えていることを示す通知情報のための通知領域を更に加えることを特徴とする付記3記載のコンピュータ実行可能なプログラム。
(付記5)
前記相関テーブル名ファイルは、多層にわたるデータベースを構成する複数のテーブルの最上位層からn番目の層以降に関して相関関係を定義していることを特徴とする付記2乃至4のいずれか一項記載のコンピュータ実行可能なプログラム。
(付記6)
前記コンピュータに、
前記項目値追加格納手順によって前記下位層テーブルが結合された前記上位層テーブルをメタデータ形式で記述するメタデータ形式記述手順を更に実行させることを特徴とする付記1乃至5のいずれか一項記載のコンピュータ実行可能なプログラム。
(付記7)
1:nの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理方法において、コンピュータが、
上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、
前記上位層テーブルの項目名に前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、
前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行することを特徴とする結合処理方法。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本発明の一実施例に係る情報処理装置の機能構成例を示す図である。 統合データベース構築処理の概要を説明するための図である。 統合データベース構築処理の一例を説明するためのフローチャート図である。 メインテーブルのバックアップファイルのテーブル構成例を示す図である。 中間履歴テーブルのバックアップファイルのテーブル構成例を示す図である。 弁理士テーブルのバックアップファイルのテーブル構成例を示す図である。 データベース定義ファイルの例を示す図である。 項目名付与済みメインテーブルファイルのテーブル構成例を示す図である。 項目名付与済み中間履歴テーブルファイルのテーブル構成例を示す図である。 項目名付与済み弁理士テーブルファイルのテーブル構成例を示す図である。 複数のテーブルに対して1:nのレコード相関があるデータベースの例を示す図である。 図10おける相関毎にテーブル名を定義した多層相関テーブル名ファイルの定義例を示す図である。 データ結合パラメータファイルの形成例を示す図である。 中間結合ファイルのデータ構成例を示す図である。 本発明に係る統合データベース構築処理のその他の例を説明するためのフローチャート図である。 多層相関テーブル名ファイルにおける最大繰り返し回数の定義例を示す図である。 最大繰り返し回数が定義される場合のデータ結合パラメータファイルの形成例を示す図である。 最大繰り返し回数が定義されている場合の中間結合ファイルのデータ構成例を示す図である。 第2層までのテーブル統合を行う場合の多層相関テーブル名ファイルの定義例を示す図である。
符号の説明
20 記憶媒体
21 メインテーブル
22 中間履歴テーブル
23 弁理士テーブル
24 文献・引例テーブル
25 期限管理テーブル
26 作業進捗テーブル
41 出願人テーブル
42 出願人連絡先テーブル
43 発明者テーブル
44 IPCテーブル
51 バックアップファイル
51a バックアップファイル
52 データベース定義ファイル
53、53−2 多層相関テーブル名ファイル
54、54−2 データベースバックアップファイル(項目名付与済み)
55、55−2 中間結合ファイル
55a 中間結合ファイル(サニタイズ済み)
56 結合済みXMLファイル
61、62、63 相関
100 情報処理装置
101 基幹システム
102 基幹業務処理部
103 基幹データベース
104 統合データベース構築処理部
105 項目名付与処理部
106 テーブル結合処理部
107 メタデータ作成部
111 表示処理部
112 入出力処理部
113 通信制御部
114 インストーラ

Claims (3)

  1. 1:nの相関を持つテーブルが多層にわたるデータベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるコンピュータ実行可能なプログラムにおいて、
    上位層テーブルの1以上の項目名によって該上位層テーブルから相関される下位層テーブルのレコード数の最大数を、該上位層テーブルで繰り返して挿入する該下位層テーブルの項目名の最大繰り返し回数として取得する最大繰り返し回数取得手順と、
    前記上位層テーブルの項目名に前記1以上の項目名を除いた前記下位層テーブルの項目名を前記最大繰り返し回数分追加してパラメータファイルを成形するパラメータファイル成形手順と、
    前記パラメータファイルに基づいて、最大繰り返し回数で上位層テーブルから相関される下位層テーブルのレコードの項目値を該上位層テーブル内に追加して格納する項目値追加格納手順とを実行させることを特徴とするコンピュータ実行可能なプログラム。
  2. 前記パラメータファイル成形手順は、テーブル毎にテーブルを構成する項目を定義している定義ファイルから項目名を取得することを特徴とする請求項1記載のコンピュータ実行可能なプログラム。
  3. 前記最大繰り返し回数取得手順は、前記相関テーブル名ファイルに予め定義されている前記最大繰り返し回数を取得し、
    前記パラメータファイル成形手順は、前記上位層テーブルの項目名に前記レコード数が前記最大繰り返し回数を超えていることを示す通知情報のための通知領域を更に加えることを特徴とする請求項2記載のコンピュータ実行可能なプログラム。
JP2006196082A 2006-07-18 2006-07-18 データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム Expired - Fee Related JP5028894B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006196082A JP5028894B2 (ja) 2006-07-18 2006-07-18 データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006196082A JP5028894B2 (ja) 2006-07-18 2006-07-18 データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム

Publications (2)

Publication Number Publication Date
JP2008026992A JP2008026992A (ja) 2008-02-07
JP5028894B2 true JP5028894B2 (ja) 2012-09-19

Family

ID=39117588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006196082A Expired - Fee Related JP5028894B2 (ja) 2006-07-18 2006-07-18 データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム

Country Status (1)

Country Link
JP (1) JP5028894B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6260339B2 (ja) * 2014-02-24 2018-01-17 富士通株式会社 情報処理装置,データ変換プログラム,及びデータ変換方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108431A (ja) * 1991-10-11 1993-04-30 Hitachi Ltd 階層構造を持つリレーシヨナル・データベースの高速アクセス方法
JP3914662B2 (ja) * 1999-06-30 2007-05-16 株式会社日立製作所 データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体
JP2003122767A (ja) * 2001-10-10 2003-04-25 Canon Inc 情報処理装置及び情報処理方法
JP4112282B2 (ja) * 2002-05-28 2008-07-02 株式会社日本総合研究所 関係データベース構築装置および方法
WO2003107321A1 (en) * 2002-06-12 2003-12-24 Jena Jordahl Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view
JP3660667B2 (ja) * 2003-07-29 2005-06-15 株式会社東芝 データ処理装置、データ処理方法およびプログラム

Also Published As

Publication number Publication date
JP2008026992A (ja) 2008-02-07

Similar Documents

Publication Publication Date Title
JP7460689B2 (ja) スプレッドシートに基づくソフトウェアアプリケーション開発
RU2439680C2 (ru) Синхронизация в реальном времени данных xml между приложениями
US20170322930A1 (en) Document based query and information retrieval systems and methods
US20220342875A1 (en) Data preparation context navigation
US8856157B2 (en) Automatic detection of columns to be obfuscated in database schemas
US7954053B2 (en) Extraction of datapoints from markup language documents
US9460074B2 (en) Efficient data pattern matching
JP5612047B2 (ja) データのカテゴリフィルタ処理のための装置及び方法
EP2304609B1 (en) Paging hierarchical data
US20110093514A1 (en) System and Method for the Derivation and Application of Sub-iteration Contexts in a Transformation Operation in a Data Integration System
US20150026159A1 (en) Digital Resource Set Integration Methods, Interfaces and Outputs
US8768900B2 (en) Method and device for compressing, decompressing and querying document
JP2011128777A (ja) 操作監視装置
JP2018136939A (ja) 更新データ別の最適クエリ文を生成するスプレッドシートに基づいたデータベースの更新方法
US8145580B2 (en) Data management apparatus and method for managing data elements using a plurality of metadata elements
CN113177168A (zh) 一种基于Web元素属性特征的定位方法
CA2734207C (en) Electronic file comparator
KR20160117965A (ko) NoSQL 모델 생성 방법 및 그 장치
Ba et al. Uncertain version control in open collaborative editing of tree-structured documents
US10318397B2 (en) Efficient data pattern matching
JP5028894B2 (ja) データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム
EP2691874A1 (en) Textual analysis system
Eyal-Salman et al. Feature-to-code traceability in legacy software variants
KR20110094804A (ko) 소프트웨어 재사용을 지원하기 위한 시맨틱 태깅 서버와 그 방법
JP2006163912A (ja) 編集システム、サーバ及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111111

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: 20120529

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: 20120611

R150 Certificate of patent or registration of utility model

Ref document number: 5028894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees