JPH0241534A - インデックスファイル登録・検索方式 - Google Patents
インデックスファイル登録・検索方式Info
- Publication number
- JPH0241534A JPH0241534A JP63193258A JP19325888A JPH0241534A JP H0241534 A JPH0241534 A JP H0241534A JP 63193258 A JP63193258 A JP 63193258A JP 19325888 A JP19325888 A JP 19325888A JP H0241534 A JPH0241534 A JP H0241534A
- Authority
- JP
- Japan
- Prior art keywords
- index
- record
- pointer
- block
- search
- 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.)
- Pending
Links
- 238000012423 maintenance Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 11
- 230000003213 activating effect Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はインデックスファイル登録・検索方式に関し、
特に電子計算機システムにおけるデータヘースシステム
でのインデックスファイル登録・検索方式に関する。
特に電子計算機システムにおけるデータヘースシステム
でのインデックスファイル登録・検索方式に関する。
従来のインデックスファイルは、第6図に示すように、
上位格納ブロック51と、この上位格納ブロック51に
従属する複数の最下位格納ブロック52とを含むトリー
構造に構成されている。上位格納ブロック51は複数の
上位インデックスレコード53から構成され、最下位格
納ブロック52は複数の最下位インデックスレコード5
4からそれぞれ構成されている。
上位格納ブロック51と、この上位格納ブロック51に
従属する複数の最下位格納ブロック52とを含むトリー
構造に構成されている。上位格納ブロック51は複数の
上位インデックスレコード53から構成され、最下位格
納ブロック52は複数の最下位インデックスレコード5
4からそれぞれ構成されている。
第7図を参照すると、上位インデックスレコード53は
、当該上位インデックスレコード53が管理する下位レ
ベルの格納ブロックである最下位格納ブロック52に存
在する最下位インデソクスレコー154のキー値57(
第8図参照)のうちの最大のキー値55と、下位レベル
の格納ブロックである最下位格納ブロック52を指すブ
ロックポインタ56とから構成されている。
、当該上位インデックスレコード53が管理する下位レ
ベルの格納ブロックである最下位格納ブロック52に存
在する最下位インデソクスレコー154のキー値57(
第8図参照)のうちの最大のキー値55と、下位レベル
の格納ブロックである最下位格納ブロック52を指すブ
ロックポインタ56とから構成されている。
第8図を参照すると、最下位インデノクスレコド54は
、データレコード(図示せず)のキー値57と、データ
レコードを指すデータポインタ58とから構成されてい
る。
、データレコード(図示せず)のキー値57と、データ
レコードを指すデータポインタ58とから構成されてい
る。
いま、第6図に示すように、インデノクスファ・イルの
2つの最下位格納ブロック52の一方にキー値57が=
a+ の最下位インデックスレコード54だけが、他方
にキー値57が“b” (“ao ≦ “b)の最下
位インデックスレコード54だけが格納されている場合
を想定すると、このようなインデックスファイルを用い
てキー値57が“ao ≦X≦b゛なる検索条件でデー
タポインタ58を検索する場合、まず上位格納ブロック
51内の上位インデックスレコード53のキー値55に
基づいて開始キー値a゛に対応する最下位インデックス
レコード54が存在する最下位格納ブロック52へのブ
ロックポインタ56が見つけられ、該当する最下位格納
ブロック52内からキー値57が“aoである最下位イ
ンデックスレコード54が探索され、探索された最下位
インデックスレコード54からデータポインタ58が抽
出されて、このデータポインタ58が検索結果とされる
。
2つの最下位格納ブロック52の一方にキー値57が=
a+ の最下位インデックスレコード54だけが、他方
にキー値57が“b” (“ao ≦ “b)の最下
位インデックスレコード54だけが格納されている場合
を想定すると、このようなインデックスファイルを用い
てキー値57が“ao ≦X≦b゛なる検索条件でデー
タポインタ58を検索する場合、まず上位格納ブロック
51内の上位インデックスレコード53のキー値55に
基づいて開始キー値a゛に対応する最下位インデックス
レコード54が存在する最下位格納ブロック52へのブ
ロックポインタ56が見つけられ、該当する最下位格納
ブロック52内からキー値57が“aoである最下位イ
ンデックスレコード54が探索され、探索された最下位
インデックスレコード54からデータポインタ58が抽
出されて、このデータポインタ58が検索結果とされる
。
次に、開始キー値“aoに対応する最下位インデックス
レコード54が存在する最下位格納ブロック52に“a
o ≦X≦ “boなる検索条件を満足するキー値57
を持つ最下位インデックスレコード54がもう存在しな
くなったので、上位格納ブロック51の上位インデック
スレコード53が参照されて“a゛≦X≦“boなる検
索条件を満足するキー値57を持つ最下位インデックス
レコード54が存在する次の最下位格納ブロック52へ
のブロックポインタ56が見つけられ、該当する最下位
格納ブロック52内からキー値57が“boである最下
位インデックスレコード54が探索され、探索された最
下位インデックスレコード54からデータポインタ58
が抽出されて、このデータポインタ58が検索結果とさ
れる。
レコード54が存在する最下位格納ブロック52に“a
o ≦X≦ “boなる検索条件を満足するキー値57
を持つ最下位インデックスレコード54がもう存在しな
くなったので、上位格納ブロック51の上位インデック
スレコード53が参照されて“a゛≦X≦“boなる検
索条件を満足するキー値57を持つ最下位インデックス
レコード54が存在する次の最下位格納ブロック52へ
のブロックポインタ56が見つけられ、該当する最下位
格納ブロック52内からキー値57が“boである最下
位インデックスレコード54が探索され、探索された最
下位インデックスレコード54からデータポインタ58
が抽出されて、このデータポインタ58が検索結果とさ
れる。
一ト述した従来のインデックスファイル登録・検索方式
では、インデックスファイル内の上位インデックスレコ
ードに下位レベルの格納ブロックへのブロックポインタ
を持つのみであったので、ある値以上のキー値を持つポ
インタの検索、ある値以下のキー値を持つポインタの検
索等の不等号検索条件による検索時に1つの格納ブロッ
ク内で検索が終わらない場合には上位レベルの格納ブロ
ック内の上位インデックスレコートを参照しなければな
らず、高速な検索を行うことができないという欠点があ
る。
では、インデックスファイル内の上位インデックスレコ
ードに下位レベルの格納ブロックへのブロックポインタ
を持つのみであったので、ある値以上のキー値を持つポ
インタの検索、ある値以下のキー値を持つポインタの検
索等の不等号検索条件による検索時に1つの格納ブロッ
ク内で検索が終わらない場合には上位レベルの格納ブロ
ック内の上位インデックスレコートを参照しなければな
らず、高速な検索を行うことができないという欠点があ
る。
本発明の目的は、上述の点に鑑み、ある値以上のキー値
を持つポインタを検索する場合、ある値以下のキー値を
持つポインタを検索する場合等の不等号検索条件による
検索時に1つの格納ブロック内で検索が終わらない場合
でも、上位レベルの格納ブロック内の上位インデックス
レコードを参照することなしに高速な検索を行えるよう
にしたインデックスファイル登録・検索方式を提供する
ことにある。
を持つポインタを検索する場合、ある値以下のキー値を
持つポインタを検索する場合等の不等号検索条件による
検索時に1つの格納ブロック内で検索が終わらない場合
でも、上位レベルの格納ブロック内の上位インデックス
レコードを参照することなしに高速な検索を行えるよう
にしたインデックスファイル登録・検索方式を提供する
ことにある。
本発明のインデックスファイル登録・検索方式は、レコ
ードのキー値とポインタとを格納するインデックスレコ
ードを格納ブロック単位に含み各格納ブロックが上位レ
ベルの格納ブロック内の上位インデックスレコードによ
ってポイントされてなるトリー構造を持つインデックス
ファイルにおいて、キー値とポインタとからインデック
スレコードを生成するレコード生成手段と、このレコー
ド生成手段により生成されたインデックスレコードを前
記インデックスファイル内の格納ブロックに格納するレ
コード格納手段と、キー値とポインタとを入力し前記レ
コード生成手段を起動してインデックスレコードを生成
させ前記レコード格納手段を起動して生成されたインデ
ックスレコードを前記インデックスファイル内の格納ブ
ロックに格納させるインデックス登録手段と、前記レコ
ード格納手段により前記インデックスファイル内に新た
な格納ブロックが増設されたときに前記インデックスフ
ァイル内の同じレベルの格納ブロック間を結ぶポインタ
を保守するポインタ保守手段と、このポインタ保守手段
が保守するポインタを使用して前記インデックスファイ
ル内の同じレベルの格納ブロックを探索するブロック探
索手段と、前記インデックスブロック内の格納ブロック
から検索条件を満足するインデックスレコードを選択し
検索条件を満足するインデックスレコードがな(八った
ときには前記ブロック探索手段を起動して同じレベルの
前後の格納ブロックを探索させ検索条件を満足するイン
デックスレコードを選択するレコード選択手段と、検索
条件を入力し前記レコード選択手段を起動して選択され
たインデックスレコー1からポインタを抽出するインデ
ックス検索手段とを有する。
ードのキー値とポインタとを格納するインデックスレコ
ードを格納ブロック単位に含み各格納ブロックが上位レ
ベルの格納ブロック内の上位インデックスレコードによ
ってポイントされてなるトリー構造を持つインデックス
ファイルにおいて、キー値とポインタとからインデック
スレコードを生成するレコード生成手段と、このレコー
ド生成手段により生成されたインデックスレコードを前
記インデックスファイル内の格納ブロックに格納するレ
コード格納手段と、キー値とポインタとを入力し前記レ
コード生成手段を起動してインデックスレコードを生成
させ前記レコード格納手段を起動して生成されたインデ
ックスレコードを前記インデックスファイル内の格納ブ
ロックに格納させるインデックス登録手段と、前記レコ
ード格納手段により前記インデックスファイル内に新た
な格納ブロックが増設されたときに前記インデックスフ
ァイル内の同じレベルの格納ブロック間を結ぶポインタ
を保守するポインタ保守手段と、このポインタ保守手段
が保守するポインタを使用して前記インデックスファイ
ル内の同じレベルの格納ブロックを探索するブロック探
索手段と、前記インデックスブロック内の格納ブロック
から検索条件を満足するインデックスレコードを選択し
検索条件を満足するインデックスレコードがな(八った
ときには前記ブロック探索手段を起動して同じレベルの
前後の格納ブロックを探索させ検索条件を満足するイン
デックスレコードを選択するレコード選択手段と、検索
条件を入力し前記レコード選択手段を起動して選択され
たインデックスレコー1からポインタを抽出するインデ
ックス検索手段とを有する。
本発明のインデックスファイル登録・検索方式では、レ
コード生成手段がキー値とポインタとからインデックス
レコードを生成し、レコード格納手段がレコード生成手
段により生成されたインデックスレコードをインデック
スファイル内の格納ブロックに格納し、インデックス登
録手段がキー値とポインタとを入力しレコード生成手段
を起動してインデックスレコードを生成させレコード格
納手段を起動して生成されたインデックスレコードをイ
ンデックスファイル内の格納ブロックに格納させ、ポイ
ンタ保守手段がレコード格納手段によりインデックスフ
ァイル内に新たな格納ブロックが増設されたときにイン
デックスファイル内の同じレベルの格納ブロック間を結
ぶポインタを保守し、ブロック探索手段がポインタ保守
手段が保守するポインタを使用してインデックスファイ
ル内の同じレベルの格納ブロックを探索し、レコード選
択手段がインデックスブロック内の格納ブロックから検
索条件を満足するインデックスレコードを選択し検索条
件を満足するインデックスレコードがなくなったときに
はブロック探索手段を起動して同じレベルの前後の格納
ブロックを探索させ検索条件を満足するインデックスレ
コードを選訳し、インデックス検索手段が検索条件を入
力しレコード選択手段を起動して選択されたインデック
スレコードからポインタを抽出する。
コード生成手段がキー値とポインタとからインデックス
レコードを生成し、レコード格納手段がレコード生成手
段により生成されたインデックスレコードをインデック
スファイル内の格納ブロックに格納し、インデックス登
録手段がキー値とポインタとを入力しレコード生成手段
を起動してインデックスレコードを生成させレコード格
納手段を起動して生成されたインデックスレコードをイ
ンデックスファイル内の格納ブロックに格納させ、ポイ
ンタ保守手段がレコード格納手段によりインデックスフ
ァイル内に新たな格納ブロックが増設されたときにイン
デックスファイル内の同じレベルの格納ブロック間を結
ぶポインタを保守し、ブロック探索手段がポインタ保守
手段が保守するポインタを使用してインデックスファイ
ル内の同じレベルの格納ブロックを探索し、レコード選
択手段がインデックスブロック内の格納ブロックから検
索条件を満足するインデックスレコードを選択し検索条
件を満足するインデックスレコードがなくなったときに
はブロック探索手段を起動して同じレベルの前後の格納
ブロックを探索させ検索条件を満足するインデックスレ
コードを選訳し、インデックス検索手段が検索条件を入
力しレコード選択手段を起動して選択されたインデック
スレコードからポインタを抽出する。
(実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例のインデックスファイル登
録・検索方式の構成を示すブロック図である。本実施例
のインデックスファイル登録・検索方式は、インデック
スファイルlと、レコード生成手段2と、レコード格納
手段3と、インデックス登録手段4と、ポインタ保守手
段5と、ブロック探索手段6と、レコード選択手段7と
、インデックス検索手段8とから構成されている。
録・検索方式の構成を示すブロック図である。本実施例
のインデックスファイル登録・検索方式は、インデック
スファイルlと、レコード生成手段2と、レコード格納
手段3と、インデックス登録手段4と、ポインタ保守手
段5と、ブロック探索手段6と、レコード選択手段7と
、インデックス検索手段8とから構成されている。
インデックスファイル1は、第2図に示すように、上位
格納ブロック21と、この上位格納ブロック21に従属
する複数の最下位格納ブロック22とを含むトリー構造
に構成されている。上位格納ブロック21は複数の上位
インデックスレコード23から構成され、最下位格納ブ
ロック22は複数の最下位インデックスレコード24か
ら構成されている。
格納ブロック21と、この上位格納ブロック21に従属
する複数の最下位格納ブロック22とを含むトリー構造
に構成されている。上位格納ブロック21は複数の上位
インデックスレコード23から構成され、最下位格納ブ
ロック22は複数の最下位インデックスレコード24か
ら構成されている。
また、最下位格納ブロック22は、第3図に示すように
、同じレベルのより大きなキー値29(第5図参照)を
持つ最下位インデックスレコード24から構成される次
の最下位格納ブロック22を指すポインタ(以下、NE
XTポインタと表記する)25と、同じレベルのより小
さなキー値29を持つ最下位インデックスレコード24
から構成される前の最下位格納ブロック22を指すポイ
ンタ(以下、PR+ORポインタと表記する)26とを
持っている。
、同じレベルのより大きなキー値29(第5図参照)を
持つ最下位インデックスレコード24から構成される次
の最下位格納ブロック22を指すポインタ(以下、NE
XTポインタと表記する)25と、同じレベルのより小
さなキー値29を持つ最下位インデックスレコード24
から構成される前の最下位格納ブロック22を指すポイ
ンタ(以下、PR+ORポインタと表記する)26とを
持っている。
第4図を参照すると、上位インデックスレコード23は
、当該−E位インデックスレコード23が管理する下位
レベルの格納ブロックである最下位格納ブロック22に
存在する最下位インデックスレコード24のキー値29
のうちの最大のキー値27と、下位レベルの格納ブロッ
クである最下位格納プロ・ツク22ヲ指すブロックポイ
ンタ28とから構成されている。
、当該−E位インデックスレコード23が管理する下位
レベルの格納ブロックである最下位格納ブロック22に
存在する最下位インデックスレコード24のキー値29
のうちの最大のキー値27と、下位レベルの格納ブロッ
クである最下位格納プロ・ツク22ヲ指すブロックポイ
ンタ28とから構成されている。
第5図を参照すると、最下位インデックスレコード24
は、データレコード(図示せず)のキー値29と、デー
タレコードを指すデータポインタ30とから構成されて
いる。
は、データレコード(図示せず)のキー値29と、デー
タレコードを指すデータポインタ30とから構成されて
いる。
レコード生成手段2は、上位インデックスレコード23
および最下位インデックスレコード24にキー値27お
よび29ならびにブロックポインタ28およびデータポ
インタ30をそれぞれ格納して上位インテ・7クスレコ
ード23および最下位インデックスレコード24を生成
する処理を行う。
および最下位インデックスレコード24にキー値27お
よび29ならびにブロックポインタ28およびデータポ
インタ30をそれぞれ格納して上位インテ・7クスレコ
ード23および最下位インデックスレコード24を生成
する処理を行う。
レコード格納手段3は、上位インデックスレコード23
および最下位インデックスレコード24をそれぞれ上位
格納ブロック21および最下位格納ブロック22に格納
する処理を行う。
および最下位インデックスレコード24をそれぞれ上位
格納ブロック21および最下位格納ブロック22に格納
する処理を行う。
インデックス登録手段4は、キー値29とデータポイン
タ30とを入力し、レコード生成手段2を起動して最下
位インデックスレコード24および上位インデックスレ
コード23を生成させ、レコード格納手段3を起動して
最下位インデックスレコード24および上位インデック
スレコード23をインデックスファイル1内の最下位格
納ブロック22および上位格納ブロック21に格納させ
る処理を行う。
タ30とを入力し、レコード生成手段2を起動して最下
位インデックスレコード24および上位インデックスレ
コード23を生成させ、レコード格納手段3を起動して
最下位インデックスレコード24および上位インデック
スレコード23をインデックスファイル1内の最下位格
納ブロック22および上位格納ブロック21に格納させ
る処理を行う。
ポインタ保守手段5は、レコード格納手段3によりイン
デックスファイルl内に新たな最下位格納ブロック22
が増設されたときにインデックスフ ・アイルl内の同
じレベルの最下位格納ブロック22間をNEXTポイン
タ25およびPRIORポインタ26で結ぶ処理を行う
。
デックスファイルl内に新たな最下位格納ブロック22
が増設されたときにインデックスフ ・アイルl内の同
じレベルの最下位格納ブロック22間をNEXTポイン
タ25およびPRIORポインタ26で結ぶ処理を行う
。
ブロック探索手段6は、ポインタ保守手段5を用いて結
ばれている同じレベルの格納ブロックである最下位格納
ブロック22を指すNEXTポインタ25およびPRI
ORボインク26を使用して検索条件を満足するキー値
29を持つ最下位インデックスレコード24を含む前後
の最下位格納ブロック22を探索する。
ばれている同じレベルの格納ブロックである最下位格納
ブロック22を指すNEXTポインタ25およびPRI
ORボインク26を使用して検索条件を満足するキー値
29を持つ最下位インデックスレコード24を含む前後
の最下位格納ブロック22を探索する。
レコード選択手段7は、インデックスブロックl内の最
下位格納ブロック22から検索条件を満足するキー値2
9を持つ最下位インデックスレコード24を選択し、検
索条件を満足するキー値29を持つ最下位インデックス
レコード24がなくなったときにはブロック探索手段6
を起動して前または後の最下位格納ブロック24を探索
させ、検索条件を満足するキー値29を持つ最下位イン
デックスレコード24を選(Rする処理を行う。
下位格納ブロック22から検索条件を満足するキー値2
9を持つ最下位インデックスレコード24を選択し、検
索条件を満足するキー値29を持つ最下位インデックス
レコード24がなくなったときにはブロック探索手段6
を起動して前または後の最下位格納ブロック24を探索
させ、検索条件を満足するキー値29を持つ最下位イン
デックスレコード24を選(Rする処理を行う。
インデックス検索手段8は、検索条件を入力してレコー
ド選択手段7を起動し、選択された最下位インデックス
レコード24からデータポインタ30を抽出して検索結
果とする処理を行う。
ド選択手段7を起動し、選択された最下位インデックス
レコード24からデータポインタ30を抽出して検索結
果とする処理を行う。
次に、このように構成された本実施例のインデックスフ
ァイル登録・検索方式の動作について説明する。なお、
ここでは、説明の簡単化のために、第2図に示すように
、インデックスファイル1内の先頭の最下位格納ブロッ
ク22にキー値29が“aの最下位インデックスレコー
ド24だけが、次の最下位格納ブロック22にキー値2
9が“b”(’a≦ “b’)の最下位インデックスレ
コード24だけが格納される場合を想定して具体的に説
明する。
ァイル登録・検索方式の動作について説明する。なお、
ここでは、説明の簡単化のために、第2図に示すように
、インデックスファイル1内の先頭の最下位格納ブロッ
ク22にキー値29が“aの最下位インデックスレコー
ド24だけが、次の最下位格納ブロック22にキー値2
9が“b”(’a≦ “b’)の最下位インデックスレ
コード24だけが格納される場合を想定して具体的に説
明する。
ill インデックスファイルlの作成キー値29“
ao とデータポインタ30とが入力されると、インデ
ックス登録手段4は、レコード生成手段2を起動して最
下位インデックスレコード24にキー値29“ao と
データポインタ30とをセソトし、レコード格納手段3
を起動してキー値29“aoを持つ最下位インデックス
レコード24を先頭の(第2図において左側の)最下位
格納ブロック22に格納する。この際、レコード格納手
段3により先頭の最下位格納ブロック22がインデック
スファイルl内に増設されるので、ポインタ保守手段5
が起動され、先頭の最下位格納ブロック22内のNEX
Tポインタ25およびPRIORポインタ26に次およ
び前の最下位格納ブロック22がないことを示す空値“
0”がそれぞれ設定される。
ao とデータポインタ30とが入力されると、インデ
ックス登録手段4は、レコード生成手段2を起動して最
下位インデックスレコード24にキー値29“ao と
データポインタ30とをセソトし、レコード格納手段3
を起動してキー値29“aoを持つ最下位インデックス
レコード24を先頭の(第2図において左側の)最下位
格納ブロック22に格納する。この際、レコード格納手
段3により先頭の最下位格納ブロック22がインデック
スファイルl内に増設されるので、ポインタ保守手段5
が起動され、先頭の最下位格納ブロック22内のNEX
Tポインタ25およびPRIORポインタ26に次およ
び前の最下位格納ブロック22がないことを示す空値“
0”がそれぞれ設定される。
また、インデックス登録手段4は、レコード生成手段2
を起動して上位インデックスレコード23に当該上位イ
ンデックスレコード23が管理する下位レベルの格納ブ
ロックである先頭の最下位格納ブロック22に存在する
最下位インデックスレコード24のキー値29のうちの
最大のキー値27“ao と先頭の最下位格納ブロック
22へのブロックポインタ28とをセットし、レコード
格納手段3を起動して上位インデックスレコード23を
上位格納ブロック21に格納する。
を起動して上位インデックスレコード23に当該上位イ
ンデックスレコード23が管理する下位レベルの格納ブ
ロックである先頭の最下位格納ブロック22に存在する
最下位インデックスレコード24のキー値29のうちの
最大のキー値27“ao と先頭の最下位格納ブロック
22へのブロックポインタ28とをセットし、レコード
格納手段3を起動して上位インデックスレコード23を
上位格納ブロック21に格納する。
次に、キー値29“bo とデータポインタ30とが入
力されると、インデックス登録手段4は、レコード生成
手段2を起動して最下位インデックスレコード24にキ
ー値29“bo とデータポインタ30とをセントし、
レコード格納手段3を起動してキー値29“boを持つ
最下位インデックスレコード24を次の(第2図におい
て右側の)最下位格納ブロック22に格納する。この際
、レコード格納手段3により次の最下位格納ブロック2
2がインデックスファイル1内に増設されるので、ポイ
ンタ保守手段5が起動され、インデックスファイルlに
格納された同レベルの格納ブロックである先頭および次
の最下位格納ブロック22間にお互いを連結するN E
X Tポインタ25およびPRIORポインタ26が
張られる。すなわち、先頭の最下位格納ブロック22の
N E X Tポインタ25およびPRIORポインタ
26には、同じレベルの次の最下位格納ブロック22を
指すポインタおよび前の最下位格納ブロック22がない
ことを示す空値″01が、次の最下位格納ブロック22
ON E X ′rポインタ25およびPR10Rポイ
ンタ26には、さらに次の最下位格納ブロック22がな
いことを示す空値“θ″および同じレベルの前の(すな
わら、先頭の)最下位格納ブロック22を指すポインタ
がそれぞれ格納される。
力されると、インデックス登録手段4は、レコード生成
手段2を起動して最下位インデックスレコード24にキ
ー値29“bo とデータポインタ30とをセントし、
レコード格納手段3を起動してキー値29“boを持つ
最下位インデックスレコード24を次の(第2図におい
て右側の)最下位格納ブロック22に格納する。この際
、レコード格納手段3により次の最下位格納ブロック2
2がインデックスファイル1内に増設されるので、ポイ
ンタ保守手段5が起動され、インデックスファイルlに
格納された同レベルの格納ブロックである先頭および次
の最下位格納ブロック22間にお互いを連結するN E
X Tポインタ25およびPRIORポインタ26が
張られる。すなわち、先頭の最下位格納ブロック22の
N E X Tポインタ25およびPRIORポインタ
26には、同じレベルの次の最下位格納ブロック22を
指すポインタおよび前の最下位格納ブロック22がない
ことを示す空値″01が、次の最下位格納ブロック22
ON E X ′rポインタ25およびPR10Rポイ
ンタ26には、さらに次の最下位格納ブロック22がな
いことを示す空値“θ″および同じレベルの前の(すな
わら、先頭の)最下位格納ブロック22を指すポインタ
がそれぞれ格納される。
以上の結果、第2図に示すような状態のインデックスフ
ァイル1が作成される。
ァイル1が作成される。
(2) インデックスファイル1を用いる検索キー値
29が°a゛ ≦X≦゛b°なる検索条件が入力される
と、インデックス検索手段8は、レコード選択手段7を
起動してインデックスファイルl内の上位格納ブロック
21の開始キー値“aoに対応するキー値27を持つ上
位インデックスレコード23から先頭の最下位格納ブロ
ック22へのブロックポインタ28を得、先頭の最下位
格納ブロック22内のキー値“aoを持つ最下位インデ
ックスレコード24を選択させる。インデックス検索手
段8は、レコード選択手段7により選択された最下位イ
ンテ・ツクスレコード24からデータポインタ30を抽
出して、このデータポインタ30を検出結果とする。
29が°a゛ ≦X≦゛b°なる検索条件が入力される
と、インデックス検索手段8は、レコード選択手段7を
起動してインデックスファイルl内の上位格納ブロック
21の開始キー値“aoに対応するキー値27を持つ上
位インデックスレコード23から先頭の最下位格納ブロ
ック22へのブロックポインタ28を得、先頭の最下位
格納ブロック22内のキー値“aoを持つ最下位インデ
ックスレコード24を選択させる。インデックス検索手
段8は、レコード選択手段7により選択された最下位イ
ンテ・ツクスレコード24からデータポインタ30を抽
出して、このデータポインタ30を検出結果とする。
引き続いて、レコード選択手段7は検索条件を満足する
最下位インデックスレコード24の選択を続行するが、
“a” ≦X≦ b° なる検索条件を満足するキー
値29を持つ最下位インデックスレコード24が先頭の
最下位格納ブロック22にはもう存在しなくなるため、
レコード選択手段7は、ブロック探索手段6を起動して
先頭の最下位格納ブロック22(7) N EX Tポ
インタ25およびPRI ORポインタ26を参照して
同じレベルの次の最下位格納ブロック22を得、次の最
下位格納ブロック22内からキー値29“boを持つ最
下位インデックスレコード24を選択する。インデック
ス検索手段8は、レコード選択手段7により選択された
最下位インデックスレコード24からデータポインタ3
0を抽出して、このデータポインタ30を検索結果とす
る。
最下位インデックスレコード24の選択を続行するが、
“a” ≦X≦ b° なる検索条件を満足するキー
値29を持つ最下位インデックスレコード24が先頭の
最下位格納ブロック22にはもう存在しなくなるため、
レコード選択手段7は、ブロック探索手段6を起動して
先頭の最下位格納ブロック22(7) N EX Tポ
インタ25およびPRI ORポインタ26を参照して
同じレベルの次の最下位格納ブロック22を得、次の最
下位格納ブロック22内からキー値29“boを持つ最
下位インデックスレコード24を選択する。インデック
ス検索手段8は、レコード選択手段7により選択された
最下位インデックスレコード24からデータポインタ3
0を抽出して、このデータポインタ30を検索結果とす
る。
なお、上記実施例ごは、上位格納ブロック21内にはN
EXTポインタおよびPRIORポインタが設けられて
いるかどうかについては特に言及しなかったが、上位格
納ブロック21にさらに上位レベルの格納ブロックが存
在すれば、最上位格納ブロックを除く全ての格納ブロッ
クにNEXTボインタおよびPRIORポインタを設け
て同じレベルの格納ブロック同士を連鎖すれば、どのよ
うなレベルの不等号検索条件が与えられてもポインタを
高速に検索できることはいうまでもない。この場合、ポ
インタ保守手段5が最上位格納ブロックを除く全ての格
納ブロックに対し゛ζNEXTポインタおよびPRIO
Rポインタを保守する機能を有し、ブロック探索手段6
が最上位格納ブロックを除くどのレベルの格納ブロック
でもNEXTポインタおよびPRIORポインタを使用
して同しレベルの前後の格納ブロックを探索する機能を
有する必要があることはもちろんである。
EXTポインタおよびPRIORポインタが設けられて
いるかどうかについては特に言及しなかったが、上位格
納ブロック21にさらに上位レベルの格納ブロックが存
在すれば、最上位格納ブロックを除く全ての格納ブロッ
クにNEXTボインタおよびPRIORポインタを設け
て同じレベルの格納ブロック同士を連鎖すれば、どのよ
うなレベルの不等号検索条件が与えられてもポインタを
高速に検索できることはいうまでもない。この場合、ポ
インタ保守手段5が最上位格納ブロックを除く全ての格
納ブロックに対し゛ζNEXTポインタおよびPRIO
Rポインタを保守する機能を有し、ブロック探索手段6
が最上位格納ブロックを除くどのレベルの格納ブロック
でもNEXTポインタおよびPRIORポインタを使用
して同しレベルの前後の格納ブロックを探索する機能を
有する必要があることはもちろんである。
以上説明したように本発明は、インデックスファイル内
の同じレベルの格納ブロック間をブロックポインタで連
鎖するようにしたことにより、1つのキー値を指定する
ポインタの検索はもちろんのこと、ある値以上のキー値
を持つポインタを検索する場合、ある値以下のキー値を
持つポインタを検索する場合等の不等号検索条件による
検索時に1つの格納ブロック内で検索が終わらない場合
でも、−ヒ位格納ブロック内の上位インデックスレコー
ドを参照することなしに同じレベルの前後の格納ブロッ
クを探索することができ、高速な検索を行うことができ
るという効果がある。
の同じレベルの格納ブロック間をブロックポインタで連
鎖するようにしたことにより、1つのキー値を指定する
ポインタの検索はもちろんのこと、ある値以上のキー値
を持つポインタを検索する場合、ある値以下のキー値を
持つポインタを検索する場合等の不等号検索条件による
検索時に1つの格納ブロック内で検索が終わらない場合
でも、−ヒ位格納ブロック内の上位インデックスレコー
ドを参照することなしに同じレベルの前後の格納ブロッ
クを探索することができ、高速な検索を行うことができ
るという効果がある。
第1図は本発明の一実施例のインデックスファイル登録
・検索方式の構成を示すブロック図、第2図は第1図中
のインデックスフア・イルの構造を示す図、 第3図は第2図中の最下位格納ブロックの構成を示す図
、 第4図は第2図中の上位インデックスレコードの構成を
示す図、 第5図は第2図中の最下位インデックスレコードの構成
を示す図、 第6図は従来のインデックスファイルの構造を示す図、 第7図は第6図中の上位インデックスレコードの構成を
示す図、 第8図は第6図中の最下位インデックスレコードの構成
を示す図である。 図において、 1・・・インデックスファイル、 2・・・レコード生成手段、 3・・・レコード格納手段、 4・・・インデックス登録手段、 5・・・ポインタ保守手段、 6・・・ブロック探索手段、 7・・・レコード選択手段、 8・・・インデックス検索手段、 21・・・上位格納ブロック、 22・・・最下位格納ブロック、 23・・・上位インデックスレコード、24・・・最下
位インデックスレコード、25・・・NEXTポインタ
、 26・・・PRIORポインタ、 27・・・キー値、 28・・・ブロックポインタ、 29・・・キー値、 30・・・データポインタである。
・検索方式の構成を示すブロック図、第2図は第1図中
のインデックスフア・イルの構造を示す図、 第3図は第2図中の最下位格納ブロックの構成を示す図
、 第4図は第2図中の上位インデックスレコードの構成を
示す図、 第5図は第2図中の最下位インデックスレコードの構成
を示す図、 第6図は従来のインデックスファイルの構造を示す図、 第7図は第6図中の上位インデックスレコードの構成を
示す図、 第8図は第6図中の最下位インデックスレコードの構成
を示す図である。 図において、 1・・・インデックスファイル、 2・・・レコード生成手段、 3・・・レコード格納手段、 4・・・インデックス登録手段、 5・・・ポインタ保守手段、 6・・・ブロック探索手段、 7・・・レコード選択手段、 8・・・インデックス検索手段、 21・・・上位格納ブロック、 22・・・最下位格納ブロック、 23・・・上位インデックスレコード、24・・・最下
位インデックスレコード、25・・・NEXTポインタ
、 26・・・PRIORポインタ、 27・・・キー値、 28・・・ブロックポインタ、 29・・・キー値、 30・・・データポインタである。
Claims (1)
- 【特許請求の範囲】 レコードのキー値とポインタとを格納するインデックス
レコードを格納ブロック単位に含み各格納ブロックが上
位レベルの格納ブロック内の上位インデックスレコード
によってポイントされてなるトリー構造を持つインデッ
クスファイルにおいて、 キー値とポインタとからインデックスレコードを生成す
るレコード生成手段と、 このレコード生成手段により生成されたインデックスレ
コードを前記インデックスファイル内の格納ブロックに
格納するレコード格納手段と、キー値とポインタとを入
力し前記レコード生成手段を起動してインデックスレコ
ードを生成させ前記レコード格納手段を起動して生成さ
れたインデックスレコードを前記インデックスファイル
内の格納ブロックに格納させるインデックス登録手段と
、 前記レコード格納手段により前記インデックスファイル
内に新たな格納ブロックが増設されたときに前記インデ
ックスファイル内の同じレベルの格納ブロック間を結ぶ
ポインタを保守するポインタ保守手段と、 このポインタ保守手段が保守するポインタを使用して前
記インデックスファイル内の同じレベルの格納ブロック
を探索するブロック探索手段と、前記インデックスブロ
ック内の格納ブロックから検索条件を満足するインデッ
クスレコードを選択し検索条件を満足するインデックス
レコードがなくなったときには前記ブロック探索手段を
起動して同じレベルの前後の格納ブロックを探索させ検
索条件を満足するインデックスレコードを選択するレコ
ード選択手段と、 検索条件を入力し前記レコード選択手段を起動して選択
されたインデックスレコードからポインタを抽出するイ
ンデックス検索手段と を有することを特徴とするインデックスファイル登録・
検索方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63193258A JPH0241534A (ja) | 1988-08-02 | 1988-08-02 | インデックスファイル登録・検索方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63193258A JPH0241534A (ja) | 1988-08-02 | 1988-08-02 | インデックスファイル登録・検索方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0241534A true JPH0241534A (ja) | 1990-02-09 |
Family
ID=16304956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63193258A Pending JPH0241534A (ja) | 1988-08-02 | 1988-08-02 | インデックスファイル登録・検索方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0241534A (ja) |
-
1988
- 1988-08-02 JP JP63193258A patent/JPH0241534A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6266660B1 (en) | Secondary index search | |
US5978794A (en) | Method and system for performing spatial similarity joins on high-dimensional points | |
CN107368527B (zh) | 基于数据流的多属性索引方法 | |
JPH11120203A (ja) | データベースを合併する方法およびデータベースからドキュメントを検索する装置 | |
CN111400323A (zh) | 数据检索方法、系统、设备及存储介质 | |
JPH07104871B2 (ja) | リレーショナル・データベースにおけるジョイン処理方式 | |
CN115543993A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
JPH0241534A (ja) | インデックスファイル登録・検索方式 | |
JPH02297670A (ja) | データベース検索方式 | |
JPH01149127A (ja) | 情報検索装置 | |
JPH0773187A (ja) | 検索システム | |
JPH04340163A (ja) | キーワード検索方式 | |
JPH04156624A (ja) | 知識ベースシステムにおける高速アクセス方式 | |
JP2000250921A (ja) | データベースの管理方法およびシステム | |
JP3260706B2 (ja) | パーソナルコンピュータのハードディスクに記憶されたファイルを検索する検索システム | |
KR20010109945A (ko) | 비공간검색조건이 포함된 케이-최근접 질의를 위한알에스트리구조 및 점증적 최근접 방법 | |
JPS61141035A (ja) | デ−タ検索方式 | |
JP2001101233A (ja) | データベース処理装置 | |
Eastman | Handling incrementally specified Boolean queries: a comparison of inverted and signature file organizations | |
JPS63131227A (ja) | デ−タ処理方式 | |
Buranasaksee | Optimization of textual attribute support in generic location-aware rank query | |
CN114020800A (zh) | 一种面向大数据的数据处理方法和装置 | |
JP2548119B2 (ja) | 情報検索装置 | |
KR20030006638A (ko) | 셀 기반의 고차원 데이터 색인 장치 및 그 방법 | |
CN111368022A (zh) | 一种使用反向索引实现书籍筛选的方法及工具 |