(57)【特許請求の範囲】
【請求項１】
記憶装置に格納されたデータテーブルにアクセス可能な検索システムであって、
検索キー及び検索対象情報を含む検索要求を受け付ける受付手段と、
仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第１のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを表示項目として含む第２のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを戻り値として含む第３のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段と、
前記受付手段が受け付けた検索キーを用いて、前記受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第１のフィールドのデータの検索を実行する検索手段と、
前記検索の結果として抽出された少なくとも１つのレコードに含まれている第２のフィールドのデータを出力すると共に、前記検索の結果として複数のレコードが抽出されて、出力された複数のレコードに係るデータの内から１つのレコードに係るデータが選択された場合に、当該１つのレコードに含まれている第３のフィールドのデータをさらに出力する出力手段と、
を具備する検索システム。
【請求項２】
前記仮想テーブルの各レコードが、検索結果を絞り込むために入力すべき検索キーに関する情報を表すデータを含む第４のフィールドをさらに含み、
前記受付手段が、検索キーを含まない検索要求を受け付けた場合に、前記出力手段が、第４のフィールドのデータを出力することにより、検索キーを入力するために用いられる表示装置に第４のフィールドのデータによって表される情報を表示させる、
請求項１記載の検索システム。
【請求項３】
記憶装置に格納された第１のデータテーブル及び第２のデータテーブルにアクセス可能な検索システムであって、
検索キー及び検索対象情報を含む検索要求を受け付ける受付手段と、
仮想テーブルの各レコードが、前記第１のデータテーブルの各レコードに含まれている少なくとも１つのフィールドのデータと、前記第１のデータテーブルの各レコードに関連付けられた前記第２のデータテーブルのレコードに含まれている少なくとも１つのフィールドのデータとを検索項目として含む第１のフィールドと、前記第１又は第２のデータテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを表示項目として含む第２のフィールドと、前記第１又は第２のデータテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを戻り値として含む第３のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段と、
前記受付手段が受け付けた検索キーを用いて、前記受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第１のフィールドのデータの検索を実行する検索手段と、
前記検索の結果として抽出された少なくとも１つのレコードに含まれている第２のフィールドのデータを出力すると共に、前記検索の結果として複数のレコードが抽出されて、出力された複数のレコードに係るデータの内から１つのレコードに係るデータが選択された場合に、当該１つのレコードに含まれている第３のフィールドのデータをさらに出力する出力手段と、
を具備する検索システム。
【請求項４】
記憶装置に格納されたデータテーブルにアクセス可能な検索システムにおいて検索を行うための検索方法であって、
検索キー及び検索対象情報を含む検索要求を受け付けるステップ（ａ）と、
仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第１のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを表示項目として含む第２のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを戻り値として含む第３のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段から、ステップ（ａ）において受け付けた検索対象情報に対応付けられた仮想テーブル定義情報を取得するステップ（ｂ）と、
ステップ（ａ）において受け付けた検索キーを用いて、ステップ（ｂ）において取得された仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第１のフィールドのデータの検索を実行するステップ（ｃ）と、
前記検索の結果として抽出された少なくとも１つのレコードに含まれている第２のフィールドのデータを出力するステップ（ｄ）と、
前記検索の結果として複数のレコードが抽出されて、ステップ（ｄ）において出力された複数のレコードに係るデータの内から１つのレコードに係るデータが選択された場合に、当該１つのレコードに含まれている第３のフィールドのデータをさらに出力するステップ（ｅ）と、
を具備する検索方法。
【請求項５】
記憶装置に格納されたデータテーブルにアクセス可能な検索システムにおいて検索を行うための検索プログラムであって、
検索キー及び検索対象情報を含む検索要求を受け付けるステップ（ａ）と、
仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第１のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを表示項目として含む第２のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを戻り値として含む第３のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段から、ステップ（ａ）において受け付けた検索対象情報に対応付けられた仮想テーブル定義情報を取得するステップ（ｂ）と、
ステップ（ａ）において受け付けた検索キーを用いて、ステップ（ｂ）において取得された仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第１のフィールドのデータの検索を実行するステップ（ｃ）と、
前記検索の結果として抽出された少なくとも１つのレコードに含まれている第２のフィールドのデータを出力するステップ（ｄ）と、
前記検索の結果として複数のレコードが抽出されて、ステップ（ｄ）において出力された複数のレコードに係るデータの内から１つのレコードに係るデータが選択された場合に、当該１つのレコードに含まれている第３のフィールドのデータをさらに出力するステップ（ｅ）と、
をコンピュータに実行させる検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース内のデータを検索する検索システムに関し、さらに、検索方法及び検索プログラムに関する。
【背景技術】
【０００２】
企業において使用される業務用コンピュータシステムにおいて、データの入力支援のために検索機能を付加することが求められる場合がある。例えば、７桁の郵便番号を入力するために、オペレータが入力したい郵便番号の最初の３桁をタイプするだけで、当該３桁が一致する郵便番号のリストを端末上に表示する機能が求められる場合がある。このような検索機能に加えて、当該リストの中から、入力したい郵便番号をオペレータが選択すれば、残りの４桁をタイプしなくても、７桁の郵便番号が入力されるという機能も求められる場合がある。
【０００３】
上述のような検索機能は、ユーザである企業によって、さらにはオペレータによって、様々なニーズが存在する。例えば、上述の郵便番号を入力するために、オペレータが入力したい郵便番号に対応する「住所」の一部をタイプするだけで、当該住所の一部が一致する郵便番号のリストを端末に表示する機能が求められる場合もある。また例えば、上述の郵便番号を入力するために、オペレータが入力したい郵便番号に対応する住所の「読み仮名」の一部をタイプするだけで、当該住所の読み仮名の一部が一致する郵便番号のリストを端末に表示する機能が求められる場合もある。
【０００４】
従来、検索機能の多様なニーズに対応するために、個々のニーズに合わせてプログラムを個別開発する必要があった。
このため、検索項目が多ければ多いほど開発コストが膨大となる可能性があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−３０５６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで本発明は、多様な検索ニーズにも低コストで対応できる検索システム、検索方法及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の１つの観点に係る検索システムは、記憶装置に格納されたデータテーブルにアクセス可能な検索システムであって、検索キー及び検索対象情報を含む検索要求を受け付ける受付手段と、仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第１のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを表示項目として含む第２のフィールドと、前記データテーブルの各レコードに含まれている少なくとも１つのフィールドのデータを戻り値として含む第３のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段と、前記受付手段が受け付けた検索キーを用いて、前記受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第１のフィールドのデータの検索を実行する検索手段と、前記検索の結果として抽出された少なくとも１つのレコードに含まれている第２のフィールドのデータを出力すると共に、前記検索の結果として複数のレコードが抽出されて、出力された複数のレコードに係るデータの内から１つのレコードに係るデータが選択された場合に、当該１つのレコードに含まれている第３のフィールドのデータをさらに出力する出力手段とを具備する。
【発明の効果】
【０００８】
本発明の１つの観点によれば、受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って、データテーブルの複数のフィールドのデータが仮想テーブルの第１のフィールドに含まれるように仮想テーブルを定義し、この仮想テーブルに対して検索を実行するようにしたことにより、多様な検索ニーズに対しても、仮想テーブルの定義を変更することによって対応することができる。従って、多様な検索ニーズにも低コストで対応することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る検索システムを概略的に示すブロック図である。
【図２】第１の実施例において、記憶装置に格納されたデータテーブルのデータ構成例を示す図である。
【図３】第１の実施例において、仮想テーブルを定義した情報の例を示す図である。
【図４】第１の実施例において、仮想テーブルの例を示す図である。
【図５】第１の実施例において、検索結果の例を示す図である。
【図６】第２の実施例において、記憶装置に格納されたデータテーブルのデータ構成例を示す図である。
【図７】第２の実施例において、仮想テーブルを定義した情報の例を示す図である。
【図８】第２の実施例において、仮想テーブルの例を示す図である。
【図９】第２の実施例において、検索結果の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態に係る検索システムについて、図面を参照しながら詳しく説明する。
【００１１】
＜１．検索システムの構成＞
図１は、本発明の一実施形態に係る検索システムを概略的に示すブロック図である。図１に示す検索システムは、クライアント端末１０に接続されたアプリケーションサーバ２０と、アプリケーションサーバ２０に接続されたデータベースサーバ３０と、を含んでいる。クライアント端末１０、アプリケーションサーバ２０、データベースサーバ３０は、いずれも、ＣＰＵ、メモリ、記憶装置等を備えたコンピュータ装置である。
【００１２】
なお、ここでは、検索システムは、複数のコンピュータ装置を含むものとして図示したが、これらのコンピュータ装置の機能が１台のコンピュータ装置に組み込まれていても良い。
【００１３】
クライアント端末１０は、入力装置１１と、検索要求部１２と、検索結果受信部１６と、表示装置１７と、を備えている。入力装置１１は、検索条件（検索キーＷ、検索対象ｘ１）を入力するキーボードやマウス等を含んでいる。検索要求部１２は、入力装置１１によって入力された検索条件を含む検索要求を作成し、アプリケーションサーバ２０に送信する機能を有している。検索結果受信部１６は、アプリケーションサーバ２０から検索結果を受信する機能を有している。表示装置１７は、入力装置１１によって入力された検索条件等の入力データや、検索結果受信部１６によって受信した検索結果のデータを表示するディスプレイ装置を含んでいる。
【００１４】
アプリケーションサーバ２０は、検索要求受付部２２と、検索要求部２３と、検索結果受信部２５と、検索結果出力部２６と、を備えている。検索要求受付部２２は、クライアント端末１０からの検索要求を受付ける機能を有している。検索要求部２３は、検索要求受付部２２によって受付けた検索要求に基づいて、検索条件（検索キーＷ、仮想テーブルの定義情報Ｘ）を含む検索要求を作成し、この作成した検索要求をデータベースサーバ３０に送信する機能を有している。検索結果受信部２５は、データベースサーバ３０から検索結果を受信する機能を有している。検索結果出力部２６は、検索結果受信部２５によって受信した検索結果（出力テーブルＺ）の少なくとも一部をクライアント端末１０に出力する機能を有している。
【００１５】
データベースサーバ３０は、検索要求受付部３３と、検索部３４と、検索結果出力部３５と、を備えている。検索要求受付部３３は、アプリケーションサーバ２０からの検索要求を受付ける機能を有している。検索部３４は、検索要求受付部３３によって受付けた検索要求に基づき、検索キーＷを用いて仮想テーブルＹの検索を実行し、検索結果（出力テーブルＺ）を作成する機能を有している。検索結果出力部３５は、検索部３４によって作成された検索結果をアプリケーションサーバ２０に出力する機能を有している。
【００１６】
仮想テーブルＹは、定義情報Ｘに従って定義されるテーブルである。仮想テーブルＹのデータは、そのまま実存のデータとして格納されているのではなく、実存のデータとしては、データベースサーバ３０に接続された記憶装置４０に、各種データテーブル４１〜４３が格納されている。仮想テーブルＹは、定義情報Ｘに従って、データテーブル４１〜４３（実存テーブル）のデータを眺めたものである。定義情報Ｘは、データテーブル４１〜４３の見方を定義したものと言える。
【００１７】
＜２．検索システムの動作＞
まず、図１に示すように、クライアント端末１０は、入力装置１１によって入力された検索条件（検索キーＷ、検索対象ｘ１）を含む検索要求を、アプリケーションサーバ２０に送信し、アプリケーションサーバ２０はこれを受付ける（Ｓ１）。
【００１８】
次に、アプリケーションサーバ２０は、クライアント端末１０から受付けた検索要求に基づいて、検索条件（検索キーＷ、仮想テーブルの定義情報Ｘ）を含む検索要求を作成し、この作成した検索要求をデータベースサーバ３０に送信する（Ｓ２）。仮想テーブルの定義情報Ｘは、検索対象ｘ１に対応付けられて、アプリケーションサーバ２０の記憶装置に格納されている。
【００１９】
次に、データベースサーバ３０は、アプリケーションサーバ２０から受付けた検索要求に基づき、検索キーＷを用いて仮想テーブルＹの検索を実行し、検索結果（出力テーブルＺ）を作成する（Ｓ３）。仮想テーブルＹは、定義情報Ｘに従って定義されている。
【００２０】
定義情報Ｘの具体的な例については後述するが、定義情報Ｘは、仮想テーブルＹにおいて２つのフィールド（Ｙ１、Ｙ２）を定義してもよい。そして、データベースサーバ３０は、そのうちの１つのフィールド（Ｙ１）における検索を実行し、当該検索の結果として抽出されたレコードに含まれる第２のフィールド（Ｙ２）を用いて出力テーブルＺを作成してもよい。
また、定義情報Ｘは、仮想テーブルＹにおいて少なくとも３つのフィールド（Ｙ１、Ｙ２、Ｙ３、…）を定義してもよい。そして、データベースサーバ３０は、そのうちの１つのフィールド（Ｙ１）における検索を実行し、当該検索の結果として抽出されたレコードに含まれる残りのフィールド（Ｙ２、Ｙ３、…）を用いて出力テーブルＺを作成してもよい。
【００２１】
次に、データベースサーバ３０は、作成した検索結果（出力テーブルＺ）をアプリケーションサーバ２０に出力する（Ｓ４）。
次に、アプリケーションサーバ２０は、データベースサーバ３０から受信した検索結果（出力テーブルＺ）の少なくとも一部をクライアント端末１０に出力する（Ｓ５）。また、出力テーブルＺの一部をクライアント端末１０に出力した後、クライアント端末１０において新たな検索キーＷが入力された場合は、上述のＳ１〜Ｓ５の処理を繰り返す。
【００２２】
なお、出力テーブルＺの各レコードが少なくとも２つのフィールド（Ｚ２、Ｚ３）を有する場合、アプリケーションサーバ２０は、各レコードに含まれる１つのフィールド（Ｚ２）のデータをクライアント端末１０に出力してもよい。そして、クライアント端末１０において出力テーブルＺの１つのレコードが選択され、その選択された情報がアプリケーションサーバ２０に送られてきた場合に、アプリケーションサーバ２０は、当該選択されたレコードのもう１つのフィールド（Ｚ３）のデータをクライアント端末１０に出力してもよい。
また、出力テーブルＺの各レコードが少なくとも２つのフィールド（Ｚ２、Ｚ４）を有する場合、アプリケーションサーバ２０は、各レコードに含まれる少なくとも２つのフィールド（Ｚ２、Ｚ４）のデータをクライアント端末１０に出力してもよい。
【００２３】
＜３．第１の実施例＞
次に、図２〜図５を参照しながら第１の実施例について説明する。第１の実施例は、オペレータが７桁の郵便番号を入力するための入力支援に用いられる検索機能に関係している。第１の実施例は、郵便番号の一部、郵便番号に対応する住所の一部、或いは住所の読み仮名の一部を、オペレータがタイプするだけで、該当する郵便番号の一覧を出力するものである。
【００２４】
＜３−１．データテーブル４１＞
図２は、第１の実施例において、記憶装置４０に格納されたデータテーブルのデータ構成例を示す図である。第１の実施例においては、記憶装置４０に格納されたデータテーブル４１が用いられる。
【００２５】
図２に示すデータテーブル４１は郵便番号のデータテーブルであり、１つのレコードにつき１つの郵便番号のデータが格納されている。データテーブル４１の各レコードは、郵便番号の「最初の３桁」を格納するフィールドａと、郵便番号の「最後の４桁」を格納するフィールドｂと、郵便番号に対応する「住所」を格納するフィールドｃと、郵便番号に対応する住所の「読み仮名」を格納するフィールドｄと、を有する。
【００２６】
第１の実施例においては、上述のデータテーブル４１を利用して、検索対象である「郵便番号」を得るために「住所」等を検索キーとした検索ができるように、検索システムを構成する。
【００２７】
＜３−２．仮想テーブルの定義情報Ｘ＞
図３は、第１の実施例において、仮想テーブルを定義した情報の例を示す図である。仮想テーブルの定義情報Ｘは、アプリケーションサーバ２０の記憶装置に格納されており、検索要求部２３によって、検索要求とともにデータベースサーバ３０に送られる。図３に示すように、検索対象ｘ１が「郵便番号」である場合に、仮想テーブルＹの各レコードの「検索項目」のフィールドには、データテーブル４１の郵便番号の「最初の３桁」のフィールドａ、郵便番号の「最後の４桁」のフィールドｂ、郵便番号に対応する「住所」のフィールドｃ、及び郵便番号に対応する住所の「読み仮名」のフィールドｄのデータが含まれるように、仮想テーブルＹが定義される。
【００２８】
また、定義情報Ｘにおいて、仮想テーブルＹの各レコードの「表示項目」のフィールドには、データテーブル４１のフィールドａ、ｂ及びｃのデータが含まれるように、仮想テーブルＹが定義される。また、仮想テーブルＹの「戻り値」のフィールドには、データテーブル４１のフィールドａ及びｂのデータが含まれるように、仮想テーブルＹが定義される。また、仮想テーブルＹの「情報」のフィールドには、「住所」という文字列が含まれるように、仮想テーブルＹが定義される。
【００２９】
＜３−３．仮想テーブルＹ＞
図４は、第１の実施例において、仮想テーブルの例を示す図である。仮想テーブルＹの各レコードは、図２に示したデータテーブル４１の各レコードに対応している。仮想テーブルＹの各レコードは、図３に示した仮想テーブルの定義情報Ｘに従い、「検索項目」のフィールドＹ１と、「表示項目」のフィールドＹ２と、「戻り値」のフィールドＹ３と、「情報」のフィールドＹ４とを含んでいる。
【００３０】
「検索項目」のフィールドＹ１には、データテーブル４１の郵便番号の「最初の３桁」、郵便番号の「最後の４桁」、郵便番号に対応する「住所」、及び郵便番号に対応する住所の「読み仮名」が、互いにハイフン又はスペース等の区切り文字で区切られた文字列のデータとして含まれている。
【００３１】
「表示項目」のフィールドＹ２には、データテーブル４１の郵便番号の「最初の３桁」、郵便番号の「最後の４桁」、及び郵便番号に対応する「住所」が、互いにハイフン又はスペース等の区切り文字で区切られた文字列のデータとして含まれている。
「戻り値」のフィールドＹ３には、データテーブル４１の郵便番号の「最初の３桁」及び郵便番号の「最後の４桁」が含まれている。
「情報」のフィールドＹ４には、「住所」という文字列が含まれている。
【００３２】
＜３−４．出力テーブルＺ＞
図５は、第１の実施例において、検索結果の例を示す図である。
図５（Ａ）は、出力テーブルＺの例を示している。図５（Ａ）に示す出力テーブルＺは、検索部３４が、検索キーＷを「札幌  十条」とし、仮想テーブルＹの「検索項目」のフィールドＹ１を検索した結果を示している。
【００３３】
図５（Ａ）に示すように、出力テーブルＺにおいては、図４に示す仮想テーブルＹのうち「検索項目」のフィールドＹ１に「札幌」「十条」という２つの検索キーＷが含まれるレコードすべて（第２及び第１２レコード）を抽出している。出力テーブルＺの各レコードは、仮想テーブルＹのフィールドＹ２に相当する「表示項目」のフィールドＺ２と、仮想テーブルＹのフィールドＹ３に相当する「戻り値」のフィールドＺ３と、仮想テーブルＹのフィールドＹ４に相当する「情報」のフィールドＺ４とを含んでいる。なお、出力テーブルＺには、仮想テーブルＹのフィールドＹ１に相当する「検索項目」のフィールドは含まれていなくてもよい。出力テーブルＺは、検索結果出力部３５からアプリケーションサーバ２０に出力される。
【００３４】
＜３−５．検索画面＞
図５（Ｂ）及び図５（Ｃ）は、クライアント端末１０の表示装置１７に出力される検索画面の一部を示している。図５（Ｂ）の画面１７１に示すように、検索対象ｘ１「郵便番号」の表示位置の右側に表示された入力欄に、オペレータが検索キーＷとして「札幌  十条」と入力すると、住所に「札幌」及び「十条」の文字列を含む郵便番号及び住所の一覧が表示される。
【００３５】
具体的には、入力装置１１を用いて入力された検索キーＷ「札幌  十条」の情報と、その画面における入力位置からクライアント端末１０が判定した検索対象ｘ１（郵便番号）の情報とが、アプリケーションサーバ２０に送られる（Ｓ１）。そして、アプリケーションサーバ２０から、検索キーＷの情報と、検索対象ｘ１に対応付けられた定義情報Ｘの情報とが、データベースサーバ３０に送られる（Ｓ２）。さらに、データベースサーバ３０において、検索キーＷを用いて仮想テーブルＹの検索が行われる（Ｓ３）。データベースサーバ３０において作成された出力テーブルＺはアプリケーションサーバ２０に出力され（Ｓ４）、出力テーブルＺの各レコードに含まれる「表示項目」のフィールドＺ２のデータが、アプリケーションサーバ２０からクライアント端末１０に送られ（Ｓ５）、画面１７１に表示される。
【００３６】
併せて、出力テーブルＺの「情報」のフィールドＺ４のデータ（住所）が画面１７１に表示されるようにすれば、オペレータは、「住所」を入力欄に入力すれば検索結果が絞り込めることを理解できる。
なお、画面１７１の入力欄に何も入力しなくても、入力欄にカーソルを移動させただけで、上述のＳ１〜Ｓ５に従って「検索キーなし」の検索を行い、「情報」のフィールドＺ４のデータが表示されるようにしてもよい。
【００３７】
オペレータは、画面１７１に表示された「表示項目」のフィールドＺ２のデータの中から、入力したい郵便番号をマウスポインタ１１１で選択することができる。図５（Ｂ）に示すように、「001-0010  北海道札幌市北区北十条西」がマウスポインタ１１１で選択された場合には、図５（Ｃ）に示す画面１７２に遷移する。画面１７２において、郵便番号の入力欄には、図５（Ｂ）において選択されたレコードに含まれる「戻り値」のフィールドＺ３のデータ（すなわち、「0010010」）が表示される。
【００３８】
具体的には、「001-0010  北海道札幌市北区北十条西」がマウスポインタ１１１で選択されたことを示す情報がアプリケーションサーバ２０に送られる。そして、アプリケーションサーバ２０に存在する出力テーブルＺの該当レコードのうち、「戻り値」のフィールドＺ３のデータがクライアント端末１０に送られ、画面１７２に表示される。
以上のようにして、郵便番号が検索され、クライアント端末１０の表示装置１７に出力される。
【００３９】
＜４．第２の実施例＞
次に、図６〜図９を参照しながら第２の実施例について説明する。第２の実施例は、オペレータが企業の担当者コードを入力するための入力支援に用いられる検索機能に関係している。第２の実施例は、担当者コードの一部、担当者名の一部、或いは担当者の所属部門名の一部を、オペレータがタイプするだけで、該当する担当者コードの一覧を出力するものである。
【００４０】
＜４−１．データテーブル４２、４３＞
図６は、第２の実施例において、記憶装置４０に格納されたデータテーブルのデータ構成例を示す図である。第２の実施例においては、記憶装置４０に格納された２つのデータテーブル４２及び４３が用いられる。
【００４１】
図６（Ａ）に示す第１のデータテーブル４２は担当者のデータテーブルであり、１つのレコードにつき１人の担当者のデータが格納されている。第１のデータテーブル４２の各レコードは、「会社コード」を格納するフィールドａと、「担当者コード」を格納するフィールドｂと、「担当者名」を格納するフィールドｃと、「部門コード」を格納するフィールドｄと、を有する。
【００４２】
図６（Ｂ）に示す第２のデータテーブル４３は会社の部門のデータテーブルであり、１つのレコードにつき１つの部門のデータが格納されている。第２のデータテーブル４３の各レコードは、「会社コード」を格納するフィールドｅと、「部門コード」を格納するフィールドｆと、「部門名」を格納するフィールドｇと、を有する。
【００４３】
第２の実施例においては、上述の２つのデータテーブル４２及び４３を利用して、検索対象である「担当者コード」を得るために「部門名」等を検索キーとした検索ができるように、検索システムを構成する。
【００４４】
＜４−２．仮想テーブルの定義情報Ｘ＞
図７は、第２の実施例において、仮想テーブルを定義した情報の例を示す図である。仮想テーブルの定義情報Ｘは、アプリケーションサーバ２０の記憶装置に格納されており、検索要求部２３によって、検索要求とともにデータベースサーバ３０に送られる。図７に示すように、検索対象ｘ１が「担当者コード」である場合に、仮想テーブルＹの各レコードの「検索項目」のフィールドには、第１のデータテーブル４２の「担当者コード」のフィールドｂ及び「担当者名」のフィールドｃのデータと、第２のデータテーブル４３の「部門名」のフィールドｇのデータとが含まれるように、仮想テーブルＹが定義される。
【００４５】
さらに、第１のデータテーブル４２と第２のデータテーブル４３とを結合するにあたって、以下の規則が定義される。すなわち、第１のデータテーブル４２の１つのレコードに含まれる「部門コード」（フィールドｄ）のデータに、第２のデータテーブル４３のいずれかのレコードに含まれる「部門コード」（フィールドｆ）のデータが一致する場合に、第１のデータテーブル４２の当該レコードに、第２のデータテーブル４３の当該レコードを関連付ける。
【００４６】
また、定義情報Ｘにおいて、仮想テーブルＹの各レコードの「表示項目」のフィールドには、第１のデータテーブル４２のフィールドｂ及びｃのデータが含まれるように、仮想テーブルＹが定義される。また、仮想テーブルＹの「戻り値」のフィールドには、第１のデータテーブル４２のフィールドｂのデータが含まれるように、仮想テーブルＹが定義される。また、仮想テーブルＹの「情報」のフィールドには、「担当者ＣＤ、担当者名、部門名」という文字列が含まれるように、仮想テーブルＹが定義される。
【００４７】
＜４−３．仮想テーブルＹ＞
図８は、第２の実施例において、仮想テーブルの例を示す図である。仮想テーブルＹの各レコードは、図６（Ａ）に示した第１のデータテーブル４２の各レコードに対応している。仮想テーブルＹの各レコードは、図７に示した仮想テーブルの定義情報Ｘに従い、「検索項目」のフィールドＹ１と、「表示項目」のフィールドＹ２と、「戻り値」のフィールドＹ３と、「情報」のフィールドＹ４とを含んでいる。
【００４８】
「検索項目」のフィールドＹ１には、第１のデータテーブル４２の「担当者コード」及び「担当者名」と、第２のデータテーブル４３の「部門名」とが、互いにスペース等の区切り文字で区切られた文字列のデータとして含まれている。
【００４９】
例えば、第１のデータテーブル４２の第１レコード（TAN344  一嶺俊明）には、部門コード「001」が格納されているので、第２のデータテーブル４３において部門コード「001」が格納された第１レコード（マーケティンググループ）に関連付けられる。その結果、仮想テーブルＹの第１レコードの「検索項目」のフィールドＹ１には、「TAN344  一嶺俊明  マーケティンググループ」という文字列が含まれる。第２レコード以下においても、それぞれ、部門コードの一致によって関連付けられた第１のデータテーブル４２及び第２のデータテーブル４３の各レコードのデータが含まれる。
【００５０】
「表示項目」のフィールドＹ２には、第１のデータテーブル４２の「担当者コード」及び「担当者名」が、互いにスペース等の区切り文字で区切られた文字列のデータとして含まれている。
「戻り値」のフィールドＹ３には、第１のデータテーブル４２の「担当者コード」が含まれている。
「情報」のフィールドＹ４には、「担当者ＣＤ、担当者名、部門名」という文字列が含まれている。
【００５１】
＜４−４．出力テーブルＺ＞
図９は、第２の実施例において、検索結果の例を示す図である。
図９（Ａ）は、出力テーブルＺの例を示している。図９（Ａ）に示す出力テーブルＺは、検索部３４が、検索キーＷを「マーケティング」とし、仮想テーブルＹの「検索項目」のフィールドＹ１を検索した結果を示している。
【００５２】
図９（Ａ）に示すように、出力テーブルＺにおいては、図８に示す仮想テーブルＹのうち「検索項目」のフィールドＹ１に「マーケティング」という検索キーＷが含まれるレコードすべて（第１、第２、第３及び第７レコード）を抽出している。出力テーブルＺの各レコードは、仮想テーブルＹのフィールドＹ２に相当する「表示項目」のフィールドＺ２と、仮想テーブルＹのフィールドＹ３に相当する「戻り値」のフィールドＺ３と、仮想テーブルＹのフィールドＹ４に相当する「情報」のフィールドＺ４とを含んでいる。なお、出力テーブルＺには、仮想テーブルＹのフィールドＹ１に相当する「検索項目」のフィールドは含まれていなくてもよい。出力テーブルＺは、検索結果出力部３５からアプリケーションサーバ２０に出力される。
【００５３】
＜４−５．検索画面＞
図９（Ｂ）及び図９（Ｃ）は、クライアント端末１０の表示装置１７に出力される検索画面の一部を示している。図９（Ｂ）の画面１７１に示すように、検索対象ｘ１「担当者コード」の表示位置の右側に表示された入力欄に、オペレータが検索キーＷとして「マーケティング」と入力すると、部門名に「マーケティング」の文字列を含む「担当者コード」及び「担当者名」の一覧が表示される。
【００５４】
具体的には、入力装置１１を用いて入力された検索キーＷ「マーケティング」の情報と、その画面における入力位置からクライアント端末１０が判定した検索対象ｘ１（担当者コード）の情報とが、アプリケーションサーバ２０に送られる（Ｓ１）。そして、アプリケーションサーバ２０から、検索キーＷの情報と、検索対象ｘ１に対応付けられた定義情報Ｘの情報とが、データベースサーバ３０に送られる（Ｓ２）。さらに、データベースサーバ３０において、検索キーＷを用いて仮想テーブルＹの検索が行われる（Ｓ３）。データベースサーバ３０において作成された出力テーブルＺはアプリケーションサーバ２０に出力され（Ｓ４）、出力テーブルＺの各レコードに含まれる「表示項目」のフィールドＺ２のデータが、アプリケーションサーバ２０からクライアント端末１０に送られ（Ｓ５）、画面１７１に表示される。
【００５５】
併せて、出力テーブルＺの「情報」のフィールドＺ４のデータ（担当者コード、担当者名、部門名）が画面１７１に表示されるようにすれば、オペレータは、「担当者コード、担当者名、部門名」のいずれかを入力欄に入力すれば検索結果が絞り込めることを理解できる。
なお、画面１７１の入力欄に何も入力しなくても、入力欄にカーソルを移動させただけで、上述のＳ１〜Ｓ５に従って「検索キーなし」の検索を行い、「情報」のフィールドＺ４のデータが表示されるようにしてもよい。
【００５６】
オペレータは、画面１７１に表示された「表示項目」のフィールドＺ２のデータの中から、入力したい担当者名をマウスポインタ１１１で選択することができる。図９（Ｂ）に示すように、「TAN349  三村紗希」がマウスポインタ１１１で選択された場合には、図９（Ｃ）に示す画面１７２に遷移する。画面１７２において、「担当者コード」の入力欄には、図９（Ｂ）において選択されたレコードに含まれる「戻り値」のフィールドＺ３のデータ（すなわち、「TAN349  三村紗希」の担当者コード）が表示される。
【００５７】
具体的には、「TAN349  三村紗希」がマウスポインタ１１１で選択されたことを示す情報がアプリケーションサーバ２０に送られる。そして、アプリケーションサーバ２０に存在する出力テーブルＺの該当レコードのうち、「戻り値」のフィールドＺ３のデータがクライアント端末１０に送られ、画面１７２に表示される。
以上のようにして、担当者コードが検索され、クライアント端末１０の表示装置１７に出力される。
【００５８】
＜５．実施形態による効果＞
本実施形態によれば、データテーブルの複数のフィールドｂ、ｃ等のデータを仮想テーブルＹの１つのフィールドＹ１（検索項目）が含むように、仮想テーブルＹが定義される。従って、仮想テーブルＹの１つのフィールドＹ１を検索すれば、データテーブルの複数のフィールドｂ、ｃ等を検索することができる。そして、データテーブルの検索しようとするフィールドｂ、ｃ等を増減したい場合には、定義情報Ｘにおいて仮想テーブルＹの１つのフィールドＹ１の定義を変更するだけで済む。
【００５９】
また、本実施形態によれば、仮想テーブルＹにおいて、上記１つのフィールドＹ１とは別に、第２のフィールドＹ２（表示項目）を定義し、検索結果として抽出されたレコードから、この第２のフィールドＹ２のデータ（出力テーブルＺのフィールドＺ２のデータ）を出力する。このように、検索項目とは別に、検索結果の表示項目を設定できる。このような「表示項目」を変更したい場合も、同様に定義情報Ｘを変更するだけで済む。
【００６０】
また、本実施形態によれば、仮想テーブルＹにおいて、上記１つのフィールドＹ１及び第２のフィールドＹ２とは別に、第３のフィールドＹ３（戻り値）を定義する。そして、検索結果として第２のフィールドＹ２のデータが表示された複数のレコードの中から、特定のレコードが選択された場合に、当該レコードの第３のフィールドＹ３のデータ（出力テーブルＺのフィールドＺ３のデータ）をさらに出力する。このように、検索項目及び表示項目とは別に、戻り値を設定できる。このような「戻り値」を変更したい場合も、同様に定義情報Ｘを変更するだけで済む。
【００６１】
従って、本実施形態によれば、ユーザの多様なニーズにも、容易に対応することができる。
【符号の説明】
【００６２】
１０…クライアント端末、１１…入力装置、１２…検索要求部、１６…検索結果受信部、１７…表示装置、２０…アプリケーションサーバ、２２…検索要求受付部、２３…検索要求部、２５…検索結果受信部、２６…検索結果出力部、３０…データベースサーバ、３３…検索要求受付部、３４…検索部、３５…検索結果出力部、４０…記憶装置、４１、４２、４３…データテーブル、１１１…マウスポインタ、１７１、１７２…画面、Ｗ…検索キー、ｘ１…検索対象、Ｘ…定義情報、Ｙ…仮想テーブル、Ｚ…出力テーブル、Ｚ２…表示項目、Ｚ３…戻り値、Ｚ４…情報
【図１】
0005874997.tif 000002
【図２】
0005874997.tif 000003
【図３】
0005874997.tif 000004
【図４】
0005874997.tif 000005
【図５】
0005874997.tif 000006
【図６】
0005874997.tif 000007
【図７】
0005874997.tif 000008
【図８】
0005874997.tif 000009
【図９】
0005874997.tif 000010