JPH03100839A - 索引順編成ファイルのレコード追加処理方式 - Google Patents

索引順編成ファイルのレコード追加処理方式

Info

Publication number
JPH03100839A
JPH03100839A JP1238779A JP23877989A JPH03100839A JP H03100839 A JPH03100839 A JP H03100839A JP 1238779 A JP1238779 A JP 1238779A JP 23877989 A JP23877989 A JP 23877989A JP H03100839 A JPH03100839 A JP H03100839A
Authority
JP
Japan
Prior art keywords
record
block
data
area
store
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
JP1238779A
Other languages
English (en)
Inventor
Masanori Ishii
正則 石井
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP1238779A priority Critical patent/JPH03100839A/ja
Publication of JPH03100839A publication Critical patent/JPH03100839A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は索引順編成ファイルのレコード追加処理方式に
関するものである。
〔従来の技術〕
索引順編成ファイルとは、レコードの一部に当該レコー
ドを識別するためのキーが設けられ、これらの複数のレ
コードがキー値の範囲毎にブロックと呼ばれる一定のw
I域に分割して格納されているデータ部と、ある範囲の
キー値をもつレコードがデータ部内−のどのブロックに
格納されているかを示す索引情報が格納されている索引
部との2種類の領域から構成されるファイルである。
ところで、この種の索引順編成ファイルに新たなレコー
ドを追加する場合は、追加するレコードのキー値を基に
索引111i&!成フアイルの索引部を検索して格納す
べきブロックを特定し、そのブロックにレコードを格納
すべき領域があればそこに格納するものである。しかし
、そのブロックに余裕がない場合には、特別な処理を行
わなければならない。
従来、このような場合の処理としては、次のような2通
りの方式が採用されていた。
■ファイル作成時にファイルの最後の余った領域に作成
されるブロック(オーバーフローブロック)に追加レコ
ードを格納する方式(オーバーフロ一方式) ■格納すべきブロック内のレコード群を約半分のサイズ
で分割し、新たに作成したブロックに半分のレコード群
を移動させることによりできた空き領域に追加レコード
を格納する方式(スプリット方式) (発明が解決しようとする課題〕 従来のレコード追加処理方式は上述したように行われて
いたが、それぞれの方式には次のような欠点があった。
■オーバーフロ一方式においては、追加する複数のレコ
ードのキー値がデータ部内のあるブロックに集中した場
合、追加レコード群が索引部の索引情報で直接に管理さ
れていないオーバーフローブロックに格納されるため、
そのブロック内のレコードを参照する場合に複雑な処理
を行わなければならず、処理時間が長くなってサービス
の低下を招く。
■スプリット方式においては、オーバーフロー方式のよ
うな欠点はないが、ブロックサイズの約半分しか使用し
ていないブロックが新たに作成されるので、以後の追加
レコードのキー値が新たに作成されたブロックを使用し
ないような場合は記憶域の有効利用が図れない。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、レコード参照のための処理時間の増
大を招くことがないと共に、記憶領域の有効利用が図れ
る索引順編成ファイルのレコード追加処理方式を提供す
ることにある。
〔課題を解決するための手段〕
本発明は上記の目的を達成するため、索引順編成ファイ
ルを扱うデータ処理装置におけるレコード追加処理方式
において、 レコード追加要求時に当該レコードを格納すべきブロッ
クを検索すると共に当該ブロックにレコードの格納領域
が有るか否かを判断するデータ領域検索手段と、 このデータ領域検索手段により格納領域が無いと判断さ
れた場合にそのブロックの次もし、くは一つ前のブロッ
クにレコードの格納領域が有るか否かを判断するデータ
領域確保手段と、 このデータ領域確保手段により格納領域が有ると判断さ
れた場合に、追加すべきレコードを検出された次もしく
は一つ前のブロックに直接格納できるか否かを判断して
直接格納できない場合は追加するレコードを移動すべき
レコードと交換すると共に、各ブロックの代表キー値の
更新を行う索引情報更新手段と、 前記データ領域検索手段が格納領域有りと判断したブロ
ックおよび前記データ領域確保手段が格納領域有りと判
断した次もしくは一つ前のブロックに追加もしくは移動
するレコードを格納するデータ部格納手段とを備えるよ
うにしている。
〔作用〕
本発明の索引順編成ファイルのレコード追加処理方式に
あっては、レコード追加要求時に、データ領域検索手段
が当該レコードを格納すべきブロックを検索すると共に
当該ブロックにレコードの格納領域が有るか否かを判断
し、格納領域が無いと判断された場合にデータ領域確保
手段がそのブロックの次もしくは一つ前のブロックにレ
コードの格納領域が有るか否かを判断し、次もしくは一
つ前のブロックに格納領域が有ると判断された場合に索
引情報更新手段が追加すべきレコードを検出された次も
しくは一つ前のブロックに直接格納できるか否かを判断
して直接格納できない場合は追加するレコードを移動す
べきレコードと交換すると共に、各ブロックの代表キー
値の更新を行い、データ部格納手段がデータ領域検索手
段が格納領域有りと判断したブロックおよびデータ領域
確保手段が格納領域有りと判断した次もしくは一つ前の
ブロックに追加もしくは移動するレコードを格納する。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明の索引順編成ファイルのレコード追加処
理方式の一実施例を示す構成図である。
第1図において、Aはレコードの追加要求を出すジ目ブ
であり、lはレコードの追加および参照・削除等の処理
を行うデータ処理装置、2は索引順編成ファイルである
。ここで、索引順編成ファイル2は索引部3とデータ部
4とから構成され、索引部3にはデータ部4に設けられ
た複数のブロックh=  1+  J+ ・・・に対応
する索引情報31,32゜33、・・・が存在し、索引
情報31.32,33゜・・・にはそのブロックの論理
的に次に位置するブロックに含まれ得る最小のキー値c
、e、g、・・・が代表キー値として含まれると共に、
各ブロックへのポインタが含まれている。また、データ
部4の各ブロックh、i、j、・・・はキー値が所定の
範囲に入るレコード同士をまとめて格納してあり、h’
+  J+ ・・・の順がキー値の昇順となっており、
各ブロックはポインタにより論理的に昇順に連結して管
理されると共に、各ブロック内においてもレコードはポ
インタにより論理的に昇順に連結して管理されている。
なお、ブロックiにおいてキーC゛はそのブロックi内
で最小のキーCをもつレコードが削除されていることを
示している。
一方、データ処理装置1はデータ領域検索手段5とデー
タ領域確保手段6と索引情報更新手段7とデータ部格納
手段8とが含まれている。なお、図示していないが、デ
ータ処理装置1にはデータ処理装置としてのその他の機
能を行うための機能部、および、本発明が実行できない
時の例外的な処理のために従来のスプリント方式を実行
するための機能部も含まれている。
データ処理装置1内の各手段の概略的な機能は次の通り
である。
データ領域検索手段5;ジョブAからのレコード追加要
求時に当該レコードを格納すべきブロックを索引順編成
ファイル2の索引部3を検索することにより特定すると
共に、当該ブロックにレコードの格納領域が有るか否か
を判断する機能。
データ領域確保手段6;データ領域検索手段5によりレ
コードを格納すべきブロックに格納領域が無いと判断さ
れた場合にそのブロックの次もしくは一つ前のブロック
にレコードの格納領域が有るか否かを判断する機能。
索引情報更新手段7;データ領域確保手段6により次も
しくは一つ前のブロックにレコードの格納領域が有ると
判断された場合に、追加すべきレコードを検出された次
もしくは一つ前のブロックに直接格納できるか否かを判
断して直接格納できない場合は追加するレコードを移動
すべきレコードと交換すると共に、各ブロックの代表キ
ー値の更新を行う機能。
データ部格納手段8;データ領域検索手段5が格納領域
有りと判断したブロックおよびデータ領域確保手段6が
格納領域有りと判断した次もしくは一つ前のブロックに
追加もしくは移動するレコードを格納する機能。
第2図はデータ処理装置lのレコード追加に関する全体
的な処理のフローチャート、第3図ないし第6図は手段
5〜8の各々の処理の詳細を示したフローチャートであ
り、以下、上記の実施例の動作を第2図ないし第6図の
フローチャートに沿って説明する。なお、ここでは、便
宜上、ジョブAから索引JI[!成ファイル2内へキー
x (cox<e)をもつレコードを追加する要求が出
された場合を例にとって説明する。
ジップAからレコードの追加要求が出されると、データ
処理装置Iは、第2図に示すように、データ領域検索手
段5に制御を渡す(ステップSl)。
データ領域検索手段5は、第3図に示すように、索引順
編成ファイル2の索引部3内の索引情報31.32,3
3.・・・を検索することにより、追加レコードのキー
値Xがデータ部4内のどのブロックh、t、j、に、・
・・に含まれるかを検索する(ステップS9)、前述し
た例では、c<x<eであるため、そのレコードはブロ
ックiに格納すべきであることから、ブロックiが検索
される。
次いで、データ領域検索手段5は検索したブロックj内
に追加レコードを格納するだけの領域が有るか否かを判
断しくステップ5IO)、有ると判断した場合はデータ
部4内のブロックj内に追加レコードを格納する領域が
有ることを呼び出し元に通知しくステップ5ll)、処
理を終了する。
また、検索したブロックj内に追加レコードを格納する
だけの領域が無いと判断した場合は、データ部4内のブ
ロックj内に追加レコードを格納する領域が無いことを
呼び出し元に通知しくステップ512)、処理を終了す
る。データ領域検索手段5の処理終了により制御はデー
タ処理装置1に戻る。
データ処理装置1では、データ領域検索手段5からデー
タ部4内のブロックj内に追加レコードを格納するwI
i41iが有ると通知された場合は、データ部格納手段
8に制御を渡す(ステップS2.S7)、また、データ
部4内のブロックj内に追加レコードを格納する領域が
無いと通知された場合は、データ領域確保手段6に制御
を渡す(ステップS2.S3)。
データ領域確保手段6は、第4図に示すように、先ず、
索引部3内の索引情報31,32,33゜・・・を検索
することによりデータ部4内のブロックiの次にブロッ
ク(j)が有るか否かを判断しくステップ513)、ブ
ロックjが有ると判断した場合はブロックiヘキー値X
をもつ追加レコードを格納するために他のブロックjへ
移動させる必要があるレコード(以下、「移動レコード
」という、)を考慮し、ブロックj内に移動レコードを
格納するだけの領域が有るか否かを判断する(ステップ
514)、そして、ブロックj内に移動レコードを格納
する領域が有ると判断した場合は、データ部4内のブロ
ックiの次のブロックj内に移動レコードを格納する領
域が有ることを通知しくステップ317)、処理を終了
する。
また、ステップS13で次のブロックが存在しないと判
断した場合、および、ステップ314で次のブロックj
に移動レコードを格納する領域が無いと判断した場合に
は、ステップS15に制御が進む。
そして、索引部3内の索引情報31.32,33、・・
・を検索することによりデータ部4内のブロックiの一
つ前にブロック(h)が有るか否かを判断しくステップ
515)、ブロックhが有ると判断した場合は、移動レ
コードを考慮してブロックh内に移動レコードを格納す
るだけの領域が有るか否かを判断する(ステップ316
)。そして、ブロックh内に移動レコードを格納する領
域が有ると判断した場合は、データ部4内のブロックi
の一つ前のブロックh内に移動レコードを格納する領域
が有ることを通知しくステップ518)、処理を終了す
る。また、ステップ515で一つ前にブロックが存在し
ないと判断した場合、および、ステップS16でブロッ
クh内に移動レコードを格納する領域が無いと判断した
場合は、データ部4内のブロックh、  j内には追加
レコードを格納する領域が無いことを通知しくステップ
Sl’9)、処理を終了する。データ領域確保手段6の
処理終了により制御はデータ処理袋21に戻る。
データ処理装置1では、データ領域確保手段6からデー
タ部4内のブロックh、  j内には追加レコードを格
納する領域が無いことが通知されると、止むを得ないも
のとして従来と同様にスプリット方式を実行すべく、ブ
ロックj内のレコード群を約半分のサイズで分割し、新
たに作成したプロ・2りに半分のレコード群を移動させ
ることにより追加レコードの格納領域を確保する(ステ
ップS6)。
なお、スプリット方式については、従来と同様な方式で
あるため、詳細な説明は省略する。
一方、データ領域確保手段6からデータ部4内のブロッ
クiの次のブロックjまたは一つ前のブロックh内に移
動レコードを格納する領域が有ることが通知されると、
索引情報更新手段7に制御を渡す(ステップS5)。
索引情報更新手段7では、第5図に示すように、先ず、
上述したデータ領域確保手段6の通知の結果よりデータ
部4内のブロックiの次のブロックjまたは一つ前のブ
ロックhのどちらに追加レコードを格納することができ
るのかを判断しくステップ520)、次のブロックjに
追加レコードを格納すると判断した場合は、追加レコー
ドのキー(fixとブロックi内に格納されているレコ
ードの最大のキー値dとを比較する(ステップ521)
そして、追加レコードのキー値Xがブロックi内に格納
されているレコードの最大キー値dより大きい場合は、
索引部3内のブロックiに対応する索引情報32のキー
値eをキー値Xに変更する(ステップ525)、これに
より、データ部4内のブロックi、jに格納されるレコ
ードのキー値の範囲が変更され、ブロックjにキー値X
をもつレコードを格納できるようになる。また、追加レ
コードのキー値Xがブロックi内に格納されているレコ
ードの最大キー値dより小さい場合は、キー値Xをもつ
追加レコードを最大キー値dをもっレコードが格納され
ていたブロックi内の領域に格納し、キー値dをもつレ
コードを移動レコードとする(ステップ522)、そし
て、索引部3内のブロックiに対応する索引情報32の
キー値eをキー値dに変更する(ステップ525)、こ
れにより、データ部4内のブロックi、jに格納される
レコードのキー値の範囲が変更され、ブロックjにキー
値dをもつレコードを格納できるようになる。
一方、データ領域確保手段6の通知の結果よりデータ部
4内のブロックiの一つ前のブロックhに追加レコード
を格納すると判断した場合は、追加レコードのキー値X
とブロックi内に格納されているレコードの最小キー値
C°とを比較する(ステップ523)、そして、追加レ
コードのキー値Xがブロックi内に格納されているレコ
ードの最小のキー値C゛より小さい場合は、索引部3内
のブロックhに対応する索引情報31のキー値Cをキー
値C°に変更する(ステップ525)。
これにより、データ部4内のブロックh、iに格納され
るレコードのキー値の範囲が変更され、プロ、りhにキ
ー値Xをもつレコードを格納できるようになる。また、
追加レコードのキー値Xがブロンクi内に格納されてい
るレコードの最小キー値C′より大きい場合は、キー値
Xをもつ追加レコードを最小キー値C′をもつレコード
が格納されていたブロックi内の領域に格納し、キー値
Cをもつレコードを移動レコードとする(ステップ52
4)。そして、索引部3内のブロックhに対応する索引
情報31のキー値Cをキー値C°の次のキー値に変更す
ることにより、データ部4内のブロックh、iに格納さ
れるレコードのキー値の範囲が変更され、プロ・2りh
にキー値C°をもつレコードを格納できるようになる。
ステップS25の終了により制御はデータ処理装置1に
戻る。
データ処理装置1では、最終的な処理として、データ部
格納手段8に制御を渡す(ステップS7)。
データ部格納手段8は、第6図に示すように、データ領
域検索手段5がレコードの格納領域が有ると通知したブ
ロック(ステップS 11 ) 、デ−タ領域確保手段
6がレコードの格納領域が有ると通知した次もしくは一
つ前のブロック(ステップS17,518)、もしくは
、スプリシト方式により分割して作成したブロック(ス
テップS6)に対して、追加レコードもしくは移動レコ
ードを格納しくステップ526)、次いで、追加もしく
は移動したレコードのキー値の前後のキー値をもつ、レ
コードとのポインタ付けを行い(ステップ527)、処
理を終了する。そして、制御はデータ処理装置1に戻り
、レコード追加処理が終了する。
〔発明の効果〕
以上説明したように、本発明の索引順編成ファイ、ルの
レコード追加処理方式にあっては、追加するレコードを
格納すべきブロックにレコードヲ格納する領域が無い場
合であっても、その前後のブロックにレコードを格納す
る領域が有る場合は必要に応じレコードの移動を行って
レコードを格納するため、 ■オーバーフロ一方式のように索引部で直接に管理され
ていないオーバーフローブロックニ追加レコードが格納
されることがないため、レコードの参照のための処理時
間の増大が生じない。
■前後のブロックに余裕が無い場合にのみスプリット方
式が採用されるため、そうなる頻度は少なく、よって記
憶域の有効利用が図れる。
等の効果がある。
【図面の簡単な説明】
第1図は本発明の索引順編成ファイルのレコード追加処
理方式の一実施例を示す構成図、第2図は第1図におけ
るデータ処理装置の処理を示すフローチャート、 第3図は第1図におけるデータ処理装置のデータ領域検
索手段の処理を示すフローチャート、第4図は第1図に
おけるデータ処理装置のデータ領域確保手段の処理を示
すフローチャート、第5図は第1図におけるデータ処理
装置の索引情報更新手段の処理を示すフローチャートお
よび、第6図は第1図におけるデータ処理装置のデータ
部格納手段の処理を示すフローチャートである。 図において、 l・・・・・・・・・・・・・・・データ処理装置2・
・・・・・・・・・・・・・・索引順編成ファイル3・
・・・・・・・・・・・・・・索引部31〜33・・・
索引情報 4・・・・・・・・・・・・・・・データ部h−k・・
・・・・・・・ブロック

Claims (1)

  1. 【特許請求の範囲】 索引順編成ファイルを扱うデータ処理装置におけるレコ
    ード追加処理方式において、 レコード追加要求時に当該レコードを格納すべきブロッ
    クを検索すると共に当該ブロックにレコードの格納領域
    が有るか否かを判断するデータ領域検索手段と、 このデータ領域検索手段により格納領域が無いと判断さ
    れた場合にそのブロックの次もしくは一つ前のブロック
    にレコードの格納領域が有るか否かを判断するデータ領
    域確保手段と、 このデータ領域確保手段により格納領域が有ると判断さ
    れた場合に、追加すべきレコードを検出された次もしく
    は一つ前のブロックに直接格納できるか否かを判断して
    直接格納できない場合は追加するレコードを移動すべき
    レコードと交換すると共に、各ブロックの代表キー値の
    更新を行う索引情報更新手段と、 前記データ領域検索手段が格納領域有りと判断したブロ
    ックおよび前記データ領域確保手段が格納領域有りと判
    断した次もしくは一つ前のブロックに追加もしくは移動
    するレコードを格納するデータ部格納手段とを備えたこ
    とを特徴とする索引順編成ファイルのレコード追加処理
    方式。
JP1238779A 1989-09-14 1989-09-14 索引順編成ファイルのレコード追加処理方式 Pending JPH03100839A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1238779A JPH03100839A (ja) 1989-09-14 1989-09-14 索引順編成ファイルのレコード追加処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1238779A JPH03100839A (ja) 1989-09-14 1989-09-14 索引順編成ファイルのレコード追加処理方式

Publications (1)

Publication Number Publication Date
JPH03100839A true JPH03100839A (ja) 1991-04-25

Family

ID=17035155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1238779A Pending JPH03100839A (ja) 1989-09-14 1989-09-14 索引順編成ファイルのレコード追加処理方式

Country Status (1)

Country Link
JP (1) JPH03100839A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008032791A (ja) * 2006-07-26 2008-02-14 Sony Corp 近接撮影用ライト
US7489359B2 (en) 2003-02-20 2009-02-10 Sony Corporation Lens adapter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7489359B2 (en) 2003-02-20 2009-02-10 Sony Corporation Lens adapter
JP2008032791A (ja) * 2006-07-26 2008-02-14 Sony Corp 近接撮影用ライト

Similar Documents

Publication Publication Date Title
CN1026631C (zh) 利用索引树对数据库记录进行并发存取的方法
US6584457B1 (en) Parallel data base record distribution method and parallel data base management system
JPH03100839A (ja) 索引順編成ファイルのレコード追加処理方式
JP3056704B2 (ja) データ管理装置
EP0394172A2 (en) Method of performing file services given partial file names
JPH0934758A (ja) リレーショナルデータベースアクセス制御方式
JP4066727B2 (ja) インデックスファイル検索装置およびインデックスファイル検索方法
JPH07319742A (ja) 論理削除データ物理削除方式
JPH02246075A (ja) 磁気テープボリューム内のファイル検索方式
JPS59146339A (ja) 情報検索方式
JPH04199338A (ja) データベース管理システム
US20140143210A1 (en) System and method for manipulating data records
JPH06290095A (ja) ファイル管理装置
JP2740238B2 (ja) ファイル排他制御装置
JP2643850B2 (ja) ファイル処理装置
JPH04257062A (ja) ハッシュキューを用いるデータ処理装置
JPH06301733A (ja) 情報検索表示装置
CN111831231A (zh) 分区合并、分区拆分的方法及装置
JPH06208497A (ja) データベース管理方法
JPH0293959A (ja) フアイル管理方式
JPH03255549A (ja) レコード排他方式
JPH07160565A (ja) 業務処理中データベース再編成方式
JPH0797345B2 (ja) ファイル制御方式
JPH03276238A (ja) レコード管理方式
JP2004078974A (ja) データ格納制御方法およびデータ処理システム