特許第5874997号(P5874997)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社オービックの特許一覧

<>
  • 特許5874997-検索システム、検索方法及びプログラム 図000002
  • 特許5874997-検索システム、検索方法及びプログラム 図000003
  • 特許5874997-検索システム、検索方法及びプログラム 図000004
  • 特許5874997-検索システム、検索方法及びプログラム 図000005
  • 特許5874997-検索システム、検索方法及びプログラム 図000006
  • 特許5874997-検索システム、検索方法及びプログラム 図000007
  • 特許5874997-検索システム、検索方法及びプログラム 図000008
  • 特許5874997-検索システム、検索方法及びプログラム 図000009
  • 特許5874997-検索システム、検索方法及びプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5874997
(24)【登録日】2016年1月29日
(45)【発行日】2016年3月2日
(54)【発明の名称】検索システム、検索方法及びプログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20160218BHJP
   G06F 12/00 20060101ALI20160218BHJP
【FI】
   G06F17/30 140
   G06F17/30 340Z
   G06F12/00 513D
   G06F12/00 515A
【請求項の数】5
【全頁数】15
(21)【出願番号】特願2011-200704(P2011-200704)
(22)【出願日】2011年9月14日
(65)【公開番号】特開2013-61860(P2013-61860A)
(43)【公開日】2013年4月4日
【審査請求日】2014年9月9日
【前置審査】
(73)【特許権者】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】100110777
【弁理士】
【氏名又は名称】宇都宮 正明
(72)【発明者】
【氏名】岡澤 智也
(72)【発明者】
【氏名】尾▲崎▼ 大介
(72)【発明者】
【氏名】芹澤 邦明
【審査官】 田中 秀樹
(56)【参考文献】
【文献】 米国特許出願公開第2010/0299367(US,A1)
【文献】 特開2003−167912(JP,A)
【文献】 特開平11−265395(JP,A)
【文献】 特開平09−305611(JP,A)
【文献】 加藤 弘之,“集約演算の構成子による構造化文書ビューに対する問合せの最適化手法”,情報処理学会研究報告,日本,社団法人情報処理学会,1999年 5月17日,第99巻,第39号,P.49-56
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
記憶装置に格納されたデータテーブルにアクセス可能な検索システムであって、
検索キー及び検索対象情報を含む検索要求を受け付ける受付手段と、
仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第1のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを表示項目として含む第2のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを戻り値として含む第3のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段と、
前記受付手段が受け付けた検索キーを用いて、前記受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第1のフィールドのデータの検索を実行する検索手段と、
前記検索の結果として抽出された少なくとも1つのレコードに含まれている第2のフィールドのデータを出力すると共に、前記検索の結果として複数のレコードが抽出されて、出力された複数のレコードに係るデータの内から1つのレコードに係るデータが選択された場合に、当該1つのレコードに含まれている第3のフィールドのデータをさらに出力する出力手段と、
を具備する検索システム。
【請求項2】
前記仮想テーブルの各レコードが、検索結果を絞り込むために入力すべき検索キーに関する情報を表すデータを含む第4のフィールドをさらに含み、
前記受付手段が、検索キーを含まない検索要求を受け付けた場合に、前記出力手段が、第4のフィールドのデータを出力することにより、検索キーを入力するために用いられる表示装置に第4のフィールドのデータによって表される情報を表示させる、
請求項1記載の検索システム。
【請求項3】
記憶装置に格納された第1のデータテーブル及び第2のデータテーブルにアクセス可能な検索システムであって、
検索キー及び検索対象情報を含む検索要求を受け付ける受付手段と、
仮想テーブルの各レコードが、前記第1のデータテーブルの各レコードに含まれている少なくとも1つのフィールドのデータと、前記第1のデータテーブルの各レコードに関連付けられた前記第2のデータテーブルのレコードに含まれている少なくとも1つのフィールドのデータとを検索項目として含む第1のフィールドと、前記第1又は第2のデータテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを表示項目として含む第2のフィールドと、前記第1又は第2のデータテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを戻り値として含む第3のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段と、
前記受付手段が受け付けた検索キーを用いて、前記受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第1のフィールドのデータの検索を実行する検索手段と、
前記検索の結果として抽出された少なくとも1つのレコードに含まれている第2のフィールドのデータを出力すると共に、前記検索の結果として複数のレコードが抽出されて、出力された複数のレコードに係るデータの内から1つのレコードに係るデータが選択された場合に、当該1つのレコードに含まれている第3のフィールドのデータをさらに出力する出力手段と、
を具備する検索システム。
【請求項4】
記憶装置に格納されたデータテーブルにアクセス可能な検索システムにおいて検索を行うための検索方法であって、
検索キー及び検索対象情報を含む検索要求を受け付けるステップ(a)と、
仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第1のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを表示項目として含む第2のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを戻り値として含む第3のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段から、ステップ(a)において受け付けた検索対象情報に対応付けられた仮想テーブル定義情報を取得するステップ(b)と、
ステップ(a)において受け付けた検索キーを用いて、ステップ(b)において取得された仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第1のフィールドのデータの検索を実行するステップ(c)と、
前記検索の結果として抽出された少なくとも1つのレコードに含まれている第2のフィールドのデータを出力するステップ(d)と、
前記検索の結果として複数のレコードが抽出されて、ステップ(d)において出力された複数のレコードに係るデータの内から1つのレコードに係るデータが選択された場合に、当該1つのレコードに含まれている第3のフィールドのデータをさらに出力するステップ(e)と、
を具備する検索方法。
【請求項5】
記憶装置に格納されたデータテーブルにアクセス可能な検索システムにおいて検索を行うための検索プログラムであって、
検索キー及び検索対象情報を含む検索要求を受け付けるステップ(a)と、
仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第1のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを表示項目として含む第2のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを戻り値として含む第3のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段から、ステップ(a)において受け付けた検索対象情報に対応付けられた仮想テーブル定義情報を取得するステップ(b)と、
ステップ(a)において受け付けた検索キーを用いて、ステップ(b)において取得された仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第1のフィールドのデータの検索を実行するステップ(c)と、
前記検索の結果として抽出された少なくとも1つのレコードに含まれている第2のフィールドのデータを出力するステップ(d)と、
前記検索の結果として複数のレコードが抽出されて、ステップ(d)において出力された複数のレコードに係るデータの内から1つのレコードに係るデータが選択された場合に、当該1つのレコードに含まれている第3のフィールドのデータをさらに出力するステップ(e)と、
をコンピュータに実行させる検索プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベース内のデータを検索する検索システムに関し、さらに、検索方法及び検索プログラムに関する。
【背景技術】
【0002】
企業において使用される業務用コンピュータシステムにおいて、データの入力支援のために検索機能を付加することが求められる場合がある。例えば、7桁の郵便番号を入力するために、オペレータが入力したい郵便番号の最初の3桁をタイプするだけで、当該3桁が一致する郵便番号のリストを端末上に表示する機能が求められる場合がある。このような検索機能に加えて、当該リストの中から、入力したい郵便番号をオペレータが選択すれば、残りの4桁をタイプしなくても、7桁の郵便番号が入力されるという機能も求められる場合がある。
【0003】
上述のような検索機能は、ユーザである企業によって、さらにはオペレータによって、様々なニーズが存在する。例えば、上述の郵便番号を入力するために、オペレータが入力したい郵便番号に対応する「住所」の一部をタイプするだけで、当該住所の一部が一致する郵便番号のリストを端末に表示する機能が求められる場合もある。また例えば、上述の郵便番号を入力するために、オペレータが入力したい郵便番号に対応する住所の「読み仮名」の一部をタイプするだけで、当該住所の読み仮名の一部が一致する郵便番号のリストを端末に表示する機能が求められる場合もある。
【0004】
従来、検索機能の多様なニーズに対応するために、個々のニーズに合わせてプログラムを個別開発する必要があった。
このため、検索項目が多ければ多いほど開発コストが膨大となる可能性があった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平9−305611号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで本発明は、多様な検索ニーズにも低コストで対応できる検索システム、検索方法及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明の1つの観点に係る検索システムは、記憶装置に格納されたデータテーブルにアクセス可能な検索システムであって、検索キー及び検索対象情報を含む検索要求を受け付ける受付手段と、仮想テーブルの各レコードが、前記データテーブルの各レコードに含まれている複数のフィールドのデータを検索項目として含む第1のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを表示項目として含む第2のフィールドと、前記データテーブルの各レコードに含まれている少なくとも1つのフィールドのデータを戻り値として含む第3のフィールドとを含むように前記仮想テーブルを定義する仮想テーブル定義情報を検索対象情報に対応付けて格納する格納手段と、前記受付手段が受け付けた検索キーを用いて、前記受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って定義される仮想テーブルにおいて複数のレコードに含まれている第1のフィールドのデータの検索を実行する検索手段と、前記検索の結果として抽出された少なくとも1つのレコードに含まれている第2のフィールドのデータを出力すると共に、前記検索の結果として複数のレコードが抽出されて、出力された複数のレコードに係るデータの内から1つのレコードに係るデータが選択された場合に、当該1つのレコードに含まれている第3のフィールドのデータをさらに出力する出力手段とを具備する。

【発明の効果】
【0008】
本発明の1つの観点によれば、受付手段が受け付けた検索対象情報に対応付けられた仮想テーブル定義情報に従って、データテーブルの複数のフィールドのデータが仮想テーブルの第1のフィールドに含まれるように仮想テーブルを定義し、この仮想テーブルに対して検索を実行するようにしたことにより、多様な検索ニーズに対しても、仮想テーブルの定義を変更することによって対応することができる。従って、多様な検索ニーズにも低コストで対応することができる。

【図面の簡単な説明】
【0009】
図1】本発明の一実施形態に係る検索システムを概略的に示すブロック図である。
図2】第1の実施例において、記憶装置に格納されたデータテーブルのデータ構成例を示す図である。
図3】第1の実施例において、仮想テーブルを定義した情報の例を示す図である。
図4】第1の実施例において、仮想テーブルの例を示す図である。
図5】第1の実施例において、検索結果の例を示す図である。
図6】第2の実施例において、記憶装置に格納されたデータテーブルのデータ構成例を示す図である。
図7】第2の実施例において、仮想テーブルを定義した情報の例を示す図である。
図8】第2の実施例において、仮想テーブルの例を示す図である。
図9】第2の実施例において、検索結果の例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態に係る検索システムについて、図面を参照しながら詳しく説明する。
【0011】
<1.検索システムの構成>
図1は、本発明の一実施形態に係る検索システムを概略的に示すブロック図である。図1に示す検索システムは、クライアント端末10に接続されたアプリケーションサーバ20と、アプリケーションサーバ20に接続されたデータベースサーバ30と、を含んでいる。クライアント端末10、アプリケーションサーバ20、データベースサーバ30は、いずれも、CPU、メモリ、記憶装置等を備えたコンピュータ装置である。
【0012】
なお、ここでは、検索システムは、複数のコンピュータ装置を含むものとして図示したが、これらのコンピュータ装置の機能が1台のコンピュータ装置に組み込まれていても良い。
【0013】
クライアント端末10は、入力装置11と、検索要求部12と、検索結果受信部16と、表示装置17と、を備えている。入力装置11は、検索条件(検索キーW、検索対象x1)を入力するキーボードやマウス等を含んでいる。検索要求部12は、入力装置11によって入力された検索条件を含む検索要求を作成し、アプリケーションサーバ20に送信する機能を有している。検索結果受信部16は、アプリケーションサーバ20から検索結果を受信する機能を有している。表示装置17は、入力装置11によって入力された検索条件等の入力データや、検索結果受信部16によって受信した検索結果のデータを表示するディスプレイ装置を含んでいる。
【0014】
アプリケーションサーバ20は、検索要求受付部22と、検索要求部23と、検索結果受信部25と、検索結果出力部26と、を備えている。検索要求受付部22は、クライアント端末10からの検索要求を受付ける機能を有している。検索要求部23は、検索要求受付部22によって受付けた検索要求に基づいて、検索条件(検索キーW、仮想テーブルの定義情報X)を含む検索要求を作成し、この作成した検索要求をデータベースサーバ30に送信する機能を有している。検索結果受信部25は、データベースサーバ30から検索結果を受信する機能を有している。検索結果出力部26は、検索結果受信部25によって受信した検索結果(出力テーブルZ)の少なくとも一部をクライアント端末10に出力する機能を有している。
【0015】
データベースサーバ30は、検索要求受付部33と、検索部34と、検索結果出力部35と、を備えている。検索要求受付部33は、アプリケーションサーバ20からの検索要求を受付ける機能を有している。検索部34は、検索要求受付部33によって受付けた検索要求に基づき、検索キーWを用いて仮想テーブルYの検索を実行し、検索結果(出力テーブルZ)を作成する機能を有している。検索結果出力部35は、検索部34によって作成された検索結果をアプリケーションサーバ20に出力する機能を有している。
【0016】
仮想テーブルYは、定義情報Xに従って定義されるテーブルである。仮想テーブルYのデータは、そのまま実存のデータとして格納されているのではなく、実存のデータとしては、データベースサーバ30に接続された記憶装置40に、各種データテーブル41〜43が格納されている。仮想テーブルYは、定義情報Xに従って、データテーブル41〜43(実存テーブル)のデータを眺めたものである。定義情報Xは、データテーブル41〜43の見方を定義したものと言える。
【0017】
<2.検索システムの動作>
まず、図1に示すように、クライアント端末10は、入力装置11によって入力された検索条件(検索キーW、検索対象x1)を含む検索要求を、アプリケーションサーバ20に送信し、アプリケーションサーバ20はこれを受付ける(S1)。
【0018】
次に、アプリケーションサーバ20は、クライアント端末10から受付けた検索要求に基づいて、検索条件(検索キーW、仮想テーブルの定義情報X)を含む検索要求を作成し、この作成した検索要求をデータベースサーバ30に送信する(S2)。仮想テーブルの定義情報Xは、検索対象x1に対応付けられて、アプリケーションサーバ20の記憶装置に格納されている。
【0019】
次に、データベースサーバ30は、アプリケーションサーバ20から受付けた検索要求に基づき、検索キーWを用いて仮想テーブルYの検索を実行し、検索結果(出力テーブルZ)を作成する(S3)。仮想テーブルYは、定義情報Xに従って定義されている。
【0020】
定義情報Xの具体的な例については後述するが、定義情報Xは、仮想テーブルYにおいて2つのフィールド(Y1、Y2)を定義してもよい。そして、データベースサーバ30は、そのうちの1つのフィールド(Y1)における検索を実行し、当該検索の結果として抽出されたレコードに含まれる第2のフィールド(Y2)を用いて出力テーブルZを作成してもよい。
また、定義情報Xは、仮想テーブルYにおいて少なくとも3つのフィールド(Y1、Y2、Y3、…)を定義してもよい。そして、データベースサーバ30は、そのうちの1つのフィールド(Y1)における検索を実行し、当該検索の結果として抽出されたレコードに含まれる残りのフィールド(Y2、Y3、…)を用いて出力テーブルZを作成してもよい。
【0021】
次に、データベースサーバ30は、作成した検索結果(出力テーブルZ)をアプリケーションサーバ20に出力する(S4)。
次に、アプリケーションサーバ20は、データベースサーバ30から受信した検索結果(出力テーブルZ)の少なくとも一部をクライアント端末10に出力する(S5)。また、出力テーブルZの一部をクライアント端末10に出力した後、クライアント端末10において新たな検索キーWが入力された場合は、上述のS1〜S5の処理を繰り返す。
【0022】
なお、出力テーブルZの各レコードが少なくとも2つのフィールド(Z2、Z3)を有する場合、アプリケーションサーバ20は、各レコードに含まれる1つのフィールド(Z2)のデータをクライアント端末10に出力してもよい。そして、クライアント端末10において出力テーブルZの1つのレコードが選択され、その選択された情報がアプリケーションサーバ20に送られてきた場合に、アプリケーションサーバ20は、当該選択されたレコードのもう1つのフィールド(Z3)のデータをクライアント端末10に出力してもよい。
また、出力テーブルZの各レコードが少なくとも2つのフィールド(Z2、Z4)を有する場合、アプリケーションサーバ20は、各レコードに含まれる少なくとも2つのフィールド(Z2、Z4)のデータをクライアント端末10に出力してもよい。
【0023】
<3.第1の実施例>
次に、図2図5を参照しながら第1の実施例について説明する。第1の実施例は、オペレータが7桁の郵便番号を入力するための入力支援に用いられる検索機能に関係している。第1の実施例は、郵便番号の一部、郵便番号に対応する住所の一部、或いは住所の読み仮名の一部を、オペレータがタイプするだけで、該当する郵便番号の一覧を出力するものである。
【0024】
<3−1.データテーブル41>
図2は、第1の実施例において、記憶装置40に格納されたデータテーブルのデータ構成例を示す図である。第1の実施例においては、記憶装置40に格納されたデータテーブル41が用いられる。
【0025】
図2に示すデータテーブル41は郵便番号のデータテーブルであり、1つのレコードにつき1つの郵便番号のデータが格納されている。データテーブル41の各レコードは、郵便番号の「最初の3桁」を格納するフィールドaと、郵便番号の「最後の4桁」を格納するフィールドbと、郵便番号に対応する「住所」を格納するフィールドcと、郵便番号に対応する住所の「読み仮名」を格納するフィールドdと、を有する。
【0026】
第1の実施例においては、上述のデータテーブル41を利用して、検索対象である「郵便番号」を得るために「住所」等を検索キーとした検索ができるように、検索システムを構成する。
【0027】
<3−2.仮想テーブルの定義情報X>
図3は、第1の実施例において、仮想テーブルを定義した情報の例を示す図である。仮想テーブルの定義情報Xは、アプリケーションサーバ20の記憶装置に格納されており、検索要求部23によって、検索要求とともにデータベースサーバ30に送られる。図3に示すように、検索対象x1が「郵便番号」である場合に、仮想テーブルYの各レコードの「検索項目」のフィールドには、データテーブル41の郵便番号の「最初の3桁」のフィールドa、郵便番号の「最後の4桁」のフィールドb、郵便番号に対応する「住所」のフィールドc、及び郵便番号に対応する住所の「読み仮名」のフィールドdのデータが含まれるように、仮想テーブルYが定義される。
【0028】
また、定義情報Xにおいて、仮想テーブルYの各レコードの「表示項目」のフィールドには、データテーブル41のフィールドa、b及びcのデータが含まれるように、仮想テーブルYが定義される。また、仮想テーブルYの「戻り値」のフィールドには、データテーブル41のフィールドa及びbのデータが含まれるように、仮想テーブルYが定義される。また、仮想テーブルYの「情報」のフィールドには、「住所」という文字列が含まれるように、仮想テーブルYが定義される。
【0029】
<3−3.仮想テーブルY>
図4は、第1の実施例において、仮想テーブルの例を示す図である。仮想テーブルYの各レコードは、図2に示したデータテーブル41の各レコードに対応している。仮想テーブルYの各レコードは、図3に示した仮想テーブルの定義情報Xに従い、「検索項目」のフィールドY1と、「表示項目」のフィールドY2と、「戻り値」のフィールドY3と、「情報」のフィールドY4とを含んでいる。
【0030】
「検索項目」のフィールドY1には、データテーブル41の郵便番号の「最初の3桁」、郵便番号の「最後の4桁」、郵便番号に対応する「住所」、及び郵便番号に対応する住所の「読み仮名」が、互いにハイフン又はスペース等の区切り文字で区切られた文字列のデータとして含まれている。
【0031】
「表示項目」のフィールドY2には、データテーブル41の郵便番号の「最初の3桁」、郵便番号の「最後の4桁」、及び郵便番号に対応する「住所」が、互いにハイフン又はスペース等の区切り文字で区切られた文字列のデータとして含まれている。
「戻り値」のフィールドY3には、データテーブル41の郵便番号の「最初の3桁」及び郵便番号の「最後の4桁」が含まれている。
「情報」のフィールドY4には、「住所」という文字列が含まれている。
【0032】
<3−4.出力テーブルZ>
図5は、第1の実施例において、検索結果の例を示す図である。
図5(A)は、出力テーブルZの例を示している。図5(A)に示す出力テーブルZは、検索部34が、検索キーWを「札幌 十条」とし、仮想テーブルYの「検索項目」のフィールドY1を検索した結果を示している。
【0033】
図5(A)に示すように、出力テーブルZにおいては、図4に示す仮想テーブルYのうち「検索項目」のフィールドY1に「札幌」「十条」という2つの検索キーWが含まれるレコードすべて(第2及び第12レコード)を抽出している。出力テーブルZの各レコードは、仮想テーブルYのフィールドY2に相当する「表示項目」のフィールドZ2と、仮想テーブルYのフィールドY3に相当する「戻り値」のフィールドZ3と、仮想テーブルYのフィールドY4に相当する「情報」のフィールドZ4とを含んでいる。なお、出力テーブルZには、仮想テーブルYのフィールドY1に相当する「検索項目」のフィールドは含まれていなくてもよい。出力テーブルZは、検索結果出力部35からアプリケーションサーバ20に出力される。
【0034】
<3−5.検索画面>
図5(B)及び図5(C)は、クライアント端末10の表示装置17に出力される検索画面の一部を示している。図5(B)の画面171に示すように、検索対象x1「郵便番号」の表示位置の右側に表示された入力欄に、オペレータが検索キーWとして「札幌 十条」と入力すると、住所に「札幌」及び「十条」の文字列を含む郵便番号及び住所の一覧が表示される。
【0035】
具体的には、入力装置11を用いて入力された検索キーW「札幌 十条」の情報と、その画面における入力位置からクライアント端末10が判定した検索対象x1(郵便番号)の情報とが、アプリケーションサーバ20に送られる(S1)。そして、アプリケーションサーバ20から、検索キーWの情報と、検索対象x1に対応付けられた定義情報Xの情報とが、データベースサーバ30に送られる(S2)。さらに、データベースサーバ30において、検索キーWを用いて仮想テーブルYの検索が行われる(S3)。データベースサーバ30において作成された出力テーブルZはアプリケーションサーバ20に出力され(S4)、出力テーブルZの各レコードに含まれる「表示項目」のフィールドZ2のデータが、アプリケーションサーバ20からクライアント端末10に送られ(S5)、画面171に表示される。
【0036】
併せて、出力テーブルZの「情報」のフィールドZ4のデータ(住所)が画面171に表示されるようにすれば、オペレータは、「住所」を入力欄に入力すれば検索結果が絞り込めることを理解できる。
なお、画面171の入力欄に何も入力しなくても、入力欄にカーソルを移動させただけで、上述のS1〜S5に従って「検索キーなし」の検索を行い、「情報」のフィールドZ4のデータが表示されるようにしてもよい。
【0037】
オペレータは、画面171に表示された「表示項目」のフィールドZ2のデータの中から、入力したい郵便番号をマウスポインタ111で選択することができる。図5(B)に示すように、「001-0010 北海道札幌市北区北十条西」がマウスポインタ111で選択された場合には、図5(C)に示す画面172に遷移する。画面172において、郵便番号の入力欄には、図5(B)において選択されたレコードに含まれる「戻り値」のフィールドZ3のデータ(すなわち、「0010010」)が表示される。
【0038】
具体的には、「001-0010 北海道札幌市北区北十条西」がマウスポインタ111で選択されたことを示す情報がアプリケーションサーバ20に送られる。そして、アプリケーションサーバ20に存在する出力テーブルZの該当レコードのうち、「戻り値」のフィールドZ3のデータがクライアント端末10に送られ、画面172に表示される。
以上のようにして、郵便番号が検索され、クライアント端末10の表示装置17に出力される。
【0039】
<4.第2の実施例>
次に、図6図9を参照しながら第2の実施例について説明する。第2の実施例は、オペレータが企業の担当者コードを入力するための入力支援に用いられる検索機能に関係している。第2の実施例は、担当者コードの一部、担当者名の一部、或いは担当者の所属部門名の一部を、オペレータがタイプするだけで、該当する担当者コードの一覧を出力するものである。
【0040】
<4−1.データテーブル42、43>
図6は、第2の実施例において、記憶装置40に格納されたデータテーブルのデータ構成例を示す図である。第2の実施例においては、記憶装置40に格納された2つのデータテーブル42及び43が用いられる。
【0041】
図6(A)に示す第1のデータテーブル42は担当者のデータテーブルであり、1つのレコードにつき1人の担当者のデータが格納されている。第1のデータテーブル42の各レコードは、「会社コード」を格納するフィールドaと、「担当者コード」を格納するフィールドbと、「担当者名」を格納するフィールドcと、「部門コード」を格納するフィールドdと、を有する。
【0042】
図6(B)に示す第2のデータテーブル43は会社の部門のデータテーブルであり、1つのレコードにつき1つの部門のデータが格納されている。第2のデータテーブル43の各レコードは、「会社コード」を格納するフィールドeと、「部門コード」を格納するフィールドfと、「部門名」を格納するフィールドgと、を有する。
【0043】
第2の実施例においては、上述の2つのデータテーブル42及び43を利用して、検索対象である「担当者コード」を得るために「部門名」等を検索キーとした検索ができるように、検索システムを構成する。
【0044】
<4−2.仮想テーブルの定義情報X>
図7は、第2の実施例において、仮想テーブルを定義した情報の例を示す図である。仮想テーブルの定義情報Xは、アプリケーションサーバ20の記憶装置に格納されており、検索要求部23によって、検索要求とともにデータベースサーバ30に送られる。図7に示すように、検索対象x1が「担当者コード」である場合に、仮想テーブルYの各レコードの「検索項目」のフィールドには、第1のデータテーブル42の「担当者コード」のフィールドb及び「担当者名」のフィールドcのデータと、第2のデータテーブル43の「部門名」のフィールドgのデータとが含まれるように、仮想テーブルYが定義される。
【0045】
さらに、第1のデータテーブル42と第2のデータテーブル43とを結合するにあたって、以下の規則が定義される。すなわち、第1のデータテーブル42の1つのレコードに含まれる「部門コード」(フィールドd)のデータに、第2のデータテーブル43のいずれかのレコードに含まれる「部門コード」(フィールドf)のデータが一致する場合に、第1のデータテーブル42の当該レコードに、第2のデータテーブル43の当該レコードを関連付ける。
【0046】
また、定義情報Xにおいて、仮想テーブルYの各レコードの「表示項目」のフィールドには、第1のデータテーブル42のフィールドb及びcのデータが含まれるように、仮想テーブルYが定義される。また、仮想テーブルYの「戻り値」のフィールドには、第1のデータテーブル42のフィールドbのデータが含まれるように、仮想テーブルYが定義される。また、仮想テーブルYの「情報」のフィールドには、「担当者CD、担当者名、部門名」という文字列が含まれるように、仮想テーブルYが定義される。
【0047】
<4−3.仮想テーブルY>
図8は、第2の実施例において、仮想テーブルの例を示す図である。仮想テーブルYの各レコードは、図6(A)に示した第1のデータテーブル42の各レコードに対応している。仮想テーブルYの各レコードは、図7に示した仮想テーブルの定義情報Xに従い、「検索項目」のフィールドY1と、「表示項目」のフィールドY2と、「戻り値」のフィールドY3と、「情報」のフィールドY4とを含んでいる。
【0048】
「検索項目」のフィールドY1には、第1のデータテーブル42の「担当者コード」及び「担当者名」と、第2のデータテーブル43の「部門名」とが、互いにスペース等の区切り文字で区切られた文字列のデータとして含まれている。
【0049】
例えば、第1のデータテーブル42の第1レコード(TAN344 一嶺俊明)には、部門コード「001」が格納されているので、第2のデータテーブル43において部門コード「001」が格納された第1レコード(マーケティンググループ)に関連付けられる。その結果、仮想テーブルYの第1レコードの「検索項目」のフィールドY1には、「TAN344 一嶺俊明 マーケティンググループ」という文字列が含まれる。第2レコード以下においても、それぞれ、部門コードの一致によって関連付けられた第1のデータテーブル42及び第2のデータテーブル43の各レコードのデータが含まれる。
【0050】
「表示項目」のフィールドY2には、第1のデータテーブル42の「担当者コード」及び「担当者名」が、互いにスペース等の区切り文字で区切られた文字列のデータとして含まれている。
「戻り値」のフィールドY3には、第1のデータテーブル42の「担当者コード」が含まれている。
「情報」のフィールドY4には、「担当者CD、担当者名、部門名」という文字列が含まれている。
【0051】
<4−4.出力テーブルZ>
図9は、第2の実施例において、検索結果の例を示す図である。
図9(A)は、出力テーブルZの例を示している。図9(A)に示す出力テーブルZは、検索部34が、検索キーWを「マーケティング」とし、仮想テーブルYの「検索項目」のフィールドY1を検索した結果を示している。
【0052】
図9(A)に示すように、出力テーブルZにおいては、図8に示す仮想テーブルYのうち「検索項目」のフィールドY1に「マーケティング」という検索キーWが含まれるレコードすべて(第1、第2、第3及び第7レコード)を抽出している。出力テーブルZの各レコードは、仮想テーブルYのフィールドY2に相当する「表示項目」のフィールドZ2と、仮想テーブルYのフィールドY3に相当する「戻り値」のフィールドZ3と、仮想テーブルYのフィールドY4に相当する「情報」のフィールドZ4とを含んでいる。なお、出力テーブルZには、仮想テーブルYのフィールドY1に相当する「検索項目」のフィールドは含まれていなくてもよい。出力テーブルZは、検索結果出力部35からアプリケーションサーバ20に出力される。
【0053】
<4−5.検索画面>
図9(B)及び図9(C)は、クライアント端末10の表示装置17に出力される検索画面の一部を示している。図9(B)の画面171に示すように、検索対象x1「担当者コード」の表示位置の右側に表示された入力欄に、オペレータが検索キーWとして「マーケティング」と入力すると、部門名に「マーケティング」の文字列を含む「担当者コード」及び「担当者名」の一覧が表示される。
【0054】
具体的には、入力装置11を用いて入力された検索キーW「マーケティング」の情報と、その画面における入力位置からクライアント端末10が判定した検索対象x1(担当者コード)の情報とが、アプリケーションサーバ20に送られる(S1)。そして、アプリケーションサーバ20から、検索キーWの情報と、検索対象x1に対応付けられた定義情報Xの情報とが、データベースサーバ30に送られる(S2)。さらに、データベースサーバ30において、検索キーWを用いて仮想テーブルYの検索が行われる(S3)。データベースサーバ30において作成された出力テーブルZはアプリケーションサーバ20に出力され(S4)、出力テーブルZの各レコードに含まれる「表示項目」のフィールドZ2のデータが、アプリケーションサーバ20からクライアント端末10に送られ(S5)、画面171に表示される。
【0055】
併せて、出力テーブルZの「情報」のフィールドZ4のデータ(担当者コード、担当者名、部門名)が画面171に表示されるようにすれば、オペレータは、「担当者コード、担当者名、部門名」のいずれかを入力欄に入力すれば検索結果が絞り込めることを理解できる。
なお、画面171の入力欄に何も入力しなくても、入力欄にカーソルを移動させただけで、上述のS1〜S5に従って「検索キーなし」の検索を行い、「情報」のフィールドZ4のデータが表示されるようにしてもよい。
【0056】
オペレータは、画面171に表示された「表示項目」のフィールドZ2のデータの中から、入力したい担当者名をマウスポインタ111で選択することができる。図9(B)に示すように、「TAN349 三村紗希」がマウスポインタ111で選択された場合には、図9(C)に示す画面172に遷移する。画面172において、「担当者コード」の入力欄には、図9(B)において選択されたレコードに含まれる「戻り値」のフィールドZ3のデータ(すなわち、「TAN349 三村紗希」の担当者コード)が表示される。
【0057】
具体的には、「TAN349 三村紗希」がマウスポインタ111で選択されたことを示す情報がアプリケーションサーバ20に送られる。そして、アプリケーションサーバ20に存在する出力テーブルZの該当レコードのうち、「戻り値」のフィールドZ3のデータがクライアント端末10に送られ、画面172に表示される。
以上のようにして、担当者コードが検索され、クライアント端末10の表示装置17に出力される。
【0058】
<5.実施形態による効果>
本実施形態によれば、データテーブルの複数のフィールドb、c等のデータを仮想テーブルYの1つのフィールドY1(検索項目)が含むように、仮想テーブルYが定義される。従って、仮想テーブルYの1つのフィールドY1を検索すれば、データテーブルの複数のフィールドb、c等を検索することができる。そして、データテーブルの検索しようとするフィールドb、c等を増減したい場合には、定義情報Xにおいて仮想テーブルYの1つのフィールドY1の定義を変更するだけで済む。
【0059】
また、本実施形態によれば、仮想テーブルYにおいて、上記1つのフィールドY1とは別に、第2のフィールドY2(表示項目)を定義し、検索結果として抽出されたレコードから、この第2のフィールドY2のデータ(出力テーブルZのフィールドZ2のデータ)を出力する。このように、検索項目とは別に、検索結果の表示項目を設定できる。このような「表示項目」を変更したい場合も、同様に定義情報Xを変更するだけで済む。
【0060】
また、本実施形態によれば、仮想テーブルYにおいて、上記1つのフィールドY1及び第2のフィールドY2とは別に、第3のフィールドY3(戻り値)を定義する。そして、検索結果として第2のフィールドY2のデータが表示された複数のレコードの中から、特定のレコードが選択された場合に、当該レコードの第3のフィールドY3のデータ(出力テーブルZのフィールドZ3のデータ)をさらに出力する。このように、検索項目及び表示項目とは別に、戻り値を設定できる。このような「戻り値」を変更したい場合も、同様に定義情報Xを変更するだけで済む。
【0061】
従って、本実施形態によれば、ユーザの多様なニーズにも、容易に対応することができる。
【符号の説明】
【0062】
10…クライアント端末、11…入力装置、12…検索要求部、16…検索結果受信部、17…表示装置、20…アプリケーションサーバ、22…検索要求受付部、23…検索要求部、25…検索結果受信部、26…検索結果出力部、30…データベースサーバ、33…検索要求受付部、34…検索部、35…検索結果出力部、40…記憶装置、41、42、43…データテーブル、111…マウスポインタ、171、172…画面、W…検索キー、x1…検索対象、X…定義情報、Y…仮想テーブル、Z…出力テーブル、Z2…表示項目、Z3…戻り値、Z4…情報
図1
図2
図3
図4
図5
図6
図7
図8
図9