JPH04182749A - 関係型データベースのデータ格納方式 - Google Patents

関係型データベースのデータ格納方式

Info

Publication number
JPH04182749A
JPH04182749A JP2311300A JP31130090A JPH04182749A JP H04182749 A JPH04182749 A JP H04182749A JP 2311300 A JP2311300 A JP 2311300A JP 31130090 A JP31130090 A JP 31130090A JP H04182749 A JPH04182749 A JP H04182749A
Authority
JP
Japan
Prior art keywords
data
overflow
record
file
item
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
JP2311300A
Other languages
English (en)
Inventor
Toshiro Matsui
敏郎 松井
Yasushi Tamayama
玉山 恭
Nobuhiro Kurashiki
倉敷 信宏
Yoshitomo Tahira
田平 良知
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 Information Systems Ltd
Original Assignee
Hitachi Information Systems 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 Information Systems Ltd filed Critical Hitachi Information Systems Ltd
Priority to JP2311300A priority Critical patent/JPH04182749A/ja
Publication of JPH04182749A publication Critical patent/JPH04182749A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、関係型データベースのデータ格納方式に係り
、特に、可変長データを短いアクセスタイムで効率よく
読み書きできる関係型データベースのデータ格納方式に
関する。
[従来の技術] 一般に、データベース管理システム(以下LtDBMS
’”と略記する)は、整数、実数9日時2文字列等の多
様なデータ型のデータをデータベース(以下rt D 
B uと略記する)に格納して管理する。
さらに近年は1文書9図形9画像、音声等の膨大なデー
タも格納するようになっており、最大可変長データの格
納が重要になって来ている。
第3図は、従来のDBにおける可変長データを格納する
レコードの構造例を表わす図である。レコードは、該レ
コードの格納部301、及び各項目の格納領域302か
ら構成されている。また、前記各項目の格納領域302
は、該項目の格納部303、及びデータ格納領域304
から構成されている。なお、La、・・・・・+L+1
は項目a、・・・・・・nの格納部、Lはレコード長で
ある。
第4図は、従来のDBMSのシステム構成例を表わす図
である。まず、アプリケーションプログラム400から
、コマンドがDBMS401に渡される。次に、D B
M S 401内の処理制御部402が、渡されたコマ
ンドに応じて定義処理部403、又はデータ処理部40
4を選択し、処理を依頼する。
定義処理部403では、定義制御部405がコマンドに
応じて表生成部406等を選択して、処理を依頼する。
表生成部406は、DB4L5内の項目定義情報ファイ
ル416に定義情報を格納する。
データ処理部404では、データ処理制御部407がコ
マンドに応じて検索処理部408、格納処理部410、
変更処理部412、又は削除処理部413を選択して、
処理を依頼する。検索処理部408には、DB415内
のデータファイル(例えばデータファイルA417)の
レコードを検索後、前記検索されたレコードから項目値
を取り出す項目値検索部409等がある。格納処理部4
10には、DB415内のデータファイル(例えばデー
タファイルA417)のレコードに項目値を格納する項
目値格納部411等がある。削除処理部413には、D
B415内のデータファイル(例えばデータファイルA
417)のレコードから項目値を削除する項目値削除部
414等がある。
通常、データファイルを格納するディスク装置に対する
入力/出力回数(I10回数)を減少させ、処理効率を
向上させるために、いくつかの可変長のレコードを1つ
の固定長のブロック(−回のアクセスで読み書きできる
単位)にまとめて、ブロック単位でIloを行っている
。したがって、項目はレコードに、レコードはブロック
に、納まらなければならないという制限が生じる。しか
し、ブロック長より長い可変長データを1つの項目に格
納したい場合がある。そのためのデータ格納方法が求め
られている6           、−5可変長デー
タの格納方式として1例えば特開昭63−86025号
公報に記載されている方式がある。この方式は、関係表
すなわち関係型データファイルに項目の1つとしてポイ
ンタ格納項目を設け、この項目の各欄(各セル)毎に1
文書データまたは画像データが格納されている別々の外
部ファイルを特定する外部ファイルポインタを格納する
ものである。
また、不定長のデータの格納方式として、例えば特開昭
62−243033号公報に記載されている方式がある
。この方式では、データの格納領域を第1のデータ格納
領域(主メモリ)及び第2のデータ格納領域(従メモリ
)により構成し、不定長のデータを所定長(固定長)分
と余り分に分ける。そして、第1のデータ格納領域に、
所定長分のデータを格納すると共に、該所定長分に対応
する余り分データの格納される第2のデータ格納領域の
アドレスデータを格納し、第2のデータ格納領域には、
この対応する余り分データの数及び余り分データを格納
する。
[発明が解決しようとする課題] 上記第3図のデータ構造により、いくつかの可変長レコ
ードをまとめて固定長ブロックとして格納する従来方式
(第1従来技術)では、以下の問題点があった。まず、
稀に発生する非常に長いデータを有する項目を含むレコ
ードを収容できるようにするために、所定(固定)ブロ
ック長を非常に長く取っておくと、記憶容量の限られた
ブロック読み込みバッファに格納することができるブロ
ック数が少なくなってしまうので、ファイルとの間のブ
ロックI10回数が増加し、処理性能が劣化するという
問題があった。また、逆に、所定ブロック長を短くして
おいてブロン91フ0回数の増加を防ぐようにすると、
稀に発生する非常に長いデータを1つの項目のデータ格
納領域内に格納することができないという問題があった
上記特開昭63−86025号公報の従来方式(第2従
来技術)では、データ本体(文書データまたは画像デー
タ)を外部ファイルに格納することにより、データファ
イル(関係表)中には前記外部ファイルへの短いポイン
タのみを格納するだけでよいので、ブロック長を長くし
なくても非常に長いデータに対応することができる。し
かし、この方式では、データ長が短くてデータファイル
のセル(ます目)内に納まる場合であってもデータ本体
をことごとく外部ファイルに格納しているため、常に、
この外部ファイルへのオープン/リード/ライト/クロ
ーズが発生し、大きなオーバヘッドを要するという問題
があった。
また、上記特開昭62−243033号公報の従来方式
(第3従来技術)では、DBへの適用について言及され
ていないが、これをDBに適用しようとすると以下の問
題が生じる。まず、データファイルに格納する固定要分
データのデータ長は性能に大きく影響するが、このデー
タ長をいつ誰が如何なる長さに決定するかについて、具
体的には何も考慮されていない。また、残りの可変要分
データの追加、更新(特に、拡張、縮小)、または削除
を行う際に、これらの処理を効率的に行わせるための領
域管理手段について何も配慮されていないという問題が
あった。
したがって、本発明の目的は、上記第1従来技術の問題
点を解消し、所定ブロック長を増加することなしに、長
大データの格納を実現する関係型データベースのデータ
格納方式を提供することにある。
本発明の他の目的は、上記第2従来技術の問題点を解消
し、可変長データが短い多くの場合に、オーバヘッドを
増大することなくデータの格納ができると共に、稀に発
生するブロック長の非常に長いデータ(長大データ)も
格納することが実現されるようにする関係型データベー
スのデータ格納方式を提供することにある。
本発明のさらに他の目的は、上記第3従来技術の問題点
を解消し、ごく稀に発生する長大データの格納は考慮さ
れていない通常のDBMSと同規模のDBMSを用いて
(これまでのDBMSの規模を大幅に増加しないで)、
オーバヘッドを増大することなく長大データの格納を実
現することのできる効果的な領域管理手段をもった関係
型データベースのデータ格納方式を提供することにある
[課題を解決するための手段] 上記目的を達成するため1本発明の関係型データベース
のデータ格納方式では、データベースは可変長データの
少なくとも一部をレコード単位で格納するデータファイ
ル及びあふれデータをレコード単位で格納するあふれフ
ァイルを有している。
そして、このあふれファイルのデータ構造は、データフ
ァイルのデータ構造と物理的に同一のデータ構造とされ
ている。すなわち、このデータファイルのレコードは、
前記可変長データの少なくとも一部(所定要分)のほか
に(データ長が所定長を越えるため)、あふれファイル
の利用が予め設定された項目について、対応するあふれ
データの格納されるあふれファイルのレコードを指示す
るレコード指示情報(ポインタ情報)を格納し、あふれ
ファイルのレコードは、当該あふれファイルレコードで
更にあふれたデータがあるとき、前記対応するあふれデ
ータのほかに、前記更にあふれたデータの格納される前
記あふれファイル内の他のレコードを指示する他のレコ
ード指示情報(他のポインタ情報)を格納するように構
成する。
データ長が所定長を越えたときの、前記あふれファイル
の利用の設定は、ユーザ入力装置からの指示により行わ
れるように構成する。
また、このあふれファイルの利用の設定は、1レコード
における項目長の合計が最大レコード長を越えるデータ
ファイルに対し、データベース管理システムが持つ優先
度によって行われるように構成する(第6図参照)。
[作用] 上記構成に基づく作用を説明する。
格納すべき可変長データがデータファイル内に格納しき
れない場合、格納しきれなかったデータ(あふれデータ
)があふれファイル内のレコードに格納される。また、
データファイル内の当該項目には、前記可変長データの
一部(所定要分)と、前記あふれファイル内の当該レコ
ードのレコード指示情報(レコード識別情報)とが格納
される。
前記あふれファイル内のレコード(すなわち、先頭レコ
ード)に格納しきれないとき(更にあふれたとき)には
、更にあふれた分のデータをあふれファイル内の2番目
のレコードに格納し、あふれファイル内の先頭レコード
には、あふれデータの一部(所定要分)と、前記2番目
のレコードに対するレコード指示情報とが格納される。
以下同様にして、データファイル内のレコード、あふれ
ファイル内の先頭レコード、同じく2番目のレコード、
・・・・・・を繋ぐレコードチエインが構成される。
データファイル内の他のレコードについても、同様にレ
コードチエインが作成される。
このようにして、たまに、極く長大なデータ長を有する
データが混在する可変長データをデータベースに格納す
る場合でも、データファイル及びあふれファイル中の各
レコードに格納されるレコード指示情報は十分に短く、
しかも、これら両ファイルのレコード中に残されるデー
タの一部は、十分に短く調整されて、それにより各レコ
ード長が短くされてそれらレコード列で構成されるブロ
ック長を所定ブロック長に収まるようにすることができ
るので、ブロック長を増加することなしに、長大データ
の格納を実現することができる。
また、格納する可変長データが短くて該可変長データを
データファイル内に格納しきれる多くの場合には、あふ
れファイルを使用しないで、前記可変長データの全デー
タをデータファイルに格納する。これにより、格納する
可変長データが短くてデータファイル内に格納しきれる
多くの場合には、あふれファイルへのオープン/リード
/ライト/クローズが発生することはない。
[実施例コ 以下に、本発明の実施例を図面によって説明する。
第1図は、本発明の一実施例によるDBMSの構成例を
表わす図である。第2図(a)〜(c)は1本実施例に
よる可変長データのDBへの格納構造図である。
第1図において、第4図と同一名称の要素には同一符号
を付して説明を省略するが、本実施例では、DB415
内にあふれファイル105を設けると共に、DBMSに
おいて、定義処理部403内の表生成部406に、あふ
れファイル105に関する処理を行うために、内部的に
あふれオプション205(第2図(a))の設定を行う
あふれオプション設定部101を加え、更に、データ処
理部404内の項目値検索部1o6(従来の項目値検索
部409に若干の処理が追加される)にあふれファイル
105への検索処理を行うあふれ項目検索部102を加
え、データ処理部404内の項目値格納部107(従来
の項目値格納部411に若干の処理が追加される)にあ
ふれファイル105へのデータの格納を行うあふれ項目
格納部103を加え、データ処理部404内の項目値削
除部108(従来の項目値削除処理部414に若干の処
理が追加される)にあふれファイル105の削除を行う
あふれ項目削除部104を加える。本実施例では、この
あふれファイル105のデータ構造を、DBMS401
で管理されているデータファイルA417゜B、C,・
・・・・・等と物理的に同一のデータ構造にすることを
特徴としている。
第2図(a)は、第1図のDB415に格納される項目
定義情報ファイル416の一例の格納構造図である。項
目定義情報ファイル416には、ファイルAの定義情報
だけでなく、全てのデータファイルA、B、C,・・・
・・・及びあふれファイルの項目の定義情報が格納され
ている。項目定義情報ファイル416は、項目名列20
2、データ型列203、及び定義項目長月204に加え
て、あふれオプション列205及びこれらの項目の所属
するファイルを特定する所属ファイル名列201から構
成されている。(従来の第2図(b)に示すように)一
般のデータファイルA、B、C,・・・・・・は、1つ
のデ−タレコードを単位として読み書きの処理を行うが
、第2図(a)の項目定義情報ファイル416自体も「
所属ファイル名」、「項目名」、「データ型」、「定義
項目長」、「あふれオプション」という5個の項目から
構成されている一種のデータファイルとして扱うことが
できる。従って、1つのデータレコードを単位として読
み書きを行う一般のデータファイルと同様に、項目定義
情報ファイルも読み書き処理はレコード単位で行われる
この場合のレコード単位は、206,207.・・・・
・・等であり、例えば、データファイルAは項目aない
しnから成っており、項目〇についての定義情報はレコ
ード206に格納されており、あふれファイル105の
項目0についての定義情報はレコード207に格納され
ている。
第2図(b)は、第1図のDB415に格納されるデー
タファイル、例えば1つのデータファイルA417を構
成しているデータレコード群中の1データレコードを示
している。第2図(b)のデータレコードは、レコード
長301と、各項目の格納領域302とから構成されて
おり、各項目の格納領域302は、項目a−nの各項目
毎に、項目長303と、項目値格納領域208とから構
成されている。各項目値の格納領域208は、格納され
るデータ量によって、以下の3つの形態がある。
1つは項目iに該当するデータが存在しない場合で、デ
ータファイルのレコード内に項目iの格納領域自体が存
在しない。2つは、あふれファイルを使用する項目とな
っていても、データファイルのレコードだけで全データ
が格納しきれる場合で、データファイルのレコード項目
iの項目値格納領域に項目iのデータを格納し、データ
ファイルのレコードの項目iのレコードポインタには0
を入らない)。3つは、データファイルのレコードだけ
では全データが格納しきれない場合で、第2図(b) 
、 (C)にこの場合が示される。例えば、項目nの場
合のように、当該項目があふれファイル105を使用す
る場合には、項目値格納領域208は、あふれファイル
105のレコードへのレコードポインタを格納する領域
209と、データ格納領域(データ本体の格納領域)3
o4とから構成される。また、例えば項目aのように、
当該項目があふれファイル105を使用しないデータフ
ァイルの項目である場合には、項目値格納領域208は
、データ格納領域(データ本体格納領域)3o4のみが
ら構成される。
第2図(c)は、第1図のDB415に格納されるあふ
れファイル105のレコードの一部(第2図(b)の1
データレコードにチエインされるあふれレコード部分)
のデータ構造を示している。本実施例の特徴として、各
データファイルA、B。
C4・・・・・・から発生するあふれデータは、あふれ
データ専用のあふれファイルにまとめて格納される。
また、あふれファイル105のデータ構造は、データフ
ァイルA417.・・・・・・等のデータ構造と基本的
に同一とされる。但し、結果的には、当該項目があふれ
内項口0である場合には、いずれの項目値格納領域も、
レコードポインタを格納する領域とデータ格納領域とか
ら構成される。例えば第2図(c)のあふれファイル1
05のレコードの1つは、レコード長(ML)30La
と項目格納領域(項目○)302aとから成り、項目格
納領域(0)3o2aは、項目長(ml)303aと項
目値格納領域208 aとから成り、当該項目(0)が
更に当該あふれファイル105内の他のあふれレコード
を使用する場合には、項目値格納領域208aは、他の
あふれレコードのポインタ(r□)を格納する領域20
9aとデータ格納領域304aとから構成され、当該項
目(0)がもはや更に他のレコードを使用(参照)しな
い場合には、その項目値格納領域のレコードポインタに
は0が格納される。以下同様にして、データファイルA
417の1レコードと同様なデータ構造を有するあふれ
レコードが、ポインタro、rl、r2.・・・・・・
によって連結される。
第5図は1本発明の実施例による定義部分の一部の処理
で使用するデータ構造例を示す。同図で、501は項目
定義情報配列で、この項目定義情報配列501は、項目
名配列N (n)202 (nは定義する項目数)と、
データ型配列T(n)203と、定義項目長配列L(n
)204と、あふれオプション配列0 (n)205と
から構成されている。あふれオプション0(n)205
の設定は、他の項目の定義情報(例えば項目名N (n
)と同じ時に操作者により行われる。
第6図は、オプション設定部で行う定義部分の一部の処
理を示すフロー図、特に、あふれオプションが未だ明示
的に11 Q N IIにされていない場合に、必要に
応じて定義項目長が最大である項目のうち、新しく定義
された項目から順次自動的にあふれオプションを○N 
+1にして行く処理をフロー図で示したものである。
まず、第6図で用いている用語について説明する。
1′最大レコード長″:データファイルの1レコードの
物理的な最大炎(処理システムで予め定められている)
からレコード長格納領域長を引いた値である。
″最大可能レコード長Sパ二項目定義(定義項目長)ま
たはあふれファイル使用項目の最低確保長(処理システ
ムで固定の値であり、変更されない)から求められる1
レコードを格納するのに要するサイズである。但し、レ
コード長格納領域長は含まない。
d・最大項目長M″′二項目定義長のうち、最大の項目
長であ、る。ここで、「無制限」は数学で通常用いる「
ω」とほぼ同等であるが、「無制限」同士は比較可能(
同一とする)である。
゛あふれファイル使用項目の最低確保長no Q ”(
ミニマム・オーバフロー・レングス):あふれファイル
使用項目(あふれファイルを使用して緑)る項目、すな
わち、あふれオプションがONになっている項目)のデ
ータレコードのうちの項目値格納領域長をいう。データ
量があふれファイル使用項目の最低確保長以下の場合(
データファイルのレコードで全データが格納しきれる場
合、すなわち、前記2つ目の形態の場合)、あふれファ
イルを使用することはない。
″変数j″:自動的にあふれオプションを′ON II
にする項目の定義情報が格納されている項目定義情報配
列501の要素番号を表わす。ステップ605の段階で
は、まだ候補の段階のものである。
次に、第6図により、定義の一部の処理の動作を説明す
る。表生成部406は、今回定義するデータファイルに
ついて、定義する項目数n、及び。
第5図で表わされるような項目定義情報配列501をあ
ふれオプション設定部101に渡す。あふれオプション
設定部101は、以下の定義の処理をする。
ステップ601: まず、最大可能レコード長SをOで、最大項目長Mをあ
ふれファイル105使用項目の最低確保長ll0Qで、
カウンタ値i(要素番号)を1で、変数jをOで、それ
ぞれ初期化する。
ステップ602: 次に、項目定義情報配列50′1の第1番目の要素のあ
ふれオプション○(i)がIt Q N PIならステ
ップ606に進み、/l ON IIでないならステッ
プ603に進む。
ステップ603: 最大可能レコード長Sをり、 (i )分(正確にはL
(i)+Lc1分)増加してs+r、(i)十項目長格
納領域長I、 dとする。
ステップ604: 項目定義情報配列501の第i要素の項目定義長L (
i)とそれまでの定義項目長の最大値Mとの比較を行う
。この定義項目長L (i)が最大の場合はステップ6
05に進み、そうでない場合はそのままステップ607
に進む。
ステップ605: このステップに処理が移るのは当該定義項目長L (i
)が最大の場合であり、この場合、あふれオプションを
自動的に“ON PIにする項目の候補の項目定義情報
配列の要素番号iを変数jに保存し、定義項目長の最大
値Mに1、(i)を設定する。
ステップ606: ステップ602であふれオプションが”ON”の項目で
は、データレコードに、最大で「あふれファイル使用項
目の最低確保長moQ分−レコードポインタ格納長」の
データしか格納されない。そこで、本ステップでは、最
大可能レコード長Sを更新して、Sにあふれファイル使
用項目の最低確保長l mo Q分を加算したものを入
れる(厳密には、これに項目値格納領域長Ldも加わる
)。
ステップ607.608: 次に、全定義項目についての処理が終了したか判定し、
終了していないときは、ステップ608で要素番号iを
1増加してステップ602に戻る。
全定義項目についての処理が終了したときはステップ6
09に進む。
ステップ609: 最大可能レコード長S(データ量)がデータレコード内
に収まりきるかどうかの判定を行う。収まりきるとき(
Sが最大レコード長を越えないとき)は1本処理を終了
する。
ステップ611ニ ステップ609で、データレコード内に収まりきらない
ときは、本ステップの処理を行う6本ステップで、変数
jがO(初期値のまま)とは、あふれオプションを自動
的に11 Q N I+にする新たな項目の候補がない
ことを表わす。
ステップ612: 本ステップで、新たにあふれオプションを自動的にl(
ON TTにする項目の候補のあふれオプション○(j
)をON”にし、再度あふれオプション設定部101 
Cコよる設定を行って、本処理を終了する。
ステップ613: 本ステップは、データレコードに収まりきらず、かつ新
たにあふれオプションを′○N”にする項目の候補がな
い場合であり、jが初期値のままであるため定義長が長
すぎて格納しきれないと判断し、エラーコードをセット
して本処理を終了する。
本処理によって、項目長の合計が最大レコード長の制限
を越える場合について、明示的にあふれファイル105
を使用する指定がされていなくても、与えられた定義項
目長の合計が最大レコード長を越える場合、自動的にあ
ふれオプションを“ON”にして行くことにより、あふ
れファイル105を使用するようにできる。ここで、自
動的にあふれオプションを“ON”にしていく順序を「
優先度」という。第6図では、定義項目長が最大である
項目のうち、新しく定義された項目から順次“ON”に
されて行く。
第7図は、項目値格納部107及びあふれ項目格納部1
03の処理手順の一例を示すフローチャートである。
項目値格納部107では、格納処理を行う項目(処理対
象項目)に全データを格納しきれるか否か判定する(ス
テップ701)。格納しきれないと判定された場合には
、あふれ項目格納部103に進み、格納しきれると判定
された場合には、ステップ702に進み、ここで、処理
対象項目のあふれオプションが“ON”であるか否か判
定して、処理対象項目のあふれオプションが○N 17
でない場合には、従来の項目格納部411のみによる処
理を行って、本処理を終了する。ステップ702で、処
理対象項目のあふれオプションが“ON”である場合に
は、処理対象項目のデータ格納領域304(第2図(b
))に位置付け(ステップ703)。
しかる後、従来の項目格納部411による処理を行って
、本処理を終了する。
あふれ項目格納部103では、まず、処理対象項目のレ
コードポインタ2o9(第2図(b))に。
あふれファイル105の未使用レコードポインタを設定
する(ステップ704)。次に、処理対象項目のデータ
格納領域304に、可能な限りデータを格納する(ステ
ップ705)。次に、あふれファイル105内の項目0
を新たに処理対象項目とする(ステップ706)。次に
、項目格納部107を再び使用して、ステップ705で
格納できなかった残りのデータを格納して(ステップ7
o7)、本処理を終了する。
第8図は、項目値検索部106及びあふれ項目検索部1
02の処理手順の一例を示すフローチャートである。
項目値検索部106では、検索処理を行う項目(処理対
象項目)のあふれオプションが110 N IIか否か
判定して(ステップ801)、処理対象項目のあふれオ
プションが” ON”でないならば、従来の項目値検索
処理部409による処理を行って、本処理を終了し、処
理対象項目のあふれオプションが“ON”であるならば
、あふれ項目検索部102による処理を行って、本処理
を終了する。
あふれ項目検索部102では、まず、処理対象項目のデ
ータ格納領域304(第2図(b))に位置付けて(ス
テップ802)、再び項目値検索部106を使用して処
理対象の項目のデータ格納領域304のデータを読み出
す(ステップ803)。次に、処理対象項目に格納され
ているレコードポインタが“0”か否か判定する(ステ
ップ804)。処理対象項目に格納されているレコード
ポインタがu O”ならば1本処理を終了する。ステッ
プ804で、処理対象項目に格納されているレコードポ
インタが“0”でないならば、あふれファイル105内
の項目0を新たに処理対象項目として(ステップ805
)、あふれ項目検索部102による処理を再び行って、
本処理を終了する。
第9図は、本発明の他の実施例による可変長データのD
Bへの格納構造図である。第9図(a)は項目定義情報
ファイル416、第9図(b)はデータファイルAのレ
コード、第9図(c)はあふれファイルのレコードをそ
れぞれ示している。
第2図の実施例では、あふれファイル105を使用する
各項目毎に、レコードポインタを格納する領域209を
設けている。こ九に対し、第9図の実施例では、各項目
に関するレコードポインタを、レコードに1つ存在する
レコードポインタ格納領域901にまとめ格納するよう
にしたものである。格納処理、読み呂し処理等、そのほ
かのデータ処理は、第2図のデータ構造を有する実施例
の場合と同様であり、容易に類推できると思われるので
、詳しい説明は省略する。
[発明の効果] 以上詳しく説明したように、本発明によれば、長大な可
変長データをデータベースに格納する場合に、データフ
ァイルにはこの可変長データの一部と、短くて済むあふ
れファイル内レコードのレコードポインタまたはあふれ
ファイル内レコードチエインの先頭レコードポインタを
格納し、あふれファイルには、データファイル中に格納
しきれなかった残りのデータを格納するようにしたので
、極めて長大なデータであっても、ブロック長を増大す
ることなく、この長大データの格納を実現することがで
きる。
また、データファイル内に格納しきれない長大なデータ
は稀にしか発生せず、通常の可変長データが短くてデー
タファイル内に格納しきれる場合には、あふれファイル
を使用しないので、あふれファイルに対するオープン/
クローズ及びIloが発生せず、上記第2従来技術の方
式に比べてオーバヘッドを少なくすることができる。こ
の場合、あふれファイルの使用を要するか否かの判断を
レコード単位で行い、レコード内のある項目が長大でも
レコード全体で所定長以内に収まれば、あふれファイル
は使用しないようにすることができる。
さらに、あふれファイルのデータ構造を、通常のデータ
ファイルのデータ構造と物理的に同一としであるので、
通常のデータファイルの各処理(既存のDBMSによる
処理)をあふれファイルの処理に流用することが可能と
なり、あふれファイル専用の処理を抑えることができ、
I’)EMSの規模を大幅に増加することなしに長大デ
ータの格納を実現することができる。
【図面の簡単な説明】
第1図は本発明の一実施例によるDBMSのシステム構
成の一例を示す図、第2図は本発明の一実施例による可
変長データのデータベースへの格納構造の一例を示す図
、第3図は従来のデータベースによる可変長データの格
納構造の一例を示す図、第4図は従来のDBMSのシス
テム構成の一例を示す図、第5図は本発明の一実施例に
よる定義部分の一部の処理で使用するデータ構造の一例
を示す図、第6図は本発明の一実施例による定義部分の
一部の処理を説明するためのフローチャート、第7図は
本発明の一実施例による項目値格納部の処理を示すフロ
ーチャート、第8図は本発明の−実施例による項目値検
索部の処理を示すフローチャート、第9図は本発明の他
の実施例による可変長データの格納構造の一例を示す図
である。 101・・・・・・あふれオプション設定部、102・
・・・・あふれ項目検索部、103・・・・・・あふれ
項目格納部、104・・・・・あふれ項目削除部、10
5・・・・・・あふれファイル、201・・・・・・所
属ファイル名、202・・・・項目名、203・・・・
・データ型、204・・・・・・定義項目長、205・
・・・・・あふれオプション、206.207・・・・
・・レコード、208・・・・・・項目値格納領域、3
01・・・・・レコード長、302・・・・・項目格納
領域、303・・・・・項目長、304・・・・・デー
タ格納領域、401・・・・・・DBMS、402・・
・・・・処理制御部、403・・・・・・定義処理部、
404・・・・・・データ処理部、405・・・・・・
定義制御部、406・・・・・・表生成部、407・・
・・・・データ処理制御部、408・・・・・・検索処
理部、410・・・・・格納処理部、412・・・・・
・変更処理部、413・・・・・・削除処理部、415
・・・・・・データベースDB、416・・・・・・項
目定義情報ファイル、417・・・・・・データファイ
ルA。 第5図 項目定義情報配列50/ −−JLJIJ 第7図 第8図

Claims (1)

  1. 【特許請求の範囲】 1、データベースは可変長データの少なくとも一部をレ
    コード単位で格納するデータファイル及びあふれデータ
    をレコード単位で格納するあふれファイルを有し、デー
    タファイルのレコードは前記可変長データの少なくとも
    一部のほかに、あふれファイルの利用が予め設定された
    項目について、あふれデータの格納されるあふれファイ
    ルのレコードを指示するレコード指示情報を格納し、あ
    ふれファイルのレコードは、当該あふれファイルレコー
    ドで更にあふれたデータがあるとき、前記あふれデータ
    の一部のほかに、前記更にあふれたデータの格納される
    前記あふれファイル内の他のレコードを指示する他のレ
    コード指示情報を格納するように構成したことを特徴と
    する関係型データベースのデータ格納方式。 2、前記あふれファイルの利用の設定は、ユーザ入力装
    置からの指示により行われるように構成したことを特徴
    とする請求項1記載の関係型データベースのデータ格納
    方式。 3、前記あふれファイルの利用の設定は、1レコードに
    おける項目長の合計が最大レコード長を越えるデータフ
    ァイルに対し、データベース管理システムが持つ優先度
    によつて行われるように構成したことを特徴とする請求
    項1記載の関係型データベースのデータ格納方式。
JP2311300A 1990-11-19 1990-11-19 関係型データベースのデータ格納方式 Pending JPH04182749A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2311300A JPH04182749A (ja) 1990-11-19 1990-11-19 関係型データベースのデータ格納方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2311300A JPH04182749A (ja) 1990-11-19 1990-11-19 関係型データベースのデータ格納方式

Publications (1)

Publication Number Publication Date
JPH04182749A true JPH04182749A (ja) 1992-06-30

Family

ID=18015476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2311300A Pending JPH04182749A (ja) 1990-11-19 1990-11-19 関係型データベースのデータ格納方式

Country Status (1)

Country Link
JP (1) JPH04182749A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334146A (ja) * 1992-05-29 1993-12-17 Oki Electric Ind Co Ltd データベース管理システム
JPH06309201A (ja) * 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> レコ―ド格納・アクセス法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334146A (ja) * 1992-05-29 1993-12-17 Oki Electric Ind Co Ltd データベース管理システム
JPH06309201A (ja) * 1993-04-26 1994-11-04 Nippon Telegr & Teleph Corp <Ntt> レコ―ド格納・アクセス法

Similar Documents

Publication Publication Date Title
US6216203B1 (en) Data processing method using record division storing scheme and apparatus therefor
JPH0916607A (ja) データベース管理システムにおけるインデクス管理方法
US20080162591A1 (en) Method of Logging Transactions and a Method of Reversing a Transaction
CN109325022A (zh) 一种数据处理方法和装置
US11914740B2 (en) Data generalization apparatus, data generalization method, and program
JPH04182749A (ja) 関係型データベースのデータ格納方式
JPS59220853A (ja) デイスクキヤツシユシステム
JP2001331353A (ja) データベースへのデータ入力システム及びそのプログラムを記憶した記録媒体
US11914587B2 (en) Systems and methods for key-based indexing in storage devices
JPH0239225A (ja) ファイルシステム
JP2923952B2 (ja) マージ処理方法
JPH0456344B2 (ja)
JPS6058492B2 (ja) デ−タベ−ス検索方式
JP2604787B2 (ja) 二次元データ格納方式
JP2658097B2 (ja) 二次ファイル作成方式
JPH04151734A (ja) データ保存方式
JPS63285631A (ja) 索引ファイル更新処理方式
JP2001155028A (ja) リレーショナルデータベースにおける集約演算処理方法、その装置及び集約演算処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH05204735A (ja) データ管理方式
JPH02208751A (ja) データ保存方式
JPH06348572A (ja) マルチ機構ディスクシステム
JPS6035692B2 (ja) バッファ管理方式
JPH04140882A (ja) 内容検索装置
JPH04256139A (ja) データベースの管理方式
JPH07281931A (ja) 中間データ格納方法