(57)【要約】      （修正有）【課題】検索操作時におけるユーザの利便性を更に向上させることを可能とする。【解決手段】サーバ２は、自由検索データベース２２に対する過去のデータ検索処理に係る情報を格納し、再度、自由検索データベース２２に対するデータ検索を行う際には、格納した情報を用いて検索処理を行う。これによって、データベースに対する過去のデータ検索処理に関する情報を用いて当該データベースへの再検索処理が可能となり、絞り込み検索の際、検索の為の情報を再度入力することなく、検索を行える。【選択図】  図１
2004213348.tif 000002
【特許請求の範囲】
【請求項１】
データベースに対する過去のデータ検索処理に係る情報を格納する格納手段を有し、
前記格納手段に格納される前記情報を用いて、前記データベースに対する検索処理を再度実行することを特徴とするデータベース検索装置。
【請求項２】
前記データベースは、複数のデータテーブルによって構成されるリレーショナルデータベースであることを特徴とする請求項１に記載のデータベース検索装置。
【請求項３】
前記過去のデータ検索処理に係る情報は、そのデータ検索処理の検索対象となったデータテーブルの連結キーに該当するカラムの前記データ検索処理時における検索結果であることを特徴とする請求項２に記載のデータベース検索装置。
【請求項４】
更に、ユーザからの検索条件及びデータ出力項目となるカラム指示を受け付ける指示受信手段を有し、
前記データ検索処理に係わる情報は、前記過去のデータ検索処理の際に前記指示受信手段で受信したデータ出力項目のカラムとは別に取得されたカラム内の情報であることを特徴とする請求項１〜３の何れか１項に記載のデータベース検索装置。
【請求項５】
前記データ検索処理に係る情報を、検索クエリーの一部に適用して前記データベースに対する検索処理を実行することを特徴とする請求項１又は３に記載のデータベース検索装置。
【請求項６】
前記過去のデータベースの検索処理はデータの絞込みのための検索であって、前記過去のデータベース検索処理の検索結果に関する全てのデータが次回の検索対象とされた場合には前記データ検索処理に係わる情報をクエリ−生成に適用しないことを特徴とする請求項５に記載のデータベース検索装置。
【請求項７】
前記リレーショナルデータベースは、スタースキーマ型リレーショナルデータベースであることを特徴とする請求項２〜６の何れか１項に記載のデータベース検索装置。
【請求項８】
データベースに対する過去のデータ検索処理に係る情報を格納手段に格納し、前記格納手段に格納される前記情報を用いて前記データベースに対する検索処理を再度実行することを特徴とするデータベース検索方法。
【請求項９】
請求項８に記載のデータベース検索方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のデータテーブルによって構成される、例えばスタースキーマ型データベースに対するデータ検索処理を行うための技術に関するものである。
【０００２】
【従来の技術】
従来のデータベース検索システムにおいては、クエリー（問い合わせ）実行のためのスキーマ生成をプログラム毎に行っていた。クエリー生成の際にはデータベースの知識を必ず必要とし、知識のない一般ユーザは用意されたクエリーを実行するために、予め設定された条件パラメータに数値やテキストなどを入力し、データベースの検索を行い、検索結果を得ていた。
【０００３】
しかし、これでは、クエリー実行のためのスキーマ生成に費やすソフト開発者の労力が大きく、ユーザが利用できる検索条件や検索結果の自由度が少ない。そこで、特開２００２−１１７０４１号公報には、それらの問題点を解決するための技術が開示されている。本従来文献の図１に示されるように、本従来技術では、初期処理部１１１はユーザによって表示／入力装置１１から照会対象の表名称が指定されると、指定された表の列情報をファイル装置１２からデータベース管理部１２０を介して読み込む。そして、照会条件設定処理部１１２は読み込んだ列情報に基づき照会条件であるクエリーを設定する。照会処理部１１３は設定されたクエリーからＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文を組み立ててデータベース管理部１２０に引き渡し、また、データベースのアクセス結果をデータベース管理部１２０から受けると編集して表示／入力装置１１に表示するものである。
【０００４】
また、特開２０００−１８７６６５号公報では、データベースに関する専門知識を有していないエンドユーザであっても、データベースから必要なデータを自在に導出できるようにするデータベースシステムが開示されている。本従来技術は、特に、ＤＷＨ（Ｄａｔａ  Ｗａｒｅｈｏｕｓｅ）のような複雑なリレーショナルデータベースからのデータ検索を一般ユーザが簡単に行うためにＳＯＶＦ（Ｓｕｂｊｅｃｔ  Ｏｒｉｅｎｔｅｄ  Ｖｉｒｔｕａｌ  Ｆｉｌｅ）と呼ぶ仮想ファイルを作成しておき、データベースの知識のないユーザが簡単にデータ検索を行えるようにし、ＳＯＶＦに設定されている各項目に対応するキー情報を基にＳＱＬの自動生成を行い、データ検索を行うものである。
【０００５】
【特許文献１】
特開２００２−１１７０４１号公報
【特許文献２】
特開２０００−１８７６６５号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、特開２００２−１１７４１号公報に開示されるデータ照会システムにおいては、データベースの構造（スキーマ）を理解していないユーザが容易に検索条件を設定することはできるものの、複数の表形式のデータテーブルで構成されるＤＷＨのようなデータベースに対して同時に複数の表形式のデータテーブルを検索することに適応した場合のクエリー生成を行うことは意図されていない。
【０００７】
また、特開２０００−１８７６６５号公報に開示されるデータベースシステムは、複雑なスキーマのデータベースに対してデータ検索を行うことが可能であるが、ユーザの設定した仮想ファイル毎にデータベース構造に詳しい管理者が連結キーなどを理解しつつリレーショナルを意識した仮想ファイルを構築する必要があり、管理者の労力が大きい。
【０００８】
また、特開２００２−１１７４１号公報或いは特開２０００−１８７６６５号公報に開示されるクエリー生成は、一度きりの検索を目的としたものであり、段階的な検索、例えば検索結果に対して絞込が容易に行えるものではない。再度検索条件に検索結果に用いた出力条件（出力項目）を加えて再度最初から検索条件を設定する必要があり、不便である。
【０００９】
複数の表形式のデータベースからなるリレーショナルデータベースでは、例えば特開２０００−１８７６６５号公報に開示されるように、検索条件（ＷＨＥＲＥ）に連結キー情報を用いるだけであり、連結キーの情報は偶然的に出力条件にあったとしても、一度検索が終わるとその後残されていないので、絞込や出力条件（出力項目）の変更などの検索が行えない。
【００１０】
本発明は、上記問題点に鑑みてなされたものであり、検索操作時におけるユーザの利便性を更に向上させることが可能なデータベース検索装置、データベース検索方法、プログラム及び記録媒体を提供することを目的とする。
【００１１】
【課題を解決するための手段】
斯かる目的を達成するために、本発明のデータベース検索装置は、データベースに対する過去のデータ検索処理に係る情報を格納する格納手段を有し、前記格納手段に格納される前記情報を用いて、前記データベースに対する検索処理を再度実行することを特徴とする。
【００１２】
また、本発明のデータベース検索方法は、データベースに対する過去のデータ検索処理に係る情報を格納手段に格納し、前記格納手段に格納される前記情報を用いて前記データベースに対する検索処理を再度実行することを特徴とする。
【００１３】
また、本発明のプログラムは、前記データベース検索方法をコンピュータに実行させることを特徴とする。さらに、本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【００１４】
【発明の実施の形態】
以下、本発明の好適な実施形態を、添付図面を参照しながら詳細に説明する。＜データベース検索システムの構成＞
図１は、本発明の一実施形態に係るデータベース検索システムの構成を模式的に示した図である。
１は、ユーザが操作するクライアントＰＣであり、Ｗｅｂブラウザを用いてサーバから送信されるＷｅｂページを画面上で表示することが可能である。２は、各種データを記録した自由検索ＤＢ２２（自由検索データベース）を備えたサーバであり、自由検索／自由帳票アプリケーション２１（以下、単にアプリケーションと称す）によりクライアントＰＣ１の要求に応じたデータを検索し、その結果をＷｅｂページで各クライアントＰＣ１に送信することが可能である。３は、システムＤＢサーバであり、自由検索ＤＢ２２に格納すべきデータを逐次或いはバッチ処理によりサーバ２に対して送信することが可能である。
【００１５】
サーバ２に接続される各クライアント１は、画面上で所望の検索条件及び出力データ項目を入力し、その入力内容をサーバ２に対して送信する。当該入力内容を受けたサーバ２は、出力データ項目に挙げられたデータのうち検索条件に合致するデータを自由検索ＤＢ２２から取得する。次に、サーバ２は、取得したデータを例えばＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅ）データとしてクライアントＰＣ１に返信し、当該クライアントＰＣ１では検索結果を画面上で確認することが可能となる。
【００１６】
また、本実施形態では、上記のように検索したデータを帳票として取得することも可能である。この場合、クライアントＰＣ１上においてユーザは帳票の出力形式を指定することが可能である。クライアントＰＣ１上において出力形式が指定されると、その指定情報はクライアントＰＣ１からサーバ２に対して送信される。サーバ２では、指定された帳票に必要なデータをアプリケーション２１の機能により上記検索条件に照らして検索し、帳票データを生成してクライアントＰＣ１に対して送信する。これにより、ユーザは、所望の検索条件及び出力形式で帳票データを参照することが可能となる。
【００１７】
＜データベース検索システムの主要動作＞
次に、本実施形態に係るデータベース検索システムの動作を図２及び図３を用いて詳細に説明する。図２及び図３は、本実施形態に係るデータベース検索システムの主要動作を示したフローチャートである。
ユーザは、クライアントＰＣ１を操作することにより、自らのユーザＩＤ及びパスワードをクライアントＰＣ１からサーバ２に送信する。サーバ２では、クライアントＰＣ１から受信したユーザＩＤ及びパスワードに基づいて当該ユーザの認証処理を行い（ステップＳ２０１）、認証が得られた場合は、当該ユーザの本データベース検索システムへのログインを許可する。
【００１８】
続いて、サーバ２は、図４の検索条件画面を生成し、クライアントＰＣ１に対して送信する（ステップＳ２０２）。クライアントＰＣ１は、サーバ２から受信した検索条件画面を表示する（ステップＳ１０２）。次に、ユーザは検索画面上で検索条件を入力する。ユーザは、検索条件の入力時において、例えば、画面左欄の“データ分類”から“商品”（図４中の４１）を選択し、続いてデータ分類“商品”に属するデータ項目“商品名”（図４中の４２）を選択する。すると、画面上に小ウィンドウ４３が表示され、ユーザはこの小ウィンドウ４３内で検索内容（ここでは、Ｍ−４  小鉢  ）を選択入力する。条件指定Ｎｏ．１についても同様の入力手法により検索条件（データ分類“期間”、データ項目“年月日”、検索内容“１９９６／１２／０９から１９９６／１２／１１まで”）を選択入力する。
【００１９】
上述の“商品”或いは“期間”はそれぞれ図２０及び図２１に示されるデータテーブルを意味し、“商品名”或いは“年月日”はそれぞれのデータテーブル内のカラム名であり、小ウィンドウ４３を用いて選択入力した“Ｍ−４  小鉢  “等は各カラムに対するデータである。つまり、図４において“データ分類”は選択したデータテーブルであり、“データ項目”はカラムであり、“検索内容”がカラム内で検索するべき内容（データ内容）である。サーバ２はユーザがデータテーブルを指定する際に、テーブル情報を参照し、テーブルに存在するカラム名を表示画面データとして作成し提供する。また、カラム名が選択された場合には小ウィンドウ４３で示したようにカラム内のデータを表示画面用のデータとして生成し、提供するものである。
【００２０】
条件指定Ｎｏ．１、条件指定Ｎｏ．２の欄それぞれにつき検索条件が確定する度に、その入力内容はクライアントＰＣ１からサーバ２に送信され（ステップＳ１０４）、サーバ２では、受信した入力内容をその都度保存し（ステップＳ２０４）、当該入力内容を反映させた新たな検索条件画面を生成し、クライアントＰＣ２に対して送信する（ステップＳ２０２）。
【００２１】
続いて、図４の画面上において、ユーザが“データ出力”ボタン（図４中の４４）を押下した場合（ステップＳ１０７）、クライアントＰＣ１上においてデータ出力処理が指定された旨の情報がクライアントＰＣ１からサーバ２に対して送信される（ステップＳ１０８）。サーバ２では、ステップＳ２０５の判断分岐により処理をステップＳ２０６に移行させる。一方、クライアントＰＣ１では処理をステップＳ１０８に移行させる。
【００２２】
サーバ２側では、ステップＳ２０６において、図５の出力項目選択画面を生成し、クライアントＰＣ１に対して送信する。クライアントＰＣ１では、出力項目選択画面をサーバ２から受信し、表示する（ステップＳ１０９）。ユーザは、この出力項目選択画面上で出力させたい所望の項目を選択する（ステップＳ１１０）。選択要領は、図４の検索条件の入力時と同様である。図５の例では、ユーザが選択した出力項目は、データ分類“期間”のデータ項目“年月日”、データ分類“商品”のデータ項目“商品名”、データ分類“商品”のデータ項目“標準売価”、データ分類“商品”のデータ項目“標準原価”、及び、データ分類“商品”のデータ項目“取扱開始日”である。
【００２３】
ここでも、各出力項目が確定される度に、その入力内容がクライアントＰＣ１からサーバ２に送信され（ステップＳ１１１）、サーバ２では、受信した入力内容をその都度保存し（ステップＳ２０８）、当該入力内容を反映させた新たな検索条件画面を生成し、クライアントＰＣ１に対して送信する（ステップＳ２０６）。
【００２４】
ユーザは、所望の入力項目を全て確定させると、出力項目選択画面の“次へ”ボタン（図５中の５１）を押下する（ステップＳ１１２）。クライアントＰＣ１は、ユーザの操作により“次へ”ボタンが押下されると、その旨をサーバ２に対して通知する（ステップＳ１１３）。当該通知を受けたサーバ２は、表示指定画面を生成し、クライアントＰＣ１に対して送信する（ステップＳ２１０）。表示指定画面の一例を図６に示す。
【００２５】
続いて、ユーザは、表示指定画面上において、各出力項目につき表示方法を指定する（ステップＳ１１５）。図６の例では、各出力項目につきデータを一覧表示するか否か（図６中の６１）、データのソート順（昇順、降順；図６中の６２）、及び、ソート処理の優先順位を指定（図６中の６３）することが可能である。ここでも、例えば、各項目の表示指定内容が確定される度に、その入力内容がクライアントＰＣ１からサーバ２に送信され（ステップＳ１１６）、サーバ２では、受信した入力内容をその都度保存し（ステップＳ２１２）、当該入力内容を反映させた新たな検索条件画面を生成し、クライアントＰＣ１に対して送信する（ステップＳ２１０）。
【００２６】
続いて、図６の画面上において、ユーザが“検索”ボタン（図６中の６４）を押下した場合（ステップＳ１１７）、ユーザから検索指定の指示入力があった旨の情報がクライアントＰＣ１からサーバ２に対して送信される（ステップＳ１１８）。サーバ２では、ステップＳ２１３の判断分岐を経てステップＳ２１４の処理の後、処理をステップＳ２１４に移行させる。一方、クライアントＰＣ１では処理をステップＳ１１９に移行させる。尚、ステップＳ２１４のクエリー生成処理等については後述する。
【００２７】
続いて、アプリケーション２１は、自由検索ＤＢ２２から検索結果を受信することにより、サーバ２は、クライアントＰＣ１に対して検索結果の一覧画面を送信する（ステップＳ２１５）。クライアントＰＣ１では、検索結果一覧画面をサーバ２から受信し、表示する（ステップＳ１１９）。検索結果一覧画面の一例を図７に示す。図６の一覧表示指定チェックボックスにおいて、出力項目のすべての項目がチェックされているので表示結果にはすべての項目が表示されている。
【００２８】
図７の検索結果一覧画面上においては、さらに出力データの絞込検索を行うことができる。ユーザの操作入力により、図７の検索結果一覧画面上において出力データが選択（図７中の７１）されると（ステップＳ１２０）、その入力内容がクライアントＰＣ１からサーバ２に送信される（ステップＳ１２１）。サーバ２では、受信した入力内容をその都度保存し（ステップＳ２１７）、当該入力内容を反映させた新たな検索結果一覧画面を生成し、クライアントＰＣ１に対して送信する（ステップＳ２１５）。
【００２９】
続いて、図７の画面上において、ユーザが“データ出力”ボタン（図７中の７２）を押下した場合（ステップＳ１２２）、ユーザからデータ出力指示があったことがクライアントＰＣ１からサーバ２に対して送信される（ステップＳ１２３）。サーバ２では、ステップＳ２１８の判断分岐を経て、アプリケーション２１は保存した出力データ選択情報に基づくクエリーを生成し、自由検索ＤＢ２２に対して送信する（ステップＳ２１９）。
【００３０】
続いて、アプリケーション２１が上記クエリーに応じて自由検索ＤＢ２２から返信された検索結果を受信することにより、サーバ２は、検索ヒット件数情報をクライアントＰＣ１に対して送信する（ステップＳ２２０）。クライアントＰＣ１は、サーバ２から受信した検索ヒット件数情報を画面上で表示する（ステップＳ１２５）。検索ヒット件数表示画面の一例を図８に示す。ユーザは、クライアントＰＣ１の画面上に表示された検索ヒット件数を確認した後、検索されたデータをＣＳＶファイルとして受け取りたい場合には、図８の画面上において“実行”ボタン（図８中の８１）を押下する（ステップＳ１２６）。
【００３１】
この“実行”ボタンが押下されると、クライアントＰＣ１からその旨の情報がサーバ２に対して送信され（ステップＳ１２７）、サーバ２は、ＣＳＶファイルを要求する旨の情報を受信すると、クライアントＰＣ１に対してＣＳＶファイルを返信する（ステップＳ２２２）。これにより、ユーザは、絞込検索による検索結果をＣＳＶファイルで閲覧することができる。
【００３２】
一方で、図７の検索結果一覧画面上において、“帳票出力”ボタン（図７中の７３）が押下されると（ステップＳ１２４）、ユーザにより帳票出力の指定があったことがクライアントＰＣ１からサーバ２に対して送信され、サーバ２では、ステップＳ２１８の判断分岐により処理をステップＳ２２３に移行させる。
【００３３】
続いて、サーバ２は、例えば図９に示す帳票一覧画面をクライアントＰＣ１に対して送信する（ステップＳ２２３）。クライアントＰＣ１は、サーバ２から帳票一覧画面を受信し、表示する（ステップＳ１３０）。ユーザは、クライアントＰＣ１上に表示された帳票一覧画面を参照し、所望の形式の帳票を選択する。次に、クライアントＰＣ１は、帳票選択情報をサーバ２に対して送信する（ステップＳ１３１）。
【００３４】
続いて、サーバ２がクライアントＰＣ１から帳票選択情報を受信すると（ステップＳ２２４）、アプリケーション２１はその帳票選択情報に応じたクエリーを生成し、自由検索ＤＢ２２に対して送信する（ステップＳ２２５）。本クエリ−生成に関しては後述する。次に、アプリケーション２１が自由検索ＤＢ２２から返信された検索結果を受信すると、サーバ２は、検索ヒット件数をカウントして検索ヒット件数情報としてクライアントＰＣ１に対して送信する（ステップＳ２２６）。
【００３５】
クライアントＰＣ１では、サーバ２から受信した検索ヒット件数情報を表示する（ステップＳ１３２）。検索ヒット件数情報の表示例を図１０に示す。ユーザは、帳票を出力させたい場合、クライアントＰＣ上で表示される検索ヒット件数情報を確認した後、図１０の画面上の“実行”ボタン（図１０中の１０１）を押下する（ステップＳ１３３）。この“実行”ボタンが押下されると、クライアントＰＣ１からサーバ２に対して帳票出力実行の指定があったことが通知される（ステップＳ１３４）。
【００３６】
帳票出力実行の指定を受けたサーバ２は、内部で検索結果を帳票作成プログラムに送信し（ステップＳ２２７）、帳票作成プログラムから帳票のＰＤＦデータを受信する（ステップＳ２２８）。そして、サーバ２は、帳票のＰＤＦデータと自由検索ＤＢ２２から取得した検索結果データを合成した帳票画面をクライアントＰＣ１に対して送信する（ステップＳ２２９）。この合成は、予め各帳票のＰＤＦデータに対して、図１９に示す帳票データ格納テーブルの各カラムデータの合成位置を決めてテキストデータなどで貼り付け、図１８に示す帳票情報格納テーブルにあるＫＥＹ＿ＣＬＭ＿ＩＤ毎に一枚の帳票として合成するものである。クライアントＰＣ１では、サーバ２から受信した図１１の帳票画面を表示する（ステップＳ１３５）。図１１では、図９の帳票一覧画面上において“商品別店舗売上表”が選択された場合を例示しており、図７の検索結果一覧画面上における絞込検索が反映されている。即ち、図７上では、年月日“１９９６／１２／１０”、商品名“Ｍ−４  小鉢”の項目と、年月日“１９９６／１２／１１”、商品名“Ｍ−４  小鉢  ”とが選択されているため、図１１の帳票画面上では、それらに該当する情報が掲載されている。
【００３７】
＜検索クエリー生成（初回検索時）＞
次に、本発明の一実施形態に係る検索クエリー生成方法について説明する。図１２は、本発明の一実施形態に係る検索クエリー生成方法の流れを示したフローチャートであり、図２のステップＳ２１４で実行される検索クエリー生成について示したものである。尚、図１２及び図１３に示す、検索条件格納部１２１、表示項目指定格納部１２２、リレーション情報格納テーブル１２３、帳票指定格納部１３１、検索結果格納部１３２、帳票情報格納テーブル１３３、帳票データ格納テーブル１３４及びリレーション情報格納テーブル１３５は、サーバ２内の例えばＲＡＭ等の内部記録媒体内において格納される。
【００３８】
先ず、サーバ２は、図２のステップＳ２０４において保存した検索条件を検索条件格納部１２１から取得する（ステップＳ３０１）。ここで、取得された検索条件は、後述する検索クエリーのＷＨＥＲＥ句の生成に用いられる。検索条件格納部１２１には、図４の画面上において指定された、データ分類に対応するテーブルＩＤ、データ項目に対応するカラムＩＤ及び検索内容が格納されている。
【００３９】
図４の例では、条件指定Ｎｏ．１において、データ分類“期間”、データ項目“年月日”、検索内容“１９９６／１２／０９から１９９６／１２／１１まで”が指定されている。ここで、図１４に示すテーブル情報格納テーブルを参照すると、データ分類“期間”に対応するテーブルＩＤは“ｔｅｒｍ”である。また、図１５に示すカラム情報格納テーブルを参照すると、データ項目“年月日”に対応するカラムＩＤは“年月日”である。従って、条件指定Ｎｏ．１については、検索条件格納部１２１にはテーブルＩＤ“ｔｅｒｍ”、カラムＩＤ“年月日”、検索内容“１９９６／１２／０９から１９９６／１２／１１（ＢＥＴＷＥＥＮ  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−０９  ００：００：００．００００００｀ＡＮＤ  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１１  ２３：５９：５９．９９９９９９｀）”が格納される。同様に、条件指定Ｎｏ．２については、テーブルＩＤ“ｇｏｏｄｓ”、カラムＩＤ“商品名”、検索内容“Ｍ−４  小鉢  ”が検索条件格納部１２１に格納される。
【００４０】
次に、サーバ２は、表示項目指定格納部１２１から表示項目指定情報を取得する（ステップＳ３０２）。表示項目指定格納部１２２には、図５の画面上で入力された出力項目データと、図６の画面上で入力されてＳ２１２で保存された表示指定データが格納されている。図５の例では、出力項目データとして、データ分類“期間”のデータ項目“年月日”、データ分類“商品”のデータ項目“商品名”、データ分類“商品”のデータ項目“標準売価”、データ分類“商品”のデータ項目“標準原価”、及び、データ分類“商品”のデータ項目“取引開始日”が選択されている。
【００４１】
、図６の例では、データ分類“商品”のデータ項目“商品名”につきソート優先順位“１”、ソート順が“昇順”と指定され、データ分類“商品”のデータ項目“取引開始日”につきソート優先順位“２”、ソート順が“昇順”と指定されている。
【００４２】
従って、表示項目指定格納部１２２には、テーブルＩＤ“ｔｅｒｍ”及びカラムＩＤ“年月日”、テーブルＩＤ“ｇｏｏｄｓ”、カラムＩＤ“商品名”、ソート優先順“１”及びソート順“昇順（ＡＳＣ）”、テーブルＩＤ“ｇｏｏｄｓ”及びカラムＩＤ“標準売価”、テーブルＩＤ“ｇｏｏｄｓ”及びカラムＩＤ“標準原価”、テーブルＩＤ“ｇｏｏｄｓ”、カラムＩＤ“取引開始日”、ソート優先順“２”及びソート順“昇順（ＡＳＣ）”が夫々対応付けて格納される。サーバ２は、これらの表示項目指定情報を表示項目指定格納部１２２から取得する。
【００４３】
続いて、サーバ２は、リレーション情報格納テーブル１２３からリレーション情報を取得する（ステップＳ３０３）。リレーション情報格納テーブル１２３には、図１６に示されるように、本実施形態におけるスタースキーマのデータベースにおけるディメンションテーブルである“ｔｅｒｍ”、“ｓｔｏｒｅ”、“ｇｏｏｄｓ”と、メインテーブルである“ｓｌｓ＿ｄｓｇｏｏｄｓ”とのリレーション情報を格納している。
本実施形態に適用されるスタースキーマ型リレーショナルデータベースのリレーション関係を図１７に示す。
【００４４】
また、本実施形態に適用可能なテーブル“ｇｏｏｄｓ”、“ｔｅｒｍ”、“ｓｔｏｒｅｓ”、“ｓｌｓ＿ｄｓｇｏｏｄｓ”を、それぞれ図２０、図２１、図２２、図２３に示す。図２０に示すテーブル“ｇｏｏｄｓ”は、カラム“対象日”、“店コード”、“商品コード”、“売上コード”等を含む。テーブル“ｔｅｒｍ”は、カラム“年月日”、“年”、“月”、“日”等を含む。テーブル“ｓｔｏｒｅｓ”は、カラム“店舗コード”、“店舗名”、“規模コード”等を含む。テーブル“ｓｌｓ＿ｄｓｇｏｏｄｓ”は、カラム“対象日”、“店コード”、“商品コード”、“売上点数”等を含む。
【００４５】
ここでは、図４や図５の画面上においてテーブル“ｔｅｒｍ”、“ｇｏｏｄｓ”から検索項目や出力項目が選択されている。従って、サーバ２は、リレーション情報格納テーブル１２３からテーブル“ｔｅｒｍ”、“ｇｏｏｄｓ”に係るリレーション情報を取得する。即ち、ここで取得されるリレーション情報は、テーブル“ｔｅｒｍ”のカラム“年月日”とテーブル“ｓｌｓ＿ｄｓｇｏｏｄｓ”のカラム“対象日”とを対応付けたリレーション情報、及び、テーブル“ｇｏｏｄｓ”のカラム“商品コード”とテーブル“ｓｌｓ＿ｄｓｇｏｏｄｓ”のカラム“商品コード”とを対応付けたリレーション情報である。
【００４６】
続いて、サーバ２は、ステップＳ３０４において、ステップＳ３０３にて取得したリレーション情報に基づいて、クエリーのＷＨＥＲＥ句においてテーブル間の紐つけを定義するテーブルリレーション部を生成する。
具体的には、「ｔｅｒｍ．年月日  ＝  ｓｌｓ＿ｄｓｇｏｏｄｓ．対象日  ＡＮＤ  ｇｏｏｄｓ．商品コード  ＝  ｓｌｓ＿ｄｓｇｏｏｄｓ．商品コード」がテーブルリレーション部として生成される。
【００４７】
続いて、サーバ２は、ステップＳ３０１において取得した検索条件と、ステップＳ３０４において生成したテーブルリレーション部とに基づいて、クエリーのＷＨＥＲＥ句（検索条件）を生成する。
【００４８】
続いて、サーバは、ステップＳ３０２において取得した表示項目情報に基づいてクエリーのＳＥＬＥＣＴ句を生成する。ここでは、カラム“年月日”、“商品名”、“標準売価”、“標準原価”、“取引開始日”に属するデータのうち検索条件に合致するデータをテーブル“ｔｅｒｍ”、“ｇｏｏｄｓ”、“ｓｌｓ＿ｄｓｇｏｏｄｓ”から読み出すことがこのＳＥＬＥＣＴ句により要求されるとともに、表示項目として選択されたテーブル“ｔｅｒｍ”、“ｇｏｏｄｓ”の連結キーであるカラム“年月日”、“商品コード”をそれぞれ“Ｃｌｍ＿０”、“Ｃｌｍ＿１”と読み替えて送り返すことが同ＳＥＬＥＤＴ句によって要求される。
【００４９】
続いて、サーバ２は、ステップＳ３０２において取得した表示項目情報内のソート優先順、ソート順に基づいて、クエリーのＯＲＤＥＲ句を生成する。即ち、テーブル“ｇｏｏｄｓ”のカラム“商品名”のデータを最優先に昇順でソートし、テーブル“ｇｏｏｄｓ”のカラム“取引開始日”のデータを次に優先して昇順でソートすることがここで規定される。
【００５０】
上記のようなクエリーの生成によって以下のＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文が生成される。
「ＳＥＬＥＣＴ  ＤＩＳＴＩＮＣＴ  ｔｅｒｍ．年月日，ｇｏｏｄｓ．商品名，ｇｏｏｄｓ．標準売価，ｇｏｏｄｓ．標準原価，ｇｏｏｄｓ．取引開始日，ｔｅｒｍ．年月日  ａｓ  ｃｎｇＣｌｍ＿０，  ｇｏｏｄｓ．商品コード  ａｓ  ｃｎｇＣｌｍ＿１
ＦＲＯＭ  ｔｅｒｍ，ｇｏｏｄｓ，ｓｌｓ＿ｄｓｇｏｏｄｓ
ＷＨＥＲＥ（ｔｅｒｍ．年月日＝ｓｌｓ＿ｄｓｇｏｏｄｓ．対象日  ＡＮＤ  ｇｏｏｄｓ．商品コード＝ｓｌｓ＿ｄｓｇｏｏｄｓ．商品コード）
ＡＮＤ（（ｔｅｒｍ．年月日  ＢＥＴＷＥＥＮ  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−０９  ００：００：００．００００００｀ＡＮＤ  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１１  ２３：５９：５９．００００００｀）
ＡＮＤ（ｇｏｏｄｓ．商品名  ＬＩＫＥ  ｀％Ｍ−４小鉢  ％｀））
ＯＲＤＥＲ  ＢＹ  ｇｏｏｄｓ．商品名  ＡＳＣ，ｇｏｏｄｓ．取引開始日  ＡＳＣ」
【００５１】
＜検索クエリー生成（絞込検索時）＞
次に、図３のステップＳ２２５における帳票モードのクエリー生成方法について説明する。図１３は、本実施形態に係る帳票モードのクエリー生成方法の流れを示したフローチャートである。
先ず、サーバ２は、ステップＳ２２４にて受信し、そして、帳票指定格納部１３１において格納した商品別店舗売上表に相当する帳票ＩＤを取得する（ステップＳ４０１）。続いて、サーバ２は、検索結果格納部１３２からキーカラム検索結果を取得する（ステップＳ４０２）。このキーカラム検索結果とは、ステップＳ２１５において“Ｃｌｍ＿０”、“Ｃｌｍ＿１”としてＤＢから送り返された連結キーのデータであり、特に、Ｓ２１７で保存したキーカラム検索結果のうち図７で選択されている２つのデータに関係するキーカラム情報を取得する。例えば、「ｔｅｒｍ．年月日  ＝  ｔｉｍｅｓｔａｍｐ’１９９６−１２−１０  ２３：５９：５９．９９９９９９’」や「ｇｏｏｄｓ．商品コード  ＝  ’４９７３３０７４０４５１１’」等がこれに相当する。
【００５２】
次に、サーバ２は、帳票情報格納テーブル１３３から帳票データ情報を取得する（ステップＳ４０３）。帳票情報格納テーブルは、図１８に示すように、帳票ＩＤ“ＲＥＰＯＲＴ＿ＩＤ”、メインテーブルＩＤ“ＭＡＩＮ＿ＴＢＬ＿ＩＤ”、キーカラムＩＤ“ＫＥＹ＿ＣＬＭ＿ＩＤ”、オーバーレイフォーム名“ＦＯＲＭ＿ＮＭ”などを対応付けて格納している。サーバ２は、ステップＳ４０１において取得した帳票ＩＤに該当する帳票データ情報を帳票情報格納テーブルから取得する。即ち、ステップＳ４０１において取得される帳票ＩＤは“８０３”であるため、図１８の例では、帳票ＩＤ“８０３”、メインテーブルＩＤ“ｇｏｏｄｓ”、キーカラムＩＤ“商品コード”、オーバーレイフォーム名“ｒｓ＿ｓＵＲＩＡＧＥ３．ｆｃｐ”などが帳票データ情報として取得される。
【００５３】
次に、サーバ２は、帳票データ格納テーブルから帳票構成項目情報を取得する（ステップＳ４０４）。帳票データ格納テーブルは、図１９に示すように、帳票ＩＤ“ＲＥＰＯＲＴ＿ＩＤ”、テーブルＩＤ“ＴＢＬ＿ＩＤ”、カラムＩＤ“ＣＬＭ＿ＩＤ”、データ生成順“ＳＯＲＴ＿ＯＲＤＥＲ”などを対応付けて格納している。サーバ２は、ステップＳ４０１において取得した帳票ＩＤに該当する帳票構成項目情報を帳票データ格納テーブルから取得する。即ち、ステップＳ４０１において取得された帳票ＩＤは“８０３”であり、図１９に示す帳票データ格納テーブルの全てのレコードが読み出される。
【００５４】
続いて、サーバ２は、図１６のリレーション情報格納テーブルからリレーション情報を取得する（ステップＳ４０５）。ここで取得されるリレーション情報は、図１９に示すように、帳票として出力されるべき出力項目のテーブルとして“ｇｏｏｄｓ”、“ｓｔｏｒｅ”、“ｔｅｒｍ”が含まれるため、リレーション情報格納テーブルから３つのリレーション情報が取得される。即ち、第１のリレーション情報として、テーブルＩＤ（ＴＢＬ＿ＩＤ）“ｔｅｒｍ”、カラムＩＤ（ＣＬＭ＿ＩＤ）“年月日”、リレーションテーブルＩＤ（ＣＮＧ＿ＩＤ）“ｓｌｓ＿ｄｓｇｏｏｄｓ”、リレーションカラムＩＤ（ＣＮＧＣＬＭ＿ＩＤ）“対象日”が取得される。第２のリレーション情報として、テーブルＩＤ（ＴＢＬ＿ＩＤ）“ｓｔｏｒｅ”、カラムＩＤ（ＣＬＭ＿ＩＤ）“店舗コード”、リレーションテーブルＩＤ（ＣＮＧ＿ＩＤ）“ｓｌｓ＿ｄｓｇｏｏｄｓ”、リレーションカラムＩＤ（ＣＮＧＣＬＭ＿ＩＤ）“店コード”が取得される。また、第３のリレーション情報として、テーブルＩＤ（ＴＢＬ＿ＩＤ）“ｇｏｏｄｓ”、カラムＩＤ（ＣＬＭ＿ＩＤ）“商品コード”、リレーションテーブルＩＤ（ＣＮＧ＿ＩＤ）“ｓｌｓ＿ｄｓｇｏｏｄｓ”、リレーションカラムＩＤ（ＣＮＧＣＬＭ＿ＩＤ）“商品コード”が取得される。
ここでは、繰り返しを避けるためにフローチャートには記載しないが、図１２のステップＳ３０１で行った検索条件取得をステップＳ４０６の実行前に実行する。
【００５５】
続いて、サーバ２は、ステップＳ４０５において取得したリレーション情報からテーブルリレーション部を生成する（ステップＳ４０６）。ここでは、テーブル“ｇｏｏｄｓ”、“ｓｔｏｒｅ”、“ｔｅｒｍ”がそれぞれの連結キーによりテーブル“ｓｌｓ＿ｄｓｇｏｏｄｓ”に紐つけされていることを示すものとして、“ｔｅｒｍ．年月日＝ｓｌｓ＿ｄｓｇｏｏｄｓ．対象日  ＡＮＤ  ｇｏｏｄｓ．商品コード＝ｓｌｓ＿ｄｓｇｏｏｄｓ．商品コード  ＡＮＤ  ｓｔｏｒｅ．店舗コード＝ｓｌｓ＿ｄｓｇｏｏｄｓ．店コード”がテーブルリレーション部として生成される。
【００５６】
続いて、サーバ２は、検索条件を示すＷＨＥＲＥ句を生成する（ステップＳ４０７）。ここでは、図２のステップＳ２０４において検索条件格納部に格納した検索条件、及び、ステップＳ４０６において生成したテーブルリレーション部のほか、ステップＳ４０２において検索結果格納部から取得した検索結果キー情報（連結キー）、ここでは、ステップＳ１２０において選択された第１の出力項目“年月日：１９９６／１２／１０、商品名：Ｍ−４小鉢  ”に対する“ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１０  ２３：５９：５９．９９９９９９｀”及び“４９７３３０７４０４５１１”のデータ、並びに、同じくステップＳ１２０において選択された第２の出力項目“年月日：１９９６／１２／１１、商品名：Ｍ−４小鉢  ”に対する“ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１１  ２３：５９：５９．９９９９９９｀”、“４９７３３０７４０４５１１”のデータに基づいてＷＨＥＲＥ句を生成する。
【００５７】
続いて、サーバ２は、表示項目を示すＳＥＬＥＣＴ句を生成する。ここでは、ステップＳ４０４において帳票データ格納テーブル１３４から取得した帳票構成項目情報に基づいて、カラム“商品コード”、“商品名”、“規模名”、“店舗コード”、“店舗名”、“年月日”、“標準売価”、“標準原価”、“売上点数”、“売上売価金額”を表示項目としてテーブル“ｔｅｒｍ”、“ｇｏｏｄｓ”、“ｓｔｏｒｅ”、“ｓｌｓ＿ｄｓｇｏｏｄｓ”から取得して表示する旨をＳＥＬＥＣＴ句で規定している。
【００５８】
続いて、サーバ２は、ソート順を示すＯＲＤＥＲ句を生成する。ここでは、ステップＳ４０４において取得した帳票構成項目情報の“ＳＯＲＴ＿ＯＲＤＥＲ”及び“ＡＤ＿ＣＬＡＳＳ”に基づいて、テーブル“ｇｏｏｄｓ”のカラム“商品コード”、テーブル“ｓｔｏｒｅ”のカラム“店舗コード”の優先順位でそれぞれを昇順でソートする旨が規定される。
【００５９】
このようにして生成されるクエリーは以下のようになる。
「ＳＥＬＥＣＴ  ＤＩＳＴＩＮＣＴ  ｇｏｏｄｓ．商品コード，ｇｏｏｄｓ．商品名，ｓｔｏｒｅ．規模名，ｓｔｏｒｅ．店舗コード，ｓｔｏｒｅ．店舗名，ｔｅｒｍ．年月日，ｇｏｏｄｓ．標準売価，ｇｏｏｄｓ．標準原価，ｓｌｓ＿ｄｓｇｏｏｄｓ．売上点数，ｓｌｓ＿ｄｓｇｏｏｄｓ．売上売価金額
ＦＲＯＭ  ｔｅｒｍ，ｇｏｏｄｓ，ｓｔｏｒｅ，ｓｌｓ＿ｄｓｇｏｏｄｓ
ＷＨＥＲＥ  （（ｔｅｒｍ．年月日  ＢＥＴＷＥＥＮ  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−０９  ００：００：００．００００００｀ＡＮＤ  （ｇｏｏｄｓ．商品名  ＬＩＫＥ  ｀％Ｍ−４小鉢  ％｀））
ＡＮＤ  （（ｔｅｒｍ．年月日  ＝  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１０  ２３：５９：５９．９９９９９９｀ＡＮＤ  ｇｏｏｄｓ．商品コード  ＝  ｀４９７３３０７４０４５１１｀）
ＯＲ  （ｔｅｒｍ．年月日  ＝  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１１  ２３：５９：５９．９９９９９９｀）
ＡＮＤ  ｇｏｏｄｓ．商品コード  ＝  ｀４９７３３０７４０４５１１｀））
ＡＮＤ  （ｔｅｒｍ．年月日  ＝  ｓｌｓ．ｄｓ＿ｇｏｏｄｓ．商品コード
ＡＮＤ  ｇｏｏｄｓ．商品コード  ＝  ｓｌｓ＿ｄｓｇｏｏｄｓ．商品コード
ＡＮＤ  ｓｔｏｒｅ．店舗コード  ＝  ｓｌｓ＿ｄｓｇｏｏｄｓ．店コード
ＯＲＤＥＲ  ＢＹ  ｇｏｏｄｓ．商品コード  ＡＳＣ、ｓｔｏｒｅ．店舗コード  ＡＳＣ」
【００６０】
上記のように、絞込検索によって生成されるクエリーには、前回の出力項目を含むテーブルの連結キーに対する検索結果が新たな検索条件として反映されている（ｔｅｒｍ．年月日  ＝  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１０  ２３：５９：５９．９９９９９９｀ＡＮＤ  ｇｏｏｄｓ．商品コード  ＝  ｀４９７３３０７４０４５１１｀）  ＯＲ  （ｔｅｒｍ．年月日  ＝  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１１  ２３：５９：５９．９９９９９９｀）。例えば、前回（一回目）の検索の際に“商品コード”は出力項目或いは表示項目としては指定されていないにも係わらず自由検索ＤＢ２２に対してのデータ出力条件としてＳＥＬＥＣＴ句に入れ、さらにこれを保存していることにより可能とするものである。つまり、ステップＳ２１５において“Ｃｌｍ＿０”、“Ｃｌｍ＿１”としてデータの出力項目や表示項目とは別に連結キーを自由ＤＢ２２より情報取得して保存することで、後の検索クエリー生成に備えるものである。さらには、図１２を用いて詳述したステップ２０４のクエリ−生成においては、
「ＳＥＬＥＣＴ  ＤＩＳＴＩＮＣＴ  ｔｅｒｍ．年月日，ｇｏｏｄｓ．商品名，ｇｏｏｄｓ．標準売価，ｇｏｏｄｓ．標準原価，ｇｏｏｄｓ．取引開始日ＦＲＯＭ  ｔｅｒｍ，ｇｏｏｄｓ，ｓｌｓ＿ｄｓｇｏｏｄｓ
ＷＨＥＲＥ（ｔｅｒｍ．年月日＝ｓｌｓ＿ｄｓｇｏｏｄｓ．対象日  ＡＮＤ  ｇｏｏｄｓ．商品コード＝ｓｌｓ＿ｄｓｇｏｏｄｓ．商品コード）
ＡＮＤ（（ｔｅｒｍ．年月日  ＢＥＴＷＥＥＮ  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−０９  ００：００：００．００００００｀ＡＮＤ  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１１  ２３：５９：５９．００００００｀）
ＡＮＤ（ｇｏｏｄｓ．商品名  ＬＩＫＥ  ｀％Ｍ−４小鉢  ％｀））
ＯＲＤＥＲ  ＢＹ  ｇｏｏｄｓ．商品名  ＡＳＣ，ｇｏｏｄｓ．取引開始日  ＡＳＣ」
としても図７に示す検索結果の表示を作成することは可能である。また従来の技術によれば、このようにＳＱＬ文を生成するものである。しかし、本発明は複雑に連結キーで連結されるスキーマを有するデータベースに対して更なる絞り込み検索を行い、検索結果をさまざまな出力項目を有する各種の帳票へのデータ合成を可能とするために上述のようなクエリ−生成を行うものである。
【００６１】
これにより、絞込検索の際に前回の出力項目をみて、再度検索条件に反映させて再検索を行うる手間が省け、新たな絞込条件のみの入力により絞込検索を実行することが可能となり、ユーザにとって検索操作が容易になる。同じく、当該連結キーに対する検索結果が新たな検索条件に反映されることによって、前回の出力項目を含むテーブル内における出力項目の変更を前回の出力項目を反映させることなく容易に行うことが可能となる。また、複数の表形式のデータテーブルを有する複雑なスキーマのデータベースに対してデータベースの知識のないユーザが容易に、自由度の高い検索を行うも可能となる。
【００６２】
つまり、複雑なスキーマを有するデータベースの検索においても、図７において「データ出力」の選択だけでなく、「帳票出力」といったデータの出力項目が変化した場合でも対応できる自由度をユーザに与えることができ、出力形態を検索実行前に指定したものだけ或いは予め決められたものだけしか出来ない従来のものとはその自由度は比べ物にならない。
【００６３】
なお、２回目の検索におけるクエリー生成時に図７のデータ出力選択（ステップＳ１２１）においてすべてのデータが選択されたか否かをステップＳ２１６及びステップＳ２１７で判断する。そしてすべてのデータが出力対象の場合には、クエリ生成及び自由検索ＤＢ２２でのクエリー解釈に時間がかかるために、すべてのデータに対して、個別に（ｔｅｒｍ．年月日  ＝  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１０  ２３：５９：５９．９９９９９９｀ＡＮＤ  ｇｏｏｄｓ．商品コード  ＝  ｀４９７３３０７４０４５１１｀）  ＯＲ  （ｔｅｒｍ．年月日  ＝  ｔｉｍｅｓｔａｍｐ｀１９９６−１２−１１  ２３：５９：５９．９９９９９９｀）の条件を作成せずにステップＳ４０７における処理ではステップＳ２１７で保存した出力データ選択条件を無視して、クエリーを生成することで効率的な検索を行うことも可能である。
【００６４】
尚、ＣＳＶファイルについての絞込検索時における検索クエリー生成方法についての具体的な説明は省略したが、帳票作成時と同様の処理により検索クエリーを生成し、上記と同様の効果を奏することは勿論である。
【００６５】
図２４は、本実施形態におけるサーバ２のハードウェア構成を示した図である。
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。また、ＲＯＭ２０３或いは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステムプログラム（以下、ＯＳと称す）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００６６】
キーボードコントローラ（ＫＢＣ）２０５は、キーボード２０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。これらは必要に応じて管理者が使用するものである。本発明には直接関係あるものではない。
【００６７】
外部メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウェア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、データベースマネージメントシステム（ＤＢＭＳ）、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（Ｒ）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００６８】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。上述の動作フローチャートで説明した各処理に係わるプログラムや自由検索ＤＢ２２は外部メモリ２１１に記憶され、各種プログラムは必要に応じてＲＡＭ２０２に読み出されてＣＰＵ２０１が実行するものである。
【００６９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００７０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７１】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７４】
【発明の効果】
本発明によれば、データベースに対する過去のデータ検索処理に係る情報を用いて、当該データベースに対する検索処理を再度実行可能に構成したので、絞込検索を実行するとき等、過去の検索処理に係る情報が必要な検索処理を実行する場合において、ユーザは、その過去の検索処理に係る情報を再度入力するために以前検索した画面を参照する手間等から回避され、検索操作時におけるユーザの利便性を向上させることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るデータベース検索システムの構成を模式的に示した図である。
【図２】本発明の一実施形態に係るデータベース検索システムの主要動作を示したフローチャートである。
【図３】本発明の一実施形態に係るデータベース検索システムの主要動作を示したフローチャートである。
【図４】検索条件画面の一例を示した図である。
【図５】出力項目選択画面の一例を示した図である。
【図６】表示指定画面の一例を示した図である。
【図７】検索結果一覧画面の一例を示した図である。
【図８】検索ヒット件数表示画面の一例を示した図である。
【図９】帳票一覧画面の一例を示した図である。
【図１０】検索ヒット件数表示画面の一例を示した図である。
【図１１】帳票画面の一例を示した図である。
【図１２】本発明の一実施形態に係る検索クエリー生成方法の流れを示したフローチャートである。
【図１３】本発明の一実施形態に係る検索クエリー生成方法の流れを示したフローチャートである。
【図１４】テーブル情報格納テーブルの一構成例を示した図である。
【図１５】カラム情報格納テーブルの一構成例を示した図である。
【図１６】リレーション情報格納テーブルの一構成例を示した図である。
【図１７】本発明の一実施形態に適用されるスタースキーマ型リレーショナルデータベースのリレーション関係を示した図である。
【図１８】帳票情報格納テーブルの一構成例を示した図である。
【図１９】帳票データ格納テーブルの一構成例を示した図である。
【図２０】テーブル“ｇｏｏｄｓ”の一構成例を示した図である。
【図２１】テーブル“ｔｅｒｍ”の一構成例を示した図である。
【図２２】テーブル“ｓｔｏｒｅｓ”の一構成例を示した図である。
【図２３】テーブル“ｓｌｓ＿ｄｓｇｏｏｄｓ”の一構成例を示した図である。
【図２４】本発明の一実施形態におけるサーバのハードウェア構成を示した図である。
【符号の説明】
１：クライアントＰＣ
２：サーバ
３：システムＤＢサーバ
２１：自由検索／自由帳票アプリケーション
２２：自由検索ＤＢ
１２１：検索条件格納部
１２２：表示項目指定格納部
１２３：リレーション情報格納テーブル
１３１：帳票指定格納部
１３２：検索結果格納部
１３３：帳票情報格納テーブル
１３４：帳票データ格納テーブル
１３５：リレーション情報格納テーブル
【図１】
2004213348.tif 000003
【図２】
2004213348.tif 000004
【図３】
2004213348.tif 000005
【図４】
2004213348.tif 000006
【図５】
2004213348.tif 000007
【図６】
2004213348.tif 000008
【図７】
2004213348.tif 000009
【図８】
2004213348.tif 000010
【図９】
2004213348.tif 000011
【図１０】
2004213348.tif 000012
【図１１】
2004213348.tif 000013
【図１２】
2004213348.tif 000014
【図１３】
2004213348.tif 000015
【図１４】
2004213348.tif 000016
【図１５】
2004213348.tif 000017
【図１６】
2004213348.tif 000018
【図１７】
2004213348.tif 000019
【図１８】
2004213348.tif 000020
【図１９】
2004213348.tif 000021
【図２０】
2004213348.tif 000022
【図２１】
2004213348.tif 000023
【図２２】
2004213348.tif 000024
【図２３】
2004213348.tif 000025
【図２４】
2004213348.tif 000026