JP3780772B2 - データベースの索引創成装置 - Google Patents
データベースの索引創成装置 Download PDFInfo
- Publication number
- JP3780772B2 JP3780772B2 JP28870099A JP28870099A JP3780772B2 JP 3780772 B2 JP3780772 B2 JP 3780772B2 JP 28870099 A JP28870099 A JP 28870099A JP 28870099 A JP28870099 A JP 28870099A JP 3780772 B2 JP3780772 B2 JP 3780772B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- index
- data
- keyword
- digit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明はマスタデータと索引から成るデータベースの索引(インデックス)を創成する技術に関する。
【0002】
【従来の技術】
昨今の急速な情報通信技術の発展に伴い、各分野に於いて取り扱うデータ量も急激な増加を示しており、その量は膨大なものとなっている。
【0003】
本発明は、この様な各分野に於いて急激に膨れ上がっているデータを体系的に整理されたデータベースから、特定の条件に合ったデータを如何に効率的に検索・処理するかという課題に関するものである。
【0004】
現在この様なデータベースの検索法として、その検索の対象となる元のデータ群(これを以降マスタデータと称す)に対しキーワードに対する索引(インデックス)を設け、検索の高速化を図る方法が主流となっている。
【0005】
この検索法を説明した一例が図5であり、図5(1)がマスタデータと索引データから成るデータベースを表しており、図5(2)がトランザクションの検索キーワードを表している。
【0006】
検索の手順としては、トランザクションの検索キーワード(検索条件)が与えられると、先ず索引データを所定の方法で検索し、一致した索引レコードのレコード番号から所望のマスタレコードを突き止めるものである。
【0007】
この場合の索引データの創成は、マスタデータからキーワードとレコード番号を対に1対1の形式で索引レコードを抽出し、キーワードの文字列を対象に昇順又は降順にソーティング(並べ替え)することにより作成される。或いはマスタデータから抽出された索引データを、キーワードをもとに所定のハッシュ関数によりグルーピングするハッシュ法により作成される。
【0008】
また、この様な方法で作成された索引データの検索には、逐次探索法(順探索法)や2分探索法などが使用されるが、これ等は本発明の目的とは直接関係がないため説明を省略する。
【0009】
図5に示した検索例では、マスタレコードに於ける「a〜k」で表現された11文字列をキーワードとしたもので、索引データの創成はこのキーワードに対し前述の方法で作成されるが、ここではキーワードを降順にソーティングしたものを例示している。
【0010】
そして検索キーワードとして「平成11年06月20日」が与えられると、前記逐次探索法を想定した場合、先ず索引データの先頭のレコード(平成11年12月20日に相当)から順に下方へ条件が一致するまで比較・検索を進める。
【0011】
この時の比較は、キーワードの各文字に付番した「a」から「k」に向けて文字単位に行われる。
【0012】
従って索引データの先頭から2レコードに関しては「a」から始まり「f」まで比較した段階で不一致と判り、当レコードの検索を中止し次のレコード検索に移る。同様に先頭から3レコード目に関しては「g」まで比較した段階で不一致と判り当レコードの検索を中止し、次の4レコード目の比較で始めて「平成11年06月20日」が検索され、そのレコードのレコード番号「1」からマスタデータ中のレコード番号「1」のマスタレコードが検索される仕組みである。
【0013】
【発明が解決しようとする課題】
従来はこの様に検索キーワードが与えられた時、先ず索引データの先頭のレコードから順に文字比較を行い、不一致になった時点で当該レコードの検索を中止し次のレコード検索に移るため、キーワード文字列に於ける後部の特定桁のみに文字種の散らばりがある様な場合には、無駄な文字比較(検索キーワードと索引データの同一文字列の比較)を行っているという問題があった。
【0014】
本発明はこのような点にかんがみて、キーワード文字列の特性に応じたデータベースの索引を創成し、検索の処理性能向上と索引記憶領域の削減を図る手段を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記の課題は下記の如くに構成されたデータベースの索引創成装置によって解決される。即ち図1は、本発明の原理図であり、
マスタデータと索引から成るデータベースの索引創成装置であって、
マスタデータのキーワード文字列から、複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段10と、前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動する移動手段11或いは前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動し、非特定桁位置の文字列データを削除する削除移動手段11と、前記移動により並び替えられた新規のキーワード文字列と、マスタデータの各レコードに付番されたレコード番号を対に、索引データとして記憶する索引記憶手段12とを備えることにより、データベースの索引創成に於けるキーワード文字列の特性、即ち文字列の特定桁のみに文字種の散らばりがある様な場合に、キーワードの文字種の散らばりがある特定桁の文字列をキーワード文字列の先頭方向に移動した索引データを作成することにより、検索時の文字比較回数を減少させ検索の処理時間短縮を図ると共に、キーワードを一意に決める特定桁の文字列のみを抽出した索引データを作成することにより、索引データ格納の記憶領域を削減することが出来る。
【0016】
【発明の実施の形態】
図2及び図3は具体的な実施例として本発明を説明するためのものであり、データ内容は従来技術の説明で使用したものと同一である。
【0017】
即ち、マスタデータに於けるキーワード文字列は「a」〜「k」で表現されており、本例では「f」及び「g」の桁位置のデータが前記桁特定手段により複数の文字種を含んだキーワード文字列として特定されることになる。この特定された桁位置をここでは特定桁と呼んでいる。
【0018】
「f」及び「g」の桁位置を特定し設定する方法として、人手により外部で特定し、これを例えばキーボードなどから与える方法と、コンピュータ内部のプログラムによりキーワード文字列の各桁について複数の文字種を含んでいるか否かを判定し設定する方法とがある。
【0019】
この様にキーワードの特定桁が設定されると、図2に示す本例(1)の場合、特定桁「f」及び「g」のデータ内容が順次キーワード文字列の先頭方向に移動され、移動により作成された新規のキーワード文字列とマスタレコードのレコード番号とを対に索引データとして記憶装置に格納される。尚、この時非特定桁については特定桁移動分右シフトされキーワード文字列としてその儘残される。
【0020】
また、この様にして作成された索引データは例えば降順にソーティングされ、本例(1)に於いてはレコード番号「4」の新規に作成されたキーワード文字列「12平成11年月20日」を先頭に、レコード番号「5」、レコード番号「2」、レコード番号「1」、そしてレコード番号「3」の「04平成11年月20日」の順に並び替えされる。
【0021】
次に図3の本例(2)は、本例(1)の方法に加え、索引データとしてキーワードとして一意に決まる特定桁「f」及び「g」のデータ内容のみをレコード番号と共に記憶装置に格納した例であり、非特定桁については記憶の対象外で削除されたものである。
【0022】
この様に本例(1)又は本例(2)の様に作成された索引データをもとにマスタデータから条件に合ったレコードを検索する場合、例えば検索条件としてキーワード「平成11年06月20日」が与えられると、図示を省略しているが、索引データ毎に記憶され特定桁を示す制御情報をもとに、これを「06平成11年月20日」と読み替え、索引データが検索される。
【0023】
本例(1)又は本例(2)の何れに於いても、検索キーワードの先頭文字「0」と索引(データ)レコードの先頭文字「f」が一致するまで索引データを順次検索するが、索引データの最初の2レコードに関しては「f」が「1」で不一致であることによりその時点で当該レコードの後ろの文字列に対する比較を打ち切り、次のレコードの検索に移される。
【0024】
そして索引データの3レコード目の「0」で始めて一致したことにより、同様にして検索キーワードの次の文字「6」と索引レコードの「g」が一致するまで索引データを検索する。本例の場合3レコード目は「8」で不一致であり、4レコード目で始めて一致することにより検索を終了し、その4レコード目のレコード番号「1」からマスタデータ中のレコード番号「1」のマスタレコードが検索されるものである。
【0025】
この様に図2及び図3による本発明の索引データ作成の実施例及びこれを使用した検索の処理手順から明らかな様に、本例いずれの場合に於いても、キーワード文字列の殆ど全桁に及んで特定桁である様な各桁とも文字種が散らばっている様な場合には本発明による効果はあまり期待出来ないが、キーワード文字列の桁数に対し特定桁数が少なく、しかもその特定桁のキーワード中の桁位置が後方に存在する様な場合には顕著な効果が現れる。
【0026】
従って特定桁の検出後に当該索引データの作成方法を適用するか否か前記の事柄を考慮して何らかの閾値を設定し運用することが必要である。即ち、キーワード文字列全体の桁数に対する特定桁の割合及び特定桁のキーワード文字列内に於ける桁位置が後半に存在するなどの適用ルールである。
【0027】
次に図4をもとに、前述の実施例で説明した内容を踏まえ、本発明の索引データの作成手順を纏めておく。
【0028】
先ずステップ40に於いて、キーワード文字列内に於ける特定桁の桁位置をコンピュータ外部又は内部で予め特定・設定しておき、次にステップ41に於いてマスタデータから1レコードをメモリに読み込み、ステップ42のマスタレコード終了の判定がYesになるまで以下の処理を繰り返す。
【0029】
即ち、読み込んだレコードについて、索引データ毎に記憶され特定桁を示す制御情報に基づき、特定桁文字列をキーワードの先頭方向に順次移動し、移動が全て終わったら当該マスタレコードのレコード番号を所定桁に移動(ステップ43)した後、索引データ形式のモード判定(ステップ44)、即ちモード1の場合には非特定桁のデータも含めて索引データとして書き出し、モード2の場合には非特定桁のデータを削除(ステップ45)し特定桁データのみを索引データとして書き出して、ステップ46でこれを各々記憶装置へ格納した後、次のレコード処理のためステップ41へ戻り、全てのマスタレコードが無くなるまで当処理を繰り返すものである。
【0030】
この様にして作成された本発明の索引創成手段は従来の索引データからの検索に比べ前記の例によれば、「a」〜「e」の非特定桁に対する文字比較が省略され比較回数が削減される結果、大幅な検索処理性能の向上が図れる共に、索引データとして本例(2)の様にキーワードとして一意に決まる特定桁のデータ内容のみをレコード番号と共に記憶装置に格納する方法を採ることにより記憶領域の大幅な削減が可能となる。
【0031】
尚、本発明に於けるコンピュータ処理は、コンピュータプログラムにより当該コンピュータの主記憶装置上で実行されるが、このコンピュータプログラムの提供形態は、当該コンピュータに接続された補助記憶装置をはじめ、フロッピーディスクやCD−ROM等の可搬型記憶装置やネットワーク接続された他のコンピュータの主記憶装置及び補助記憶装置等の各記録媒体に格納されて提供されるもので、このコンピュータプログラムの実行に際しては、当該コンピュータの主記憶装置上にローディングされ実行されるものである。
【0032】
【発明の効果】
以上の説明から明らかなように本発明によれば、データベースの索引創成に際し、キーワード文字列の特定桁のみに文字種の散らばりがある様なキーワード特性の場合に、検索の処理能力向上が図れると共に索引データの格納効率が向上するという著しい工業的効果がある。
【図面の簡単な説明】
【図1】 本発明の原理図
【図2】 本発明の索引データ作成例(1)
【図3】 本発明の索引データ作成例(2)
【図4】 本発明の索引データ作成手順
【図5】 従来の索引によるデータベース検索例
【符号の説明】
10 キーワードの桁特定手段
11 特定桁の移動手段又は削除移動手段
12 新規キーワードの索引記憶手段
Claims (4)
- マスタデータと索引から成るデータベースの索引創成装置であって、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段と、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動する移動手段と、
前記移動により並び替えられた新規のキーワード文字列と、マスタデータの各レコードに付番されたレコード番号を対に、索引データとして記憶する索引記憶手段と、を備えたことを特徴とするデータベースの索引創成装置。 - マスタデータと索引から成るデータベースの索引創成装置であって、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段と、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動し、非特定桁位置の文字列データを削除する削除移動手段と、
前記特定された桁位置の文字列データのみ新規のキーワード文字列として、マスタデータの各レコードに付番されたレコード番号と対に、索引データとして記憶する索引記憶手段と、を備えたことを特徴とするデータベースの索引創成装置。 - マスタデータと索引から成るデータベースの索引をコンピュータに創成させるプログラムを記録した記録媒体であって、
コンピュータを、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動する移動手段、
前記移動により並び替えられた新規のキーワード文字列と、マスタデータの各レコードに付番されたレコード番号を対に、索引データとして記憶させる索引記憶手段、
として機能させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。 - マスタデータと索引から成るデータベースの索引をコンピュータに創成させるプログラムを記録した記録媒体であって、
コンピュータを、
マスタデータのキーワード文字列から、該キーワード文字列の各桁について複数の文字種を含むか否かを判定し複数の文字種を含んだキーワード文字列の桁位置を特定する桁特定手段、
前記特定された桁位置の文字列データを順次キーワード文字列の先頭方向へ移動し、非特定桁位置の文字列データを削除する削除移動手段、
前記特定された桁位置の文字列データのみ新規のキーワード文字列として、マスタデータの各レコードに付番されたレコード番号と対に、索引データとして記憶する索引記憶手段
として機能させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28870099A JP3780772B2 (ja) | 1999-10-08 | 1999-10-08 | データベースの索引創成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28870099A JP3780772B2 (ja) | 1999-10-08 | 1999-10-08 | データベースの索引創成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001109768A JP2001109768A (ja) | 2001-04-20 |
JP3780772B2 true JP3780772B2 (ja) | 2006-05-31 |
Family
ID=17733568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28870099A Expired - Fee Related JP3780772B2 (ja) | 1999-10-08 | 1999-10-08 | データベースの索引創成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3780772B2 (ja) |
-
1999
- 1999-10-08 JP JP28870099A patent/JP3780772B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001109768A (ja) | 2001-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255398B2 (en) | Compression of sorted value indexes using common prefixes | |
US8301437B2 (en) | Tokenization platform | |
JP3554459B2 (ja) | テキストデータ登録検索方法 | |
US5117495A (en) | Method of sorting data records | |
JP2693914B2 (ja) | 検索システム | |
JP2001109754A (ja) | 索引ファイルを使用した検索方法及びそれに用いる装置 | |
CN104699688A (zh) | 一种搜索文件的方法和电子设备 | |
JP3780772B2 (ja) | データベースの索引創成装置 | |
US7039646B2 (en) | Method and system for compressing varying-length columns during index high key generation | |
JP2925042B2 (ja) | 情報リンク生成方法 | |
JP3649472B2 (ja) | 情報検索装置 | |
JP3534471B2 (ja) | マージソート方法及びマージソート装置 | |
JP2002140218A (ja) | データ処理方法、コンピュータ読み取り可能な記録媒体及びデータ処理装置 | |
JPH10149367A (ja) | テキスト蓄積検索装置 | |
JP5906810B2 (ja) | 全文検索装置、プログラム及び記録媒体 | |
JP2669241B2 (ja) | マイグレーション処理方式 | |
JP6627809B2 (ja) | データベース処理装置、システム、方法およびプログラム | |
KR101816251B1 (ko) | 파일 검색용 메타데이터 동기화 장치 및 방법 | |
KR100619042B1 (ko) | 메모리 카드의 파일 검색 방법 및 장치 | |
JP2004164223A (ja) | N文字インデックス作成プログラムおよびn文字インデックス検索プログラム | |
JP2000076106A (ja) | 索引順編成ファイルの管理方法 | |
JPH043234A (ja) | 固定長型レコードのファイリング制御方法 | |
JPH1040145A (ja) | レコード比較方法 | |
JPH0773189A (ja) | 複合検索装置 | |
JPH06149635A (ja) | レコード追加処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140317 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |