以下、図面を参照して、本発明の実施の形態の一例について説明する。図1は、本発明の情報処理システムのシステム構成の一例を示す図である。
図中、101はデータベースサーバであって、後述するクライアント装置102−1乃至102−3(以下、まとめてクライアント装置102とする)から受け付けた検索要求に従ってデータベース内のデータを検索するサーバ装置である。また、検索処理の結果を、検索要求を行ったクライアント装置102に対して送信する。
102−1乃至102−3はクライアント装置であって、ユーザの操作指示に従って、データベースサーバ101がデータベース検索を行う際の用いる検索式(クエリ式)データを作成し、該検索式データをデータベースサーバ101に対して送信することにより、データベースサーバ101に対してデータベースの検索要求を行う。
103はLAN(Local Area Network)等のネットワークであって、データベースサーバ101、及びクライアント装置102を相互に通信可能に接続するためのネットワークである。尚、接続形態は有線/無線を問わない。以上が本発明の情報処理システムのシステム構成の一例である。
次に、図2を参照して、図1のデータベースサーバ101及びクライアント装置102に適用可能な情報処理装置のハードウェア構成の一例について説明する。
図中、CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、データベースサーバ101に後述する各種の処理を実行させるために必要な各種プログラムやデータ等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで後述する各種処理を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。ビデオコントローラ(VC)206は、ディスプレイ装置210等の表示装置への表示を制御する。ディスプレイ装置210は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が、データベースサーバ101に適用可能な情報処理装置のハードウェア構成の説明であるが、後述する各種の処理を実行可能であれば、必ずしも図2に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
また、本発明を実現するための後述するフローチャートに示す各ステップの処理は、コンピュータで読み取り実行可能なプログラムによる制御に従って、データベースサーバ101及びクライアント装置102のCPU201が実行する。そのプログラムは外部メモリ211に記録されている。そして、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を参照して、本発明における、データ検索に用いる検索式の表示方法について説明する。図3に示す通り、本発明では、検索式を階層構造で表現する。階層構造の親子関係は検索式のAND結合を、兄弟関係は検索式のOR条件を示している。例えば図中のAとBはAND条件、BとDはOR条件を示している。
図3では、(A&(B&C|D&E))|(F&(G|H&I|J))|K)(「&」:AND結合、「|」:OR結合)という検索式を表現している。
次に、図4を参照して、クライアント装置102によって行われる処理の概要について説明する。本処理をクライアント装置102のCPU201に実行させるためのプログラムは外部メモリ211に記憶されており、CPU201は必要に応じて、外部メモリ211から当該プログラムをRAM202にロードし、ロードしたプログラムの制御に従って本処理を実行することになる。
まず、CPU201は、ディスプレイ装置210に図11に示す検索式作成画面1100を表示する(ステップS401)。そして、この検索式作成画面1100を介してユーザからの操作指示を受け付けることになる。ここでユーザから受け付ける操作には、データテーブルの指定、保存検索式の取得指示、検索式作成・変更指示、検索結果表示方法変更指示、検索指示、検索式保存指示、終了指示などがある。
ここで、図11を参照して、図4のステップS401でクライアント装置102のディスプレイ装置210に表示される検索式作成画面1100の構成の一例について説明する。
図11に示す通り、検索式作成画面1100は、データテーブル指定部1101、データ構造表示部1102、検索式作成・表示部1103、部分検索式作成・表示部1104、表示項目指定部1105、検索式取得ボタン1106、検索ボタン1107、上書き保存ボタン1108、別名で保存ボタン1109、終了ボタン1110等を備えて構成されている。
データテーブル指定部1101は、検索を行う対象とするデータテーブルの指定を受け付ける指定受付部である。データ構造表示部1102は、データテーブル指定部1101で指定されたデータテーブルのデータ構造を表示する表示部である。
検索式作成・表示部1103は、ユーザの操作指示に基づく検索式の作成指示を受け付けるとともに、作成した検索式の構造を階層構造で表示する。部分条件式作成部1104は、検索式に追加可能な部分的な検索条件である部分検索式の作成指示を受け付けるとともに、作成された部分検索式を表示する。
表示項目指定部1105は、データベース検索を行った結果表示する項目とその表示順の指定指示を受け付けるとともに、その情報を表示する。
検索式取得ボタン1106は、データベースサーバ101で記憶管理されている検索式を取得するために用いられるボタンである。検索ボタン1107は、検索式作成・表示部1103に表示されている検索式を用いた検索処理をデータベースサーバに実行させるために用いられるボタンである。
上書き保存ボタン1108、別名で保存ボタン1109は、作成した検索式をデータベースサーバに保存するために用いられるボタンである。終了ボタン1110は本画面を用いての検索処理を終了するために用いられるボタンである。以上が、図11の検索式作成画面1100の説明である。
図4の説明に戻る。クライアント装置102のCPU201は、検索式作成画面1100を介してデータテーブルの指定を受け付けると(ステップS402でYES)、データテーブル構造取得処理を行う(ステップS403)。この処理の詳細については、図5を参照して後述することにする。
また、クライアント装置102のCPU201は、保存検索式取得指示を受け付けると、(ステップS404でYES)、保存検索式取得処理を行う。この処理の詳細については、図6を参照して後述することにする。
また、クライアント装置102のCPU201は、検索式作成・変更処理を受け付けると(ステップS406でYES)、検索式作成・変更処理を行う(ステップS407)。この処理の詳細については、図7を参照して後述することにする。
また、クライアント装置102のCPU201は、検索結果表示方法変更指示を受け付けると(ステップS408でYES)、表示情報設定処理を行う(ステップS409)。この処理の詳細について、図8を参照して後述することにする。
また、クライアント装置102のCPU201は、検索指示を受け付けると(ステップS410でYES)、検索処理を行う(ステップS411)。この処理の詳細については、図9を参照して後述することにする。
また、クライアント装置102のCPU201は、検索式保存指示を受け付けると(ステップS412でYES)、検索式保存処理を行う(ステップS413)。この処理の詳細については、図10を参照して後述することにする。
そして、上記の処理を、検索式作成画面1100の終了ボタン1110が謳歌されることにより入力される終了指示を受け付けたとCPU201が判定するまで繰り返し行うことになる。以上がクライアント装置102のCPU201が行う処理の概要である。
次に、図5を参照して、図4のステップS403のデータテーブル構造取得処理の詳細について説明する。この処理は、図11に示す検索式作成画面1100中のデータテーブル指定部1101に対する入力指示を受け付けることにより検索対象とするデータテーブルの指定が行われた場合に行われる処理である。
まず、クライアントPC102のCPU201は、データテーブル指定部1101で指定されたデータテーブルのデータテーブルIDをサーバ装置101に対して送信することで、当該データテーブルのデータ構造情報の取得要求を行う(ステップS501)。
サーバ装置101のCPU201は、クライアント装置101からのデータテーブルのデータ構造取得要求を受信すると(ステップS502)、図22に示すデータ構造テーブルを検索することで、指定されたデータテーブルのデータ構造情報を取得し(ステップS503)、取得したデータ構造情報を、データ構造情報の取得要求を行ってきたクライアントPC102に対して送信する(ステップS504)。
そしてクライアント装置102はサーバ装置101から送信されたデータ構造情報を受信すると(ステップS505)、受信したデータ構造情報に基づいて、検索式作成画面1100のデータ構造表示部1102に指定されたデータテーブルのデータ構造を表示する(ステップS506)。以上が、図4のステップS403のデータテーブル構造情報取得処理の詳細な説明である。
ここで、図23を参照して、データ構造テーブル2300のデータ構成について説明する。図23に示す通り、データ構造テーブルは、データテーブルID2301、データテーブル名2302、及びデータ構造ファイル2303のデータ構成の一例を示す図である。
データテーブルID2301には、データテーブルを一意に識別するための識別情報が登録される。データテーブル名2302には、データテーブルの名称が登録される。データ構造ファイル2303には、当該レコードが示すデータテーブルのデータ構造が定義されたファイルのファイル名が登録される。当該ファイルには図25に示すように、タグ情報でデータの階層構造が定義されている。
次に、図6を参照して、図4のステップS405の保存検索式取得処理の詳細について説明する。この処理は、図11に示す検索式作成画面1100中の検索式取得ボタン1106の押下指示を受け付けることにより入力される保存検索式取得指示を受け付けた場合に行われる処理である。
まず、クライアント装置102のCPU201は、保存検索式の一覧要求をサーバ装置に対して行う(ステップS601)。サーバ装置101のCPU201はクライアント装置102からの保存検索式の一覧要求を受信すると(ステップS602)、図22の保存検索式データテーブル2200に登録されている保存検索式データに従って保存検索式データの一覧データを作成し(ステップS603)、作成した保存検索式一覧データの要求を行ってきたクライアント装置102に対して送信する(ステップS604)。
ここで、図21を参照して、サーバ装置101の外部メモリ211に記憶されている保存検索式データテーブル2100のデータ構成について説明する。図21に示す通り、保存検索式データテーブル2100は、検索ID2101、名称2102、対象データテーブルID2303等のデータ項目を備えて構成されている。
検索ID2101には、保存検索式を一意に識別するための識別情報が登録される。名称2102には、ユーザによって当該検索式保存指示時に指定された名称が登録される。対象データテーブルIDには、当該保存検索式が検索の対象としているデータテーブルを特定するためのデータテーブルIDが登録される。以上が、図21の保存検索式データテーブルの構成の一例である。
図6の説明に戻る。ステップS604でサーバ装置101から送信された保存検索式一覧データを受信すると(ステップS605)、クライアント装置102のCPU201は、当該保存検索式一覧データに含まれる保存検索式から、呼び出しの対象とする保存検索式の指定を受け付ける(ステップS606)。そして、指定を受け付けた保存検索式を特定するための識別情報(検索ID)を送信することで、サーバ装置101に対して当該保存検索式の詳細条件データの一覧を要求する(ステップS607)。
サーバ装置101のCPU201は、クライアント装置102から詳細条件データの一覧要求を受信すると(ステップS608)、外部メモリ211に記憶されている保存検索式詳細条件データテーブルを検索することで、ステップS606で指定を受け付けた保存検索式の詳細条件データを取得する(ステップS609)。そしてステップS609で取得した詳細条件データの一覧をクライアント装置102に対して送信する(ステップS610)。
ここで、図22を参照して、サーバ装置101の外部メモリ211に記憶されている保存検索式詳細条件データテーブル2200のデータ構成の一例について説明する。
図22に示す通り、保存検索式詳細条件データテーブル2200は、検索ID2201、部分ID2202、部分条件式2203、親部分ID2204、最下層F(フラグ)2205等のデータ項目を備えて構成されている。
検索ID2201には、当該レコードが示す詳細条件が、いずれの検索式のものであるかを示す検索IDが登録される。部分ID2202には、当該詳細条件を一意に示す識別情報が登録される。部分条件式2203には、当該詳細条件の合致条件が登録される。親部分ID2204には、表示の際に親ノードとなる部分IDの識別情報が登録される。最下層F2205には、当該レコードが表示時に最下層に表示されるものであるか否かを示す情報が登録される。以上が保存検索式詳細条件データテーブル2200のデータ構成の一例の説明である。
図6の説明に戻る。クライアント装置102のCPU201は、サーバ装置101から詳細条件データの一覧を取得すると(ステップS611)、次に表示項目情報の取得要求をサーバ装置101に対して行う(ステップS612)。
サーバ装置101のCPU201は、表示項目情報の取得要求をクライアント装置102から受信すると(ステップS613)、外部メモリ211に記憶されている表示項目データテーブル2400を検索することで当該検索式に対応する表示項目情報を取得し(ステップS614)、取得した表示項目情報をクライアント装置102に対して送信する(ステップS615)。
ここで、図24を参照して、サーバ装置101の外部メモリ211に記憶されている表示項目データテーブル2400のデータ構成の一例について説明する。
図24に示す通り、表示項目データテーブル2400は、データ項目として検索ID2401、表示データ項目2402、表示順2403等を備えて構成されている。
検索ID2401には、当該レコードが示す表示項目データが対応する検索式の検索IDが登録される。表示データ項目2402には、表示項目として指定されたデータ項目の情報が登録される。表示順2403には、当該表示項目の表示順を示す情報が登録される。以上が図24の表示項目データテーブル2400の構成の一例である。
図6の説明に戻る。クライアント装置102のCPU201は、サーバ装置101から表示項目情報を受信すると(ステップS616)、ステップS606で選択した保存検索式が検索対象としているデータテーブルのデータ構造情報の取得要求をサーバ装置101に対して送信する(ステップS617)。
サーバ装置101のCPU201は、クライアント装置101からのデータテーブルのデータ構造取得要求を受信すると(ステップS618)、図22に示すデータ構造テーブルを検索することで、指定されたデータテーブルのデータ構造情報を取得し(ステップS619)、取得したデータ構造情報を、データ構造情報の取得要求を行ってきたクライアントPC102に対して送信する(ステップS620)。
そしてクライアント装置102はサーバ装置101から送信されたデータ構造情報を受信すると(ステップS621)、ステップS611でサーバ装置101より受信した詳細条件データに従って、検索条件式のツリー構造を作成する(ステップS622)。作成後検索式作成画面1100のデータ構造表示部1102にステップS621で受信したデータ構造を、検索式表示部1103にステップS622で作成した検索式のツリー構造を、表示項目指定部1105にステップS616で受信した表示項目情報を表示することで、検索式作成画面を更新する(ステップS623)。
尚、ステップS611で取得した詳細条件データのうち、親部分IDが「−1」と設定されている詳細条件データは、部分条件式作成部1104に表示されることになる。以上が図4のステップS405の保存検索式取得処理の詳細な説明である。
次に、図7を参照して、図4のステップS407の検索式作成、保存処理の詳細について説明する。図7は、この処理は、図11に示すデータ構造表示部1101に表示されているデータ項目の検索式表示部1103や部分検索式作成部1400へのドラッグアンドドロップ処理等により入力される検索式作成・変更指示が入力された場合に行われる処理である。
まず、クライアント装置102のCPU201は、データ構造表示部1102に表示されているデータ項目を検索式表示欄1103にドラッグアンドドロップすることで、検索式作成・変更指示が入力されたかを判定する(ステップS701)。この判定で、YESと判定した場合には、CPU201はドラッグアンドドロップがされたデータ項目、及び当該データ項目がドロップされた箇所に表示されている検索条件を取得する(ステップS702、S703)。そしてその後、図13に示す検索条件入力画面1300を表示し(ステップS704)、表示した検索条件入力画面1300を介して結合条件及び合致条件の入力を受け付ける(ステップS705、S706)。
ここで図13を参照して図7のステップS704で表示される検索条件入力画面1300について説明する。図13は検索条件入力画面1300の構成の一例を示す図である。図13に示すように検索条件入力画面1300は、結合箇所表示部1301、結合条件指定部1302、合致条件指定部1303、OKボタン1304、キャンセルボタン1305が設定されている。
結合箇所表示部1301は、本画面で指定する検索条件の結合箇所を示す情報が表示される。結合条件指定部1302は、結合箇所表示部1301に表示されている結合条件とAND条件で結合するのかそれともOR条件で結合するのかを指定する指定部である。
合致条件指定部1303は、新たに作成する検索条件の合致条件を指定する指定部であって、値入力部1303−1、合致条件記号入力部1303−2、ANDボタン1303−3、ORボタン1303−4が備えられている。
値入力部は1303−1、合致条件の基準となる値を入力するための入力欄である。ここには、データ項目が数値データ項目である場合には数値を、文字列データ項目である場合には文字列情報を、日時データ項目である場合には日時情報の入力を受け付けることになる。例えば、データ項目が数値データ項目や日時データ項目ある場合には、合致条件記号指定部1303−2は数値の場合には、「=」「<=(以上)」、「>=(以下)」等の記号の指定を受け付ける。また、文字列データ項目である場合には、「=(と一致する)」、「*=(から始まる)」、「*=*(を含む)」、「=*(で終わる)」・・・等の選択肢からの選択を受け付ける。
ANDボタン1303−3は、ORボタン1303−4は、合致条件を追加するために用いられるボタンである。例えば、数値データ項目でその値が50以上150以下という検索条件を作成する際には、値入力部1303−1に「50」、合致条件記号指定部1303−2で「<=」を指定後、ANDボタン1303−3の押下指示を行う。ANDボタン1303−3の押下指示を行うと、合致条件指定部1303が1つ増やされるので、その増やされた合致条件指定部1303の値入力部1303−1に「150」、合致条件記号指定部1303−2に「>=」を入力すればよい。
OKボタン1304は、本画面を介して入力された結合条件及び合致条件を確定させるために用いられるボタンである。キャンセルボタン1305は、本画面での処理をキャンセルし、画面表示を終了させるために用いられるボタンである。以上が図13の検索条件入力画面1300の構成の説明である。
図7の説明に戻る。クライアント装置102のCPU201は、検索条件入力画面1300で結合条件、合致条件の入力を受け付けた後にOKボタン1303−4の押下指示を受けうつけると、処理をステップS719に進め、検索式データを更新し、更新した検索式データに従って、検索式作成・表示部1103の表示を更新する(ステップS720)。
ここで、図12から図14を参照して、図7のステップS702からS720の処理の具体的な例について説明する。図12に示すように、検索式作成画面1100中のデータ構造表示部1102に表示されているデータ項目(この場合は「製品名」1201)を検索式作成・表示1103にドラッグアンドドロップすると、検索式の変更指示をCPU201に入力することが可能である。図12では、検索条件「色=‘ブルー’」1202上にドロップされている。この場合には、検索条件「色=‘ブルー’」と結合する新たな検索条件の作成処理が行われることになる。
図12に示すようなドラッグアンドドロップ操作を受け付けると、図13の検索条件入力画面1300がディスプレイ装置210に表示される。この場合は、追加箇所1301に「手ブレ補正=‘あり’ AND 色=‘ブルー’」が表示されることになる。
そしてその後、結合条件、合致条件を受け付ける。ここでは、結合条件としてANDが、値入力欄1303−1には「CAMERA01」が入力され、合致条件記号指定部1303−2では「を含む」を意味する「*=*」が選択されている。この状態でOKボタン1304の押下指示を受け付けると、図14に示す通り、検索条件「色=‘ブルー’」1201にAND結合される新たな検索条件「製品名*=*‘CAMERA01’」1401が、図3に示す本発明の検索式表示ルールに従って表示されることになる。
図7の説明に戻る。CPU201がステップS701の判定処理で、データ構造表示部1102に表示されているデータ項目が検索式作成・表示部1103にドラッグアンドドロップされたのではない(NO)と判定した場合には、処理をステップS707に進め、データ項目が部分検索条件作成・表示部1104にドラッグアンドドロップされたかを判定する。
ステップS707の判定処理で、部分検索条件作成・表示部1104にドラッグアンドドロップされたかを判定した場合には、処理をステップS708に進め、部分検索条件作成・表示部1104にドラッグアンドドロップされたデータ項目を取得する。その後、図16に示す部分検索条件入力画面1600をディスプレイ装置210に表示する。
図16は、図7のステップS708でディスプレイ装置210に表示される部分検索条件入力画面1600の構成の一例を示す図である。図16に示すように、部分検索条件入力画面1600は、合致条件指定部1601、OKボタン1602、キャンセルボタン1603を備えて構成されている。
合致条件指定部1601は、新たに作成する部分検索条件の合致条件を指定する指定部であって、値入力部1601−1、合致条件記号入力部1601−2、ANDボタン1601−3、ORボタン1601−4が備えられている。これらは検索条件入力画面1300の合致条件指定部1303と略同様であるので、ここでの説明は割愛する。
OKボタン1602は、本画面を介して入力された合致条件を確定させるために用いられるボタンである。キャンセルボタン1603は、本画面での処理をキャンセルし、画面表示を終了させるために用いられるボタンである。以上が図16の部分検索条件入力画面1600の構成の説明である。
図7の説明に戻る。クライアント装置102のCPU201は、ステップS709で部分検索条件入力画面1600をディスプレイ装置210に表示後、表示した部分検索条件入力画面1600を介して合致条件の入力を受け付ける(ステップS710)。その後、部分検索条件入力画面1600のOKボタン1602の押下指示を受け付けると、処理をステップS719に進め、部分検索式条件データを更新する。そして、検索式作成画面1100の部分検索式作成・表示部1104の表示を更新する(ステップS720)。
ここで、図15から図17を参照して、図7のステップS708からS720までの処理の具体的な例について説明する。図15に示すように、検索式作成画面1100中のデータ構造表示部1102に表示されているデータ項目(この場合は「画素数」1501)を部分検索式作成・表示部1104にドラッグアンドドロップすると、部分検索式の作成指示をCPU201に入力することが可能である。
図15に示すようなドラッグアンドドロップ操作を受け付けると、図16の部分検索条件入力画面1600がディスプレイ装置210に表示される。そして、この部分検索条件入力画面1600を介して合致条件の入力を受け付ける。図16の場合は、「画素数」が「500万」「以上」&「画素数」が「2000万」「以下」という合致条件が入力されている。
この状態で、OKボタン1602の押下指示を受け付けると、図17に示すように、検索式作成画面1100の部分条件式作成・表示欄に新たに作成された部分検索式1701が表示されることになる。
図7の説明に戻る。クライアント装置102のCPU201は、ステップS707の処理で検索式作成画面1100のデータ構造表示部1102に表示されているデータ項目が部分検索条件作成・表示部1104にドラッグアンドドロップされたのではない(NO)と判定した場合には、処理をステップS711に進め、部分検索条件作成・表示部1104に表示されている部分検索条件が検索式作成・表示部1103にドラッグアンドドロップされたかを判定する。この判定処理でYESと判定した場合には、CPU201は処理をステップS712に進め、図13の検索条件入力画面1300をディスプレイ装置210に表示する。この際には、検索条件入力画面1300の合致条件指定部1303には、既に図16の部分検索条件画面1600の合致条件指定部1601で指定された当該部分検索条件式の合致条件が入力された形で表示される。そして、検索条件入力画面1300の結合条件指定部1302で結合条件の指定を受け付ける(ステップS713)。その後、検索式データの更新を行い(ステップS719)。検索式作成画面1100を更新する。
ステップS711の判定処理で、NOと判定した場合には、クライアント装置102のCPU201は処理をステップS714に進め、検索条件の削除指示を受け付けたかを判定する。検索条件の削除指示は、検索式作成画面1100の検索式作成・表示部1104に表示されている何れかの検索条件データが選択状態でキーボードのDELETEボタンが押された場合などに、CPU201に対して入力される。
ステップS714の判定処理でYESと判定した場合には、CPU201は処理をステップS715に進め、選択されている検索条件を削除対象の検索条件として指定する。その後、削除対象とした検索式の子となっている検索条件があるかを判定する(ステップS716)。そして、この判定処理で子検索条件があると判定した場合には、子以下の検索条件を削除対象検索条件に追加設定する(ステップS717)。そして、削除対象の検索条件として設定されている検索条件を削除する(ステップS718)。
そして、ステップS718の処理終了後、処理をステップS719に進め、検索式データを更新し、検索式作成画面1100の表示を更新することになる(ステップS720)。以上が、図4のステップS407の検索式作成・変更処理の詳細である。
次に、図8を参照して、図4のステップS409の表示方法設定処理の詳細について説明する。検索結果表示方法変更指示は、検索式作成画面1100のデータ構造表示部1102に表示されているデータ項目の表示項目1105へのドラッグアンドドロップ処理をすることなどでCPU201に入力することが可能である。
検索結果表示方法変更指示を受け付けると、CPU201は、その指示が表示項目の追加であるかを判定する(ステップS801)。例えば、検索式作成画面1100のデータ構造表示部1102に表示されているデータ項目の表示項目指定部1105へのドラッグアンドドロップ処理を受け付けると、表示項目の追加であるとCPU201は判定することになる。
ステップS801の判定処理でYESと判定した場合には、CPU201は、ドラッグアンドドロップの対象となった新規に表示データ項目に追加するデータ項目を取得する(ステップS802)。そして、その表示順を設定する(ステップS803)。この表示順は、データ項目がドロップされた箇所情報をもとに設定することになる。
ステップS801の判定処理でNOと判定した場合には、CPU201は、受け付けた指示が表示データ項目の表示順の変更指示であるかを判定する(ステップS804)。この表示順の変更指示は、例えば、表示項目指定部1105に表示されている表示データ項目を他の表示データ項目の前や後ろにドラッグアンドドロップすることにより、CPU201に対して入力することが可能となる。
ステップS804の判定処理でYESと判定した場合には、クライアント装置102のCPU201は、変更対象として指定された表示データ項目を取得する(ステップS805)。また、その新たな表示順を設定する(ステップS806)。
ステップS804の判定処理でNOと判定した場合には、CPU201は、受け付けた指示が表示データ項目の削除指示であるかを判定する(ステップS807)。この表示項目の削除指示は、表示項目指定部1105に表示されている何れかの表示データ項目が選択状態でキーボードのDELETEボタンを押下する等を行うことで、CPU201に入力することが可能となる。
ステップS807の判定処理でYESと判定した場合には、CPU201は、削除指示を受け付けたデータ項目を表示データ項目から削除する(ステップS808)。
ステップS803、ステップS806及びステップS808の処理が終了すると、CPU201は、上記それぞれのステップでの処理に伴い表示順に変更が生じる他の表示データ項目の表示順の変更を行う(ステップS809)。そして、変更後の各表示データ項目の表示順情報に従って、検索式作成画面1100の表示項目指定部1105の表示を更新する(ステップS810)。以上が、図4のステップS409の表示方法設定処理の詳細である。
次に、図18、図19を参照して、表示データ項目の新規追加処理の際に具体的な操作について説明する。ここでは、表示データ項目として、「製品名」、「シリーズ名」、「手ブレ補正」の3つが設定されている状態で、新たに「価格」1801を表示データ項目に設定する処理を説明する。ここでは「価格」を「シリーズ名」と「手ブレ補正」の間に表示するような設定を行っている。
まず、CPU201は、ユーザのポインティングデバイス等の入力装置からの操作指示に従い、検索式作成画面1100に表示されているデータ項目のうち、新たに表示データ項目として設定する「価格」1801の指定を受け付ける。そして、その「価格」1801を表示項目指定部1105に表示されている「シリーズ名」と「手ブレ補正」の間にドラッグアンドドロップ処理を行う。
上記のような操作を行うと、CPU201に対して、データ項目「価格」を新たな表示データ項目として追加する指示を行うことができる。また、CPU201は「価格」1801がドロップされた箇所1802から、その表示順を3と設定することになる(図8のステップS803の処理)。その後、「価格」1801が新たに表示データ項目として追加されることにより表示順に変更が生じる「手ブレ補正」の表示順を4に設定する(図8のステップS809の処理)。以上の処理の結果、表示項目指定部1105の表示は、図19に示すようものとなる。
次に、図9を参照して、図4のステップS411の検索処理の詳細について説明する。検索式作成画面1100中の検索ボタン1107に対する押下指示をすることで、CPU201に対して検索指示を入力することができる。
検索指示を受け付けると、クライアント装置102のCPU201は、検索式作成・表示部1103に表示されている検索条件の中で選択状態となっている検索条件があるかを判定する(ステップS801)。選択状態の検索条件がない(NO)と判定した場合には、処理をステップS902に進め、最下層の検索条件をすべて取得する。一方、選択状態の検索条件がある(YES)と判定した場合には、処理をステップS903に進め、選択状態の検索条件を取得する(ステップS903)。
ステップS902若しくはステップS903の処理が終了後、CPU201は処理をステップS904に移行させ、表示データ項目をして設定されているデータ項目を取得する。そして、取得した検索条件、表示データ項目に従って検索式を作成し(ステップS906)、作成した検索式をサーバ装置101に送信することでデータベースの検索要求を行う(ステップS906)。
サーバ装置101のCPU201は、クライアント装置102からの検索要求を受信すると(ステップS907)、当該検索式に従ったデータ検索を行い(ステップS908)、検索結果データを作成する(ステップS909)。そして、作成した検索結果データを検索要求に対する応答データとしてクライアント装置102に送信する(ステップS910)。
クライアント装置102のCPU201は、サーバ装置101から検索結果データを受信すると(ステップS911)、図20に示す検索結果表示画面2000をディスプレイ装置210に表示し、検索結果データを表示する(ステップS912)。尚、表示項目指定部1105が図19に示すような状態である場合に、検索時時がなされると、図20に示す通り、表示データ項目として、製品名、シリーズ名、価格、手ブレ補正が設定された検索結果表示画面が表示され、それぞれの検索結果が表示されることになる。以上が、図4のステップS411の検索処理の詳細な説明である。
次に、図10を参照して、図4のステップS413の検索式保存処理の詳細について説明する。検索式作成画面1100中の上書き保存ボタン1108、若しくは別名で保存ボタン1109に対する押下指示を行うことで、CPU201に対して検索指示保存指示を入力することができる。
まず、クライアント装置102のCPU201は、受け付けた指示が上書き保存であるかを判定する(ステップS1001)。上書き保存であると判定した場合には、サーバ装置101に対して、検索式作成画面を用いて編集(作成・変更)中の検索式と同一の検索IDを有する検索式詳細条件データ、表示データ項目の削除要求をおこなう(ステップS1002)。その際に、削除要求とともに検索IDをサーバ装置101に対して送信する。
クライアント装置102からの検索式詳細条件データ、表示データ項目の削除要求を受け付けると、検索式詳細条件データテーブル2200及び表示項目データテーブル2400中の、クライアント装置102より受信した検索IDを有するレコードをすべて削除する(ステップS1004)。
一方、ステップS1001の判定処理で上書き保存ではない、つまり新規の保存処理である(NO)と判定した場合には、不図示の検索式名入力画面をディスプレイ装置210に表示し、検索式の名称の入力を受け付ける(ステップS1006)。そして、その後、入力された名称と検索式作成画面1100のデータテーブル指定部1101で指定を受け付けたデータテーブルのデータテーブルIDをサーバ装置に送信することで、検索式保存要求を行う(ステップS1006)。
サーバ装置101のCPU201は、クライアント装置102から検索指示保存要求を受け付けると(ステップS1007)、保存検索式データテーブル2100に新たにレコードを追加し、クライアント装置102から受信した名称、データテーブル情報をそれぞれ名称2102、対象データテーブルIDに登録する。尚、検索ID2101には、サーバ装置のCPU201が一意の検索IDを作成し登録することになる(ステップS1008)。そして、検索IDをクライアント装置102に送信する(ステップS1009)。そして、クライアント装置102のCPU201は、サーバ装置101から送信された検索IDを受信する(ステップS1010)
サーバ装置101でのステップS1004終了後、またはステップS1010の処理終了後、検索式に含まれる各検索条件を保存検索式詳細条件データテーブル2200に登録するための処理を行うことになる。
まず、クライアント装置101のCPU201は、保存対象とする検索条件(対象検索条件)をルートに設定する(ステップS1011)。その後、対象検索条件に保存検索式詳細条件テーブル2200に未登録の子検索条件があるかを判定する(ステップS1012)。
ステップS1012の判定処理で、クライアント装置102のCPU201が未処理の子検索条件があると判定した場合には(ステップS1012でYES)、処理をステップS1013に進め、対象検索条件の子検索条件のうち、保存検索式詳細条件テーブル2200に未登録である検索条件を取得し、取得した検索条件を対象検索条件として設定する(ステップS1014)。
そして、クライアント装置102のCPU201は、対象検索条件の登録要求をサーバ装置101に対して行う(ステップS1015)。この際には、検索ID、合致条件、親検索条件の部分ID(ルートの場合は0)、最下層であるか否かの情報を送信する。
サーバ装置101のCPU201は、クライアント装置102より対象検索条件の登録要求を受け付けると(ステップS1016)、保存検索式詳細条件データテーブル2200に新規にレコードを追加し、クライアント装置102より受信した検索ID、合致条件、親検索条件の部分IDをそれぞれ、検索ID2201、部分条件式2203、親部分ID2204、最下層F2205に登録する。尚、部分ID2202には、同一の検索ID内で重複しない値をサーバ装置101のCPU201が設定し、登録することになる(ステップS1017)。そして、ステップS1017の処理終了後、サーバ装置101のCPU201は、新規に登録したレコードに設定した部分IDをクライアント装置102に送信する(ステップS1018)。そして、クライアント装置102は部分IDを取得すると、処理をステップS1012に移行させる。
クライアント装置102のCPU201が、ステップS1012の判定処理で、対象検索条件の子検索条件に、未登録の検索条件がない(NO)と判定した場合には、処理をステップS1019に進め、対象検索条件がルートであるかを判定する。対象検索条件がルートではないと判定した場合には(ステップS1019でNO)処理をステップS1020に進め、対象検索条件を、対象検索条件の親検索条件に設定する。その後、処理をステップS1012に進める。
一方、ステップS1019の判定処理で、CPU201が、対象検索条件がルートであると判定した場合には、処理をステップS1021に進める。これ以降は、検索式作成画面1100の部分検索式作成・表示部1104に表示されている部分検索式の登録処理を行うことになる。
まず、CPU201は、部分検索式作成・表示部1104に部分検索条件が設定されているかを判定する(ステップS1021)。この判定処理でYESと判定した場合には、部分検索条件を取得し(ステップS1022)、部分検索条件の登録要求をサーバ装置101に対して行う(ステップS1023)。この時にも検索ID、合致条件をサーバ装置101に送信することになる。また親部分IDとして−1を送信する。親部分IDに−1が設定されている詳細条件データは、部分検索条件であることを意味する。最下層F情報は送信しても、しなくても良い。
サーバ装置101のCPU201は、クライアント装置102から部分検索条件の登録要求を受信すると(ステップS1024)、検索条件登録要求の際と同様、保存検索式詳細条件データテーブルに新規のレコードを追加し、それぞれのデータ項目に設定登録を行う(ステップS1025)。
クライアント装置102のCPU201がステップS1021の判定処理で部分検索条件が設定されていないと判定した場合、または、サーバ装置101のCPU201がステップS1025の処理終了後、クライアント装置101のCPU201は、表示データ項目の登録要求をサーバ装置101に対して行う(ステップS1026)。この際、サーバ装置101に対して、検索ID、表示データ項目、及びその表示順情報が送信されることになる。
サーバ装置101のCPU201は、クライアント装置102から表示データ項目の登録要求を受け付けると(ステップS1027)、表示項目データテーブル2400にレコードを新規に作成し、表示データ項目の登録を行う(ステップS1028)。以上が図4のステップS413の検索式保存処理の詳細な説明である。
以上、説明したように、本発明では検索式を階層構造で表現している。このように階層構造で検索式を表すと、それぞれの最下層の検索条件を満たすデータが検索の結果ヒットすることになる。これにより、これまでの*(AND条件)や|(OR条件)、「()」等で優先度を設定した検索式ではわかりづらかった検索条件をユーザは認識しやすくなる。
また、データ項目のドラッグアンドドロップ処理や、検索条件を選択してDELETEボタンを押下するなど、簡単な操作で検索式の作成を行うことが可能となる。
また、本発明では、検索式作成・表示部に表示されている検索条件の内、何れかが選択されている場合には、最下層の検索条件ではなく、その選択された検索条件による検索処理を実行させることになる。これにより、検索式再作成の手間を省くことも可能となっている。
また、検索結果の表示方法も簡便な操作で行うことが可能となっている。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図4から図10に示すフローチャートに対応したプログラム)を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。