JPH0347539B2 - - Google Patents

Info

Publication number
JPH0347539B2
JPH0347539B2 JP58226323A JP22632383A JPH0347539B2 JP H0347539 B2 JPH0347539 B2 JP H0347539B2 JP 58226323 A JP58226323 A JP 58226323A JP 22632383 A JP22632383 A JP 22632383A JP H0347539 B2 JPH0347539 B2 JP H0347539B2
Authority
JP
Japan
Prior art keywords
key
records
record
unique
unique key
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 - Lifetime
Application number
JP58226323A
Other languages
English (en)
Other versions
JPS60118950A (ja
Inventor
Katsumi Hayashi
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 JP58226323A priority Critical patent/JPS60118950A/ja
Publication of JPS60118950A publication Critical patent/JPS60118950A/ja
Publication of JPH0347539B2 publication Critical patent/JPH0347539B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
〔発明の技術分野〕 本発明は、データベースシステムにおいて複数
のレコードのユニークキーの更新を伴うコマンド
が入力されたとき、該当するユニークキーごとに
簡単なユニークチエツクを伴つた更新を行い、該
当するユニークキーの更新が全て完了したときユ
ニークチエツクも完了するようにしたユニークキ
ーの更新処理方式に関するものである。 〔従来技術と問題点〕 第1図は、本発明が適用できるリレーシヨナ
ル・データベース・システムの概要を示すもので
あり、同時において、1はデータベース管理部、
2は実行制御部、3はアクセス処理部、4はリレ
ーシヨナル・データベースをそれぞれ示してい
る。リレーシヨナル・データベース・システムで
は、リレーシヨナル・データベース4の検索や更
新を、単一のコマンドで集合的に行うことが出来
る。データベース管理部1は、渡された集合的な
コマンドを非集合的な手順に分割し、これを実行
制御部2に渡す。実行制御部2は、一時に1レコ
ード毎の制御を行い、アクセス処理部3を介して
リレーシヨナル・データベース4を検索又は更新
して行く。 リレーシヨナル・データベースでは、データが
表形式で格納されている。表の行はタツプルと呼
ぶが、1行が1レコードとされている。レコード
は複数のフイールドを有しているが、リレーシヨ
ナル・データベースにおいて複数のフイールドの
中の少なくとも1つがユニーク・キー・フイルド
とされている。ユニーク・キー・フイルドとは、
ユニーク・キー・フイルドについて、2個以上の
レコードが同時に同一の値を持つことが禁止され
るフイールドである。いま、3個のレコードのユ
ニーク・キー・フイルドが{10,20,30}という
ユニークキーの集合を構成しているとする。この
{10,20,30}という集合の各元を+10する更新
を行うと、{20,30,40}となる。この例では2
つ以上の元が同時に同一の値を持たないので、こ
のデータベースの各レコードはユニーク性を更新
後も保持している。上記のような更新をプログラ
ムで実現しようとすると、 1:{10,20,30} 2:{20,20,30} 3:{20,30,30} 4:{20,30,40} といつた段階を経過しなければならない。従つ
て、これを素直に実施するためには、ユニーク性
の保存の要請を第2段階の中間結果および第3段
階の中間結果について放棄し、第4段階(最終段
階)で初めて適用する必要がある。もし、1個の
更新レコード毎にユニーク性のチエツクが行える
ならば、1対nのチエツクで完了するので、一般
に低コストで済むが、最終結果についてチエツク
しようとすれば、全てのレコードの組合せについ
てチエツクしなければならないような事態が生
じ、非常にコスト高になつてしまう。従来技術に
おいては、このようなコスト高の最終一括チエツ
ク方式が採用されていた。 〔発明の目的〕 本発明の目的は、上記の考察に基づきデータベ
ースシステムにおけるレコード更新において、ユ
ニーク性チエツクを1レコード毎の処理に付随さ
せて迅速に行い得るようにしたユニークキーの更
新処理方式を提供することにある。 〔発明の構成〕 本発明は、ユニークキーの更新において、1個
のキーを含むレコードの更新を旧キーを含むレコ
ードの削除と新キーを含むレコードの挿入の2つ
の手順の縦続処理で実行するとき、旧キーを含む
レコードの削除により、同値キーいわゆるダブリ
キーが1個解消する可能性があり、他方、新キー
を含むレコードの挿入により同値キーが1個発生
する可能性があること、そして更新すべき複数個
のキーについて1個ずつ上記した旧キーを含むレ
コードの削除と新キーを含むレコードの挿入を繰
り返したとき、最後のキーの状態にユニーク性が
保存されていれば、同値キーの発生と解消とがち
ようど相殺されている筈であることに着目して、
キーの更新過程で生じる個々の同値キーの解消と
発生とを検出し、それぞれ−1と+1とに対応さ
せて累積カウントすることにより、更新処理と並
行してユニークチエツク処理も簡単に行えるよう
にするものである。 そしてそれに基づき本発明の構成は、ユニーク
キーを含む複数のレコードを1個のコマンドで更
新する機能をそなえたデータベース処理システム
において、上記コマンドによりユニークキーの更
新が指示されたとき、ユニークキーを有するレコ
ードの集合から更新対象の1個の旧キーを含むレ
コードを削除し、該キーを更新した新キーを含む
レコードを挿入する第1の手段と、キーの重複を
カウントする第2の手段と、上記ユニークキーを
有するレコードの集合から1個の旧キーを含むレ
コードを削除したとき残されたユニークキーを有
するレコードの集合中に当該旧キーと同値のキー
を含むレコードが存在するか否かを検出し、存在
が検出された場合にのみ上記第2の手段のカウン
ト値から1を減じる第3の手段と、上記ユニーク
キーを有するレコードの集合へ更新した新キーを
含むレコードを挿入したとき、ユニークキーを有
するレコードの集合中に当該新キーと同値のキー
を含むレコードが存在するか否かを検出し、該同
値キーを含むレコードが他に1個存在することが
検出された場合にのみ、上記第1の手段のカウン
ト値に1を加える第4の手段とをそなえ、更新対
象の旧キーの全てについて上記第1ないし第4の
手段を連続的に繰り返して動作させ、動作終了時
に上記第2の手段のカウント値が0であることを
もつてユニークキーの更新の正当性を判定するこ
とを特徴とするものである。 〔発明の実施例〕 以下に、本発明の詳細を実施例にしたがつて説
明する。 第2図は、本発明の1実施例システムの構成を
示す。図中、1はデータベース管理部、2は実行
制御部、3はアクセス処理部、4はリレーシヨナ
ル・データベース、5はコマンド解析ブロツク、
6は更新処理ブロツク、7はユニークチエツク処
理ブロツク、8はカウンタ(CTR)である。 第3図は、更新処理ブロツク6におけるレコー
ド更新処理の全体手順を示し、第4図は特にユニ
ークキーの更新およびユニークチエツク処理部分
の詳細な手順を示したものである。 リレーシヨナル・データベース4の中に、γ=
(f1・f2・f3)の集合R={γ}が格納されており、
f2がユニーク・キーであるとする。いま、データ
ベース管理部1の更新処理ブロツク6は、コマン
ド解析ブロツク5から、f1>10の部分集合につい
てf2をf2+10に更新せよという指令を受取ると、
第3図のような手順を生成し2に渡し、実行制御
部2に指示してアクセス処理部3を介してリレー
シヨナル・データベース4の更新を実施する。 第3図の手続を説明すると、下記のようにな
る。 集合Rを開設する。 レコードγを読込む。エンドが検出されない
ときにはの処理を行う。 f1>10なる条件を満すか否かを調べる。F
(偽)の場合にはの処理に戻り、T(真)であ
ればの処理に移る。 条件を満すレコードをデータベース4から削
除するための削減指令の作成、条件を満すレコ
ードのキーf1を更新した更新後レコードの作
成、この更新後レコードをデータベース4に挿
入するための挿入指令の作成を行い、これら削
除指令、更新後レコード及び挿入指令を記憶す
る。次にの処理に戻る。 削除指令が挿入指令に先行するように、記憶
されている削除指令及び挿入指令をレコードご
とに整列させる。 整列された指令群を先頭から順番に実行す
る。旧データの削除および新データの挿入の処
理をそれぞれ行う度に、キーf2と同じキー値を
もつレコードが2個以上存在するか否かを調
べ、それをカウントするユニークチエツク処理
を行なう。 上記の処理は、更新処理ブロツクがユニーク
チエツク処理ブロツク7およびカウンタ8と連係
して行なわれる。この処理を第4図に示す手続
にしたがつて説明する。 〓〓:レコードから旧キーを削除する。 〓〓:〓〓の旧キーと同じキー値をもつレコードの有
無を調べる。この場合、予めレコード集合R
を、キーの値にしたがつて整列させておくこと
により、削除キーの近傍を調べるだけで済ます
ことができる。 〓〓:同じキー値をもつレコードを見出した場合、
カウンタCTRから1を減じる。これは、旧キ
ーの削除によつて同値キー(ダブリ)が1個解
消したことを表示する。 〓〓:削除された旧キーを更新(+10)、新キーを
もつ更新後レコードを挿入する位置を決定す
る。 〓〓:新キーをもつ更新後レコードを〓〓で決定され
た位置へ挿入する。 〓〓:〓〓で挿入したレコードの新キーと同じキー値
をもつレコードの個数を調べる。1個の場合に
は挿入したレコードと同じキー値をもつレコー
ドは他に存在しないものと判定しカウントしな
い。 〓〓:2個の場合は同値キーをもつレコードのダブ
リが生じたことを意味するため、カウンタ
CTRに1を加える。また〓〓で同値キーをもつ
レコードが3個見出された場合は、既にキーの
ユニーク性が破壊されたものとして、この更新
処理を無効にするエラー処理(RollBack)を
行なう。 〓〓:更新処理対象レコードが残つている場合には
〓〓へ戻り、次のレコードを処理する。そして全
ての更新処理対象レコードがなくなつたとき、
処理を終了する。 具体例として、いまγ={10,20,30}という
集合を考え、10を20に、20を30に、30を40に、そ
れぞれ+10する更新処理を考える。この更新処理
は、10,20,30それぞれの旧キーの更新する3つ
の段階に分割して行なわれる。更新の各段階にお
ける集合の状態と、同値キーの検出結果に基づく
カウンタCTRへのカウント動作および、カウン
ト値とを下に示す。
〔発明の効果〕
以上の説明から明らかなように、本発明によれ
ばデータベースの集合的な更新を行う際、ユニー
ク・キー・フイルドが同じ値のレコードが存在す
るか否かを簡単にチエツクすることが出来る。
【図面の簡単な説明】
第1図は本発明が適用されているリレーシヨナ
ル・データベース・システムの概要を示す図、第
2図は本発明の1実施例システムの構成図、第3
図はレコード更新処理手順の全体フロー図、第4
図は更新処理およびユニークチエツク処理の詳細
手順を示すフロー図、第5図はインデツクスへの
適用説明図である。 図中、1はデータベース管理部、2は実行制御
部、3はアクセス処理部、4はリレーシヨナル・
データベース、5はコマンド解析ブロツク、7は
ユニークチエツク処理ブロツク、8はカウンタ
(CTR)を示す。

Claims (1)

    【特許請求の範囲】
  1. 1 ユニークキーを含む複数のレコードを1個の
    コマンドで更新する機能をそなえたデータベース
    処理システムにおいて、上記コマンドによりユニ
    ークキーの更新が指示されたとき、ユニークキー
    を有するレコードの集合から更新対象の1個の旧
    キーを含むレコードを削除し、該キーを更新した
    新キーを含むレコードを挿入する第1の手段と、
    キーの重複をカウントする第2の手段と、上記ユ
    ニークキーを有するレコードの集合から1個の旧
    キーを含むレコードを削除したとき残されたユニ
    ークキーを有するレコードの集合中に当該旧キー
    と同値のキーを含むレコードが存在するか否かを
    検出し、存在が検出された場合にのみ上記第2の
    手段のカウント値から1を減じる第3の手段と、
    上記ユニークキーを有するレコードの集合へ更新
    した新キーを含むレコードを挿入したとき、ユニ
    ークキーを有するレコードの集合中に当該新キー
    と同値のキーを含むレコードが存在するか否かを
    検出し、該同値キーを含むレコードが他に1個存
    在することが検出された場合にのみ、上記第1の
    手段のカウント値に1を加える第4の手段とをそ
    なえ、更新対象の旧キーの全てについて上記第1
    ないし第4の手段を連続的に繰り返して動作さ
    せ、動作終了時に上記第2の手段のカウント値が
    0であることをもつてユニークキーの更新の正当
    性を判定することを特徴とするデータベースシス
    テムにおけるユニークキーの更新処理方式。
JP58226323A 1983-11-30 1983-11-30 デ−タベ−スシステムにおけるユニ−クキ−の更新処理方式 Granted JPS60118950A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58226323A JPS60118950A (ja) 1983-11-30 1983-11-30 デ−タベ−スシステムにおけるユニ−クキ−の更新処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58226323A JPS60118950A (ja) 1983-11-30 1983-11-30 デ−タベ−スシステムにおけるユニ−クキ−の更新処理方式

Publications (2)

Publication Number Publication Date
JPS60118950A JPS60118950A (ja) 1985-06-26
JPH0347539B2 true JPH0347539B2 (ja) 1991-07-19

Family

ID=16843385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58226323A Granted JPS60118950A (ja) 1983-11-30 1983-11-30 デ−タベ−スシステムにおけるユニ−クキ−の更新処理方式

Country Status (1)

Country Link
JP (1) JPS60118950A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4957705A (en) * 1986-11-10 1990-09-18 Japan Electronic Control Systems Co., Ltd. Oxygen gas concentration-detecting apparatus
JP2777930B2 (ja) * 1990-07-26 1998-07-23 富士通株式会社 データベースマネージメントシステム
KR100494856B1 (ko) * 1999-12-30 2005-06-14 주식회사 케이티 데이터베이스 상에서의 유일성 보장 방법

Also Published As

Publication number Publication date
JPS60118950A (ja) 1985-06-26

Similar Documents

Publication Publication Date Title
US6161109A (en) Accumulating changes in a database management system by copying the data object to the image copy if the data object identifier of the data object is greater than the image identifier of the image copy
EP0351209A2 (en) Method of performing operations in a relational data base management system
US6442543B1 (en) Method and apparatus for changing temporal database information
US6185556B1 (en) Method and apparatus for changing temporal database
US7769714B2 (en) Automatic error correction for replication and instantaneous instantiation
US4933848A (en) Method for enforcing referential constraints in a database management system
US6216140B1 (en) Methodology for the efficient management of hierarchically organized information
US6119128A (en) Recovering different types of objects with one pass of the log
US6324535B1 (en) Method and apparatus for producing sequenced queries
US8645331B2 (en) Cascade delete processing
US5745746A (en) Method for localizing execution of subqueries and determining collocation of execution of subqueries in a parallel database
US8271416B2 (en) Method for dynamically determining a predetermined previous condition of a rule-based system
US20110137887A1 (en) Constraint Processing
EP0476810B1 (en) Method and system for retrieving data from joined tables in a computer database
US5481703A (en) Database restructuring system for detecting functionally dependent relations and converting them into third normal form
US20080270407A1 (en) System for ensuring referential integrity in highly concurrent database environments
US7136861B1 (en) Method and system for multiple function database indexing
JPH0347539B2 (ja)
US8554722B2 (en) Method for transferring data into database systems
IL142483A (en) A method for checking the integrity of data in tabular spaces
CA2322603C (en) Optimizing updatable scrollable cursors in database systems
JP4051172B2 (ja) データ連動処理装置および方法
JPH0317140B2 (ja)
JP2608170B2 (ja) 関係デ−タベ−ス処理装置
JPH06149635A (ja) レコード追加処理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees