JP3183736B2 - データベース論理データ構造の動的変更方式 - Google Patents

データベース論理データ構造の動的変更方式

Info

Publication number
JP3183736B2
JP3183736B2 JP34840492A JP34840492A JP3183736B2 JP 3183736 B2 JP3183736 B2 JP 3183736B2 JP 34840492 A JP34840492 A JP 34840492A JP 34840492 A JP34840492 A JP 34840492A JP 3183736 B2 JP3183736 B2 JP 3183736B2
Authority
JP
Japan
Prior art keywords
record
database
data
stored
set information
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
Application number
JP34840492A
Other languages
English (en)
Other versions
JPH06202919A (ja
Inventor
敏治 巽
久幸 圓佛
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP34840492A priority Critical patent/JP3183736B2/ja
Publication of JPH06202919A publication Critical patent/JPH06202919A/ja
Priority to US08/644,121 priority patent/US5666527A/en
Application granted granted Critical
Publication of JP3183736B2 publication Critical patent/JP3183736B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータベース論理データ
構造の動的変更方式に関する。近年,各種の業務におい
てデータベースの利用が進められ,大量のデータをオン
ラインで更新,管理するシステムが広く利用されてい
る。このような業務の中には,例えば,銀行業務におけ
る膨大な顧客の口座のデータベースや,各種企業の人事
管理のデータベース,製造業における部品や製品の在庫
管理等のデータベース,販売等のサービス業における商
品の販売在庫管理のデータベース等がある。
【0002】このようなデータベースには,レコードの
関係がネットワーク構造(階層構造または木構造等を含
む)により他のレコード(子レコード)と関係付けられ
る構造を持つものがあり,このようなデータベースをネ
ットワーク型のデータベースと称され,上記の各種のデ
ータベースに広く採用されている。このようなネットワ
ーク型のデータベースにおいて,各親レコードに対して
関係のある子レコードを表すためのデータは固定の領域
で管理していたため,新たに子レコードを追加(拡大)
する場合には,多大な処理時間を要していたため,その
改善が望まれている。
【0003】
【従来の技術】図17は従来のネットワーク型のデータ
ベースにおける構造変更の例である。図17のは,元
のデータベースの論理データ構造の定義を示す。このデ
ータベースの場合,データベースモデル型としてネット
ワーク型に相当し,レコードとして親レコードと子レコ
ードの2種類あり,レコード間で親子集合を構成し,親
・子間は任意のレコード間に定義することができる。こ
のの論理データ構造は,ネットワーク型のデータベー
スとして親(オーナ)のレコードタイプAに対して子
(メンバ)のレコードタイプBとレコードタイプCが親
子関係を持って結合するよう定義されている(トリー構
造に類似する)。このようなデータベースは, 物理的に
は,例えばDASD(Direct Access Storage Device:
磁気ディスク装置等) 等の記憶装置に格納され,に示
す論理データ構造の定義を持つデータベースは図17の
イに示すような物理的な構造により格納される。
【0004】イの場合,定義されたレコードタイプAに
属する各レコード(データa1を含むレコード,データ
a2を含むレコード・・・)が設けられ,これらの各レ
コードには,それぞれのレコードタイプB及びCに属す
る各レコードの所在を表すセットポインタ(ハッチング
で表す)が格納されている。
【0005】図17のイの例では,データa1を含むレ
コード(これをレコードa1という,他のa2等も同
じ)の前部に子レコードb1のセットポインタ(αで表
示)と子レコードc1のセットポインタ(βで表示)が
制御データとして付加されている。なお,これらのα,
βを合わせてセット情報と言い,各セットポインタα,
βをそれぞれαセット,βセットという。ここで,レコ
ードタイプAのレコードa1に含まれるセット情報
(α,β)は固定長で管理され,レコードa2,a3・
・・も全て同じである。また,各レコードb1,c1に
もそれぞれ制御データ(ハッチングで表す)が付加され
ている。
【0006】図17のに示す論理データ構造に対し
て,新たにレコードタイプDを付加するという論理デー
タ構造の変更(または拡大)を行う場合,従来の処理方
法を次に説明する。
【0007】従来はに示すように論理データ構造とし
てDレコードタイプを追加定義し,に示すような論理
データ構造に変更する。このような論理データ構造を定
義した上で,物理的なデータベースの構造を変更する作
業を行う。この場合,各親レコードの制御データとして
備えるセット情報(セットポインタ)は固定長で管理さ
れているため,現在のデータベースの領域を変更せずに
拡張することができない。
【0008】そのため,図17の右側に示すように,イ
に示すDASD等の記憶装置に格納されたデータベース
の全レコードをバックアップし,ホに示すような退避媒
体(磁気テープ等)に格納する。次に,ハに示すように
論理データ構造の変更を行う(論理データ構造をに示
すように定義する)。次にニに示すように,全レコード
をDASD等の記憶装置に再格納するが,この時Dレコ
ード情報(Γセット情報)を付加する処理が行われる。
【0009】この結果,ヘに示すようにデータa1に対
してレコードタイプDに属するデータd1の格納位置が
設けられ,その領域を指示するセット情報としてポイン
タΓ(Γセット)がレコードa1の制御データに付加さ
れ,データベースの再編成処理が行われる。この処理
は,イに示すデータベースに含まれる全てのレコードa
1,a2,a3・・・に対して同様に実行される。な
お,このように全レコードをバックアップして,再格納
(Γセットの付加)を行うのは,レコードポインタα,
β等が固定長であるため,新たなレコードタイプ(D)
を既存の親のレコードタイプ(A)に付加するにはレコ
ードポインタ(Γ)を格納するための領域を拡大させる
必要があり,一つのレコードのレコードポインタの領域
が拡大すると,後続の全てのレコード(a2,a3・・
・)の格納位置に影響が及ぶため,全レコードについて
再編成処理を行う必要があるからである。
【0010】
【発明が解決しようとする課題】上記したように従来の
ネットワーク型のデータベースの論理構造の変更(拡
大)を行う場合,図17に示すように全レコードをバッ
クアップして,全レコードを再格納し,その時,各親レ
コードについてレコードタイプDのセット情報(Γセッ
ト)が付加される。
【0011】ところが,このような処理を実行する場
合,データベースが備える親レコードの量が膨大なシス
テムの場合には,退避媒体として必要な数量が膨大とな
り,更に処理時間が長くなるという問題がある。
【0012】例えば,銀行の顧客の口座を管理するため
のデータベースの場合,図17のに示すレコードタイ
プAを顧客の名前,レコードタイプBを普通預金口座,
レコードタイプCを定期預金口座とした時,物理的なデ
ータベースの容量は,顧客の人数,銀行の規模が大きい
と例えば数百万人分の顧客について,図17のイに示す
レコードが格納されることになる。このようなデータベ
ースにおいて,新たな種類の預金を提供するため,論理
データ構造を図17のに示すように変更した場合,上
記に示す方法によりデータベースの再編成処理を行う
と,退避媒体として多量の磁気テープが必要となり,固
定長のセット情報の変更の処理に時間がかかり,小さい
規模で数時間を要し,大規模な銀行等のデータベースの
場合は数日間要する。
【0013】このため,データベースの論理データ構造
を変更するために長時間の業務停止が必要であり,銀行
業務等のオンラインで利用するデータベースの場合,変
更が可能な時期(連休期間等)が限定されるという問題
があった。同様なことは,銀行関係だけでなく,規模の
大きな人事管理のデータベースや,在庫管理のデータベ
ース等,各種のデータベースにおいても発生する。
【0014】本発明はネットワーク型のデータベースの
論理データ構造を変更(拡大)するために業務を停止す
る時間を短くすることができるデータベース論理データ
構造の動的変更方式を提供することを目的とする。
【0015】
【課題を解決するための手段】図1は本発明の原理構成
図である。図1において,1はメモリを含むデータベー
ス処理装置,2は論理データ構造の定義変更部,2aは
論理データ構造定義データ保持部,3はレコード格納処
理部,3aはレコード格納手段,3bは接続対象セット
情報識別手段,3cはセット情報領域拡張手段,3dは
セット情報設定手段,4はレコード更新処理部,5はレ
コード検索処理部,6は物理的にレコードを格納したデ
ータベース記憶装置である。
【0016】本発明はデータベースの各レコードが保持
しているネットワークデータベースにおける親子関係を
結びつけるためのセット情報を動的に管理することによ
り,論理データ構造の変更(拡大)が発生してもその後
に変更されたセットタイプに対する個別のレコードの格
納(削除)要求等が発生するまでは物理的なデータベー
スの改変を行わず,要求が発生すると該当するレコード
のセット情報を可変長管理により追加するものである。
【0017】
【作用】新たなレコードタイプを追加するために論理デ
ータ構造変更の要求が発生すると,論理データ構造の定
義変更部2は論理データ構造定義データ保持部2aに変
更された論理データ構造定義データを設定する。
【0018】論理データ構造変更によりレコードタイプ
が新たに追加(拡大)された場合について以下説明する
と,レコード格納処理部3は,論理データ構造の定義変
更部2により定義データが変更されても駆動されず,実
際に変更により追加されたレコードタイプのレコードを
格納する要求が発生した時点で初めて動作する。追加さ
れたレコードタイプに対応するレコードを格納する要求
が発生すると,レコード格納処理部3においてレコード
格納手段3aによりそのレコードをデータベース記憶装
置6に格納すると共に,接続対象セット情報識別手段3
bが,接続対象(特定の親レコード)のセット情報をデ
ータベース記憶装置6に格納された内容に基づいて識別
する。
【0019】ここで,例を用いて説明すると,図1のデ
ータベース記憶装置6の内部に示すように,論理データ
構造が親のレコードタイプAに対し子のレコードタイプ
B,Cが接続される構造に対応して,物理的なレコード
(親レコード)a1 に対して子レコードb1 ,c1 が格
納され,セット情報として各レコードb1 ,c1 のポイ
ンタを含むαセットとβセットがレコードa1 に付加さ
れているものとする。この状態で,論理データ構造定義
が変更され,新たなレコードタイプDが追加された後,
親レコードa1 に対してレコードタイプDに対応する子
レコードd1 を格納する要求が発生した場合,レコード
格納手段3aによりデータベース記憶装置6に子レコー
ドd1 が格納される。
【0020】次に,接続対象セット情報識別手段3b
が,接続対象親レコードa1 のセット情報α,βを識別
して,レコードタイプDに対応するセット情報が含まれ
てないことが分かると,セット情報領域拡張手段3cが
新たなセット情報(子レコードd1 のポインタ部)を格
納できるよう領域を拡大する。この場合,セット情報は
可変長で管理する構造とし,元の領域では足りない場合
にはレコードを分裂する。この後,セット情報設定手段
3dが拡張されたセット情報の領域に,追加された子レ
コードd1 のセット情報(γセット)を設定する。ま
た,レコードの格納要求が発生した時,接続対象セット
情報識別手段3bにより対応するセット情報の領域が設
けられている場合は,要求されたレコードを格納したポ
インタを該当領域に設定するだけで,セット情報の拡大
を行わない。
【0021】このようにレコード格納処理部3は,実際
のレコードを格納する必要が発生すると動的に論理構造
を変更(拡大)する処理を行い,追加されたレコードタ
イプのレコードを格納する要求が発生しないレコードに
対してセット情報の領域を拡大しないため,従来のよう
な全てのレコードを退避した上で各レコード(親レコー
ド)についてセット情報を付加する作業を一括して行う
必要がなくなる。
【0022】また,レコード更新処理部4はレコードの
データを更新する処理を行う。更にレコード検索処理部
5は指定されたレコードタイプのレコードを検索する処
理を行う。そして,レコード格納,レコード更新,レコ
ード削除の各処理において,各レコードのセット情報領
域の拡大が行われると,レコードの分裂(2つの領域に
分割して格納)や統合(2つの領域に分割したレコード
をまとめる)等の処理が実行される。
【0023】
【実施例】本発明によるデータベース論理データ構造拡
大の具体例を図2,図3により説明する。図2は論理デ
ータ構造の例を示し,(1) は変更前の論理構造,(2) は
変更後の論理構造である。すなわち,変更前はレコード
タイプAを親レコードとしてレコードタイプBを子レコ
ードとし,αセットによりレコードタイプBの格納位置
を指示する構造である。(2) の論理構造は,(1) の論理
構造に対してレコードタイプCをレコードタイプAに結
合(Connect)し, βセットによりレコードタイプCの格
納位置を指示する構造に変更するものである。
【0024】図3は論理データ構造の拡大におけるレコ
ードの格納処理の説明図である。図3において,左側の
欄は〜により各処理の順番を表し,次の欄は処理内
容,右側の欄はレコードタイプA(親レコード)のレコ
ードの内容を表す。
【0025】最初にの処理は,論理構造変更前の時点
でレコードタイプAのデータa1 ,a2 が格納される。
このデータa1 ,a2 の各レコード内容は,制御部とα
セットポインタ部(図1のセット情報と同義)及びデー
タ部とで構成される。このの処理が実行される時の論
理構造は,上記図2の(1) により定義されている。この
後,の処理においてプログラム命令を入力することに
より論理構造の変更が実行される。この論理構造の変更
により上記図2の (2)に示す構造に定義されている。こ
の時,レコードタイプAのレコード内容は変更されな
い。
【0026】次に論理構造変更後にレコードa1 に対応
するレコードタイプCのレコードが発生すると,に示
すようにそのレコードをレコードa1 にセットタイプβ
で結合して格納する処理が行われる。これにより,a1
のレコードの内容は,制御部,αセットポインタ部,β
セットポインタ部及びデータ部の構成になる。この時,
2 のレコードの内容は以前と同じである。
【0027】次に,新たにレコードa3 を格納する要求
が発生すると,に示すようにレコードタイプAのレコ
ードa3 (親レコード)を格納する処理が実行される。
この場合,レコードa3 は論理構造変更後に新たに発生
したので,上記図2の(2) に示す変更後の論理構造に従
って,レコードの内容は図に示すように制御部,αセッ
トポインタ部,βセットポインタ部及びデータ部とで構
成される。この場合,レコードa3 に対する子レコード
としてレコードタイプCのレコード(例えば,図示され
ないレコードc3)が存在しなくてもよい。この場合,
βセットポインタ部には,空き状態であることを表す
値,例えばオール0を格納する。
【0028】上記の図3に示すレコードの格納処理では
論理構造の変更により追加されたレコードタイプに対応
するレコードを既存の親レコードへ結合(Connect)する
ために,においてセットポインタの結合が行われる。
この時に実行される詳細の処理フローを次に説明する。
【0029】図4はセットポインタの結合(Connect)の
処理フローである。この処理は,レコード(親レコー
ド)の内容がデータベースから主記憶装置に設けられた
ページバッファ(後述する図5,図6に示す)に格納さ
れた状態で実行され,ポインタ部の拡張のために一時的
な作業領域として作業用バッファ(後述する図6に示
す)を使用するものとする。
【0030】処理が開始されると,ページバッファのレ
コードのセットポインタ部に,結合対象セットタイプの
ポインタ部の存在を調査し(図4のS1),調査結果と
して該当ポインタ部が存在するか否かを判断する(同S
2)。存在する場合は,ページバッファ内のレコードの
ポインタ部にセットポインタ(新たに格納したレコード
のポインタ)を設定する(同S3)。存在しない場合,
ページバッファに格納されたレコード(更新前)を,そ
のセットポインタ部を拡張しながら作業用バッファに転
送する(同S4)。作業用バッファ内のレコードに新た
に結合するレコードのセットポインタを設定し(同S
5),ページバッファに格納されている更新前レコード
を削除して更新後のレコードを格納する(同S6)。
【0031】図5,図6は上記図4のセットポインタの
結合の処理の具体例である。図5は結合対象セットポイ
ンタのポインタ部が存在する場合の処理の具体例であ
り,図6は結合対象セットポインタのポインタ部が存在
しない場合の処理の具体例である。
【0032】図5において,イ.は変更後の論理構造,
ロ.は更新前のレコードを格納したページバッファの内
容,ハ.は更新後のレコードを格納したページバッファ
の内容を示す。論理構造はイ.に示すように変更される
前は,レコードタイプAにレコードタイプBが結合して
いたのが,変更により新たにレコードタイプCとレコー
ドタイプDがレコードタイプAへ結合する構造になっ
た。この場合,ロ.に示すように更新前のページバッフ
ァには,a1 レコード,a2 レコード・・・のそれぞれ
にレコードタイプBのレコードと結合するためのαセッ
トポインタ部が格納されているだけである。
【0033】このロ.のa1 レコードにαセットを結合
する場合(更新前のαセットポインタ部には実質的なデ
ータが格納されていない),a1 レコードのαセットポ
インタ部に実際のポインタ値(レコードタイプBのレコ
ード,例えばb1 を格納したポインタ値)を設定して,
更新が実行される。更新後のページバッファの内容を
ハ.に示す。このように,論理構造が変更されていて
も,更新により追加されたレコードタイプと関係の無い
既存のレコードタイプについての処理の場合は,論理構
造の変更により追加されたレコードタイプ(イ.のレコ
ードタイプC,D)のセットポインタ部の追加を行わな
い。
【0034】次に図6の例は,論理構造が変更前にレコ
ードタイプAとレコードタイプBが結合していた構造か
ら,イ.に示すような論理構造(上記図5のイ.と同
じ)に変更され,更新前のぺージバッファがロ.に示す
内容(上記図5のロ.と同じ)である時に,a1 レコー
ドに対してレコードタイプCのレコード(c1 とする)
を結合する要求が発生した例である。この場合,a1
コードのセットポインタ部の拡張を含む更新処理が次の
〜の順に実行される。
【0035】更新前レコード(図6のロ.)を作業用
バッファ(図6のホ.)に転送する。この時,同時に新
レコードフォーマット(追加するポインタ部,すなわ
ち,βセットポインタ部とγセットポインタ部を追加し
た形)にする。
【0036】作業用バッファ(図6のホ.)上で結合
対象(レコードタイプCのレコードc1 )のセットタイ
プ(βセット)に対してポインタ値(βセットポインタ
値)を格納する(図6のへ.)。
【0037】更新前レコードを削除する(図6の
ハ.)。 作業用バッファ上のレコード(更新後レコード)を元
のぺージに格納する(図6のニ.)。なお,この時元の
ぺージに格納するだけの領域が無い場合は,レコードを
ぺージ間に分裂(分割)させて格納することになる(そ
の詳細は後述する)。
【0038】図7は本発明の格納処理により結合される
レコードの更新例である。この例は上記図5,図6に示
すセットポインタの結合の処理により結合される親・子
のレコードの一例を示し,図7のイは,変更によりレコ
ードタイプC,Dが追加された論理構造を示し,ロは更
新前のレコードタイプAの親のレコードR10(a1
コード)に対しレコードタイプBのレコードR11(b
1 レコード)が結合し,レコードR10にセットタイプ
部にαセットとβセットが格納されている。
【0039】このレコードに対し,ニに示すようなレコ
ードタイプCのレコードR12(c 1 レコード)を格納
し,a1 レコードとβセットで結合する要求が発生した
ものとする。この場合,格納前にレコードR10に結合
対象セットポインタ部(β)が存在するので,このレコ
ードR10のβに対しレコードR12のポインタを設定
するが,論理構造に追加されたレコードタイプDのセッ
トポインタ部(γ)は追加しない。
【0040】図7のホは,更新前の親のレコードR20
(a2 レコード)がセットポインタ部にαセットだけ保
持している時に,に示すようにレコードタイプCのc
2 レコード(レコードR22)を格納し,レコードR2
0と結合する場合を示す。この場合,に示すようにレ
コードR20には結合対象セットポインタ部(β)が存
在しないため,トに示すように新たにレコードR20に
対しベータ及びγのセットポインタ部を追加する。
【0041】次にデータの更新(Modify) 処理を説明す
る。この更新処理は,更新対象レコード及び更新でセッ
トポインタが更新されるレコード(ソートセットで結ば
れるレコードのみ)にセットポインタ部が存在しないも
のがあっても,セットポインタ部を追加することはしな
い。その処理の例は,上記図7のロ,ハ,ニの場合と同
様である。すなわち,更新されるレコードが子レコード
として既に存在していると,その親レコードにセットポ
インタ部が存在するので,セットポインタ部の内容だけ
更新すればよい。
【0042】次にレコードの削除(Erase) 処理を, 図8
に示す本発明による削除処理の具体例を用いて説明す
る。この例では,論理構造がイのように定義されている
時,レコードタイプCを削除する例である。この場合,
削除により切り離し(Disconnect) されるレコードタイ
プはAである。図8のロは,削除前のレコードの例で示
され,レコードタイプAのレコードR10内のセットタ
イプ部に格納されたα,βによりレコードR11(b1
レコード),R12(c1 レコード)が結合している。
このレコードに対し,レコードタイプCのレコードを削
除する処理が実行されると,ハに示すようにレコードタ
イプCのレコード(c1 レコード)を削除し,レコード
R10からβセットが切り離される。この結果各レコー
ドはニのような構成となる。
【0043】但し,削除されたレコードR12を結ぶた
めのレコードR10のセットポインタ部(β)は,不要
となるが,その後に発生する可能性がある結合処理の効
率を考慮して縮小(βの削除)を行わない。但し,βの
内容は例えばオール“0”にして実質的に無効なポイン
タ値に設定する。
【0044】次にセット検索(Get)処理を, 図9に示す
本発明によるセット検索処理の具体例を用いて説明す
る。この例は論理構造がイのように定義されている時
に,Cレコードタイプを検索する場合の例である。この
検索では,ロに示すレコードR10(a1 レコード)に
ついてβセットタイプを使用してCレコードタイプを検
索するが,このレコードR10のセットポインタ部のβ
には,このβにより結合するレコードが存在しないため
有効なポインタ値が格納されていない(オール
“0”)。このため,このレコードR10からはレコー
ドタイプCのレコードが検出されない。次のレコードR
20の場合は,そのセットポインタ部にβが格納されて
ないので,この場合もレコードタイプCのレコードが存
在しないものとして処理される。このように,セット検
索時に,そのセットタイプに対するセットポインタ部が
存在しない場合は,そのセットタイプで結合されている
レコードが存在しない場合と同様の結果となる。
【0045】次に上記図4のセットポインタの結合の処
理フロー及び図6の結合対象セットポインタのポインタ
部が存在しない場合の具体例において発生するレコード
の分裂方式について説明する。
【0046】図10はレコード分裂の処理フローであ
る。この処理は,レコードの格納によりセットポインタ
部が拡張したために,セットポインタ部が元の領域に格
納できなくなった場合に実行される。具体的には図6の
においてセットポインタ部の領域を作業用バッファに
おいて拡張し, でセットポインタ値を設定した後,
の元のページバッファに格納する時に領域が足りないこ
とが検出された場合に実行される。
【0047】最初に,データ部だけの移動で格納可能か
判断する(図10のS1)。可能な場合は,データ部だ
けを他ページに移動させ(同S2),可能でない場合
は,データ部とセットポインタ部を共に他ページに移動
させる(同S3)。このように他ページにレコードの一
部のデータが格納された状態をレコードの分裂という。
【0048】図11はデータ部だけを他ページに移動さ
せるレコード分裂の具体例である(上記図10のS2に
対応)。図11において,イに示す更新前ページの状態
で,レコードBについてB制御部,Bセットポインタ部
及びBデータ部とで構成されている時,Bセットポイン
タ部が拡大して,Bデータ部だけが元の更新前ページの
領域に格納できないと,ロに示す更新後ページにはB制
御部(マスタ)と拡大したBセットポインタ部が格納さ
れ,ハに示す他ページにBデータ部をB制御部(チャイ
ルド:子のデータ)と共に格納する。
【0049】図12はデータ部とセットポインタ部を共
に他ページに移動させるレコード分裂の具体例である
(上記図10のS3に対応)。この場合,更新前のレコ
ードBの状態は上記図11と同じであるが,Bセットポ
インタ部が拡大した時,データ部だけの移動では元の領
域に格納できないので,図12のロに示すように更新後
ページにはB制御部(マスタ)だけ格納し,ハに示す他
ページにBセットポインタ部とBデータ部をB制御部
(チャイルド)と共に格納し,更新後ページの空いた領
域は削除レコードとする。
【0050】次に上記の図10〜図12に示す方式によ
りセットポインタ部の拡張により分裂したレコードを統
合させる方式を説明する。分裂レコードを統合する契機
には,レコードの削除(Erase) 時,及び更新(Modify)
時がある。以下にそれぞれの処理における次の(1),(2)
の2つの分裂レコードについての統合方式を示す。
【0051】(1) セットポインタ部とデータ部の分裂レ
コード(上記図11のロ,ハ参照) (2) 制御部と「セットポインタ部+データ部」の分裂レ
コード(上記図12のロ,ハ参照) レコード削除の場合の処理 削除対象レコードが存在するページ(削除対象レコード
が分裂レコードの場合は,マスタレコードとチャイルド
レコードが存在する2つのページバッファが対象)内の
全ての分裂レコード(マスタレコードのみ)に対して,
以下の順番で統合処理を行う。
【0052】対象ページ内の全ての『制御部と「セッ
トポインタ部+データ部」の分裂レコード』のセットポ
インタ部を移動させ,『セットポインタ部とデータ部の
分裂レコード』とすることを試行する。この理由は,セ
ットポインタ部はできるだけマスタレコードに置いてセ
ット検索の性能を高める必要があり,一旦セットポイン
タ部だけをマスタレコードに移動させる。データ部も同
時に移動させると他の『制御部と「セットポインタ部+
データ部」の分裂レコード』のセットポインタ部が移動
できなくなるからである。
【0053】この例を図13のレコード削除におけるデ
ータ移動の具体例に示す。この場合,分裂レコードは更
新前ページのイ,ロに示す状態(図12のロ,ハに対
応)であり,この状態でAレコードを削除することによ
り空き領域が発生するので,ロのBセットポインタ部を
移動させることを試みる。移動可能であることが分かる
と,ハに示すように,ロにあったBセットポインタ部を
B制御部(マスタ)と共にAレコードが削除された領域
に格納する。ロの分裂レコードのBデータ部は,依然と
してニに示すようにB制御部(チャイルド)と共に格納
されている(Bデータ部はAレコード部の残りの領域に
格納できないので)。
【0054】対象ページ内の全ての「セットポインタ
部とデータ部の分裂レコード」を一般レコードとするこ
とを試行する。この例は,図14の分裂レコードを一般
レコード化する場合の具体例として示す。
【0055】この場合,分裂レコードは更新前ページの
イ,ロに示す状態(図11のロ,ハに対応)であり,こ
の状態でイのマスタレコードに,ロのチャイルドレコー
ドを統合する試みを行うと,統合が可能であることが分
かり,ハに示すようにロのレコードのBデータ部をイに
統合して一般レコード化する処理を行う。
【0056】レコード更新の場合の処理 更新対象レコードが分裂レコードの場合だけ,更新対象
レコードについてのみ統合処理を行う。
【0057】一般レコード化を試行する。 上記のの一般レコード化ができない場合は,更新対
象レコードが『制御部と「セットポインタ部+データ
部」の分裂レコード』の場合は,セットポインタ部だけ
を移動させて「セットポインタ部とデータ部の分裂レコ
ード」とする試行をする。
【0058】図15は上記に対応し,更新により一般
レコード化を行う場合の具体例である。すなわち,更新
前ページではイ,ロの分裂レコードを構成していたが,
Bレコードの更新によりデータ量が縮小して,ハに示す
更新後ページのようにイのマスタレコードにBセットポ
インタ部と更新されたBデータ部の全体を格納すること
ができる。
【0059】図16は上記に対応し,更新により一般
レコード化できない場合の具体例である。すなわち,更
新前ページはイとロに示すようにBレコードは,B制御
部(マスタ)と『B制御部(チャイルド),Bセットポ
インタ部,Bデータ部』とが分裂された各レコードに格
納されていたが,Bデータを更新した時に,Bセットポ
インタ部へ移動する試みを行って,可能であれば,ハに
示すようにBセットポインタ部を元のページ(イに示
す)に移動し,残りのBデータ部はB制御部(チャイル
ド)と共に分裂した状態となる。しかし,Bセットポイ
ンタ部がマスタレコード側に統合されるので,処理の効
率が向上する。
【0060】
【発明の効果】従来ネットワーク型のデータベースへの
業務追加による新レコードタイプを追加する論理構造の
変更が発生すると,ネットワーク型のデータベースを再
編成して,当該ネットワーク型のデータベースの全てを
再構築する必要があり,ネットワーク型のデータベース
の再編成に多大な時間を要し,この間業務を停止する必
要があったが,本発明によればネットワーク型のデータ
ベースの業務追加による新レコードタイプの追加定義
は,論理構造の定義を行うだけで可能となり,業務停止
時間を大幅に削減することができる。
【0061】また,従来のネットワーク型のデータベー
スの再編成で必要であった大量の中間データセット(ネ
ットワーク型のデータベース中の全レコードを一括して
一旦,中間データセットに退避して,元のデータベース
に再格納する)が必要であったが,本発明によればネッ
トワーク型のデータベースの再編成が不要となるから中
間データセットを不要にすることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】論理データ構造の例である。
【図3】論理データ構造の拡大におけるレコードの格納
処理の説明図である。
【図4】セットポインタの結合の処理フローである。
【図5】結合対象セットポインタのポインタ部が存在す
る場合の処理の具体例である。
【図6】結合対象セットポインタのポインタ部が存在し
ない場合の処理の具体例である。
【図7】本発明の格納処理により結合されるレコードの
更新例である。
【図8】本発明による削除処理の具体例である。
【図9】本発明によるセット検索処理の具体例である。
【図10】レコード分裂の処理フローである。
【図11】データ部だけを他ページに移動させるレコー
ド分裂の具体例である。
【図12】データ部とセットポインタ部を共に他ページ
に移動させるレコード分裂の具体例である。
【図13】レコード削除におけるデータ移動の具体例で
ある。
【図14】分裂レコードを一般レコード化する場合の具
体例である。
【図15】更新により一般レコード化を行う場合の具体
例である。
【図16】更新により一般レコード化できない場合の具
体例である。
【図17】従来のネットワーク型のデータベースにおけ
る構造変更の例である。
【符号の説明】
1 データベース処理装置 2 論理データ構造の定義変更部 2a 論理データ構造定義データ保持部 3 レコード格納処理部 3a レコード格納手段 3b 接続対象セット情報識別手段 3c セット情報領域拡張手段 3d セット情報設定手段 4 レコード更新処理部 5 レコード検索処理部 6 データベース記憶装置
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 ”ACOSソフトウェア ACOS− 4/MVP XE ADBS 運用手引 書”,第6版,日本電気株式会社,1989 年4月,p.17−48,275−282 川合 英俊,”OS/2 1.2版の 新ファイル・システム”,日経バイト, 日経BP社,第68号,1990年2月,p. 231−240 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 親レコードと子レコードを関連付けるセ
    ット情報を各々レコード自身に備えるネットワーク型の
    データベース論理データ構造の動的変更方式において,データベース処理装置に前記データベースの論理データ
    構造の変更に対応して論理データ構造定義データを設定
    該データベース処理装置にレコード格納要求の発生
    により起動するレコード格納処理部を備え, 該レコード格納処理部は, 要求されたレコードを格納する手段と,該レコードの接
    続対象レコードが保持するセット情報を識別する手段
    と,該接続対象セット情報識別手段により格納レコード
    のレコードタイプに対応するセット情報が存在しない時
    起動し,セット情報領域を可変長管理により拡大する手
    段と,前記拡大した領域に格納レコードのセット情報を
    設定する手段とを備え, データベースの論理データ構造を拡大する変更に対して
    格納レコードの発生に応じてデータの拡大を行い, 前記セット情報領域を可変長管理により拡大する手段
    は,前記拡大した領域に格納レコードのセット情報を設
    定した時に,接続対象レコードの領域に格納できない
    と,前記接続対象レコードのデータ部だけ他のぺージに
    移動すれば格納することができるか判別し,データ部だ
    け他のぺージに移動すれば格納できると判別されると,
    データ部だけを他のぺージに移動させてレコードを分裂
    させ, データ部だけ他のぺージに移動しても格納できないと判
    別されると,データ部とセット情報を共に他ページに移
    動させてレコードを分裂することを特徴とするデータベ
    ース論理データ構造の動的変更方式。
  2. 【請求項2】 請求項1において, 前記分裂したレコードに対して,データの削除または更
    新の処理が行われると,セット情報とデータ部とを統合
    した一般レコード化が可能かの試行を行い, 可能な場合は統合したレコードを作成することを特徴と
    するデータベース論理データ構造の動的変更方式。
JP34840492A 1992-12-28 1992-12-28 データベース論理データ構造の動的変更方式 Expired - Fee Related JP3183736B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP34840492A JP3183736B2 (ja) 1992-12-28 1992-12-28 データベース論理データ構造の動的変更方式
US08/644,121 US5666527A (en) 1992-12-28 1996-05-10 System for dynamically changing logical data structure of database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34840492A JP3183736B2 (ja) 1992-12-28 1992-12-28 データベース論理データ構造の動的変更方式

Publications (2)

Publication Number Publication Date
JPH06202919A JPH06202919A (ja) 1994-07-22
JP3183736B2 true JP3183736B2 (ja) 2001-07-09

Family

ID=18396799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34840492A Expired - Fee Related JP3183736B2 (ja) 1992-12-28 1992-12-28 データベース論理データ構造の動的変更方式

Country Status (2)

Country Link
US (1) US5666527A (ja)
JP (1) JP3183736B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662377B1 (ko) * 2014-01-27 2016-10-04 엘지전자 주식회사 공기조화기의 실내기

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601058B2 (en) 1998-10-05 2003-07-29 Michael Forster Data exploration system and method
JP2000315167A (ja) * 1999-04-30 2000-11-14 Toshiba Corp データ管理装置、計算機システムおよびプログラムを記憶した記憶媒体
CN1331562C (zh) * 2001-10-17 2007-08-15 普莱克斯技术有限公司 中心二氧化碳纯化器
US6901418B2 (en) * 2002-05-07 2005-05-31 Electronic Data Systems Corporation Data archive recovery
US8533200B2 (en) * 2011-05-26 2013-09-10 Hadron Data Technologies, Inc. Apparatus and method for organizing, storing and retrieving data using a universal variable-length data structure
CN103336792B (zh) * 2013-06-07 2016-11-23 华为技术有限公司 数据分区方法和装置
US20150169619A1 (en) * 2013-12-06 2015-06-18 Zaius, Inc. System and method for creating storage containers in a data storage system
CN104182216B (zh) * 2014-07-15 2017-11-03 西安电子科技大学 Msvl中结构体以及结构体指针类型的扩展解释系统及其扩展方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4042912A (en) * 1975-06-19 1977-08-16 Honeywell Information Systems Inc. Database set condition test instruction
JPH0266645A (ja) * 1988-08-31 1990-03-06 Hitachi Software Eng Co Ltd ネットワークデータベース
JPH02130647A (ja) * 1988-11-11 1990-05-18 Toshiba Corp 索引木構造の更新方式
JPH0367341A (ja) * 1989-08-04 1991-03-22 Nec Corp 可変レコード制御方式
JPH04139546A (ja) * 1990-10-01 1992-05-13 Matsushita Electric Ind Co Ltd 関係データベース装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"ACOSソフトウェア ACOS−4/MVP XE ADBS 運用手引書",第6版,日本電気株式会社,1989年4月,p.17−48,275−282
川合 英俊,"OS/2 1.2版の新ファイル・システム",日経バイト,日経BP社,第68号,1990年2月,p.231−240

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662377B1 (ko) * 2014-01-27 2016-10-04 엘지전자 주식회사 공기조화기의 실내기

Also Published As

Publication number Publication date
JPH06202919A (ja) 1994-07-22
US5666527A (en) 1997-09-09

Similar Documents

Publication Publication Date Title
JPS62206645A (ja) データ・ベース・システムの動作を回復する方法
JPH06318168A (ja) 階層データ記憶管理装置、方法およびそのネットワーク
JP3183736B2 (ja) データベース論理データ構造の動的変更方式
EP0410210A2 (en) Method for dynamically expanding and rapidly accessing file directories
JP4159506B2 (ja) 階層記憶装置、その復旧方法、及び復旧プログラム
JP3378594B2 (ja) データベース再配置を行う処理装置
JPH09244933A (ja) データベースバックアップ方法及び装置
JP2001344139A (ja) データベース管理装置
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
US20060004846A1 (en) Low-overhead relational database backup and restore operations
JPS62224843A (ja) デ−タベ−ス媒体内容保全方式
CN115203488B (zh) 一种图数据库管理方法、装置及电子设备
JPH0844609A (ja) データバックアップ方法
JPH06231012A (ja) ログデータ管理装置
JP2000207264A (ja) バックアップ方法およびリストア方法
JP2587417B2 (ja) ファイルの退避復元方式
JP2822869B2 (ja) ライブラリファイル管理装置
JP3497053B2 (ja) オンラインデータベース管理システムにおける処理方法及びオンラインデータベース管理システム
JPH03271841A (ja) データベースにおけるリカバリ方式
KR101086392B1 (ko) Wal 기법에서 대용량 객체의 파손 회복 방법
JPH10133934A (ja) 分散型文書管理システムおよびそれを実現するプログラム記憶媒体
JPH08328929A (ja) データベース分割管理システム
US20110047194A1 (en) Method for coordinating relationships between multiple physical entities
JPS6058492B2 (ja) デ−タベ−ス検索方式
JP2785966B2 (ja) 外部キー動的解決処理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010410

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080427

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090427

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees