以下に、本願の開示する情報管理プログラム、情報管理装置及び情報管理方法の実施例を図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[情報管理システム]
図2を用いて、実施例2に係る情報管理装置の全体像について説明する。情報管理システムは、例えば、リレーショナルデータベースが該当する。図2は、実施例2に係る情報管理装置の全体像について説明する図である。図2において、200は、文書を関連づけて管理する情報管理装置を示す。例えば、情報管理装置200は、サーバが該当する。210a〜nは、ユーザによって利用されるクライアント端末を示す。例えば、クライアント端末210a〜nは、パーソナルコンピュータやPDA(Personal Digital Assistant)などの情報処理装置が該当する。情報管理装置200及びクライアント端末210a〜nは、ネットワーク10により相互に接続される。
また、図2において、201は、処理命令文であるSQL文を記憶するSQL文記憶部を示す。202a〜nは、文書を記憶する文書記憶部を示す。例えば、文書記憶部202aは注文書を記憶し、文書記憶部202bが部品仕様書を記憶する。203は、主である文書記憶部に係る出力命令に対して従である文書記憶部から情報を出力する主従の関連があることを示す関連情報を記憶する関連記憶部を示す。以下では、出力命令により検索対象と指定された文書記憶部を「関連元」とも称し、関連元の文書記憶部に関連する文書が抽出される文書記憶部を「関連先」とも称する。例えば、関連記憶部203は、図2に示すように、関連元「文書記憶部202a」と関連先「文書記憶部202b」との関連づけを記憶する。つまり、図2に示す例では、関連記憶部203は、文書記憶部202aが記憶する注文書に対する出力命令があると、文書記憶部202bから部品仕様書が抽出されることを示す関連づけを記憶する。図2では、クライアント端末210aがユーザから注文書に対する出力命令を受け付け、情報管理装置200が注文書とともに部品仕様書を出力する場合を用いて説明する。
なお、実施例2に係る情報管理システムでは、情報管理装置200が文書を記憶する場合を用いて説明するが、本発明はこれに限定されるものではない。例えば、情報管理装置200とは別途設けられたファイルサーバが文書を記憶し、文書記憶部202a〜nは、ファイルサーバに記憶された文書を一意に識別する識別情報を記憶しても良い。
図2に示すように、情報管理装置200は、SQL文記憶部201に記憶されたSQL文から関連情報を生成し、生成した関連情報を関連記憶部203に入力する。例えば、情報管理装置200は、文書記憶部202aと文書記憶部202bとを結合する結合情報がSQL文に含まれる場合には、文書記憶部202aと文書記憶部202bとを結合する結合情報をSQL文から抽出する。そして、情報管理装置200は、文書記憶部202bにおいて文書を一意に識別する主項目が、文書記憶部202aの項目に含まれる場合には、関連元「文書記憶部202a」と関連先「文書記憶部202b」とを関連づけて入力する。
クライアント端末210aは、注文書に対する出力命令をユーザから受け付けると、受け付けた出力命令を情報管理装置200に送信する。そして、情報管理装置200は、注文書に対する出力命令をクライアント端末210aから受け付けると、文書記憶部202aから注文書を抽出する。また、情報管理装置200は、関連記憶部203から関連元「文書記憶部202a」と関連先「文書記憶部202b」との関連付けを読み出し、読み出した関連づけに含まれる関連先「文書記憶部202b」から部品仕様書を抽出する。そして、情報管理装置200は、注文書とともに部品仕様書をクライアント端末210aに送信する。その後、クライアント端末210aは、情報管理装置200から受信した注文書及び部品仕様書をユーザに出力する。
[情報管理装置の構成]
実施例2に係る情報管理装置300について説明する。図3を用いて、実施例2に係る情報管理装置300の構成の一例について詳細に説明する。図3は、実施例2に係る情報管理装置の構成の一例を説明するブロック図である。図3に示すように、情報管理装置300は、通信部301と、記憶部500と、制御部600とを有する。また、情報管理装置300は、図3に示す例では、クライアント端末400とネットワーク20を介して接続される。ここで、図3における情報管理装置300は、図2において示した情報管理装置200と同様である。また、図3におけるクライアント端末210a〜nは、図2において示したクライアント端末400と同様である。
クライアント端末400は、出力命令をユーザから受け付けて、受け付けた出力命令を情報管理装置300に送信する。例えば、クライアント端末400は、注文書に対する出力命令をユーザから受け付け、受け付けた出力命令からSQL文を生成する。続いて、クライアント端末400は、生成したSQL文を出力命令とともに情報管理装置300に送信する。クライアント端末400は、公知の手法を用いてSQL文を生成する。
図4を用いて、クライアント端末400がユーザから受け付ける出力命令について説明する。図4は、実施例2に係る検索画面の一例について説明する図である。図4において、701は、クライアント端末400がユーザに表示する検索画面を示す。例えば、検索画面701には、「手配残照会」、「品目照会」、「仕入先照会」などのウインドウが表示される。702〜704は、クライアント端末400がユーザから検索キーの入力を受け付けるフィールドを示す。例えば、703は、品目番号「ITEM−A(回転ユニット)」の入力を受け付ける。なお、図4においては、手配番号702に、参照したい手配番号が入力されることとしても良い。さらには、仕入先704に、参照したい仕入先が入力されることとしても良い。つまり、ユーザが検索したい情報の検索キーは、702〜704のいずれか一つ以上に入力される。705は、検索ボタンを示す。例えば、検索ボタンの押下は、ユーザにより入力された出力命令を情報管理装置300に送信する旨をクライアント端末400に命令することを示す。706は、クライアント端末400が検索結果を表示するフィールドを示す。707は、検索結果に関連する文書の一覧を表示する旨の指示をユーザから受け付ける文書ボタンを示す。
図4に示す例では、検索画面701に「手配残照会」のウインドウが表示された場合を示した。この場合、検索画面701を用いてユーザが入力する出力命令では、手配残情報記憶部511が検索対象として指定される。また、フィールド703にユーザにより「ITEM−A(回転ユニット)」が入力された場合を示した。つまり、「ITEM−A(回転ユニット)」が検索キーとしてユーザに指定されたことを示す。そして、詳細は後述するが、検索結果としては、「ITEM−A(回転ユニット)」を手配した情報が、フィールド707に入力される。また、フィールド704に例えば「SI0001」がさらに検索キーとしてユーザに指定されても良い。この場合は、品目番号「ITEM−A(回転ユニット)」を仕入先「SI0001」へ手配した際の情報が、フィールド707に出力される。
また、クライアント端末400は、情報管理装置300から受信した検索結果をユーザに出力する。情報管理装置300から受信する検索結果の詳細については後述するため、ここでは説明を省略する。
通信部301は、制御部600と接続される。通信部301は、クライアント端末400から出力命令及びSQL文を受信し、受信した出力命令及びSQL文を制御部600に入力する。また、通信部301は、制御部600から受け付けた検索結果をクライアント端末に送信する。通信部301は、例えば、通信カードが該当する。
記憶部500は、制御部600と接続される。記憶部500は、制御部600による各種処理に用いられるデータを記憶する。記憶部500は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、又は、ハードディスクや光ディスクなどが該当する。記憶部500は、図3に示す例では、文書記憶部510と、SQL文記憶部520と、項目記憶部530と、関連記憶部540と、出現回数記憶部550と、関連先参照回数記憶部560と、文書参照回数記憶部570と、更新日時記憶部580とを有する。また、文書記憶部510〜更新日時記憶部580は、データベースやテーブルが該当する。
文書記憶部510は、文書を記憶する。文書記憶部510は、図3に示す例では、手配残情報記憶部511、品目マスタ情報記憶部512、仕入先マスタ情報記憶部513、製番情報記憶部514、区分明細情報記憶部515を有する。例えば、手配残情報記憶部511は、手配見積書や注文書を記憶する。品目マスタ情報記憶部512は、品目カタログや部品仕様書を記憶する。仕入先マスタ情報記憶部513は、IR(Investor Relations)情報や業者注文書フォーマットを記憶する。製番情報記憶部514は、組立図を記憶する。
図3に示す例では、文書記憶部510が、手配残情報記憶部511と品目マスタ情報記憶部512と仕入先マスタ情報記憶部513と製番情報記憶部514と区分明細情報記憶部515とを有する場合を示した。しかし、本発明はこれに限定されるものではなく、任意の文書記憶部を有しても良い。また、手配残情報記憶部511〜区分明細情報記憶部515を「第一の記憶部」、「第二の記憶部」又は「第三の記憶部」とも称する。
手配残情報記憶部511〜区分明細情報記憶部515は、それぞれ、マスタ記憶部とリンク記憶部とを有する。マスタ記憶部は、文書に記載されたデータと文書の属性とを記憶する。例えば、手配残情報記憶部511が有するマスタ記憶部は、図5に示すように、「物理名」と「論理名」との組み合わせに対応付けて、「データ」を記憶する。ここで、図5の「物理名」と「論理名」とは、文書に記載されたデータや文書の属性の項目を示す。図5は、実施例2に係るマスタ記憶部によって記憶された情報の一例について説明する図である。なお、マスタ記憶部の「論理名」を「項目」とも称する。
図5に示す例では、手配残情報記憶部511が有するマスタ記憶部は、物理名「I_PO_DETAIL_NO」と論理名「手配番号」との組み合わせに対応付けて、データ「P210000007」を記憶する。また、マスタ記憶部は、物理名「I_OBJECT_ID」と論理名「オブジェクトID」との組み合わせに対応付けて、データ「3」を記憶する。また、マスタ記憶部は、その他の「物理名」と「論理名」との組み合わせについても同様に、「データ」を記憶する。つまり、手配残情報記憶部511が有するマスタ記憶部は、手配残情報記憶部511に記憶された文書に、手配番号「P210000007」などが記載されたことを記憶する。また、マスタ記憶部の項目に対応付けて記憶された一連のデータを「レコード」とも称する。例えば、「P210000007」、「X2−0001B1」などの一連のデータをレコードと称する。また、オブジェクトIDは、文書記憶部510に記憶された文書を一意に識別する識別情報である。
リンク記憶部は、マスタ記憶部のオブジェクトIDに対応付けて文書を記憶する。例えば、手配残情報記憶部511が有するリンク記憶部は、マスタ記憶部のオブジェクトID「3」に対応付けて「注文書_X2−00001B.pdf」を記憶する。
図6を用いて、リンク記憶部についてさらに説明する。リンク記憶部は、オブジェクトIDに対応付けられた文書データについての項目を記憶する。例えば、文書データについての項目として、文書のファイル名や保存場所などを記憶する。図6に示すように、リンク記憶部は、「物理名」と「論理名」との組み合わせに対応付けて、「データ」を記憶する。ここで、図6の「物理名」及び「論理名」は、文書データについての項目を示す。図6は、実施例2に係るリンク記憶部によって記憶された情報の一例について説明する図である。
図6に示す例では、リンク記憶部は、物理名「I_OBJECT_ID」と論理名「オブジェクトID」との組み合わせに対応付けて、データ「3」を記憶する。また、リンク記憶部は、物理名「I_DATA_LINE_NO」と論理名「データ行番号」との組み合わせに対応付けて、データ「1」を記憶する。また、リンク記憶部は、物理名「I_DATA_DESC」と論理名「データ名」との組み合わせに対応付けて、データ「注文書_X2−00001B.pdf」を記憶する。また、リンク記憶部は、その他の「物理名」と「論理名」との組み合わせについても同様に、「データ」を記憶する。つまり、手配残情報記憶部511が有するリンク記憶部は、手配残情報記憶部511のマスタ記憶部に記憶されたオブジェクトID「3」のレコードに対応付けて、データ名「注文書_X2−00001B.pdf」によって示される文書を記憶する。
ただし、文書記憶部510は、リンク記憶部は文書を記憶しないこともある。つまり、文書記憶部510は、文書そのものは記憶せず、文書に記載されたデータや文書の属性を記憶するにとどまることもある。以下では、区分明細情報記憶部515は、文書を記憶せず、文書に記載されたデータや文書の属性をマスタ記憶部に記憶する場合を用いて説明する。
SQL文記憶部520は、クライアント端末400から過去に情報管理装置300が受信したSQL文を記憶する。SQL文記憶部520に記憶されたSQL文は、図7に示すように、「SELECT」と、「FROM」と、「WHERE」とを有する。図7は、実施例2に係るSQL文記憶部により記憶されるSQL文の一例について説明する図である。図7において、「SELECT」は、出力命令により検索対象と指定された文書記憶部の項目を示す。「FROM」は、SELECTに示された項目が設定された文書記憶部を示す。「WHERE」は、文書記憶部と他の文書記憶部とを結合する結合情報を示す。なお、「WHERE」は「JOIN」を代わりに用いることがあるが結合情報を示すことには変わりなく、どちらが用いられても良い。
図7に示す例では、SQL文記憶部520に記憶されたSQL文は、SELECTとして「手配残情報記憶部.手配番号」、「手配残情報記憶部.品目番号」などを有する。つまり、図7のSQL文は、「手配残情報記憶部.手配番号」、「手配残情報記憶部.品目番号」などの項目が検索キーとして指定された旨を示す。また、SQL文は、FROMとして「手配残情報記憶部」、「品目マスタ情報記憶部」、「仕入先マスタ情報記憶部」などを有する。つまり、図7のSQL文は、「手配残情報記憶部」、「品目マスタ情報記憶部」、「仕入先マスタ情報記憶部」などから情報を出力する旨を示す。また、SQL文は、WHEREとして「手配残情報記憶部.品目番号=品目マスタ情報記憶部.品目番号」などを有する。つまり、図7のSQL文は、手配残情報記憶部511と品目マスタ情報記憶部512とが品目番号で結合される旨を示す。
項目記憶部530は、図8に示すように、各文書記憶部に設定された項目を記憶する。図8は、実施例2に係る項目記憶部によって記憶された情報の一例について説明する図である。図8に示す例では、項目記憶部530は、文書記憶部「手配残情報記憶部」に対応付けて、項目「工場番号」、「手配番号」、「品目番号」などを記憶する。つまり、項目記憶部530は、工場番号、手配番号、品目番号などの項目を手配残情報記憶部511が有することを示す。
また、項目記憶部530は、各文書記憶部に設定された項目のうち、各文書記憶部に記憶された情報を一意に識別する主項目を記憶する。図8に示す例では、項目記憶部530は、項目に「P」を付すことで主項目を記憶する。例えば、項目記憶部530は、手配残情報記憶部511に設定された項目のうち、「手配番号」に「P」を付して記憶する。つまり、項目記憶部530は、手配残情報記憶部511に設定された項目のうち、「手配番号」が主項目であることを記憶する。また、項目記憶部530は、その他の文書記憶部についても同様に、項目を記憶する。以下では、主項目を「プライマリキー」とも称する。
関連記憶部540は、主である第一の記憶部に係る出力命令に対して従である第二の記憶部から情報を出力する主従の関連があることを示す関連情報を記憶する。つまり、関連記憶部540は、出力命令により検索対象として指定された文書記憶部に関連する文書が抽出される文書記憶部を記憶する。例えば、関連記憶部540は、図9に示すように、「関連元」と「関連先」との関連づけを記憶する。つまり、関連元は主である第一の記憶部を示し、関連先は従である第二の記憶部を示す。図9は、実施例2に係る関連記憶部によって記憶された情報の一例について説明する図である。図9に示す例では、関連記憶部540は、関連元「手配残情報記憶部」と関連先「品目マスタ情報記憶部」との関連づけを記憶する。つまり、関連記憶部540は、手配残情報記憶部511が記憶する文書に対する出力命令を受け付けた場合に、手配残情報記憶部511から出力される文書に関連する文書を品目マスタ情報記憶部512から抽出することを示す関連付けを記憶する。
出現回数記憶部550は、図10に示すように、結合情報がSQL文に出現した出現回数を日付ごとに記憶する。図10は、実施例2に係る出現回数記憶部によって記憶された情報の一例について説明する図である。図10に示す例では、出現回数記憶部550は、結合情報「手配残情報記憶部−品目マスタ情報記憶部」が7月9日に1235回出現したことを記憶し、7月8日に2235回出現したことを記憶する。また、出現回数記憶部550は、その他の結合情報についても同様に、日付ごとに出現回数を記憶する。
関連先参照回数記憶部560は、図11に示すように、各文書記憶部について、関連先の文書記憶部として参照された参照回数を日付ごとに記憶する。図11は、実施例2に係る関連先参照回数記憶部によって記憶された情報の一例について説明する図である。例えば、関連先参照回数記憶部560は、品目マスタ情報記憶部が7月9日に253回参照されたことを記憶し、7月8日に489回参照されたことを記憶する。また、関連先参照回数記憶部560は、その他の文書記憶部についても同様に、日付ごとに参照回数を記憶する。
文書参照回数記憶部570は、図12に示すように、各文書が参照された参照回数を日付ごとに記憶する。図12は、実施例2に係る文書参照回数記憶部によって記憶された情報の一例について説明する図である。図12に示す例では、文書参照回数記憶部570は、品目カタログ情報.docが7月9日に341回参照されたことを記憶し、7月8日に210回参照されたことを記憶する。また、文書参照回数記憶部570は、その他の文書についても同様に、日付ごとに参照回数を記憶する。
更新日時記憶部580は、図13に示すように、各文書がユーザにより更新された更新日時を記憶する。図13は、実施例2に係る更新日時記憶部によって記憶された情報の一例について説明する図である。図13に示す例では、更新日時記憶部580は、品目カタログ情報.docが2009年8月1日に更新されたことを記憶する。また、更新日時記憶部580は、その他の文書についても同様に、更新日時を記憶する。
図3の説明に戻る。制御部600は、通信部301及び記憶部500と接続される。制御部600は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部600は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの電子回路である。制御部600は、図3に示す例では、格納処理部601と、結合情報抽出部602と、判定部603と、関連情報生成部604とを有する。また、制御部600は、記憶部選択部605と、文書抽出部606と、記憶部優先度算出部607と、文書優先度算出部608と、出力部609とを有する。格納処理部601は、通信部301からSQL文を受け付け、受け付けたSQL文をSQL文記憶部520に格納する。
結合情報抽出部602は、SQL文から結合情報を抽出する。具体的には、結合情報抽出部602は、SQL文記憶部520により記憶されたSQL文から、SQL文のWHEREを結合情報として抽出する。図14に示す例では、結合情報抽出部602は、図7に示したSQL文から結合情報「手配残情報記憶部−品目マスタ情報記憶部」を抽出する。図14は、実施例2に係る結合情報抽出部により抽出される結合情報の一例について説明する図である。また、結合情報抽出部602は、WHEREに含まれるその他の情報についても同様に抽出する。
また、結合情報抽出部602は、抽出した結合情報のうち、文書を記憶していない文書記憶部が含まれる結合情報を削除する。具体的には、結合情報抽出部602は、抽出した結合情報に含まれる文書記憶部のマスタ記憶部を参照する。続いて、結合情報抽出部602は、参照したマスタ記憶部がオブジェクトIDを有するか否かを判定する。オブジェクトIDが有しないことは、リンク記憶部が文書を記憶していないことを示す。そして、結合情報抽出部602は、マスタ記憶部がオブジェクトIDを有しないと判定した場合には、オブジェクトIDを有しないと判定された文書記憶部が含まれる結合情報を削除する。例えば、図14において、結合情報抽出部602は、区分明細情報記憶部515のマスタ記憶部がオブジェクトIDを有しないと判定した場合には、結合情報「手配残情報記憶部−区分明細情報記憶部」を削除する。
判定部603は、結合情報抽出部602により抽出された結合情報に基づいて、第二の記憶部において情報を一意に識別する主項目が、第一の記憶部に設定された複数の項目に含まれるか否かを判定する。つまり、判定部603は、結合情報に含まれる文書記憶部のうち、一方の文書記憶部に設定されたプライマリキーが他方の文書記憶部に設定された複数の項目に含まれるか否かを判定する。具体的には、判定部603は、結合情報抽出部602により抽出された結合情報に含まれる文書記憶部のうち、一方の文書記憶部に設定されたプライマリキーを取得する。続いて、判定部603は、図8に示した項目記憶部530を参照し、一方の文書記憶部に設定されたプライマリキーが他方の文書記憶部に設定された項目に含まれるか否かを判定する。
例えば、判定部603が結合情報「手配残情報記憶部−品目マスタ情報記憶部」について判定する場合を用いて説明する。判定部603は、項目記憶部530を参照し、結合情報に含まれる品目マスタ情報記憶部512のプライマリキーとして「品目番号」を取得する。続いて、判定部603は、項目記憶部530を参照し、品目マスタ情報記憶部512のプライマリキーである「品目番号」が手配残情報記憶部511の項目に含まれるか否かを判定する。図8に示す例では、判定部603は、品目マスタ情報記憶部512に設定されたプライマリキー「品目番号」が手配残情報記憶部511の項目に含まれると判定する。
ここで、判定部603がプライマリキーを用いた処理を行う意義について、図15を用いて説明する。図15は、実施例2に係る判定部がプライマリキーを用いた処理を実行する意義について説明する図である。
図15の(1)には、品目マスタ情報記憶部512のマスタ記憶部が記憶する情報の一例を示す。図15の(1)に示す例では、品目マスタ情報記憶部512のマスタ記憶部は、プライマリキー「品目番号」に対応付けて、「品目名」と、「型式」とを記憶する。例えば、品目マスタ情報記憶部512のマスタ記憶部は、品目番号「A001」に対応付けて、品目名「コンデンサ」と、型式「CFG001−1」とを記憶する。また、品目マスタ情報記憶部512のマスタ記憶部は、その他の品目についても同様に、各項目を記憶する。
図15の(2)には、手配残情報記憶部511のマスタ記憶部が記憶する情報の一例を示す。図15の(2)に示す例では、手配残情報記憶部511のマスタ記憶部は、プライマリキー「手配番号」に対応付けて、「品目番号」と、「発注数」と、「発注単価」とを記憶する。例えば、手配残情報記憶部511のマスタ記憶部は、手配番号「C100001」に対応付けて、品目番号「A001」と、発注数「10」と、発注単価「500」とを記憶する。また、手配残情報記憶部511のマスタ記憶部は、その他の発注情報についても同様に、各項目を記憶する。
品目マスタ情報記憶部512では、品目番号はプライマリキーである。このため、図15の(1)に示すように品目マスタ情報記憶部512のマスタ記憶部では、品目番号「A001」によって示されるレコードを一つ記憶する。一方、手配残情報記憶部511では、品目番号はプライマリキーではない。このため、図15の(2)に示すように、手配残情報記憶部511のマスタ記憶部は、品目番号「A001」によって示されるレコードを複数記憶する。
ここで、情報管理装置300が品目番号「A001」という検索キーを受け付けて、マスタ記憶部を検索する場合を用いて説明する。情報管理装置300は、品目番号をプライマリキーとして有しない手配残情報記憶部511のマスタ記憶部を検索した場合には、品目番号「A001」を含む膨大な数のレコードを出力する。例えば、情報管理装置300は、図15の(2)に示す手配残情報記憶部511のマスタ記憶部から5つのレコードを出力する。この結果、ユーザには膨大な数のレコードが出力され、ユーザに混乱をきたす。一方、品目番号がプライマリキーとして設定された品目マスタ情報記憶部512のマスタ記憶部を検索すると、情報管理装置300は、品目番号「A001」の詳細な情報を含む唯一のレコードを出力する。例えば、情報管理装置300は、図15の(1)に示す品目マスタ情報記憶部512のマスタ記憶部から唯一のレコードを出力する。この結果、情報管理装置300は、品目番号「A001」が品目名「コンデンサ」、型式「CFG001−1」である旨の情報をユーザに提供する。したがって、後述するように、判定部603によって、プライマリキーを有する側の文書記憶部から関連する文書を出力することで、膨大な情報が出力されることを防止することができる。
関連情報生成部604は、判定部603により判定された判定結果から、関連情報を生成する。つまり、関連情報生成部604は、判定部603により判定された判定結果から、関連元の文書記憶部と関連先の文書記憶部とを関連づけて関連情報を生成する。具体的には、関連情報生成部604は、出力命令により検索対象として指定された文書記憶部を「関連元」、関連元の文書記憶部の項目に主項目が含まれると判定された文書記憶部を「関連先」として関連づけて関連情報を生成する。例えば、関連情報生成部604は、手配残情報記憶部511に設定された項目にプライマリキー「品目番号」が含まれると判定された品目マスタ情報記憶部512を「関連先」、手配残情報記憶部511を「関連元」とする関連情報を生成する。
記憶部選択部605は、通信部301から出力命令を受け付けて、受け付けた出力命令により検索対象として指定された文書記憶部を選択する。続いて、記憶部選択部605は、関連記憶部540を参照し、出力命令により検索対象として指定された文書記憶部に関連づけられた文書記憶部を選択する。
例えば、記憶部選択部605が図4に示すような出力命令を受け付けた場合を用いて説明する。出力命令により検索対象として手配残情報記憶部511が指定されており、記憶部選択部605は、文書を出力する文書記憶部として手配残情報記憶部511を選択する。続いて、記憶部選択部605は、図9に示した関連記憶部540から、関連元「手配残情報記憶部」を含む関連情報を取得する。例えば、関連元「手配残情報記憶部」と関連先「品目マスタ情報記憶部」とを含む関連情報を取得する。そして、記憶部選択部605は、取得した関連情報により関連元「手配残情報記憶部」に関連づけられた関連先「品目マスタ情報記憶部」、「仕入先マスタ情報記憶部」、「製番情報記憶部」についても、文書を出力する文書記憶部として選択する。つまり、記憶部選択部605は、出力命令により検索対象として指定された手配残情報記憶部511に加えて、品目マスタ情報記憶部512、仕入先マスタ情報記憶部513、製番情報記憶部514についても検索対象として選択する。
文書抽出部606は、記憶部選択部605により選択された文書記憶部から文書を抽出する。具体的には、文書抽出部606は、出力命令により指定された検索キーを用いて、記憶部選択部605により選択された文書記憶部から文書を抽出する。例えば、文書抽出部606は、出力命令により指定された検索キーを用いて、手配残情報記憶部511、品目マスタ情報記憶部512、仕入先マスタ情報記憶部513、製番情報記憶部514がそれぞれ有するマスタ記憶部からレコードを取得する。そして、文書抽出部606は、取得したレコードに含まれるオブジェクトIDに対応する文書をリンク記憶部から抽出する。図16は、実施例2に係る文書抽出部により抽出される文書の一例について説明する図である。図16に示す例では、文書記憶部510は、手配残情報記憶部511から手配見積書と注文書とを抽出する。また、文書抽出部606は、品目マスタ情報記憶部512から品目カタログ情報と部品仕様書と取扱説明書とを抽出する。また、文書抽出部606は、仕入先マスタ情報記憶部513からIR情報と業者注文フォーマットとを抽出する。また、文書抽出部606は、製番情報記憶部514から組立図を抽出する。
記憶部優先度算出部607は、第一の記憶部と第二の記憶部とを結合する結合情報が処理命令文に含まれる出現回数と、第三の記憶部と第一の記憶部とを結合する他の結合情報が処理命令文に含まれる他の出現回数とを比較する。また、記憶部優先度算出部607は、第二の情報が参照された参照回数と、第三の情報が参照された他の参照回数とを比較する。そして、記憶部優先度算出部607は、出現回数による比較結果と参照回数による比較結果とに基づいて、第二の情報に対する第三の情報の優先度を算出する。
例えば、記憶部優先度算出部607は、文書記憶部ごとに、文書記憶部が含まれる結合情報がSQL文に出現した回数が多いほど高くなる優先度であって、文書記憶部がユーザにより参照された回数が多いほど高くなる記憶部優先度を算出する。具体的には、記憶部優先度算出部607は、文書記憶部ごとに、文書記憶部が含まれる結合情報がSQL文に出現した出現回数が多いほど高くなる優先度を算出する。また、記憶部優先度算出部607は、文書記憶部ごとに、文書記憶部がユーザにより参照された参照回数が多いほど高くなる優先度を算出する。そして、記憶部優先度算出部607は、文書記憶部ごとに、出現回数に基づく優先度と参照回数に基づく優先度との平均値を算出することで、記憶部優先度を算出する。
図17を用いて、記憶部優先度算出部607が記憶部優先度を算出する処理の一例について説明する。図17は、実施例2に係る記憶部優先度算出部による算出処理の一例について説明する図である。図17では、手配残情報記憶部511が関連元として選択され、品目マスタ情報記憶部512と仕入先マスタ情報記憶部513と製番情報記憶部514とが関連先として選択された場合を用いて説明する。
図17の(1)を用いて、出現回数に基づく優先度を算出する場合について説明する。記憶部優先度算出部607は、結合情報の出現回数から、文書記憶部の優先度を算出する。具体的には、記憶部優先度算出部607は、結合情報が出現した日付が新しいものほど小さい値で除算することで、文書記憶部ごとに、日付が新しいものほど高い値を有する強度として算出する。続いて、記憶部優先度算出部607は、算出した強度を文書記憶部間で比較することで、出現回数に基づく優先度を算出する。例えば、記憶部優先度算出部607は、図17の(1)に示すように、品目マスタ情報記憶部512が含まれる結合情報が出現した出現回数「1235」や「2235」や「989」などを、図10に示した出現回数記憶部550から日付ごとに読み出す。続いて、記憶部優先度算出部607は、読み出した出現回数「1235」を「1」で除算し、強度「1235」を算出する。また、記憶部優先度算出部607は、読み出した出現回数「2235」を「2」で除算し、強度「1118」を算出する。また、記憶部優先度算出部607は、読み出した出現回数「989」を「3」で除算し、強度「330」を算出する。そして、記憶部優先度算出部607は、算出した強度を合計し、品目マスタ情報記憶部512の合計強度「10234」を算出する。また、記憶部優先度算出部607は、品目マスタ情報記憶部512の合計強度と同様に、仕入先マスタ情報記憶部513の合計強度「5679」と製番情報記憶部514の合計強度「8092」とを算出する。そして、記憶部優先度算出部607は、算出した合計強度を比較することで、品目マスタ情報記憶部512の優先度「1」と仕入先マスタ情報記憶部513の優先度「3」と製番情報記憶部514の優先度「2」とを算出する。なお、出現回数を除算する値については、任意の値を用いて良い。
図17の(2)を用いて、参照回数に基づく優先度を算出する場合について説明する。記憶部優先度算出部607は、各文書記憶部がユーザにより参照された参照回数から、関連先の文書記憶部の優先度を算出する。具体的には、記憶部優先度算出部607は、文書記憶部が参照された日付が新しいものほど小さい値で除算することで、文書記憶部ごとに、日付が新しいものほど高い値を有する強度として算出する。続いて、記憶部優先度算出部607は、算出した強度を文書記憶部間で比較することで、参照回数に基づく優先度を算出する。例えば、記憶部優先度算出部607は、図17の(2)に示すように、品目マスタ情報記憶部512がユーザにより参照された参照回数「253」や「489」や「178」などを、図11に示した関連先参照回数記憶部560から日付ごとに読み出す。続いて、記憶部優先度算出部607は、読み出した参照回数「253」を「1」で除算し、強度「253」を算出する。また、記憶部優先度算出部607は、読み出した参照回数「489」を「2」で除算し、強度「245」を算出する。また、記憶部優先度算出部607は、読み出した参照回数「178」を「3」で除算し、強度「60」を算出する。そして、記憶部優先度算出部607は、算出した強度を合計し、品目マスタ情報記憶部512の合計強度「6890」を算出する。また、記憶部優先度算出部607は、品目マスタ情報記憶部512の合計強度と同様に、仕入先マスタ情報記憶部513の合計強度「456」と製番情報記憶部514の合計強度「1340」とを算出する。そして、記憶部優先度算出部607は、算出した合計強度を比較することで、品目マスタ情報記憶部512の優先度「1」と仕入先マスタ情報記憶部513の優先度「3」と製番情報記憶部514の優先度「2」とを算出する。なお、参照回数を除算する値については、任意の値を用いて良い。
図17の(3)を用いて、文書記憶部ごとに、記憶部優先度を算出する場合について説明する。記憶部優先度算出部607は、図17の(1)で算出した出現回数に基づく優先度と、図17の(2)で算出した参照回数に基づく優先度とに基づいて、文書記憶部ごとの記憶部優先度を算出する。例えば、記憶部優先度算出部607は、品目マスタ情報記憶部512の出現回数に基づく優先度「1」と参照回数に基づく優先度「1」との平均を算出することで、品目マスタ情報記憶部512の記憶部優先度「1」を算出する。また、記憶部優先度算出部607は、品目マスタ情報記憶部512の記憶部優先度と同様に、仕入先マスタ情報記憶部513の記憶部優先度「3」と製番情報記憶部514の記憶部優先度「2」とを算出する。なお、記憶部優先度算出部607は、重み付けを用いた上で、出現回数に基づく優先度と参照回数に基づく優先度との平均値を記憶部優先度として算出しても良いし、どちらか一方の優先度を記憶部優先度としても良い。
文書優先度算出部608は、第二の記憶部により管理される第二の情報が参照された参照回数と、第三の記憶部により管理される第三の情報が参照された他の参照回数とを比較する。また、文書優先度算出部608は、第二の情報が更新された日時情報と、第三の情報が更新された他の日時情報とを比較する。そして、文書優先度算出部608は、参照回数による比較結果と日時情報による比較結果とに基づいて、第二の情報に対する第三の情報の優先度を算出する。
例えば、文書優先度算出部608は、文書ごとに、文書がユーザにより参照された回数が多いほど高くなる優先度であって、文書が更新された更新日時が新しいほど高くなる文書優先度を算出する。具体的には、文書優先度算出部608は、文書ごとに、文書が参照された参照回数が多いほど高くなる優先度を算出する。また、文書優先度算出部608は、文書ごとに、文書が更新された更新日時が新しいほど高くなる優先度を算出する。そして、文書優先度算出部608は、文書ごとに、参照回数に基づく優先度と更新日時に基づく優先度との平均値を文書優先度として算出する。
図18を用いて、文書優先度算出部608が文書優先度を算出する処理の一例について説明する。図18は、実施例2に係る文書優先度算出部による算出処理の一例について説明する図である。図18では、品目カタログ情報.docと、取扱説明書.txtと、部品仕様書.pdfとが品目マスタ情報記憶部512から抽出された場合を用いて説明する。
図18の(1)を用いて、参照回数に基づく優先度を算出する場合について説明する。文書優先度算出部608は、各文書がユーザにより参照された参照回数から、文書の優先度を算出する。具体的には、文書優先度算出部608は、文書が参照された日付が新しいものほど小さい値で除算することで、文書ごとに、日付が新しいものほど高い値を有する強度として算出する。続いて、文書優先度算出部608は、算出した強度を文書間で比較することで、参照回数に基づく優先度を算出する。例えば、文書優先度算出部608は、図18の(1)に示すように、品目カタログ情報.docがユーザにより参照された参照回数「341」や「210」や「333」などを、図12に示した文書参照回数記憶部570から日付ごとに読み出す。続いて、文書優先度算出部608は、読み出した参照回数「341」を「1」で除算し、強度「341」を算出する。また、文書優先度算出部608は、読み出した参照回数「210」を「2」で除算し、強度「105」を算出する。また、文書優先度算出部608は、読み出した参照回数「333」を「3」で除算し、強度「111」を算出する。そして、文書優先度算出部608は、算出した強度を合計し、品目カタログ情報.docの合計強度「6512」を算出する。また、文書優先度算出部608は、品目カタログ情報.docの合計強度と同様に、取扱説明書.txtの合計強度「4456」と部品仕様書.pdfの合計強度「1340」とを算出する。そして、文書優先度算出部608は、算出した合計強度を比較することで、品目カタログ情報.docの優先度「1」と取扱説明書.txtの優先度「2」と部品仕様書.pdfの優先度「3」とを算出する。なお、参照回数を除算する値については、任意の値を用いて良い。
図18の(2)を用いて、更新日時に基づく優先度を算出する場合について説明する。文書優先度算出部608は、各文書が更新された更新日時から、文書の優先度を算出する。例えば、文書優先度算出部608は、図18の(2)に示すように、品目カタログ情報.docが更新された更新日時「2009年8月1日」を、図13に示した更新日時記憶部580から読み出す。また、文書優先度算出部608は、取扱説明書.txtが更新された更新日時「2009年7月1日」を、図13に示した更新日時記憶部580から日付ごとに読み出す。文書優先度算出部608は、部品仕様書.pdfが更新された更新日時「2008年3月1日」を、図13に示した更新日時記憶部580から日付ごとに読み出す。続いて、文書優先度算出部608は、文書が更新された更新日時が新しいものほど優先して出力される優先度として、品目カタログ情報.docの優先度「1」と取扱説明書.txtの優先度「2」と部品仕様書.pdfの優先度「3」とを算出する。
図18の(3)を用いて、文書ごとに、文書優先度を算出する場合について説明する。文書優先度算出部608は、図18の(1)で算出した参照回数に基づく優先度と、図18の(2)で算出した更新日時に基づく優先度とに基づいて、文書ごとの文書優先度を算出する。例えば、文書優先度算出部608は、品目カタログ情報.docの参照回数に基づく優先度「1」と更新日時に基づく優先度「1」との平均を算出することで、品目カタログ情報.docの文書優先度「1」を算出する。また、文書優先度算出部608は、品目カタログ情報.docの文書優先度と同様に、取扱説明書.txtの記憶部優先度「2」と部品仕様書.pdfの文書優先度「3」とを算出する。なお、文書優先度算出部608は、重み付けを用いた上で、参照回数に基づく優先度と更新日時に基づく優先度との平均値を文書優先度として算出しても良いし、どちらか一方の優先度を文書優先度としても良い。
出力部609は、出力命令に係る情報を出力すると共に、判定部603により第一の記憶部に設定された複数の項目に主項目が含まれると判定された第二の記憶部が記憶する情報を、出力命令に係る情報に関連する情報として共に出力する。具体的には、出力部609は、文書に対する出力命令を受け付けた場合に、出力命令により検索対象として指定された文書記憶部から文書を抽出する。また、出力部609は、出力命令により検索対象として指定された文書記憶部の項目に、主項目が含まれると判定された文書記憶部からも文書を抽出する。つまり、出力部609は、出力命令に対する検索結果をクライアント端末400に出力する。
また、出力部609は、記憶部優先度算出部607により高い記憶部優先度が算出された第二の記憶部に記憶された情報について、低い記憶部優先度が算出された第二の記憶部に記憶された情報よりも優先して出力する。また、出力部609は、文書優先度算出部608により高い情報優先度が算出された情報について、低い情報優先度が算出された情報よりも優先して出力する。
図19A及び図19Bを用いて、出力部609が生成する情報について説明する。図19A及び図19Bは、実施例2に係る出力部により出力される情報の一例について説明する図である。
図19Aに示す例では、クライアント端末400において表示される検索画面上に、出力部609が出力する場合を用いて説明する。図19Aにおいて、801は、クライアント端末400に表示される検索画面を示す。例えば、検索画面801には、「手配残照会」、「品目照会」、「仕入先照会」などのウインドウが表示される。802は、手配番号の入力を受け付けるフィールドを示す。803は、品目番号の入力を受け付けるフィールドを示す。804は、仕入先の入力を受け付けるフィールドを示す。例えば、フィールド802〜804は、ユーザにより入力される検索キーを有する。805は、検索ボタンを示す。例えば、検索ボタンの押下は、ユーザにより入力された出力命令を情報管理装置300に送信する旨をクライアント端末400に命令することを示す。806は、検索結果が表示されるフィールドを示す。807は、文書ボタンを示す。例えば、文書ボタンの押下は、検索結果に関連する文書の一覧を表示する旨をクライアント端末400に命令することを示す。
図19Aに示す例では、クライアント端末400において表示される検索画面上に、出力部609が検索結果を出力する場合を用いて説明する。ここで、図19Aにおける検索画面は図4において示した検索画面と同様であり、例えば、図19Aの801〜807は、図4の701〜707にそれぞれ対応する。図19Aに示す例では、出力部609は、フィールド806に、文書抽出部606により取得されたレコードの一覧を表示する。フィールド806は、手配番号と、品目番号と、品目名と、仕入先と、手配日と、確定区分名とを対応付けたレコードを表示する。例えば、フィールド806は、手配番号「PO0001」と、品目番号「ITEM−A」と、品目名「回転ユニット」と、仕入先「SI0001」と、手配日「2010/1/18」と、確定区分名「予定」とを対応付けたレコードを表示する。
図19Bには、文書ボタン807が押下された場合には、クライアント端末400が表示する文書リンク設定画面の一例を示す。図19Bにおいて、901は、クライアント端末400が表示する文書リンク設定画面を示す。例えば、文書リンク設定画面901には、出力命令に係る文書と、出力命令に係る文書に関連する文書とを表示する。902〜905は、図19Aに示した検索画面において指定された出力命令を表示するフィールドを示す。例えば、フィールド902〜905には、検索対象として手配残情報記憶部511が指定され、検索キーとして「ITEM−A(回転ユニット)」が指定された出力命令を表示する。906は、クライアント端末400が検索結果に関連する文書の一覧を表示するフィールドを示す。つまり、検索キーとして入力されなかったフィールドは空欄である。フィールド906は、関連区分と、文書記憶部名と、文書名と、更新日時とを対応付けた文書の一覧を表示する。例えば、フィールド906は、関連区分「関連元」と、文書記憶部名「手配残情報記憶部」と、文書名「手配見積書」と、更新日時「2009/8/20」とを対応付けた文書の一覧を表示する。
図19Bに示すように、出力部609は、文書の一覧を生成する。具体的には、出力部609は、関連元である文書記憶部から抽出された文書を優先して文書の一覧に入力する。図19Bに示す例では、出力部609は、関連元である手配残情報記憶部から抽出された手配見積書.xls及び注文書.pdfを優先して文書の一覧に入力する。
続いて、出力部609は、関連先の文書記憶部のうち高い記憶部優先度が算出された文書記憶部から抽出された文書を優先して文書の一覧に入力する。図19Bに示す例では、出力部609は、品目マスタ情報記憶部512、製番情報記憶部514、仕入先マスタ情報記憶部513の順に文書の一覧に入力する。
ここで、各文書記憶部から文書を抽出する際には、出力部609は、各文書記憶部から抽出された文書のうち、高い文書優先度が算出された文書を優先して文書の一覧に入力する。図19Bに示す例では、出力部609は、品目マスタ情報記憶部から抽出された文書のうち、品目カタログ情報.doc、取扱説明書.txt、部品仕様書.pdfの順に文書の一覧に入力する。
このように、出力部609は、記憶部優先度と文書優先度とに基づいて文書を文書の一覧に入力することで、文書の一覧を生成する。そして、出力部609は、生成した文書の一覧を通信部301を経由してクライアント端末400に出力する。
[情報管理装置による関連情報生成処理]
次に、図20を用いて、実施例2に係る情報管理装置300による関連情報生成処理の流れの一例について説明する。図20は、実施例2に係る情報管理装置による関連情報生成処理の流れの一例について説明するフローチャートである。
図20に示すように、関連情報を生成するタイミングになると(ステップS101肯定)、結合情報抽出部602は、SQL文から結合情報を抽出する(ステップS102)。例えば、結合情報抽出部602は、一定期間が経過するごとに関連情報を生成する。
続いて、結合情報抽出部602は、オブジェクトIDを持たない文書記憶部が含まれる結合情報を削除する(ステップS103)。つまり、抽出した結合情報のうち、文書を記憶していない文書記憶部が含まれる結合情報を削除する。
そして、判定部603は、結合情報を1つ選択する(ステップS104)。具体的には、判定部603は、結合情報抽出部602により抽出された全ての結合情報のうち、処理対象となる結合情報を選択する。
そして、判定部603は、結合情報に含まれる文書記憶部のプライマリキーを項目記憶部から取得する(ステップS105)。つまり、判定部603は、処理対象となる結合情報に含まれる文書記憶部のプライマリキーを取得する。そして、判定部603は、一方の文書記憶部のプライマリキーが他方の文書記憶部の項目に含まれるか否かを判定する(ステップS106)。
そして、判定部603は、一方の文書記憶部のプライマリキーが他方の文書記憶部の項目に含まれると判定すると(ステップS106肯定)、関連情報生成部604は、一方の文書記憶部を関連先、他方の文書記憶部を関連元として設定する(ステップS107)。一方、判定部603は、一方の文書記憶部のプライマリキーが他方の文書記憶部の項目に含まれないと判定すると(ステップS106否定)、関連情報生成部604は、結合情報を削除する(ステップS108)。
そして、判定部603は、全ての結合情報について処理をしたかを判定する(ステップS109)。全ての結合情報について処理をしたと判定すると(ステップS109肯定)、関連情報生成部604は、判定部603により判定された判定結果から関連情報を生成する(ステップS110)。一方、全ての結合情報について処理をしていないと判定すると(ステップS109否定)、ステップS104に戻り、全ての結合情報について処理するまで、ステップS104〜ステップS108の処理を実行する。
なお、上述した関連情報生成処理では、一定期間が経過するごとに関連情報を生成すると説明したが、これに限定されるものではない。例えば、情報管理装置300がSQL文を受け付けたときに、関連情報を生成しても良い。
また、上述した関連情報生成処理では、全ての結合情報について判定処理をした後にまとめて関連情報を生成する場合を用いて説明したが、これに限定されるものではない。例えば、選択した結合情報について判定処理をした後に、判定処理をした結合情報について関連情報を生成しても良い。
[情報管理装置による文書検索処理]
次に、図21を用いて、実施例2に係る情報管理装置300による文書検索処理の流れの一例について説明する。図21は、実施例2に係る情報管理装置による文書検索処理の流れの一例について説明するフローチャートである。図21に示す処理では、関連情報が予め生成された場合を用いて説明する。
図21に示すように、出力命令を受け付けると(ステップS201肯定)、記憶部選択部605は、文書記憶部を選択する(ステップS202)。つまり、記憶部選択部605は、出力命令により検索対象として指定された文書記憶部を選択する。続いて、記憶部選択部605は、関連記憶部540に記憶された関連情報を参照し、出力命令により検索対象と指定された文書記憶部に関連づけられた文書記憶部を選択する。
そして、文書抽出部606は、文書を抽出する(ステップS203)。つまり、文書抽出部606は、出力命令により指定された検索キーを用いて、記憶部選択部605により選択された文書記憶部から文書を抽出する。
そして、記憶部優先度算出部607は、出現回数と関連先参照回数とを取得する(ステップS204)。つまり、記憶部優先度算出部607は、出現回数記憶部550から出現回数を取得し、関連先参照回数記憶部560から関連先参照回数を取得する。そして、記憶部優先度算出部607は、出現回数と関連先参照回数とから記憶部優先度を算出する(ステップS205)。つまり、記憶部優先度算出部607は、文書記憶部ごとに、文書記憶部が含まれる結合情報がSQL文に出現した出現回数が多いほど高くなる優先度を算出する。また、記憶部優先度算出部607は、文書記憶部ごとに、文書記憶部がユーザにより参照された参照回数が多いほど高くなる優先度を算出する。そして、記憶部優先度算出部607は、文書記憶部ごとに、出現回数に基づく優先度と参照回数に基づく優先度との平均値を算出することで、記憶部優先度を算出する。
そして、文書優先度算出部608は、文書参照回数と更新日時とを取得する(ステップS206)。つまり、文書優先度算出部608は、文書参照回数記憶部570から文書参照回数を取得し、更新日時記憶部580から更新日時を取得する。そして、文書優先度算出部608は、文書参照回数と更新日時とから文書優先度を算出する(ステップS207)。つまり、文書優先度算出部608は、文書ごとに、文書が参照された参照回数が多いほど高くなる優先度を算出する。また、文書優先度算出部608は、文書ごとに、文書が更新された更新日時が新しいほど高くなる優先度を算出する。そして、文書優先度算出部608は、文書ごとに、参照回数に基づく優先度と更新日時に基づく優先度との平均値を文書優先度として算出する。
そして、出力部609は、記憶部優先度と文書優先度とにしたがって、文書の一覧を生成する(ステップS208)。つまり、文書抽出部606により抽出された文書のうち、記憶部優先度算出部607により算出された記憶部優先度と文書優先度算出部608により算出された文書優先度とに基づいて、文書の一覧を生成する。
そして、出力部609は、文書の一覧を出力する(ステップS209)。つまり、出力部609は、文書の一覧をクライアント端末400に出力する。
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、関連情報生成処理は文書検索処理に先立って実行されるものと説明したが、本発明はこれに限定されるものではない。例えば、出力命令を受け付けたタイミングであるステップS201の後に、関連情報を生成する処理であるステップS101〜ステップS110を実行し、その後、文書を検索する処理であるステップS202〜ステップS209を実行しても良い。
[実施例2の効果]
上述したように、実施例2によれば、情報管理装置300は、過去に記憶されたSQL文から文書記憶部と他の文書記憶部とを結合する結合情報を抽出する。情報管理装置300は、出力命令を受け付けると、出力命令により検索対象として指定された文書記憶部から文書を抽出する。そして、情報管理装置300は、出力命令により検索対象として指定された文書記憶部の項目にプライマリキーが含まれると判定された他の文書記憶部からも文書を抽出し、出力命令により検索対象として指定された文書記憶部から抽出した文書とともに出力する。この結果、情報管理装置300は、SQL文さえあれば、所定の文書と他の文書とをユーザが関連づけることなく、出力命令に係る文書に関連する文書を適切に出力可能である。
また、結合情報により結合された全ての文書記憶部から文書を抽出すると、情報管理装置は、膨大な量の文書を出力することが考えられる。これに対して、実施例2に係る情報管理装置300は、出力命令により検索対象として指定された文書記憶部の項目にプライマリキーが含まれると判定された他の文書記憶部から文書を抽出する。この結果、情報管理装置300は、出力命令に係る文書に関連する文書を適切に出力可能である。
また、実施例2によれば、情報管理装置300は、出力命令に対する文書が出力される文書記憶部ごとに記憶部優先度を算出し、高い記憶部優先度が算出された文書記憶部に記憶された文書について、他の文書よりも優先して出力する。この結果、情報管理装置300は、ユーザに必要な文書を漏れなく、重要度を示した形式で出力することができる。
また、実施例2によれば、情報管理装置300は、出力命令に対する文書ごとに文書優先度を算出し、高い文書優先度が算出された文書について、他の文書よりも優先して出力する。この結果、情報管理装置300は、ユーザに必要な文書を漏れなく、重要度を示した形式で出力することができる。
また、従来の情報管理装置では、新規の文書が格納されたり、新規の文書記憶部が設置された場合には、ユーザが新規の文書と既存の文書とを関連づけていた。これに対して、実施例2に係る情報管理装置300によれば、ユーザが新規の文書と既存の文書とを関連づけることなく、SQL文から出力命令に係る文書に関連する文書を関連づける。この結果、情報管理装置300は、新規の文書が格納されても出力命令に係る文書に関連する文書として適切に出力可能である。例えば、情報管理装置300は、情報管理装置300の運用開始後に発生する業務の追加や削除による関連情報の変更に対して、柔軟に対応することができる。
また、実施例2によれば、情報管理装置300は、所定の文書記憶部を検索対象として指定する出力命令を受け付けた場合に、所定の文書記憶部に関連する文書が抽出される文書記憶部を示す関連付けを予め記憶する。この結果、情報管理装置300は、検索に係る処理速度を向上させることができる。
さて、これまで本発明の実施例について説明したが、本発明は上記した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
[ユーザによる関連づけの利用]
また、例えば、上述した実施例2では、情報管理装置300は、ユーザによる関連づけがある場合には、ユーザによって設定された関連づけを併せて用いても良い。図22を用いて、実施例2に係る情報管理装置300が、ユーザによって設定された関連づけを併せて用いる場合について説明する。図22は、情報管理装置がユーザによる関連づけを併せて用いる場合について説明する図である。図22において、1010は、手配残情報記憶部を示す。1020は、品目マスタ情報記憶部を示す。1030は、仕入先マスタ情報記憶部を示す。1040は、製番情報記憶部を示す。
図22において、実線の矢印は、ユーザにより予め関連づけられていることを示す。つまり、手配残情報記憶部1010を関連元とし、品目マスタ情報記憶部1020及び仕入先マスタ情報記憶部1030を関連先とする関連情報がユーザにより予め関連づけられていることを示す。また、破線の矢印は、情報管理装置300により関連づけられたことを示す。図22に示す例では、つまり、手配残情報記憶部1010を関連元とし、製番情報記憶部1040を関連先とする関連情報が情報管理装置300により関連づけられたことを示す。図22に示すように、情報管理装置300により関連づけられた関連情報だけでなく、ユーザにより予め関連づけられている関連情報がある場合には、かかる関連づけを用いて関連する文書を抽出しても良い。また、情報管理装置300により関連づけられた関連情報をユーザが修正しても良い。
[SQL文]
上述した実施例2では、情報管理装置300がSQL文から結合情報を抽出する場合について説明したが、本発明はこれに限定されるものではない。例えば、情報管理装置300は、SQL文を定義する設計書から結合情報を抽出することができる。
また、上述した実施例2では、SQL文のWHEREを文書記憶部と他の文書記憶部とを結合する結合情報として説明した。ここで、SQL文のWHEREにおいて、不等号を用いて検索対象となる文書記憶部のデータ範囲を指定する場合もある。このような場合には、文書記憶部と他の文書記憶部とが等号により結合されたものを結合情報として抽出することができる。
[コンピュータ]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図23を用いて、上記の実施例と同様の機能を有する情報管理プログラムを実行するコンピュータの一例について説明する。なお、図23は、実施例2に係る情報管理プログラムを実行するコンピュータの一例について説明する図である。
[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、文書記憶部510を情報管理装置300の外部装置としてネットワーク経由で接続するようにしても良い。
図23に示すように、実施例2におけるコンピュータ3000は、入力部3001、出力部3002、通信部3006、CPU3010、ROM3011、HDD(Hard Disk Drive)3012、RAM(Random Access Memory)3013を有する。また、コンピュータ3000は、入力部3001〜RAM3013がバス3009などで接続して構成される。
ROM3011は、上述の実施例2で示した格納処理部601と、結合情報抽出部602と、判定部603と、関連情報生成部604と同様の機能を発揮する制御プログラムを記憶する。また、ROM3011は、上述の実施例2で示した記憶部選択部605と、文書抽出部606と、記憶部優先度算出部607と、文書優先度算出部608と、出力部609と同様の機能を発揮する制御プログラムを記憶する。つまり、図23に示すように、ROM3011は、格納処理プログラム3011aと、結合情報抽出プログラム3011bと、判定プログラム3011cと、関連情報生成プログラム3011dとを予め記憶する。また、ROM3011は、記憶部選択プログラム3011eと、文書抽出プログラム3011fと、記憶部優先度算出プログラム3011gと、文書優先度算出プログラム3011hと、出力プログラム3011iとを予め記憶する。なお、これらのプログラム3011a〜3011iについては、図3に示した情報管理装置300の各構成要素と同様、適宜統合又は分離しても良い。
そして、CPU3010が、これらのプログラム3011a〜3011iをROM3011から読み出して実行する。この結果、図23に示すように、各プロセス3010a〜3010dについては、格納処理プロセス3010aと、結合情報抽出プロセス3010bと、判定プロセス3010cと、関連情報生成プロセス3010dとして機能する。各プロセス3010e〜3010iについては、記憶部選択プロセス3010eと、文書抽出プロセス3010fと、記憶部優先度算出プロセス3010gと、文書優先度算出プロセス3010hと、出力プロセス3010iとして機能する。なお、各プロセス3010a〜3010dは、図3に示した、格納処理部601と、結合情報抽出部602と、判定部603と、関連情報生成部604とにそれぞれ対応する。各プロセス3010e〜3010iは、図3に示した、記憶部選択部605と、文書抽出部606と、記憶部優先度算出部607と、文書優先度算出部608と、出力部609とにそれぞれ対応する。なお、CPU3010上で仮想的に実現される各処理部は、常に全ての処理部がCPU3010上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
HDD3012には、文書記憶テーブル3012aと、SQL文記憶テーブル3012bと、項目記憶テーブル3012cと、関連記憶テーブル3012dとが設けられている。また、HDD3012には、出現回数記憶テーブル3012eと、関連先参照回数記憶テーブル3012fと、文書参照回数記憶テーブル3012gと、更新日時記憶テーブル3012hが設けられている。なお、各テーブル3012a〜3012dは、それぞれ、図3に示した文書記憶部510と、SQL文記憶部520と、項目記憶部530と、関連記憶部540とに対応する。また、各テーブル3012e〜3012hは、それぞれ、図3に示した出現回数記憶部550と、関連先参照回数記憶部560と、文書参照回数記憶部570と、更新日時記憶部580とに対応する。
そして、CPU3010は、文書記憶テーブル3012a〜更新日時記憶テーブル3012hを読み出してRAM3013に格納する。そして、CPU3010は、RAM3013に格納された文書記憶データ3013a〜更新日時記憶データ3013hを用いて、情報管理プログラムを実行する。なお、RAM3013に格納される各データは、常に全てのデータがRAM3013に格納される必要はなく、処理に必要なデータのみがRAM3013に格納されれば良い。
[その他]
なお、本実施例で説明した情報管理プログラムは、インターネットなどのネットワークを介して配布することができる。また、情報管理プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上の各実施例を有する実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
予め定義された処理命令文又は処理命令文を定義する定義情報から、第一の情報を管理する第一の記憶部と第二の情報を管理する第二の記憶部とを結合する結合情報を抽出する抽出手順と、
前記抽出手順により抽出された前記結合情報に基づいて、前記第二の記憶部において前記第二の情報を一意に識別する主項目が、前記第一の記憶部に設定された複数の項目のいずれかに含まれるか否かを判定する判定手順と、
前記第一の情報に対する出力命令を受け付けた場合に、当該出力命令に係る前記第一の情報を出力すると共に、前記判定手順により前記複数の項目に前記主項目が含まれると判定された前記第二の情報を前記第一の情報に関連する情報として共に出力する出力手順と
を実行させることを特徴とする情報管理プログラム。
(付記2)前記コンピュータに、
前記結合情報が前記処理命令文または前記定義情報に含まれる出現回数と、第三の情報を管理する第三の記憶部と前記第一の記憶部とを結合する他の結合情報が該処理命令文または該定義情報に含まれる他の出現回数とを比較する出現回数比較手順と、
前記第二の情報が参照された参照回数と、前記第三の情報が参照された他の参照回数とを比較する第一の参照回数比較手順と、
前記出現回数比較手順と前記第一の参照回数比較手順とにおける結果に基づいて、前記第二の情報に対する前記第三の情報の優先度を算出する第一の優先度算出手順とをさらに実行させ、
前記出力手順は、前記第一の優先度算出手順において算出された前記優先度に基づいて、前記第二の情報と前期第三の情報とを出力することを特徴とする付記1に記載の情報管理プログラム。
(付記3)前記コンピュータに、
前記第二の情報が参照された参照回数と、前記第三の記憶部により管理される前記第三の情報が参照された他の参照回数とを比較する第二の参照回数比較手順と、
前記第二の情報が更新された日時情報と、前記第三の情報が更新された他の日時情報とを比較する日時情報比較手順と、
前記第二の参照回数比較手順と前記日時情報比較手順とにおける結果に基づいて、前記第二の情報に対する前記第三の情報の優先度を算出する第二の優先度算出手順とをさらに実行させ、
前記出力手順は、前記第二の優先度算出手順において算出された前記優先度に基づいて、前記第二の情報と前期第三の情報とを出力することを特徴とする付記1または付記2に記載の情報管理プログラム。
(付記4)前記コンピュータに、
前記判定手順により判定された判定結果から、主である第一の記憶部に係る出力命令に対して従である第二の記憶部から第二の情報を出力する主従の関連があることを示す関連情報を生成する生成手順をさらに実行させることを特徴とする付記1〜3のいずれか1つに記載の情報管理プログラム。
(付記5)予め定義された処理命令文又は処理命令文を定義する定義情報から、第一の情報を管理する第一の記憶部と第二の情報を管理する第二の記憶部とを結合する結合情報を抽出する抽出部と、
前記抽出部により抽出された前記結合情報に基づいて、前記第二の記憶部において前記第二の情報を一意に識別する主項目が、前記第一の記憶部に設定された複数の項目のいずれかに含まれるか否かを判定する判定部と、
前記第一の情報に対する出力命令を受け付けた場合に、当該出力命令に係る前記第一の情報を出力すると共に、前記判定部により前記複数の項目に前記主項目が含まれると判定された前記第二の情報を前記第一の情報に関連する情報として共に出力する出力部と
を備えたことを特徴とする情報管理装置。
(付記6)予め定義された処理命令文又は処理命令文を定義する定義情報から、第一の情報を管理する第一の記憶部と第二の情報を管理する第二の記憶部とを結合する結合情報を抽出する抽出ステップと、
前記抽出ステップにより抽出された前記結合情報に基づいて、前記第二の記憶部において前記第二の情報を一意に識別する主項目が、前記第一の記憶部に設定された複数の項目のいずれかに含まれるか否かを判定する判定ステップと、
前記第一の情報に対する出力命令を受け付けた場合に、当該出力命令に係る前記第一の情報を出力すると共に、前記判定ステップにより前記複数の項目に前記主項目が含まれると判定された前記第二の情報を前記第一の情報に関連する情報として共に出力する出力ステップと
を有することを特徴とする情報管理方法。