説明

データ検索システム及びデータ検索方法

【課題】データを容易に検索すること。
【解決手段】利用者が設定した複数の検索語を格納する変数エリア部110と、n回読みテーブル部106に登録した単語を検索するための複数検索語を登録する検索用変数エリア部111と、複数の検索語を変数エリア部110に格納するパラメータ取得部107と、この格納した複数検索語を検索用変数エリア部111に格納する対象レコード選定部109と、この検索用変数エリア部109に格納した検索語の組み合わせを用いて複数回読みテーブル部106に登録した単語を検索する対象レコード検索部108とを設け、対象レコード検索部108が検索用変数エリア部111に格納した検索語を用いてn回読みテーブル部106に登録した単語の組み合わせがヒットしないとき、対象レコード選定部109が、検索用変数エリア部111に格納した複数の検索語の一部をワイルドカードに変更するデータ検索システム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースにおけるマスタテーブルからデータを容易に検索することができるデータ検索システム及びデータ検索方法に係り、特にASP(Application Service Provider)事業において、業務ソフトウェアを複数の顧客に提供する場合、マスタテーブルからデータを容易に検索することができるデータ検索システム及びデータ検索方法に関する。
【背景技術】
【0002】
従来、ASP事業は、例えば、多数の顧客に業務プログラムを提供する場合、基本となる機能を処理する基本機能プログラムと、顧客毎の異なる要求に対応するための追加機能を制御するマスタテーブルと、このマスタテーブルを制御する追加機能プログラムとを作ることによって顧客毎のニーズに対応している。このASP事業においては、前記マスタテーブルを用意することによってシステム構築を容易にすることができるが、顧客数の増大によってマスタテーブル数も増大し、共通する追加機能の保守時に、内容が共通する業務プログラム用のマスタテーブルであっても顧客毎の設定仕様が異なるため、顧客毎の仕様を考慮したデータ検索を行わなければならないという課題があった。なお、ASPとは、業務用のアプリケーションソフトをネットワーク(特にインターネット)を利用して、顧客にレンタルする事業者あるいはサービスを指す。
【0003】
前記データ検索を容易に行うことができるデータ検索技術が記載された文献としては、下記の特許文献1が挙げられ、この特許文献1には、所定の情報とこれに対応する検索キーとの関係に応じた適応的な検索キーを作成するための検索キーパターン(検索語のある桁を任意の文字を指定するワイルドカード「?」に置き換えるキーパターン)を作成する手段と、入力された検索キーと前記検索キーパターンとの関係に基づいて前記適応的な検索キーを作成する手段と、前記適応的な検索キーによって前記所定の情報を検索する手段とを設けることによって、部門毎に部品形名が変形する場合であっても確実に部品形名を検索可能なシステムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−334774号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
前記の特許文献1記載の技術は、部門毎に部品形名が変形する場合であっても確実に部品形名を検索可能にするため、検索キーパターンの設定に従って検索語のある桁をワイルドカード「?」に置き換えて部分一致検索を行うため、この検索キーパターンの設定により検索条件が固定化され、かつ複数キーが存在する場合に絞り込みに限界があるという課題があった。
【0006】
本発明の目的は、前述の従来技術による不具合を除去することであり、マスタテーブルからのデータを容易に検索することができるデータ検索システム及びデータ検索方法を提供することである。
【課題を解決するための手段】
【0007】
前記目的を達成するために本発明は、利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータを用いたデータ検索システムであって、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを備え、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更することを特徴とする。
【0008】
請求項2記載の発明は、前記データ検索システムにおいて、前記対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更することを特徴とする。
【0009】
請求項3記載の発明は、利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータシステムのデータ検索方法であって、前記コンピュータに、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを設け、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更することを特徴とする。
【0010】
請求項4記載の発明は、前記データ検索方法において、前記コンピュータに、対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更することを特徴とする。
【発明の効果】
【0011】
本発明によるデータ検索システム及びデータ検索方法は、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更させ、検索語の組み合わせを任意に変化させることによって、データを容易に検索することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態を示すデータ検索システムの全体構成図
【図2】本発明の実施形態を示すn度読みテーブル部の構成図
【図3A】本発明の実施形態を示すn度読み動作のフロー図
【図3B】本発明の実施形態を示すn度読み動作のフロー図
【発明を実施するための形態】
【0013】
以下、本発明によるデータ検索システム及びデータ検索方法の一実施形態を図面を参照して詳細に説明する。
[構成]
本発明の一実施形態によるデータ検索システムが適用されるコンピュータシステムは、図1に示す如く、利用者101が使用する端末102にネッシワーク111を介して接続されるサーバ10の業務システム103の検索機能部104と、この検索機能部104に接続され、検索対象となる複数の検索語を含む複数のレコードデータを格納した複数回読みテーブル部(本明細書、図面、要約書においてはn度読みテーブル部という。)106とから構成される。
【0014】
前記検索機能部104は、前記n度読みテーブル部106に格納された検索時に使用するパラメータである検索語を取得するためのパラメータ取得部107と、このパラメータ取得部107が取得したパラメータ(検索語)を用いて検索対象となるレコードデータを選定するための対象レコード選定部109を含み、検索語を組み合わせた検索式を複数のパターンとして生成し、検索優先順位の高い検索式パターンによる検索をn度読みテーブル部106に対して行う対象レコード検索部108と、変数エリア部110と、検索用変数エリア部111とから構成される。
【0015】
前記n度読みテーブル部106は、図2に示す如く、前記n度読み機能部105のアルゴリズムによって制御されるものであって、一意性(ユニーク)のある複数のキー(KEY1,KET2,・・・)を格納するキーエリア201と、このキーエリア201によって決定する値(VALUE1,VALUE2,・・・)を格納する値エリア202とから構成され、例えば、前記「KEY1」は特定企業の「企業コード」、「KEY2」は前記企業の「第1事業所コード」が格納され、前記「VALUE1」は前記企業における「勤務地手当」、「寒冷地手当」などが格納される。
【0016】
前記キーエリア201に格納した複数キーの相関関係は、検索の優先順位が「KEY1>KEY2>・・・>KEYxxx」であり、KEY1が最上位キー、KEYxxx(最大キー数)が最下位キーとなるように格納される。また、前記キーエリア201には、任意の文字を示す特殊キー(ワイルドカード)が格納される。このワイルドカードは個別キーが複数存在する場合、この複数個別キーを纏めて設定することが出来る特殊キーである。
【0017】
前記n度読みテーブル部106は、キーエリア201の個数を1以上の整数mとした場合、n度読み機能部105の値「n」が決まり、例えば、m=2の場合は3度読み機能が実現でき、最大3回の検索回数で検索を完了させることができ、その算出式は「n度読み回数=2−2m−1+1」となる。
【0018】
従って、キーエリア201のキー個数をm=2とした場合、3度読みテーブル(m=2)の構成は、図2(c)に示した構成例205となり、「KEY1」が3種類、「KEY2」が3種類ある場合、キーの組合せパターンは最大13個となる(3×3、3の二乗の9個、「KEY1」の3種類に対する「KEY2」のワイルドカードの組合せが3個、「KEY1」及び「KEY2」の両方ともワイルドカードの1個)。n度読み機能部105のアルゴリズムを適用しない場合、n度読みテーブル部106に設定するレコード数は、全パターン分の場合は最大の13レコードとなる。キーエリアの組合せによる検索の優先順位は、予め定めた手順によって 処理される。
【0019】
また、前記キーエリア201のキー個数をm=3とした場合、5度読みテーブル(m=3)の構成は、図2(e)に示した構成例206となり、「KEY1」が3種類、「KEY2」が3種類、「KEY3」が3種類ある場合、キーの組合せパターンは最大49個となる(3×3×3、3の三乗の27個、「KEY1」-「KEY2」ワイルドカード-「KEY3」の組合せが9個、「KEY1」-「KEY2」-「KEY3」ワイルドカードの組合せが9個、「KEY1」-「KEY2」ワイルドカード-「KEY3」ワイルドカードの組合せが3個、「KEY1」、「KEY2」、及び「KEY3」全てワイルドカードの1個)。また、n度読み機能部105のアルゴリズムを使用しない場合のn度読みテーブル部106に設定するレコード数は、全パターン分の場合は最大の49レコードとなる。
【0020】
このn度読み機能部105は、キーの組合せ全てをn度読みテーブル部106に設定する必要はなく、何れかのキーでワイルドカードを用いることが可能であれば、設定するレコードを削減することができる。例えば、キーエリアの個数をm=1とした場合、2度読みテーブル(m=1)の構成は、図2(b)に示した設定例203となり、例えば「KEY1」が「AAA」、「BBB」、「CCC」の3種類、対応する値エリアが「3,000円」、「1,000円」、「3,000円」の3種類とした場合、ワイルドカードを用いることによって2レコードの設定で実現することができる。なお、ワイルドカードの利用しない場合は、「KEY1」の個数分の3レコードを設定する必要があり、n度読みを実現するキーエリア201及び値エリア202のカラム数はテーブルを構築するDBMSのカラム数の制約が適用される。
【0021】
なお、前記サーバ10は、一般のコンピュータと同様に、CPU(Central Processing Unit)、メモリ、磁気ディスク装置等の記憶手段、表示部、キーボード等の入出力機器、各種インターフェース機器、基本OS(オペレーティングシステム)及び各種ソフトウェアを含み、前記メモリには後述する検索動作を行う際に一時的に使用する複数の記憶エリアとして、複数の検索パラメータ(検索語)を格納する変数エリア部110と、前記n度読みテーブル部106から読み出した検索パラメータ(検索語)を格納する検索用変数エリア部111とを備える。
【0022】
[動作]
次に、本実施形態によるデータ検索システムの動作を、キーエリアの個数をm=3とし、5度読みテーブル(m=3)を用いた場合の動作を図3A及び図3Bのフローを参照して説明する。
【0023】
本実施形態によるデータ検索システムは、図3Aに示す如く、検索機能部104から呼出されたn度読み機能部105のパラメータ取得部107が利用者101から入力された検索語であるパラメータ1、2,3を複数の変数エリアP_KEY1、P_KEY2、P_KEY3に格納するステップ301と、この格納した変数P_KEY1、P_KEY2、P_KEY3を検索用変数エリアWK_KEY1、WK_KEY2、WK_KEY3に格納するステップ302と、この格納した変数を検索条件とし、n度読みテーブル部106に対し検索を行うステップ303と、前記n度読みテーブル部106のキー群DB_KEY1、DB_KEY2、DB_KEY3に対し、前記ステップ302によって格納した変数と全てが一致するレコードがあるか否かを判定し、一致レコードがあると判定したとき、後記のステップ318に移行するステップ304とを実行することによって、前記ステップ303によって設定したパラメータ{例えば図2(e)の1レコード目の検索語}と一致するレコードがヒットしたとき、後記のステップ318によって検索結果を検索機能部104に検索結果を戻すように動作する。
【0024】
次に、本実施形態によるデータ検索システムは、前記ステップ304において一致するレコードがないと判定したとき、検索用変数のWK_KEY2のみ特殊キーワイルドカードをセットして検索条件を変更するステップ305と、このステップ305によって格納した変数を検索条件とし、n度読みテーブル部106に対し検索を行うステップ306と、前記n度読みテーブル部106のキー群DB_KEY1、DB_KEY2、DB_KEY3に対し、前記ステップ305によって格納した変数の全てが一致するレコードが存在するか否かを判定し、一致するレコードがあると判定したとき、後記のステップ318に移行するステップ307と、このステップ307によって一致するレコードがないと判定したとき、検索用変数のWK_KEY2をP_KEY2に再設定すると共にWK_KEY3に対して特殊キーワイルドカードをセットして検索条件を変更するステップ308とを実行することによって、図2(e)の2レコード目の如く、WK_KEY3のみ特殊キーワイルドカードを設定するように動作する。
【0025】
本実施形態によるデータ検索システムは、図3Bに示す如く、前記ステップ308に続き、前記ステップ308によって格納した変数を検索条件とし、n度読みテーブル部106に対し検索を行うステップ309と、前記n度読みテーブル部106のキー群DB_KEY1、DB_KEY2、DB_KEY3に対し、308で格納した変数全てが一致するレコードが存在するか否かを判定し、存在すると判定したとき、ステップ318に移行するステップ310と、このステップ310によって該当するレコードが存在しないと判定したとき、検索用変数のWK_KEY2に対し、特殊キーワイルドカードをセットし、検索条件を変更するステップ311を実行することによって、図2(e)の3レコード目の如く、WK_KEY2及びWK_KEY3を特殊キーワイルドカードを設定するように動作する。
【0026】
次に、本実施形態によるデータ検索システムは、前記ステップ311によって格納した変数を検索条件とし、n度読みテーブル部106に対し検索を行うステップ312と、前記n度読みテーブル部106のキー群DB_KEY1、DB_KEY2、DB_KEY3に対し、前記ステップ311によって格納した変数の全てが一致するレコードが存在するか否かを判定し、存在すると判定したき、ステップ318に移行するステップ313と、このステップ313において一致するレコードが存在しないと判定したとき、検索用変数のWK_KEY1に対し、特殊キーワイルドカードをセットし、検索条件を変更するステップ314を実行することによって、図2(e)の4レコード目の如く、検索用変数WK_KEY1とWK_KEY2とWK_KEY3の全てを特殊キーワイルドカードに設定するように動作する。
【0027】
次に、本実施形態によるデータ検索システムは、前記ステップ314によって格納した変数を検索条件とし、n度読みテーブル部106に対し検索を行うステップ315と、前記n度読みテーブル部106のキー群DB_KEY1、DB_KEY2、DB_KEY3に対し、前記ステップ314によって格納した変数の全てが一致するレコードが存在するか否かを判定し、存在すると判定したとき、ステップ318に移行するステップ316と、前記ステップ316によって該当するレコードが存在しないと判定したとき、該当レコードなしの結果のため戻値に該当レコードなしの結果をセットするステップ317と、前記対象レコード選定部109を用いて該当レコードが存在すると判定したとき、戻値に該当レコードを結果としてセットするステップ318と、前記n度読み機能部105が検索機能部104に対して検索結果である戻値を戻し、処理を終了とするステップ319とを実行する。
【0028】
このように本実施形態によるデータ検索システム及び同検索方法は、図2(e)に示した最上段の1レコード目の検索語を用いた検索を行い、検索条件にヒットしないとき、次段のレコードの検索語を用いた検索を行う処理を繰り返して行うことによって、検索条件を変化させた複数の検索を実行することができ、これによって、マスタテータブルに格納した項目を容易に検索することができる。
【符号の説明】
【0029】
101 利用者、 102 端末、 103 業務システム、 104 検索機能部、 105 n度検索機能部、 106 n度読みテーブル部、 107 パラメータ取得部、 108 対象レコード検索部、 109 検索用変数エリア部、 109 対象レコード選定部、 10 サーバ、 110 変数エリア部、 111 ネッシワーク、 111 検索用変数エリア部

【特許請求の範囲】
【請求項1】
利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータを用いたデータ検索システムであって、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを備え、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更するデータ検索システム。
【請求項2】
前記対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更する請求項1記載のデータ検索システム。
【請求項3】
利用者が設定した複数の検索語と前記検索語に対応した値とを複数回読みテーブル部に登録し、前記検索語の複数の組み合わせを用いて検索語及び値を検索するコンピュータシステムのデータ検索方法であって、前記コンピュータに、前記利用者が設定した複数の検索語を格納する変数エリア部と、前記複数回読みテーブル部に登録した単語を検索するための複数の検索語を登録する検索用変数エリア部と、前記利用者が設定した複数の検索語を前記変数エリア部に格納するパラメータ取得部と、前記変数エリア部に格納した複数の検索語を前記検索用変数エリア部に格納する対象レコード選定部と、前記検索用変数エリア部に格納した検索語の組み合わせを用いて前記複数回読みテーブル部に登録した単語を検索する対象レコード検索部とを設け、前記対象レコード検索部が、前記検索用変数エリア部に格納した検索語を用いて前記複数回読みテーブル部に登録した単語の組み合わせを検索し、該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した複数の検索語の一部を任意の文字列を意味するワイルドカードに変更するデータ検索方法。
【請求項4】
前記コンピュータに、対象レコード選定部が、前記変数エリア部に格納する検索語を優先順位の上位の検索語と前記上位の検索語に対して優先度の低い検索語とを前記検索用変数エリア部に格納し、前記該当の単語の組み合わせがされないとき、前記対象レコード選定部が、前記検索用変数エリア部に格納した優先度の低い検索語をワイルドカードに変更する請求項3記載のデータ検索方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate