(57)【要約】【課題】データを容易に検索すること。【解決手段】利用者が設定した複数の検索語を格納する変数エリア部１１０と、ｎ回読みテーブル部１０６に登録した単語を検索するための複数検索語を登録する検索用変数エリア部１１１と、複数の検索語を変数エリア部１１０に格納するパラメータ取得部１０７と、この格納した複数検索語を検索用変数エリア部１１１に格納する対象レコード選定部１０９と、この検索用変数エリア部１０９に格納した検索語の組み合わせを用いて複数回読みテーブル部１０６に登録した単語を検索する対象レコード検索部１０８とを設け、対象レコード検索部１０８が検索用変数エリア部１１１に格納した検索語を用いてｎ回読みテーブル部１０６に登録した単語の組み合わせがヒットしないとき、対象レコード選定部１０９が、検索用変数エリア部１１１に格納した複数の検索語の一部をワイルドカードに変更するデータ検索システム。【選択図】図１
2011238140.tif 000002
【特許請求の範囲】
【請求項１】
利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータを用いたデータ検索システムであって、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを備え、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更するデータ検索システム。
【請求項２】
前記対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更する請求項１記載のデータ検索システム。
【請求項３】
利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータシステムのデータ検索方法であって、前記コンピュータに、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを設け、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更するデータ検索方法。
【請求項４】
前記コンピュータに、対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更する請求項３記載のデータ検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースにおけるマスタテーブルからデータを容易に検索することができるデータ検索システム及びデータ検索方法に係り、特にＡＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）事業において、業務ソフトウェアを複数の顧客に提供する場合、マスタテーブルからデータを容易に検索することができるデータ検索システム及びデータ検索方法に関する。
【背景技術】
【０００２】
従来、ＡＳＰ事業は、例えば、多数の顧客に業務プログラムを提供する場合、基本となる機能を処理する基本機能プログラムと、顧客毎の異なる要求に対応するための追加機能を制御するマスタテーブルと、このマスタテーブルを制御する追加機能プログラムとを作ることによって顧客毎のニーズに対応している。このＡＳＰ事業においては、前記マスタテーブルを用意することによってシステム構築を容易にすることができるが、顧客数の増大によってマスタテーブル数も増大し、共通する追加機能の保守時に、内容が共通する業務プログラム用のマスタテーブルであっても顧客毎の設定仕様が異なるため、顧客毎の仕様を考慮したデータ検索を行わなければならないという課題があった。なお、ＡＳＰとは、業務用のアプリケーションソフトをネットワーク（特にインターネット）を利用して、顧客にレンタルする事業者あるいはサービスを指す。
【０００３】
前記データ検索を容易に行うことができるデータ検索技術が記載された文献としては、下記の特許文献１が挙げられ、この特許文献１には、所定の情報とこれに対応する検索キーとの関係に応じた適応的な検索キーを作成するための検索キーパターン（検索語のある桁を任意の文字を指定するワイルドカード「？」に置き換えるキーパターン）を作成する手段と、入力された検索キーと前記検索キーパターンとの関係に基づいて前記適応的な検索キーを作成する手段と、前記適応的な検索キーによって前記所定の情報を検索する手段とを設けることによって、部門毎に部品形名が変形する場合であっても確実に部品形名を検索可能なシステムが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３３４７７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記の特許文献１記載の技術は、部門毎に部品形名が変形する場合であっても確実に部品形名を検索可能にするため、検索キーパターンの設定に従って検索語のある桁をワイルドカード「？」に置き換えて部分一致検索を行うため、この検索キーパターンの設定により検索条件が固定化され、かつ複数キーが存在する場合に絞り込みに限界があるという課題があった。
【０００６】
本発明の目的は、前述の従来技術による不具合を除去することであり、マスタテーブルからのデータを容易に検索することができるデータ検索システム及びデータ検索方法を提供することである。
【課題を解決するための手段】
【０００７】
前記目的を達成するために本発明は、利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータを用いたデータ検索システムであって、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを備え、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更することを特徴とする。
【０００８】
請求項２記載の発明は、前記データ検索システムにおいて、前記対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更することを特徴とする。
【０００９】
請求項３記載の発明は、利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータシステムのデータ検索方法であって、前記コンピュータに、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを設け、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更することを特徴とする。
【００１０】
請求項４記載の発明は、前記データ検索方法において、前記コンピュータに、対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更することを特徴とする。
【発明の効果】
【００１１】
本発明によるデータ検索システム及びデータ検索方法は、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更させ、検索語の組み合わせを任意に変化させることによって、データを容易に検索することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態を示すデータ検索システムの全体構成図
【図２】本発明の実施形態を示すｎ度読みテーブル部の構成図
【図３Ａ】本発明の実施形態を示すｎ度読み動作のフロー図
【図３Ｂ】本発明の実施形態を示すｎ度読み動作のフロー図
【発明を実施するための形態】
【００１３】
以下、本発明によるデータ検索システム及びデータ検索方法の一実施形態を図面を参照して詳細に説明する。
［構成］
本発明の一実施形態によるデータ検索システムが適用されるコンピュータシステムは、図１に示す如く、利用者１０１が使用する端末１０２にネッシワーク１１１を介して接続されるサーバ１０の業務システム１０３の検索機能部１０４と、この検索機能部１０４に接続され、検索対象となる複数の検索語を含む複数のレコードデータを格納した複数回読みテーブル部（本明細書、図面、要約書においてはｎ度読みテーブル部という。）１０６とから構成される。
【００１４】
前記検索機能部１０４は、前記ｎ度読みテーブル部１０６に格納された検索時に使用するパラメータである検索語を取得するためのパラメータ取得部１０７と、このパラメータ取得部１０７が取得したパラメータ（検索語）を用いて検索対象となるレコードデータを選定するための対象レコード選定部１０９を含み、検索語を組み合わせた検索式を複数のパターンとして生成し、検索優先順位の高い検索式パターンによる検索をｎ度読みテーブル部１０６に対して行う対象レコード検索部１０８と、変数エリア部１１０と、検索用変数エリア部１１１とから構成される。
【００１５】
前記ｎ度読みテーブル部１０６は、図２に示す如く、前記ｎ度読み機能部１０５のアルゴリズムによって制御されるものであって、一意性（ユニーク）のある複数のキー（ＫＥＹ１，ＫＥＴ２，・・・）を格納するキーエリア２０１と、このキーエリア２０１によって決定する値（ＶＡＬＵＥ１，ＶＡＬＵＥ２，・・・）を格納する値エリア２０２とから構成され、例えば、前記「ＫＥＹ１」は特定企業の「企業コード」、「ＫＥＹ２」は前記企業の「第１事業所コード」が格納され、前記「ＶＡＬＵＥ１」は前記企業における「勤務地手当」、「寒冷地手当」などが格納される。
【００１６】
前記キーエリア２０１に格納した複数キーの相関関係は、検索の優先順位が「ＫＥＹ１＞ＫＥＹ２＞・・・＞ＫＥＹｘｘｘ」であり、ＫＥＹ１が最上位キー、ＫＥＹｘｘｘ（最大キー数）が最下位キーとなるように格納される。また、前記キーエリア２０１には、任意の文字を示す特殊キー（ワイルドカード）が格納される。このワイルドカードは個別キーが複数存在する場合、この複数個別キーを纏めて設定することが出来る特殊キーである。
【００１７】
前記ｎ度読みテーブル部１０６は、キーエリア２０１の個数を１以上の整数ｍとした場合、ｎ度読み機能部１０５の値「ｎ」が決まり、例えば、ｍ＝２の場合は３度読み機能が実現でき、最大３回の検索回数で検索を完了させることができ、その算出式は「ｎ度読み回数＝２ｍ−２ｍ−１＋１」となる。
【００１８】
従って、キーエリア２０１のキー個数をｍ＝２とした場合、３度読みテーブル（ｍ＝２）の構成は、図２（ｃ）に示した構成例２０５となり、「ＫＥＹ１」が３種類、「ＫＥＹ２」が３種類ある場合、キーの組合せパターンは最大１３個となる（３×３、３の二乗の９個、「ＫＥＹ１」の３種類に対する「ＫＥＹ２」のワイルドカードの組合せが３個、「ＫＥＹ１」及び「ＫＥＹ２」の両方ともワイルドカードの１個）。ｎ度読み機能部１０５のアルゴリズムを適用しない場合、ｎ度読みテーブル部１０６に設定するレコード数は、全パターン分の場合は最大の１３レコードとなる。キーエリアの組合せによる検索の優先順位は、予め定めた手順によって    処理される。
【００１９】
また、前記キーエリア２０１のキー個数をｍ＝３とした場合、５度読みテーブル（ｍ＝３）の構成は、図２（ｅ）に示した構成例２０６となり、「ＫＥＹ１」が３種類、「ＫＥＹ２」が３種類、「ＫＥＹ３」が３種類ある場合、キーの組合せパターンは最大４９個となる（３×３×３、３の三乗の２７個、「ＫＥＹ１」-「ＫＥＹ２」ワイルドカード-「ＫＥＹ３」の組合せが９個、「ＫＥＹ１」-「ＫＥＹ２」-「ＫＥＹ３」ワイルドカードの組合せが９個、「ＫＥＹ１」-「ＫＥＹ２」ワイルドカード-「ＫＥＹ３」ワイルドカードの組合せが３個、「ＫＥＹ１」、「ＫＥＹ２」、及び「ＫＥＹ３」全てワイルドカードの１個）。また、ｎ度読み機能部１０５のアルゴリズムを使用しない場合のｎ度読みテーブル部１０６に設定するレコード数は、全パターン分の場合は最大の４９レコードとなる。
【００２０】
このｎ度読み機能部１０５は、キーの組合せ全てをｎ度読みテーブル部１０６に設定する必要はなく、何れかのキーでワイルドカードを用いることが可能であれば、設定するレコードを削減することができる。例えば、キーエリアの個数をｍ＝１とした場合、２度読みテーブル（ｍ＝１）の構成は、図２（ｂ）に示した設定例２０３となり、例えば「ＫＥＹ１」が「ＡＡＡ」、「ＢＢＢ」、「ＣＣＣ」の３種類、対応する値エリアが「３，０００円」、「１，０００円」、「３，０００円」の３種類とした場合、ワイルドカードを用いることによって２レコードの設定で実現することができる。なお、ワイルドカードの利用しない場合は、「ＫＥＹ１」の個数分の３レコードを設定する必要があり、ｎ度読みを実現するキーエリア２０１及び値エリア２０２のカラム数はテーブルを構築するＤＢＭＳのカラム数の制約が適用される。
【００２１】
なお、前記サーバ１０は、一般のコンピュータと同様に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、磁気ディスク装置等の記憶手段、表示部、キーボード等の入出力機器、各種インターフェース機器、基本ＯＳ（オペレーティングシステム）及び各種ソフトウェアを含み、前記メモリには後述する検索動作を行う際に一時的に使用する複数の記憶エリアとして、複数の検索パラメータ（検索語）を格納する変数エリア部１１０と、前記ｎ度読みテーブル部１０６から読み出した検索パラメータ（検索語）を格納する検索用変数エリア部１１１とを備える。
【００２２】
［動作］
次に、本実施形態によるデータ検索システムの動作を、キーエリアの個数をｍ＝３とし、５度読みテーブル（ｍ＝３）を用いた場合の動作を図３Ａ及び図３Ｂのフローを参照して説明する。
【００２３】
本実施形態によるデータ検索システムは、図３Ａに示す如く、検索機能部１０４から呼出されたｎ度読み機能部１０５のパラメータ取得部１０７が利用者１０１から入力された検索語であるパラメータ１、２，３を複数の変数エリアＰ＿ＫＥＹ１、Ｐ＿ＫＥＹ２、Ｐ＿ＫＥＹ３に格納するステップ３０１と、この格納した変数Ｐ＿ＫＥＹ１、Ｐ＿ＫＥＹ２、Ｐ＿ＫＥＹ３を検索用変数エリアＷＫ＿ＫＥＹ１、ＷＫ＿ＫＥＹ２、ＷＫ＿ＫＥＹ３に格納するステップ３０２と、この格納した変数を検索条件とし、ｎ度読みテーブル部１０６に対し検索を行うステップ３０３と、前記ｎ度読みテーブル部１０６のキー群ＤＢ＿ＫＥＹ１、ＤＢ＿ＫＥＹ２、ＤＢ＿ＫＥＹ３に対し、前記ステップ３０２によって格納した変数と全てが一致するレコードがあるか否かを判定し、一致レコードがあると判定したとき、後記のステップ３１８に移行するステップ３０４とを実行することによって、前記ステップ３０３によって設定したパラメータ｛例えば図２（ｅ）の１レコード目の検索語｝と一致するレコードがヒットしたとき、後記のステップ３１８によって検索結果を検索機能部１０４に検索結果を戻すように動作する。
【００２４】
次に、本実施形態によるデータ検索システムは、前記ステップ３０４において一致するレコードがないと判定したとき、検索用変数のＷＫ＿ＫＥＹ２のみ特殊キーワイルドカードをセットして検索条件を変更するステップ３０５と、このステップ３０５によって格納した変数を検索条件とし、ｎ度読みテーブル部１０６に対し検索を行うステップ３０６と、前記ｎ度読みテーブル部１０６のキー群ＤＢ＿ＫＥＹ１、ＤＢ＿ＫＥＹ２、ＤＢ＿ＫＥＹ３に対し、前記ステップ３０５によって格納した変数の全てが一致するレコードが存在するか否かを判定し、一致するレコードがあると判定したとき、後記のステップ３１８に移行するステップ３０７と、このステップ３０７によって一致するレコードがないと判定したとき、検索用変数のＷＫ＿ＫＥＹ２をＰ＿ＫＥＹ２に再設定すると共にＷＫ＿ＫＥＹ３に対して特殊キーワイルドカードをセットして検索条件を変更するステップ３０８とを実行することによって、図２（ｅ）の２レコード目の如く、ＷＫ＿ＫＥＹ３のみ特殊キーワイルドカードを設定するように動作する。
【００２５】
本実施形態によるデータ検索システムは、図３Ｂに示す如く、前記ステップ３０８に続き、前記ステップ３０８によって格納した変数を検索条件とし、ｎ度読みテーブル部１０６に対し検索を行うステップ３０９と、前記ｎ度読みテーブル部１０６のキー群ＤＢ＿ＫＥＹ１、ＤＢ＿ＫＥＹ２、ＤＢ＿ＫＥＹ３に対し、３０８で格納した変数全てが一致するレコードが存在するか否かを判定し、存在すると判定したとき、ステップ３１８に移行するステップ３１０と、このステップ３１０によって該当するレコードが存在しないと判定したとき、検索用変数のＷＫ＿ＫＥＹ２に対し、特殊キーワイルドカードをセットし、検索条件を変更するステップ３１１を実行することによって、図２（ｅ）の３レコード目の如く、ＷＫ＿ＫＥＹ２及びＷＫ＿ＫＥＹ３を特殊キーワイルドカードを設定するように動作する。
【００２６】
次に、本実施形態によるデータ検索システムは、前記ステップ３１１によって格納した変数を検索条件とし、ｎ度読みテーブル部１０６に対し検索を行うステップ３１２と、前記ｎ度読みテーブル部１０６のキー群ＤＢ＿ＫＥＹ１、ＤＢ＿ＫＥＹ２、ＤＢ＿ＫＥＹ３に対し、前記ステップ３１１によって格納した変数の全てが一致するレコードが存在するか否かを判定し、存在すると判定したき、ステップ３１８に移行するステップ３１３と、このステップ３１３において一致するレコードが存在しないと判定したとき、検索用変数のＷＫ＿ＫＥＹ１に対し、特殊キーワイルドカードをセットし、検索条件を変更するステップ３１４を実行することによって、図２（ｅ）の４レコード目の如く、検索用変数ＷＫ＿ＫＥＹ１とＷＫ＿ＫＥＹ２とＷＫ＿ＫＥＹ３の全てを特殊キーワイルドカードに設定するように動作する。
【００２７】
次に、本実施形態によるデータ検索システムは、前記ステップ３１４によって格納した変数を検索条件とし、ｎ度読みテーブル部１０６に対し検索を行うステップ３１５と、前記ｎ度読みテーブル部１０６のキー群ＤＢ＿ＫＥＹ１、ＤＢ＿ＫＥＹ２、ＤＢ＿ＫＥＹ３に対し、前記ステップ３１４によって格納した変数の全てが一致するレコードが存在するか否かを判定し、存在すると判定したとき、ステップ３１８に移行するステップ３１６と、前記ステップ３１６によって該当するレコードが存在しないと判定したとき、該当レコードなしの結果のため戻値に該当レコードなしの結果をセットするステップ３１７と、前記対象レコード選定部１０９を用いて該当レコードが存在すると判定したとき、戻値に該当レコードを結果としてセットするステップ３１８と、前記ｎ度読み機能部１０５が検索機能部１０４に対して検索結果である戻値を戻し、処理を終了とするステップ３１９とを実行する。
【００２８】
このように本実施形態によるデータ検索システム及び同検索方法は、図２（ｅ）に示した最上段の１レコード目の検索語を用いた検索を行い、検索条件にヒットしないとき、次段のレコードの検索語を用いた検索を行う処理を繰り返して行うことによって、検索条件を変化させた複数の検索を実行することができ、これによって、マスタテータブルに格納した項目を容易に検索することができる。
【符号の説明】
【００２９】
１０１  利用者、  １０２  端末、  １０３  業務システム、  １０４  検索機能部、  １０５  ｎ度検索機能部、  １０６  ｎ度読みテーブル部、  １０７  パラメータ取得部、  １０８  対象レコード検索部、  １０９  検索用変数エリア部、  １０９  対象レコード選定部、  １０  サーバ、  １１０  変数エリア部、  １１１  ネッシワーク、  １１１  検索用変数エリア部
【図１】
2011238140.tif 000003
【図２】
2011238140.tif 000004
【図３Ａ】
2011238140.tif 000005
【図３Ｂ】
2011238140.tif 000006