(57)【特許請求の範囲】
【請求項１】
マスタデータと索引から成るデータベースの索引創成装置であって、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段と、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動する移動手段と、
前記移動により並び替えられた新規のキーワード文字列と、マスタデータの各レコードに付番されたレコード番号を対に、索引データとして記憶する索引記憶手段と、を備えたことを特徴とするデータベースの索引創成装置。
【請求項２】
マスタデータと索引から成るデータベースの索引創成装置であって、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段と、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動し、非特定桁位置の文字列データを削除する削除移動手段と、
前記特定された桁位置の文字列データのみ新規のキーワード文字列として、マスタデータの各レコードに付番されたレコード番号と対に、索引データとして記憶する索引記憶手段と、を備えたことを特徴とするデータベースの索引創成装置。
【請求項３】
マスタデータと索引から成るデータベースの索引をコンピュータに創成させるプログラムを記録した記録媒体であって、
コンピュータを、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動する移動手段、
前記移動により並び替えられた新規のキーワード文字列と、マスタデータの各レコードに付番されたレコード番号を対に、索引データとして記憶させる索引記憶手段、
として機能させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
マスタデータと索引から成るデータベースの索引をコンピュータに創成させるプログラムを記録した記録媒体であって、
コンピュータを、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動し、非特定桁位置の文字列データを削除する削除移動手段、
前記特定された桁位置の文字列データのみ新規のキーワード文字列として、マスタデータの各レコードに付番されたレコード番号と対に、索引データとして記憶する索引記憶手段
として機能させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はマスタデータと索引から成るデータベースの索引（インデックス）を創成する技術に関する。
【０００２】
【従来の技術】
昨今の急速な情報通信技術の発展に伴い、各分野に於いて取り扱うデータ量も急激な増加を示しており、その量は膨大なものとなっている。
【０００３】
本発明は、この様な各分野に於いて急激に膨れ上がっているデータを体系的に整理されたデータベースから、特定の条件に合ったデータを如何に効率的に検索・処理するかという課題に関するものである。
【０００４】
現在この様なデータベースの検索法として、その検索の対象となる元のデータ群（これを以降マスタデータと称す）に対しキーワードに対する索引（インデックス）を設け、検索の高速化を図る方法が主流となっている。
【０００５】
この検索法を説明した一例が図５であり、図５（１）がマスタデータと索引データから成るデータベースを表しており、図５（２）がトランザクションの検索キーワードを表している。
【０００６】
検索の手順としては、トランザクションの検索キーワード（検索条件）が与えられると、先ず索引データを所定の方法で検索し、一致した索引レコードのレコード番号から所望のマスタレコードを突き止めるものである。
【０００７】
この場合の索引データの創成は、マスタデータからキーワードとレコード番号を対に１対１の形式で索引レコードを抽出し、キーワードの文字列を対象に昇順又は降順にソーティング（並べ替え）することにより作成される。或いはマスタデータから抽出された索引データを、キーワードをもとに所定のハッシュ関数によりグルーピングするハッシュ法により作成される。
【０００８】
また、この様な方法で作成された索引データの検索には、逐次探索法（順探索法）や２分探索法などが使用されるが、これ等は本発明の目的とは直接関係がないため説明を省略する。
【０００９】
図５に示した検索例では、マスタレコードに於ける「ａ〜ｋ」で表現された１１文字列をキーワードとしたもので、索引データの創成はこのキーワードに対し前述の方法で作成されるが、ここではキーワードを降順にソーティングしたものを例示している。
【００１０】
そして検索キーワードとして「平成１１年０６月２０日」が与えられると、前記逐次探索法を想定した場合、先ず索引データの先頭のレコード（平成１１年１２月２０日に相当）から順に下方へ条件が一致するまで比較・検索を進める。
【００１１】
この時の比較は、キーワードの各文字に付番した「ａ」から「ｋ」に向けて文字単位に行われる。
【００１２】
従って索引データの先頭から２レコードに関しては「ａ」から始まり「ｆ」まで比較した段階で不一致と判り、当レコードの検索を中止し次のレコード検索に移る。同様に先頭から３レコード目に関しては「ｇ」まで比較した段階で不一致と判り当レコードの検索を中止し、次の４レコード目の比較で始めて「平成１１年０６月２０日」が検索され、そのレコードのレコード番号「１」からマスタデータ中のレコード番号「１」のマスタレコードが検索される仕組みである。
【００１３】
【発明が解決しようとする課題】
従来はこの様に検索キーワードが与えられた時、先ず索引データの先頭のレコードから順に文字比較を行い、不一致になった時点で当該レコードの検索を中止し次のレコード検索に移るため、キーワード文字列に於ける後部の特定桁のみに文字種の散らばりがある様な場合には、無駄な文字比較（検索キーワードと索引データの同一文字列の比較）を行っているという問題があった。
【００１４】
本発明はこのような点にかんがみて、キーワード文字列の特性に応じたデータベースの索引を創成し、検索の処理性能向上と索引記憶領域の削減を図る手段を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記の課題は下記の如くに構成されたデータベースの索引創成装置によって解決される。即ち図１は、本発明の原理図であり、
マスタデータと索引から成るデータベースの索引創成装置であって、
マスタデータのキーワード文字列から、複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段１０と、前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動する移動手段１１或いは前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動し、非特定桁位置の文字列データを削除する削除移動手段１１と、前記移動により並び替えられた新規のキーワード文字列と、マスタデータの各レコードに付番されたレコード番号を対に、索引データとして記憶する索引記憶手段１２とを備えることにより、データベースの索引創成に於けるキーワード文字列の特性、即ち文字列の特定桁のみに文字種の散らばりがある様な場合に、キーワードの文字種の散らばりがある特定桁の文字列をキーワード文字列の先頭方向に移動した索引データを作成することにより、検索時の文字比較回数を減少させ検索の処理時間短縮を図ると共に、キーワードを一意に決める特定桁の文字列のみを抽出した索引データを作成することにより、索引データ格納の記憶領域を削減することが出来る。
【００１６】
【発明の実施の形態】
図２及び図３は具体的な実施例として本発明を説明するためのものであり、データ内容は従来技術の説明で使用したものと同一である。
【００１７】
即ち、マスタデータに於けるキーワード文字列は「ａ」〜「ｋ」で表現されており、本例では「ｆ」及び「ｇ」の桁位置のデータが前記桁特定手段により複数の文字種を含んだキーワード文字列として特定されることになる。この特定された桁位置をここでは特定桁と呼んでいる。
【００１８】
「ｆ」及び「ｇ」の桁位置を特定し設定する方法として、人手により外部で特定し、これを例えばキーボードなどから与える方法と、コンピュータ内部のプログラムによりキーワード文字列の各桁について複数の文字種を含んでいるか否かを判定し設定する方法とがある。
【００１９】
この様にキーワードの特定桁が設定されると、図２に示す本例（１）の場合、特定桁「ｆ」及び「ｇ」のデータ内容が順次キーワード文字列の先頭方向に移動され、移動により作成された新規のキーワード文字列とマスタレコードのレコード番号とを対に索引データとして記憶装置に格納される。尚、この時非特定桁については特定桁移動分右シフトされキーワード文字列としてその儘残される。
【００２０】
また、この様にして作成された索引データは例えば降順にソーティングされ、本例（１）に於いてはレコード番号「４」の新規に作成されたキーワード文字列「１２平成１１年月２０日」を先頭に、レコード番号「５」、レコード番号「２」、レコード番号「１」、そしてレコード番号「３」の「０４平成１１年月２０日」の順に並び替えされる。
【００２１】
次に図３の本例（２）は、本例（１）の方法に加え、索引データとしてキーワードとして一意に決まる特定桁「ｆ」及び「ｇ」のデータ内容のみをレコード番号と共に記憶装置に格納した例であり、非特定桁については記憶の対象外で削除されたものである。
【００２２】
この様に本例（１）又は本例（２）の様に作成された索引データをもとにマスタデータから条件に合ったレコードを検索する場合、例えば検索条件としてキーワード「平成１１年０６月２０日」が与えられると、図示を省略しているが、索引データ毎に記憶され特定桁を示す制御情報をもとに、これを「０６平成１１年月２０日」と読み替え、索引データが検索される。
【００２３】
本例（１）又は本例（２）の何れに於いても、検索キーワードの先頭文字「０」と索引（データ）レコードの先頭文字「ｆ」が一致するまで索引データを順次検索するが、索引データの最初の２レコードに関しては「ｆ」が「１」で不一致であることによりその時点で当該レコードの後ろの文字列に対する比較を打ち切り、次のレコードの検索に移される。
【００２４】
そして索引データの３レコード目の「０」で始めて一致したことにより、同様にして検索キーワードの次の文字「６」と索引レコードの「ｇ」が一致するまで索引データを検索する。本例の場合３レコード目は「８」で不一致であり、４レコード目で始めて一致することにより検索を終了し、その４レコード目のレコード番号「１」からマスタデータ中のレコード番号「１」のマスタレコードが検索されるものである。
【００２５】
この様に図２及び図３による本発明の索引データ作成の実施例及びこれを使用した検索の処理手順から明らかな様に、本例いずれの場合に於いても、キーワード文字列の殆ど全桁に及んで特定桁である様な各桁とも文字種が散らばっている様な場合には本発明による効果はあまり期待出来ないが、キーワード文字列の桁数に対し特定桁数が少なく、しかもその特定桁のキーワード中の桁位置が後方に存在する様な場合には顕著な効果が現れる。
【００２６】
従って特定桁の検出後に当該索引データの作成方法を適用するか否か前記の事柄を考慮して何らかの閾値を設定し運用することが必要である。即ち、キーワード文字列全体の桁数に対する特定桁の割合及び特定桁のキーワード文字列内に於ける桁位置が後半に存在するなどの適用ルールである。
【００２７】
次に図４をもとに、前述の実施例で説明した内容を踏まえ、本発明の索引データの作成手順を纏めておく。
【００２８】
先ずステップ４０に於いて、キーワード文字列内に於ける特定桁の桁位置をコンピュータ外部又は内部で予め特定・設定しておき、次にステップ４１に於いてマスタデータから１レコードをメモリに読み込み、ステップ４２のマスタレコード終了の判定がＹｅｓになるまで以下の処理を繰り返す。
【００２９】
即ち、読み込んだレコードについて、索引データ毎に記憶され特定桁を示す制御情報に基づき、特定桁文字列をキーワードの先頭方向に順次移動し、移動が全て終わったら当該マスタレコードのレコード番号を所定桁に移動（ステップ４３）した後、索引データ形式のモード判定（ステップ４４）、即ちモード１の場合には非特定桁のデータも含めて索引データとして書き出し、モード２の場合には非特定桁のデータを削除（ステップ４５）し特定桁データのみを索引データとして書き出して、ステップ４６でこれを各々記憶装置へ格納した後、次のレコード処理のためステップ４１へ戻り、全てのマスタレコードが無くなるまで当処理を繰り返すものである。
【００３０】
この様にして作成された本発明の索引創成手段は従来の索引データからの検索に比べ前記の例によれば、「ａ」〜「ｅ」の非特定桁に対する文字比較が省略され比較回数が削減される結果、大幅な検索処理性能の向上が図れる共に、索引データとして本例（２）の様にキーワードとして一意に決まる特定桁のデータ内容のみをレコード番号と共に記憶装置に格納する方法を採ることにより記憶領域の大幅な削減が可能となる。
【００３１】
尚、本発明に於けるコンピュータ処理は、コンピュータプログラムにより当該コンピュータの主記憶装置上で実行されるが、このコンピュータプログラムの提供形態は、当該コンピュータに接続された補助記憶装置をはじめ、フロッピーディスクやＣＤ−ＲＯＭ等の可搬型記憶装置やネットワーク接続された他のコンピュータの主記憶装置及び補助記憶装置等の各記録媒体に格納されて提供されるもので、このコンピュータプログラムの実行に際しては、当該コンピュータの主記憶装置上にローディングされ実行されるものである。
【００３２】
【発明の効果】
以上の説明から明らかなように本発明によれば、データベースの索引創成に際し、キーワード文字列の特定桁のみに文字種の散らばりがある様なキーワード特性の場合に、検索の処理能力向上が図れると共に索引データの格納効率が向上するという著しい工業的効果がある。
【図面の簡単な説明】
【図１】  本発明の原理図
【図２】  本発明の索引データ作成例（１）
【図３】  本発明の索引データ作成例（２）
【図４】  本発明の索引データ作成手順
【図５】  従来の索引によるデータベース検索例
【符号の説明】
10  キーワードの桁特定手段
11  特定桁の移動手段又は削除移動手段
12  新規キーワードの索引記憶手段
【図１】
0003780772.tif 000002
【図２】
0003780772.tif 000003
【図３】
0003780772.tif 000004
【図４】
0003780772.tif 000005
【図５】
0003780772.tif 000006