(57)【要約】  【課題】  検索スピードが速く入力項目および出力項目を容易に変更できる可変項目検索システムを提供する。  【解決手段】  入力項目設定情報記憶部１３は、各入力項目に対応する検索に必要なカラムを記憶している。出力項目設定情報記憶部１５は、検索結果表示用に設定された出力項目の表示に必要なカラムを記憶している。テーブル関連設定情報記憶部１７は、データベース５のテーブル間の関連付け情報を記憶している。検索条件生成部２５は、検索入力画面への入力情報から検索条件を生成する。設定情報抽出部２７は、検索に必要なカラムを入力項目設定情報記憶部１３から抽出する。使用テーブル抽出部２９は、検索に必要なテーブルを抽出する。ＳＱＬ生成部３１は、抽出された設定情報と検索に必要なテーブルとを書き込んだＳＱＬを自動生成する。ＳＱＬが実行されて、結果が表示される。【選択図】  図１
2006251979.tif 000002
【特許請求の範囲】
【請求項１】
検索対象の複数のテーブルを格納したデータベースと、
検索入力画面の複数の入力項目のうちで書込みが行われた入力項目と該入力項目への入力内容を含む入力情報を受け付ける入力情報受付部と、
前記検索入力画面に設定された前記複数の入力項目の各々に対応する検索に必要な前記複数のテーブル中のカラムを記憶した入力項目設定情報記憶部と、
検索結果表示用に設定された複数の出力項目の表示に必要な前記複数のテーブル中のカラムを記憶した出力項目設定情報記憶部と、
前記複数のテーブル間の関連付け情報を記憶したテーブル関連設定情報記憶部と、
前記入力情報受付部により受け付けられた前記入力情報中の入力内容に対応する検索条件を生成する検索条件生成部と、
前記入力情報中の書き込みが行われた入力項目に対応する検索に必要なカラムを前記入力項目設定情報記憶部から抽出する検索使用カラム抽出部と、
抽出された前記検索に必要なカラム、前記出力項目設定情報記憶部から読み出された表示に必要なカラムおよび前記テーブル関連設定情報記憶部の前記複数のテーブル間の関連付け情報に基づき、前記検索に必要なカラムおよび前記表示に必要なカラムが属するテーブルとそれらテーブルを結合するテーブルを検索に使用する検索使用テーブルとして抽出する使用テーブル抽出部と、
前記検索条件生成部により生成された検索条件と、前記使用テーブル抽出部により抽出された検索使用テーブルと、前記関連付け情報に含まれる前記検索使用テーブル間の結合条件と、前記出力項目設定情報記憶部から読み出された前記表示に必要なカラムとを書き込んだデータ検索文を自動生成する検索文生成部と、
前記検索文生成部により生成された前記データ検索文を用いて前記データベースに格納された前記複数のテーブルに対して検索を実行する検索実行部と、
前記検索実行部による検索結果を出力する出力部と、
を備えたことを特徴とする可変項目検索システム。
【請求項２】
前記出力項目設定情報記憶部は、更に、前記検索実行部による検索で得られた前記表示に必要なカラムの検索データから検索結果表示用に設定された前記複数の出力項目のデータを求める演算処理を記憶しており、前記出力項目設定情報記憶部に記憶された演算処理を実行する演算部が備えられていることを特徴とする請求項１に記載の可変項目検索システム。
【請求項３】
前記出力項目設定情報記憶部は、更に、検索結果表示用に設定された前記複数の出力項目のデータに対する表示フォーマット処理を記憶しており、前記出力項目設定情報記憶部に記憶された表示フォーマット処理を実行する表示フォーマット処理部が備えられていることを特徴とする請求項１または２に記載の可変項目検索システム。
【請求項４】
検索対象の複数のテーブルを格納したデータベース、検索入力画面に設定された複数の入力項目の各々に対応する検索に必要な前記複数のテーブル中のカラムを記憶した入力項目設定情報記憶部、検索結果表示用に設定された複数の出力項目の表示に必要な前記複数のテーブル中のカラムを記憶した出力項目設定情報記憶部、および前記複数のテーブル間の関連付け情報を記憶したテーブル関連設定情報記憶部を用いて、検索入力画面の複数の入力項目のうちで書込みが行われた入力項目と該入力項目への入力内容を含む入力情報を入力部から受け付け、受け付けられた前記入力情報中の入力内容に対応する検索条件を生成し、前記入力情報中の書き込みが行われた入力項目に対応する検索に必要なカラムを前記入力項目設定情報記憶部から抽出し、抽出された前記検索に必要なカラム、前記出力項目設定情報記憶部から読み出された表示に必要なカラムおよび前記テーブル関連設定情報記憶部の前記複数のテーブル間の関連付け情報に基づき、前記検索に必要なカラムおよび前記表示に必要なカラムが属するテーブルとそれらテーブルを結合するテーブルを検索に使用する検索使用テーブルとして抽出し、生成された検索条件と、抽出された検索使用テーブルと、前記関連付け情報に含まれる前記検索使用テーブル間の結合条件と、前記出力項目設定情報記憶部から読み出された前記表示に必要なカラムとを書き込んだデータ検索文を自動生成し、生成された前記データ検索文を用いて前記データベースに格納された前記複数のテーブルに対して検索を実行し、検索結果を出力部から出力することを特徴とするデータベース検索方法。
【請求項５】
データベース管理用のコンピュータにより実行されるプログラムであって、検索対象の複数のテーブルを格納したデータベース、検索入力画面に設定された複数の入力項目の各々に対応する検索に必要な前記複数のテーブル中のカラムを記憶した入力項目設定情報記憶部、検索結果表示用に設定された複数の出力項目の表示に必要な前記複数のテーブル中のカラムを記憶した出力項目設定情報記憶部、および前記複数のテーブル間の関連付け情報を記憶したテーブル関連設定情報記憶部を用いて、検索入力画面の複数の入力項目のうちで書込みが行われた入力項目と該入力項目への入力内容を含む入力情報を入力部から受け付け、受け付けられた前記入力情報中の入力内容に対応する検索条件を生成し、前記入力情報中の書き込みが行われた入力項目に対応する検索に必要なカラムを前記入力項目設定情報記憶部から抽出し、抽出された前記検索に必要なカラム、前記出力項目設定情報記憶部から読み出された表示に必要なカラムおよび前記テーブル関連設定情報記憶部の前記複数のテーブル間の関連付け情報に基づき、前記検索に必要なカラムおよび前記表示に必要なカラムが属するテーブルとそれらテーブルを結合するテーブルを検索に使用する検索使用テーブルとして抽出し、生成された検索条件と、抽出された検索使用テーブルと、前記関連付け情報に含まれる前記検索使用テーブル間の結合条件と、前記出力項目設定情報記憶部から読み出された前記表示に必要なカラムとを書き込んだデータ検索文を自動生成し、生成された前記データ検索文を用いて前記データベースに格納された前記複数のテーブルに対して検索を実行し、検索結果を出力部から出力する処理を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース検索における入力項目および出力項目を変更可能な可変項目検索システムに関する。
【背景技術】
【０００２】
従来、データベースが普及する中、複数のシステムでそれぞれ使われている複数のデータテーブルを統合した統合データベースも利用されており、ＥＲＰ（Enterprize Resource Planning）の観点からも重要視されている。例えば、製造会社において、調達支援システム、生産管理システム、ＣＡＤシステムなどの複数のシステムがそれぞれ持つデータベースを統合した統合データベースが構築されている。これにより、複数部門の従業員が統合データベースを使用し、製品に使用される部品などについての豊富な情報の検索が可能になっている。
【０００３】
この種のデータベースの検索システムは、従来一般には、インデックス方式を採用している。インデックス方式では、統合データベースに含まれる全テーブルのインデックス情報が形成され、このインデックス情報を使って各種システムの多様なテーブルを管理している。
【０００４】
データベースでは、入力項目や出力項目（例えば、部品番号、部品名、規格、価格、納期など）を必要に応じて変更可能であることが望まれており、例えば、特許文献１には出力項目を変更可能なデータベースが開示されている。特に、統合データベースでは、各種のテーブルを統合していることから、個々のテーブルが適宜変更されると、そのような変更に対応して入力項目および出力項目も変更することが望まれることがある。例えば、地球環境の要請に応えてテーブルに変更が加えられると、この変更に応じて検索システムの項目も変えることが望まれる。上述したインデックス方式の検索システムは、インデックス情報を利用しているので、入力項目や出力項目の変更に比較的柔軟に対応できるといる利点があり、このことから従来の統合データベースでは主としてインデックス方式が採用されてきた。
【特許文献１】特開２０００−２７６４７５号公報（図１、２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のインデックス方式の検索システムでは、項目変更を柔軟に行えるものの、検索スピードが遅いという問題がある。すなわち、インデックス方式では、インデックス情報を頼りに、全テーブルの一つ一つのカラムが検索条件と比較されていき、カラム毎にトランザクションが発生するので、大量のトランザクションが発生し、検索スピードが遅くなる。特に統合データベースではトランザクション数が膨大になりすぎる傾向がある。
【０００６】
インデックス方式と異なり、一つ一つのデータを調べていく代わりに、テーブルの全データをまとめて検索することで、トランザクションを大幅に削減する方式も存在する。この方式は、インデックス方式と対比する意味でテーブル方式と呼ぶことができる。ただし、このようなテーブル方式では、検索スピードは速いが、項目変更の自由度が著しく制限されるという問題がある。すなわち、テーブル方式では、固定されたテーブルを前提として手動で作成されたＳＱＬを用いて検索が行われており、テーブルの変更やそれに伴う項目変更に対する柔軟性に欠ける。仮にそのような変更を行うとすれば、テーブル変更部分に関連するＳＱＬをすべて洗い出して作り直すという大変な作業が要求される。特に、統合データベースのようなタイプのデータベースでは、こうした作業を行うことは大変に困難である。このような問題があるので、従来の統合データベースでは結局インデックス方式が採用されており、そのために検索スピードが相当に制限されていた。
【０００７】
本発明は、従来の問題を解決するためになされたもので、その目的は、検索スピードが速く入力項目および出力項目を変更できる可変項目検索システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の可変項目検索システムは、検索対象の複数のテーブルを格納したデータベースと、検索入力画面の複数の入力項目のうちで書込みが行われた入力項目と該入力項目への入力内容を含む入力情報を受け付ける入力情報受付部と、前記検索入力画面に設定された前記複数の入力項目の各々に対応する検索に必要な前記複数のテーブル中のカラムを記憶した入力項目設定情報記憶部と、検索結果表示用に設定された複数の出力項目の表示に必要な前記複数のテーブル中のカラムを記憶した出力項目設定情報記憶部と、前記複数のテーブル間の関連付け情報を記憶したテーブル関連設定情報記憶部と、前記入力情報受付部により受け付けられた前記入力情報中の入力内容に対応する検索条件を生成する検索条件生成部と、前記入力情報中の書き込みが行われた入力項目に対応する検索に必要なカラムを前記入力項目設定情報記憶部から抽出する検索使用カラム抽出部と、抽出された前記検索に必要なカラム、前記出力項目設定情報記憶部から読み出された表示に必要なカラムおよび前記テーブル関連設定情報記憶部の前記複数のテーブル間の関連付け情報に基づき、前記検索に必要なカラムおよび前記表示に必要なカラムが属するテーブルとそれらテーブルを結合するテーブルを検索に使用する検索使用テーブルとして抽出する使用テーブル抽出部と、前記検索条件生成部により生成された検索条件と、前記使用テーブル抽出部により抽出された検索使用テーブルと、前記関連付け情報に含まれる前記検索使用テーブル間の結合条件と、前記出力項目設定情報記憶部から読み出された前記表示に必要なカラムとを書き込んだデータ検索文を自動生成する検索文生成部と、前記検索文生成部により生成された前記データ検索文を用いて前記データベースに格納された前記複数のテーブルに対して検索を実行する検索実行部と、前記検索実行部による検索結果を出力する出力部とを備えている。
【０００９】
この構成により、入力項目設定情報記憶部、出力項目設定情報記憶部およびテーブル関連設定情報記憶部を設けておき、これらの記憶部に記憶された設定情報を抽出してデータ検索文を自動生成し、検索を実行する。入力項目、出力項目に関して記憶された設定情報を変更すれば、変更された設定情報からデータ検索文が自動生成されて、検索が行われるので、入出力項目を容易に変更可能である。また、ＳＱＬのようなデータ検索部が使用されており、高い検索速度が得られる。このようにして、高い検索速度を得つつ、入出力項目を容易に変更可能となる。
【００１０】
また、本発明において、前記出力項目設定情報記憶部は、更に、前記検索実行部による検索で得られた前記表示に必要なカラムの検索データから検索結果表示用に設定された前記複数の出力項目のデータを算出する演算処理を記憶しており、前記出力項目設定情報記憶部に記憶された演算処理を実行する演算部が備えられている。この構成により、表示データを算出する演算処理を出力項目設定情報記憶部に保持するので、演算処理の変更が容易であり、したがって出力項目を柔軟に変更できる。
【００１１】
また、本発明において、前記出力項目設定情報記憶部は、更に、検索結果表示用に設定された前記複数の出力項目のデータに対する表示フォーマット処理を記憶しており、前記出力項目設定情報記憶部に記憶された表示フォーマット処理を実行する表示フォーマット処理部が備えられている。この構成により、出力項目のデータの表示フォーマット処理を出力項目設定情報記憶部に保持するので、表示フォーマット処理を容易に変更でき、出力項目の表示を柔軟に変更できる。
【００１２】
本発明の別の態様はデータベース検索方法であり、この方法は、検索対象の複数のテーブルを格納したデータベース、検索入力画面に設定された複数の入力項目の各々に対応する検索に必要な前記複数のテーブル中のカラムを記憶した入力項目設定情報記憶部、検索結果表示用に設定された複数の出力項目の表示に必要な前記複数のテーブル中のカラムを記憶した出力項目設定情報記憶部、および前記複数のテーブル間の関連付け情報を記憶したテーブル関連設定情報記憶部を用いて、検索入力画面の複数の入力項目のうちで書込みが行われた入力項目と該入力項目への入力内容を含む入力情報を入力部から受け付け、受け付けられた前記入力情報中の入力内容に対応する検索条件を生成し、前記入力情報中の書き込みが行われた入力項目に対応する検索に必要なカラムを前記入力項目設定情報記憶部から抽出し、抽出された前記検索に必要なカラム、前記出力項目設定情報記憶部から読み出された表示に必要なカラムおよび前記テーブル関連設定情報記憶部の前記複数のテーブル間の関連付け情報に基づき、前記検索に必要なカラムおよび前記表示に必要なカラムが属するテーブルとそれらテーブルを結合するテーブルを検索に使用する検索使用テーブルとして抽出し、生成された検索条件と、抽出された検索使用テーブルと、前記関連付け情報に含まれる前記検索使用テーブル間の結合条件と、前記出力項目設定情報記憶部から読み出された前記表示に必要なカラムとを書き込んだデータ検索文を自動生成し、生成された前記データ検索文を用いて前記データベースに格納された前記複数のテーブルに対して検索を実行し、検索結果を出力部から出力する。この態様によっても上述の本発明の利点が得られる。
【００１３】
本発明の別の態様は、データベース管理用のコンピュータにより実行されるプログラムであり、このプログラムは、検索対象の複数のテーブルを格納したデータベース、検索入力画面に設定された複数の入力項目の各々に対応する検索に必要な前記複数のテーブル中のカラムを記憶した入力項目設定情報記憶部、検索結果表示用に設定された複数の出力項目の表示に必要な前記複数のテーブル中のカラムを記憶した出力項目設定情報記憶部、および前記複数のテーブル間の関連付け情報を記憶したテーブル関連設定情報記憶部を用いて、検索入力画面の複数の入力項目のうちで書込みが行われた入力項目と該入力項目への入力内容を含む入力情報を入力部から受け付け、受け付けられた前記入力情報中の入力内容に対応する検索条件を生成し、前記入力情報中の書き込みが行われた入力項目に対応する検索に必要なカラムを前記入力項目設定情報記憶部から抽出し、抽出された前記検索に必要なカラム、前記出力項目設定情報記憶部から読み出された表示に必要なカラムおよび前記テーブル関連設定情報記憶部の前記複数のテーブル間の関連付け情報に基づき、前記検索に必要なカラムおよび前記表示に必要なカラムが属するテーブルとそれらテーブルを結合するテーブルを検索に使用する検索使用テーブルとして抽出し、生成された検索条件と、抽出された検索使用テーブルと、前記関連付け情報に含まれる前記検索使用テーブル間の結合条件と、前記出力項目設定情報記憶部から読み出された前記表示に必要なカラムとを書き込んだデータ検索文を自動生成し、生成された前記データ検索文を用いて前記データベースに格納された前記複数のテーブルに対して検索を実行し、検索結果を出力部から出力する処理を前記コンピュータに実行させる。この態様によっても上述の本発明の利点が得られる。
【発明の効果】
【００１４】
本発明は、入力項目設定情報記憶部、出力項目設定情報記憶部およびテーブル関連設定情報記憶部を設けておき、これらに記憶された情報を抽出してデータ検索文を自動生成して検索を実行するので、検索スピードが速く、入力項目および出力項目を変更できるという効果を有する可変項目検索システムを提供できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態の可変項目検索システムについて、図面を用いて説明する。
【００１６】
本発明の実施の形態に係る可変項目検索システムを図１および図２に示す。まず、図２に示される全体概要としては、可変項目検索システム１は、アプリサーバ３とデータベース５で構成されている。アプリサーバ３は、データベース５を管理するサーバである。データベース５は統合データベースであり、例えば、製造会社におけるＥＲＰを目的として、調達支援システム、生産管理システム、ＣＡＤシステムなどがそれぞれ持っているデータベースを統合することにより構築されている。
【００１７】
アプリサーバ３は、社内ＬＡＮを介して複数のクライアント端末装置７（以下、クライアント７という）に接続されている。アプリサーバ３の入出力部９は、クライアント７からの情報を入力し、また、クライアント７に情報を出力する構成であり、例えばＬＡＮインターフェースが入出力部９に該当する。
【００１８】
クライアント７は、検索入力画面に対する入力機能と、検索結果を表示する機能を実現する。検索入力画面には複数の入力項目が配置されている。クライアント７は、書込みが行われた１または複数の入力項目と該入力項目への入力内容を含む入力情報をアプリサーバ３に送信する。この入力情報がアプリサーバ３に入力され、アプリサーバ３でＳＱＬが生成および実行され、さらに、ＳＱＬの検索結果の演算処理と表示フォーマット処理が行われ、これら処理を経た検索結果がクライアント７に送られる。
【００１９】
次に、図１の機能ブロック図を参照し、可変項目検索システム１の構成をより詳細に説明する。可変項目検索システム１は設定情報記憶部１１を有しており、設定情報記憶部１１は、予め設定されたパラメータを記憶する構成であって、入力項目設定情報記憶部１３、出力項目設定情報記憶部１５およびテーブル関連設定情報記憶部１７で構成されている。また、可変項目検索システム１は、データベース管理者の指示操作に従って設定情報記憶部１１の設定情報を書き換える設定メンテナンス部１９を備えている。
【００２０】
さらに、可変項目検索システム１は、入力画面情報送信部２１、入力情報受付部２３および検索条件生成部２５を有している。入力画面情報送信部２１が、入力項目設定情報記憶部１３を参照して検索入力画面のデータをクライアント７に送信し、入力情報受付部２３が、クライアント７で書込みが行われた入力項目と入力内容を含む入力情報をクライアント７から受け付け、検索条件生成部２５が入力情報から検索条件を生成する。
【００２１】
さらに、可変項目検索システム１は、設定情報億部１１から検索とその結果の表示に必要な情報を抽出する設定情報抽出部２７と、抽出された設定情報から検索に使用されるべき検索使用テーブルを抽出する使用テーブル抽出部２９と、抽出された設定情報と検索使用テーブルからデータ検索文としてのＳＱＬを生成するＳＱＬ生成部３１と、ＳＱＬを実行する検索実行部３３と、ＳＱＬによる検索結果を加工する演算処理部３５と、演算処理を経た検索結果に表示フォーマット処理を施すフォーマット処理部３７と、フォーマット処理後の検索結果をクライアント７へ出力する出力情報送信部３９とを備えている。
【００２２】
以下、図１の各部の構成について、図３および図４を参照しながらより詳細に説明していく。図３および図４は、図１の可変項目検索システム１による処理対象の情報と処理内容の例を模式的に示している。図３および図４に示す例は、説明の簡略化の為、検索条件を平易な条件としている。
【００２３】
入力項目設定情報記憶部１３は、入力項目（検索項目）に関連する設定情報である入力項目設定情報を記憶している（図３、符号５１）。入力項目設定情報記憶部１３は、入力項目設定情報として、まず、検索入力画面に配置されるべき複数の入力項目のデータを記憶しており、これら入力項目の入力欄を配列することで検索入力画面が表示される。
【００２４】
また、入力項目設定情報記憶部１３は、下記のように、各入力項目に対応する検索に必要なカラムを記憶している。各入力項目に検索の条件が書き込まれると、データベース５の複数のテーブルの中から、書き込まれた入力項目に対応する１または複数の特定のカラムが検索処理で使われることになる。この特定のカラムが、「検索に必要なカラム」として、該当する入力項目と対応付けて記憶されている。「検索に必要なカラム」は、カラムが属するテーブルとカラムのＩＤ（カラム名等）のデータである。
【００２５】
また、入力項目設定情報記憶部１３は、入力情報中の入力内容から検索条件を生成する処理も記憶している。この処理は、入力内容をそのまま検索条件にするだけの処理でもよく、また、所定の処理によって入力内容を違った形の検索条件に加工する処理でもよく、また、入力内容に対応付けて記憶された所定の検索条件を読み出す処理でもよい。この処理はプラグインされてもよい。
【００２６】
次に、出力項目設定情報記憶部１５は、出力項目（表示項目）に関連する設定情報である出力項目設定情報を記憶している（図３、符号５３）。出力項目設定情報記憶部１５は、まず、下記のように、検索結果表示用に設定された複数の出力項目の表示に必要なカラムを記憶している。本実施の形態は、例えば、製造会社における部品検索の統合データベースに適用される。このようなデータベースでは、検索結果の出力項目が、部品名、部品番号、メーカ、価格等であり、出力項目数が数十または数百に及ぶ場合もある。出力項目が決まると、データベース５の複数のテーブルの中から、出力項目の表示を作るのに使われるべきカラムが特定される。このようなカラムが、「表示に必要なカラム」として記憶されている。「表示に必要なカラム」は、カラムが属するテーブルとカラムのＩＤ（カラム名等）のデータである。
【００２７】
また、出力項目設定情報記憶部１５は、表示データの演算処理を記憶している。この演算処理は、上記の表示に必要な複数のカラムの検索データから、検索結果表示用に設定された出力項目の表示データを算出する処理である。演算処理を設定することで、表示用の加工方法をカラムごとに選択できる。
【００２８】
また、出力項目設定情報記憶部１５は、表示フォーマット処理も記憶している。表示フォーマット処理は、出力項目のデータを表示フォーマットに従って変換する処理である。表示フォーマット処理では、例えば、単位が付与される。表示フォーマット処理を設定することで、抽出したデータを行単位に演算する処理をカラム毎に選択でき、また、抽出したデータの集計処理をカラムごとに選択することもできる。
【００２９】
次に、テーブル関連設定情報記憶部１７は、データベース５の複数のテーブル間の関連付けの情報を記憶している（図３、符号５５）。図３では、５つのテーブルＡ〜Ｅが例示されており、関連付け情報は、テーブルＡ．カラムＡとテーブルＢ．カラムａとの結合、テーブルＡ．カラムＡとテーブルＣ．カラムａとの結合、テーブルＣ．カラムｂとテーブルＤ．カラムａとの結合、テーブルＤ．カラムｃとテーブルＥ．カラムＡとの結合の情報からなる。
【００３０】
設定メンテナンス部１９は、上述した設定情報記憶部１１に記憶される各種の設定情報を変更する構成である。設定情報はデータベース管理者によって管理されている。データベース管理者は、アプリサーバ３のキーボード、ディスプレイ等の入出力装置を利用して、設定情報の変更の指示を入力する。この設定情報の変更指示の入力に従って、設定情報記憶部１１の設定情報が変更される。
【００３１】
設定情報は、入力項目、出力項目およびテーブルの変更のために書き換えられる。例えば、入力項目を追加するために、新しい入力項目と、新しい入力項目に対応する検索に必要なカラムと、新しい入力項目の入力情報から検索条件を生成する処理とが、入力項目設定情報記憶部１３に書き込まれる。また、出力項目を追加するために、新しい出力項目の表示に必要なカラムと、そのカラムから新しい出力項目のデータを得る演算処理と、新しい出力項目のデータに対する表示フォーマット処理とが、出力項目設定情報記憶部１５に書き込まれる。同様に、テーブルが変更されてテーブル間の結合が変化したときに、テーブル関連設定情報記憶部１７に新しい情報が書き込まれる。このようにして設定情報記憶部１１の設定情報が設定メンテナンス部１９により更新される。
【００３２】
また、可変項目検索システム１において、入力画面情報送信部２１は、入力項目設定情報記憶部１３から、設定された入力項目のデータを読み出して、入力項目の欄を配列した検索入力画面のデータを生成し、このデータをクライアント７に送信して表示させる。クライアント７では、所望の入力項目に検索の条件が書き込まれる。入力情報受付部２３は、クライアント７から入力された、書込みが行われた入力項目と入力内容を含む入力情報を受け付ける。
【００３３】
検索条件生成部２５は、入力情報が受け付けられると、入力情報の入力内容から検索条件を生成する。検索条件生成処理は、入力項目設定情報記憶部１３から読み出され、検索条件生成部２５により実行される（図３では、検索条件生成処理５７が行われて、検索条件５９が生成される）。
【００３４】
設定情報抽出部２７は、入力項目設定情報記憶部１３から検索に必要なカラムを抽出し、出力項目設定情報記憶部１５から表示に必要なカラムを抽出し、テーブル関連設定情報記憶部１７からテーブル関連づけ情報を抽出する。検索に必要なカラムとしては、入力情報中の入力項目と対応するカラムが抽出される。このとき、設定情報抽出部２７は、検索使用カラム抽出部として機能する。また、表示に必要なカラムおよびテーブル関連付け情報については、出力項目設定情報記憶部１５およびテーブル関連設定情報記憶部１７から読み出す処理が行われる。
【００３５】
使用テーブル抽出部２９は、図３のテーブル抽出処理６１を行う。この処理は、設定情報抽出部２７により抽出された情報に基づき、データベース５の複数のテーブルから、検索に使用する検索使用テーブルを抽出する処理である。具体的には、使用テーブル抽出部２９は、検索に必要なカラムが属するテーブル、表示に必要なカラムが属するテーブル、さらにはそれらテーブルを結合するテーブルを、検索使用テーブルとして抽出する。
【００３６】
図３の例では、検索に必要なカラムはテーブルＣ．カラムｂであり、表示に必要なカラムは、テーブルＣ．カラムｃ、テーブルＥ．カラムＢ、テーブルＥ．カラムＣである。これらの属するテーブルＣ、テーブルＥは、テーブルＤで結合される。したがって、テーブルＣ、Ｄ、Ｅが、それらの結合条件と共に抽出される。結合条件は、テーブル関連付け情報に含まれたテーブル同士の結合の情報である。
【００３７】
図３において、符号６３は、上記の処理で抽出された検索使用テーブルＣ、Ｄ、Ｅを示しており、符号６５は、これらテーブルの結合条件（テーブルＣ．カラムｂ＝テーブルＤ．カラムａ、テーブルＤ．カラムｃ＝テーブルＥ．カラムＡ）を示しており、これらのデータは使用テーブル抽出部によりメモリに書き込まれる。また、符号６７は、出力項目設定情報記憶部１５から得られた表示に必要なカラム（テーブルＣ．カラムｃ、テーブルＥ．カラムＢ、テーブルＥ．カラムＣ）であり、設定情報抽出部２７によりメモリに書き込まれる。さらに、符号５９は、検索条件生成部２５により生成され、メモリに書き込まれた検索条件であり、この例では、テーブルＣ．カラムｂ＝‘１’である。
【００３８】
図１のＳＱＬ生成部３１は、図３に示した検索条件５９、必要なテーブル６３、結合条件６５および表示に必要なカラム６７のデータに基づき、ＳＱＬを自動生成するＳＱＬ生成処理を行う（符号６９）。ＳＱＬ生成処理はプラグインされてよい。複雑なＳＱＬは、ここまで得られた情報を組み合わせてＳＱＬが組み立てられる。
【００３９】
図４を参照すると、ＳＱＬ生成処理では、検索条件、必要なテーブル、結合条件および表示に必要なカラムがＳＱＬの該当箇所に書き込まれて、ＳＱＬが生成され、メモリに書き込まれる。符号７１はＳＱＬを簡略化して示しており、ＳＥＬＥＣＴ部分の項目名に、表示に必要なカラム（テーブルＣ．カラムｃ、テーブルＥ．カラムＢ、テーブルＥ．カラムＣ）が書かれており、ＦＲＯＭ部分のテーブル名に、検索使用テーブル（テーブルＣ、Ｄ、Ｅ）が書かれており、ＷＨＥＲＥ以下の条件部分に、結合条件（テーブルＣ．カラムｂ＝テーブルＤ．カラムａ、テーブルＤ．カラムｃ＝テーブルＥ．カラムＡ）および検索条件（テーブルＣ．カラムｂ＝‘１’）が書かれている。ＳＱＬ生成処理は、検索のたびに自動的に行われる。したがって、項目変更などのために設定情報が変更されて更新されると、更新された設定情報からＳＱＬが生成され、したがって設定変更が検索に反映される。
【００４０】
検索実行部３３は、生成されたＳＱＬを実行して、表示に必要なカラムの検索データを得て、メモリに書き込む（図４、符号７３）。演算処理部３５は、検索データに対して演算処理を行い、演算結果をメモリに書き込む（図４、符号７５）。演算処理は、出力項目設定情報記憶部１５から読み出される。図４の例では、演算処理は、検索データ中のテーブルＥ．カラムＢとテーブルＥ．カラムＣを掛け合わせる処理である。演算処理部３５の演算により、設定された出力項目のデータが得られる。図４の例では、設定された出力項目は、表示に必要なカラム（３個）に、演算で得られる項目（１個）を加えた４つである。
【００４１】
フォーマット処理部３７は、出力項目設定情報記憶部１５から表示フォーマット処理を読み出し、出力項目のデータに表示フォーマット処理を施し、メモリに書き込む。図４の例では、表示フォーマット処理７７は、テーブルＣ．カラムｃはそのままとし、テーブルＥ．カラムＢには３桁カンマと単位（個）を付与し、テーブルＥ．カラムＣには３桁カンマと単位（円）を付与し、演算結果の「計」のデータには３桁カンマと単位（円）を付与する。
【００４２】
出力情報送信部３９は、表示フォーマット処理後のデータ（図４、符号８１）を、クライアント７に送信して表示させる。出力情報送信部３９は出力部として機能する。
【００４３】
図５は、上述した可変項目検索システム１の動作を示すフローチャートである。図５において、検索処理が開始すると、入力項目設定情報記憶部１３の情報に基づき、検索入力画面がクライアント７に送られて表示される（Ｓ１）。そして、検索入力画面への入力情報が受け付けられ（Ｓ３）、入力情報から検索条件が生成される（Ｓ５）。また、設定情報記憶部１１から、入力項目、出力項目、テーブル関連付けの設定情報が抽出され、それらの情報から、検索に必要なテーブルが抽出される（Ｓ７）。そして、ステップＳ５、Ｓ７で得られた情報を総合して、ＳＱＬが生成され（Ｓ９）、生成されたＳＱＬが実行され、データベース５が検索される（Ｓ１１）。さらに、出力項目設定情報記憶部１５から読み出した演算処理が検索データに施されて出力項目のデータが得られ（Ｓ１３）、出力項目設定情報記憶部１５から読み出した表示フォーマット処理が出力項目のデータに施され（Ｓ１５）、表示フォーマット処理を経た検索結果のデータがクライアント７に送られて表示される（Ｓ１７）。
【００４４】
以上に本発明の実施の形態に係る可変項目検索システム１について説明した。本実施の形態によれば、入力項目設定情報記憶部１３、出力項目設定情報記憶部１５およびテーブル関連設定情報記憶部１７を設けておき、これらに記憶された情報を抽出してデータ検索文としてのＳＱＬを自動生成して検索を実行する。入力項目、出力項目またはテーブルを変更するときは、設定情報を書き換えればよい。ＳＱＬが検索のたびに自動生成されるので、設定変更が検索に自動的に反映される。しかも、ＳＱＬを使っているので、従来のインデックス方式と比べてトランザクションが少なく、検索スピードは速い。このようにして、高い検索速度を得つつ、入出力項目を容易に変更可能となっている。
【００４５】
また、本実施の形態によれば、表示データを算出する演算処理を出力項目設定情報記憶部１５に保持するので、演算処理の変更が容易であり、したがって出力項目を柔軟に変更できる。
【００４６】
また、本実施の形態によれば、出力項目のデータの表示フォーマット処理を出力項目設定情報記憶部１５に保持するので、表示フォーマット処理を容易に変更でき、出力項目の表示を柔軟に変更できる。
【００４７】
以上に本発明の好適な実施の形態を説明した。しかし、本発明は上述の実施の形態に限定されず、当業者が本発明の範囲内で上述の実施の形態を変形可能なことはもちろんである。
【産業上の利用可能性】
【００４８】
以上のように、本発明にかかる可変項目検索システムは、検索スピードが速く入力項目および出力項目を容易に変更できるという効果を有し、統合データベースの検索システム等として有用である。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態における可変項目検索システムを示す図
【図２】可変項目検索システムをクライアントと共に示す図
【図３】可変項目検索システムによる処理を示す図
【図４】可変項目検索システムによる処理を示す図
【図５】可変項目検索システムの動作を示すフロー図
【符号の説明】
【００５０】
１  可変項目検索システム
３  アプリサーバ
５  データベース
７  クライアント端末装置
９  入出力部
１１  設定情報記憶部
１３  入力項目設定情報記憶部
１５  出力項目設定情報記憶部
１７  テーブル関連設定情報記憶部
１９  設定メンテナンス部
２１  入力画面情報送信部
２３  入力情報受付部
２５  検索条件生成部
２７  設定情報抽出部
２９  使用テーブル抽出部
３１  ＳＱＬ生成部
３３  検索実行部
３５  演算処理部
３７  フォーマット処理部
３９  出力情報送信部
【図１】
2006251979.tif 000003
【図２】
2006251979.tif 000004
【図３】
2006251979.tif 000005
【図４】
2006251979.tif 000006
【図５】
2006251979.tif 000007