JPH05265821A - データベースのインデックス管理方式 - Google Patents

データベースのインデックス管理方式

Info

Publication number
JPH05265821A
JPH05265821A JP4058548A JP5854892A JPH05265821A JP H05265821 A JPH05265821 A JP H05265821A JP 4058548 A JP4058548 A JP 4058548A JP 5854892 A JP5854892 A JP 5854892A JP H05265821 A JPH05265821 A JP H05265821A
Authority
JP
Japan
Prior art keywords
index
record
key
data
data record
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
Application number
JP4058548A
Other languages
English (en)
Inventor
Takao Yoshinaga
孝雄 吉永
Kiyonari Kishikawa
喜代成 岸川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP4058548A priority Critical patent/JPH05265821A/ja
Publication of JPH05265821A publication Critical patent/JPH05265821A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 データベースにおけるインデックス管理で、
削除すべきインデックスレコードを検索する時間を減少
させ性能向上を図る。 【構成】 削除すべきインデックスレコードの検索を行
う際に、インデックスレコードのキーにポインタを付加
し、インデックスレコード全体を1つの固有キーとして
扱い、この固有キ−で削除対象のインデックスレコ−ド
を検索する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベースの各デ−
タレコ−ドに格納されたデ−タの特定項目をインデック
スキ−として用いて検索を行うデータベースのインデッ
クス管理方式に関するものである。
【0002】
【従来の技術】データベースの各レコ−ドに格納された
デ−タの特定項目(または識別項目)をインデックスキ
−として用いて検索を行うデータベースは、索引付き編
成法として知られているが、かかるデータベースにおい
ては、インデックスキ−は該インデックスキ−で示され
るデ−タの格納位置を表わすポインタ(識別子)と一対
になってインデックスレコ−ドに格納されるようになっ
ている。このことについては、例えば、「情報の検索と
データベース」(社団法人 電子通信学会(1986)
pp61−63)等の文献に述べられている。
【0003】このようなデータベースにおいて、例えば
「A」というインデックスキ−を持つ複数のインデック
スレコ−ドが存在する場合に、その中のa番地に格納さ
れているデ−タAaを更新する場合、インデックスキ−
=A,ポインタ=aという内容のインデックスレコ−ド
を削除し、デ−タの更新の後に新たなインデックスレコ
−ドを作成する必要がある。
【0004】このようにデ−タを更新する場合あるいは
削除する必要が生じた場合、旧のインデックスレコード
のインデックスキ−の他にポインタを確認する必要があ
る。
【0005】図5は、従来のインデックスレコ−ドの削
除手順を示すフロ−チャ−トであり、まず、更新しよう
とするデ−タレコ−ドの識別項目(あるいは特定項目)
を参照してインデックスキ−を作成し(ステップ30
1)、次に、この作成したインデックスキーと同じキー
を持つインデックスレコードの入力要求を行なう(ステ
ップ302)。
【0006】次に、その要求したインデックスレコード
が入力されたならば、その入力インデックスレコードの
示すポインタと、更新しようとするデ−タレコードの格
納位置が等しいか否かの確認を行なう(ステップ30
3)。もし、入力されたインデックスレコードのポイン
タと更新しようとするデ−タレコードの格納位置が等し
くなければ、入力したインデックスレコードは別のデ−
タレコードをポイントしているものと判断できるため、
作成したインデックスキーと同じキーを持つ別のインデ
ックスレコードの再入力を要求する(ステップ30
4)。
【0007】そこで、再要求したインデックスレコ−ド
が入力されたならば、その入力されたインデックスレコ
ードの示すポインタと更新しようとするデ−タレコード
の格納位置が等しいかどうかを再度判定し、その結果、
等しい場合は、今回入力されたインデックスレコードは
更新しようとするデ−タレコードをポイントしていると
判断できるため、そのインデックスレコードの削除要求
を行ない、削除させる(ステップ305)。
【0008】なお、インデックスの保守に関して、特開
昭61−82232、特開昭61−67123号、特開
昭63−240677号等で示された従来技術が挙げら
れる。
【0009】
【発明が解決しようとする課題】しかしながら、上記従
来のインデックス管理方法にあっては、目的のインデッ
クスレコードを削除するに際し、インデックスキ−の他
にポインタが一致するインデックスレコ−ドを検索して
削除するという手法をとっているため、同じインデック
スキーを持つインデックスレコードが多数存在する場
合、目的のインデックスレコードが検索できるまでステ
ップ303とステップ304を繰返し実行しなければな
らない。すなわち、同じインデックスキーを持つインデ
ックスレコードの数が多くなるほど、その中から目的の
インデックスレコードを見つけ出す検索時間が長くな
り、処理能力が低下してしまうという問題がある。
【0010】本発明の目的は、デ−タレコ−ドを削除し
たり更新する場合のインデックスの保守処理時間を短縮
し、処理能力を向上させることができるデータベースの
インデックス管理方式を提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に本発明は、インデックスレコードのキーとポインタと
を結合して固有のキ−を作成し、この固有キーを用いて
インデックスを形成し、インデックスレコ−ドを削除す
るに際しては、この固有のキ−を使用して削除対象のイ
ンデックスレコ−ドを検索の後に削除するようにした。
【0012】
【作用】上記手段によれば、固有のキ−は更新または削
除しようとしているデ−タレコ−ドを一意に示している
ので、この固有キ−と同じインデックスレコ−ドが見つ
かれば、このインデックスレコ−ドが更新または削除し
ようとしているデ−タレコ−ドに対応しているものと一
意に判定できる。そこで、、このインデックスレコ−ド
に対して削除要求をおこなうことにより、目的とするイ
ンデックスレコ−ドを削除することができる。
【0013】
【実施例】以下、本発明を図示する実施例に基づいて詳
細に説明する。
【0014】図1は本発明のインデックス管理方式の一
実施例を示すフロ−チャ−トであり、図2はB−tre
e構造のインデックスとインデックスレコードとの関係
を示したものである。
【0015】最初に、インデックスとインデックスレコ
ードの関係について図2を参照して説明すると、図2に
おいて1はインデックス、2はインデックスページ、3
はキ−4とポインタ5とから成るインデックスレコー
ド、6はデータ部、7はデータページ、8はデ−タレコ
ードである。
【0016】インデックスページ2は、それぞれ垂直ポ
インタ、水平ポインタで結ばれており、インデックスペ
ージ2内には各インデックスレコード3がキー(図示の
例では、A,G,H)の上昇順に格納されている。そし
て、各インデックスレコ−ド3は対応したデ−タレコ−
ド8をポインタ5によってポイントしている。
【0017】ここで、インデックス3は、キー4とポイ
ンタ5の2つの情報で構成され、キー4にはデ−タレコ
ード8中の識別項目9のデータ、ポインタ5にはキー9
と同じ識別項目を持つデ−タレコード7の外部記憶装置
上の格納位置が示されており、論理ボリューム番号、論
理ブロック番号、そこからの相対位置で表わしている。
【0018】これに対し、データ部6はデータベースフ
ァイル内のデ−タレコード8を格納してあるデータペー
ジ7から成り立っており、各データページ7はそれぞれ
前後ポインタで結ばれている。このデ−タレコード7は
デ−タの識別項目9と付加情報10とから構成され、追
加された順番にデータページ7の先頭から格納されい
る。
【0019】このようなインデックスとデ−タレコ−ド
の関係において、ユーザがデータベースファイル内にデ
−タレコ−ド8を作成し、新たなインデックスを定義し
た場合、定義したインデックスに関して図3に示すよう
なインデックス詳細情報11がシステムによって作成さ
れる。このインデックス詳細情報11は、ユーザが定義
したインデックスの名称12、インデックスレコード3
のキー4の長さ13、インデックスレコードの長さ1
4、デ−タレコード7中の識別項目9に関する詳細情報
15などが格納されており、システムがインデックスア
クセスを行なう場合に参照している。
【0020】このような構造のインデックス1とデ−タ
レコ−ド8の関係において、デ−タレコ−ド8の更新あ
るいは削除に際し、対応するインデックスレコ−ド3を
削除する必要が生じた場合、この発明においては、削除
または更新対象のデ−タレコ−ド8に対応するインデッ
クスレコ−ド3のキ−4とポインタ5とを結合して、削
除または更新対象のデ−タレコ−ド8を一意に指定する
固有のキ−を作成し、この固有のキ−によって削除また
は更新対象のデ−タレコ−ド8を削除するようにしてい
る。
【0021】すなわち、ポインタ5に関しては対応する
デ−タレコード8の実際の格納位置が示されているた
め、キー4が同じであってもポインタ5は全て異なる内
容となる。従って、インデックスレコード3のキー4に
ポインタ5を付加すれば、特定のデ−タレコ−ド8を一
意に指定し得るキ−を得ることができる。
【0022】本発明は、このことに着目し、インデック
スレコード3のキー4にポインタ5を付加することで、
インデックスレコード全体を固有のキーとして用い、こ
の固有のキ−によって削除または更新対象のデ−タレコ
−ド8に対応するインデックスレコ−ドを削除するよう
にした。
【0023】このようにすることで、重複する内容のデ
−タレコード8をポイントするインデックスレコード3
のキー4を全てユニーク化することが可能となる。ま
た、実際にインデックスレコード3の削除を行なう場
合、そのインデックスレコ−ド3に対応するデ−タレコ
ード8の外部記憶装置上の格納位置はインデックスレコ
ード3の削除を行なう時点で既に判明しているため、対
応するデ−タレコード8の識別項目と格納位置を参照し
てキーを作成し、インデックス1に対して検索を行なえ
ば、目的のインデックスレコード3を直接指定できるこ
とになる。
【0024】この場合、キーを固有化した場合とそうで
ない場合のインデックス詳細情報11上で違いは、イン
デックスレコード3のキーの長さ13に表れる。つま
り、キー固有化ではインデックスレコード3のキー4の
長さは図3のようにL1,そうでない場合はL2の長さ
で詳細情報11内に格納されている。インデックスアク
セスはこのインデクス詳細情報11内にあるキーの長さ
11をそのインデックスのキー長として処理しているた
め、インデックスの詳細情報11内のキー長をL1とす
ることでインデックスレコード全体を1つのキーとして
処理を行なうことが可能となるわけである。
【0025】以上の前提を基に図1のフロ−チャ−トを
参照して本実施例のインデックスレコード削除処理につ
いて説明する。
【0026】まず、上記のようにキーの固有化を行って
いるインデックスレコ−ド3のキーの内容は、デ−タレ
コード8内の識別項目9に対応したキ−4とそのデ−タ
レコード8の格納位置を示すポインタ5とを結合したも
のであるため、デ−タを更新するデ−タレコード8内の
識別項目9と格納位置を参照し、固有のキーを作成する
(ステップ401)。次に、インデックス1に対してそ
の作成した固有キーと同じキーを持つインデックスレコ
ード3の入力要求を行う(ステップ402)。ステップ
401で作成した固有キーはインデクスレコード3の内
容そのものであるため、入力要求したインデックスレコ
ード3のポインタ5は必ず、デ−タを更新するデ−タレ
コードを示していることが言える。よって、入力された
インデックスレコード3の削除要求を無条件で行う(ス
テップ403)。
【0027】以上のことから、インデックスレコード3
のキーを固有化することで、目的のインデックスレコー
ド3を直接入力して削除できる。このため、同じキ−5
を持つインデックスレコ−ド3が多数存在したとして
も、削除対象のインデックスレコード3を常に一定の短
時間で検索可能になり、インデックスの削除などの保守
性能を向上させることが可能となる。
【0028】図4は、キーの固有化を行っているインデ
ックス3を使用したデ−タレコード8の入力処理を示し
たフローチャートである。
【0029】ユーザがインデックス3を使用してデ−タ
レコード8の検索を行う場合、入力したいデ−タレコー
ド8の識別項目9のデータを指定する。デ−タレコード
入力処理では、まず最初に、インデックス1に対して検
索対象のインデックスレコード3のキー4を作成する
が、このキー4はユーザが指定した識別項目9のデータ
とポインタ5の内容をゼロ(NULL)と仮定したもの
で作成する(ステップ501)。
【0030】キーの作成が完了したならば、インデック
ス1に対して、作成したキーよりも大きい値のキー4を
持つインデックスレコード3の入力要求を行う(ステッ
プ502)。次に、インデックスレコード3が入力され
たならば、ユーザが指定した識別項目9のデータと同じ
キー4を持つインデックスレコード3か否かの判定を行
う(ステップ503)。この時、ユーザが指定した識別
項目9のデータとインデックスレコード3のキー4が等
しければ、ユーザの求めたいインデックスレコード3を
検索できたことになるので、そのインデックスレコード
3のポインタ5が示すデ−タレコード8の入力を行う
(ステップ504)。
【0031】しかし、ユーザが指定した識別項目9とイ
ンデックスレコード3のキー4が等しくなければ、ユー
ザの求めたいインデックスレコード3は存在しないこと
になるため、その旨を伝えるリターンコードを設定し、
ユーザの元へ処理を返す。
【0032】以上のように、固有化したキ−を用いてデ
−タレコ−ド8を検索する場合、ユーザの求めているデ
−タレコードの格納位置は実際にインデックス1をアク
セスするまで知ることが出来ないため、格納位置の値を
最小値(ゼロ)を仮定して固有キーの作成を行い、イン
デックスレコードの入力後、キーの内容を判定すること
によって、ユーザの求めているインデックスレコードで
あるかどうかを確認させる。
【0033】これによって、固有化したキ−を用いた場
合でも、デ−タ部6のデ−タを通常通りに容易に検索す
ることができる。
【0034】
【発明の効果】以上の説明から明らかなように、本発明
においては、インデックスレコードのキーとポインタと
を結合して固有のキ−を作成し、この固有キーを用いて
インデックスを形成し、インデックスレコ−ドを削除す
るに際しては、この固有のキ−を使用して削除対象のイ
ンデックスレコ−ドを検索するようにしたため、デ−タ
レコ−ドを削除したり更新する場合に、同じキーを持つ
インデックスレコードの数に関係なく常に一定の時間で
インデックス保守を行えるようになり、インデックスの
削除等の保守処理時間を短縮し、処理能力を向上させる
ことができる。
【図面の簡単な説明】
【図1】固有キ−を用いて目的のインデックスを削除す
る処理の本発明の一実施例を示すフロ−チャ−トであ
る。
【図2】実施例におけるインデックスとデ−タレコ−ド
の関係を示す説明図である。
【図3】図2におけるインデックスレコードの構成と詳
細情報を示した説明図である。
【図4】固有キーを用いたデ−タレコ−ドの検索処理を
示すフロ−チャ−トである。
【図5】従来のインデックスレコード削除処理を示した
フローチャートである。
【符号の説明】
1…インデックス、2…インデックスページ、3…イン
デックスレコード、4…キー、5…ポインタ、6…デ−
タ部、7…データページ、8…デ−タレコ−ド、9…識
別項目、10…付属情報、11…詳細情報。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岸川 喜代成 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】データベースの各デ−タレコ−ドに格納さ
    れたデ−タの特定項目をインデックスキ−として用いて
    検索を行うデータベースのインデックス管理方式であっ
    て、インデックスレコードのキーとポインタとを結合し
    て固有のキ−を作成し、この固有キーを用いてインデッ
    クスを形成し、インデックスレコ−ドを削除するに際し
    ては、この固有のキ−を使用して削除対象のインデック
    スレコ−ドを検索することを特徴とするデータベースの
    インデックス管理方式。
  2. 【請求項2】前記固有のキ−を用いて作成されたインデ
    ックスを使用してデ−タを検索するに際しては、検索対
    象のデ−タの識別項目に対応するキ−を入力し、このキ
    −よりも大きい値のキーを持つインデックスレコードか
    ら順に検索を始め、入力したキ−と一致するインデック
    スレコ−ドが検索されたならば、このインデックスレコ
    −ドのポインタで示されるデ−タレコ−ドのデ−タを検
    索することを特徴とする請求項1記載のデータベースの
    インデックス管理方式。
JP4058548A 1992-03-17 1992-03-17 データベースのインデックス管理方式 Pending JPH05265821A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4058548A JPH05265821A (ja) 1992-03-17 1992-03-17 データベースのインデックス管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4058548A JPH05265821A (ja) 1992-03-17 1992-03-17 データベースのインデックス管理方式

Publications (1)

Publication Number Publication Date
JPH05265821A true JPH05265821A (ja) 1993-10-15

Family

ID=13087514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4058548A Pending JPH05265821A (ja) 1992-03-17 1992-03-17 データベースのインデックス管理方式

Country Status (1)

Country Link
JP (1) JPH05265821A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009090697A1 (ja) * 2008-01-17 2009-07-23 S.Grants Co., Ltd. ビット列検索装置、検索方法及びプログラム
WO2009093290A1 (ja) * 2008-01-22 2009-07-30 S.Grants Co., Ltd. ビット列検索装置、検索方法及びプログラム
JP4870305B2 (ja) * 1999-12-21 2012-02-08 ティヴォ インク 配信対話型テレビ番組案内のシステムおよび方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4870305B2 (ja) * 1999-12-21 2012-02-08 ティヴォ インク 配信対話型テレビ番組案内のシステムおよび方法
WO2009090697A1 (ja) * 2008-01-17 2009-07-23 S.Grants Co., Ltd. ビット列検索装置、検索方法及びプログラム
JP2009169715A (ja) * 2008-01-17 2009-07-30 S Grants Co Ltd ビット列検索装置、検索方法及びプログラム
JP4567754B2 (ja) * 2008-01-17 2010-10-20 株式会社エスグランツ ビット列検索装置、検索方法及びプログラム
US8195667B2 (en) 2008-01-17 2012-06-05 S. Grants Co., Ltd. Bit string search apparatus, search method, and program
WO2009093290A1 (ja) * 2008-01-22 2009-07-30 S.Grants Co., Ltd. ビット列検索装置、検索方法及びプログラム

Similar Documents

Publication Publication Date Title
US6668263B1 (en) Method and system for efficiently searching for free space in a table of a relational database having a clustering index
KR101738647B1 (ko) 데이터 유지 시스템
WO1993001555A1 (en) Method of managing plural drawings for system for managing geographic information
US20110153661A1 (en) Navigation device and database update program
JP7161867B2 (ja) 固定資産税情報管理装置及び固定資産税情報管理プログラム
JP2000011000A (ja) 検索装置及び方法
JP3026286B2 (ja) 計算機システムの権限管理装置および方法
JPH05265821A (ja) データベースのインデックス管理方式
JPH0728833A (ja) 情報検索装置
JP3056704B2 (ja) データ管理装置
KR20000040270A (ko) 전자지도상에서의 사용자 레이어 관리 장치 및 그 방법
JPH06215037A (ja) インデックスの自動更新装置
JP3484440B2 (ja) 分散型データベース更新方法
JP2925042B2 (ja) 情報リンク生成方法
JP2972548B2 (ja) ファイル管理方式
JPH096653A (ja) データベースのチェックを行う情報処理装置
US7606789B2 (en) Data access and retrieval mechanism
JP4056622B2 (ja) データベース管理装置
JP2002140218A (ja) データ処理方法、コンピュータ読み取り可能な記録媒体及びデータ処理装置
JP2885625B2 (ja) 索引表付きファイルシステム
JP2000242538A (ja) ディレクトリ検索システム、ディレクトリ検索方法およびディレクトリ検索用プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH06290095A (ja) ファイル管理装置
JPH09305449A (ja) データベース管理システム
JP2643850B2 (ja) ファイル処理装置
JPH02278439A (ja) 追記型デバイスのデータ管理方式