JPH064383A - データベース管理方法およびシステム - Google Patents

データベース管理方法およびシステム

Info

Publication number
JPH064383A
JPH064383A JP4157031A JP15703192A JPH064383A JP H064383 A JPH064383 A JP H064383A JP 4157031 A JP4157031 A JP 4157031A JP 15703192 A JP15703192 A JP 15703192A JP H064383 A JPH064383 A JP H064383A
Authority
JP
Japan
Prior art keywords
data
inspection
constraint
state
constraint condition
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
JP4157031A
Other languages
English (en)
Inventor
Nobuo Kawamura
信男 河村
Masashi Tsuchida
正士 土田
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
Priority to JP4157031A priority Critical patent/JPH064383A/ja
Publication of JPH064383A publication Critical patent/JPH064383A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 (修正有) 【構成】 ある表の項目のデータが他の表の項目のデー
タとの間で満足すべき関係を規定した少なくとも一つの
制約条件を新たに追加するのに伴って、前記表に既に格
納されているデータが前記制約条件を満足しているか否
かが未検査であることを示す“未検査状態”を検査状態
情報として前記制約条件に対応させて記憶し前記表への
アクセスを禁止する。検査の結果、前記制約条件を満足
するならば、前記検査状態情報を、検査が完了したこと
を示す“検査完了状態”に変えて前記表に関するすべて
の制約条件について“検査完了状態”となったとき前記
ある表へのアクセス禁止を解除する。 【効果】 参照表に整合性の検査状態を示す情報を記憶
しておくので、整合性が満足されない限り、不正なデー
タをアクセスすることを禁止できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベース管理方法
に関し、特に複数の表間でのデータの整合性を管理する
方法に関する。
【0002】
【従来の技術】データベース管理システムとは、データ
を記録し保持するコンピュータ・システムである。特
に、データベース管理システムのうち、リレーショナル
データベース管理システムにおいては、データベースは
ユーザから二次元の表形式で見られる表(あるいは、リ
レーション)から成り、かつ、この表は複数の行(レコ
ード、あるいはタップル)から構成されている。また、
タップルは複数個の列(アトリビュート、あるいはフィ
ールド)から構成され、各列にはその列の特性を示すデ
ータ型、データ長などが規定される。
【0003】従来のリレーショナル・データベースは、
個々の表を独立して定義していたので、複数の表の間で
データの関連をもたせるようなことはできなかった。し
かし、1987年にISO(国際標準化委員会)で規格
化されたデータベース言語SQLでは、複数の表間で相
互に関連する列に注目し、データの参照整合性を維持す
ることを指定できる参照制約が言語仕様として加えられ
た。これは、ある表の一つあるいは複数の列から成る主
キーともう一つの表の一つあるいは複数の列から成る外
部キーとを宣言し、外部キーが取りうる値については、
必ず主キー中に値が存在するということを規定するもの
である。
【0004】例えば、「従業員」表と「部門」表から成
るデータベースについて考えてみる。「従業員」表に存
在するある従業員が、「部門」表に存在しない部門に所
属しているようなことはない。このような状態は、参照
整合性を保っていないことになる。この参照整合性を保
つための制約を規定するのが参照制約であり、「部門」
表中の部門データをもつ列が主キーであり、「従業員」
表中の従業員の所属部門をもつ列が外部キーである。
「従業員」表の所属部門(外部キー)の値は必ず「部
門」表の部門データ(主キー)として存在する必要があ
る。「部門」表のような表を被参照表と呼び、「従業
員」表のような表を参照表と呼ぶ。この参照整合性につ
いては、C.J.Date著「データベース入門(An
Introduction to Database
Systems)」第3版、Addison Wes
ley出版社(1981年)で説明されている。
【0005】従来、SQLの参照制約がない場合の参照
整合性を実現する方法としては、主キーおよび外部キー
とが整合性(外部キーがもつ値は必ず主キーに存在して
いなければならないという性質)を保つように、ある表
の主キーを更新するようなデータ操作に対し、整合性を
検査する処理、あるいは整合性を維持する処理を個々に
実行していた。この場合、整合性を検査する処理や整合
性を維持する処理を生成しておかなければならず、さら
に、整合性を検査する処理や整合性を維持する処理が正
しいか否かを検査する必要がある。
【0006】整合性を検査する処理とは、主キーに対す
る更新によって、対応する外部キーとの整合性が正しく
保たれているか否かを検査する処理である。例えば、上
記例として挙げた「部門」表に存在する主キーは部門デ
ータをもつ列であり、ある行の部門データを更新する場
合、更新対象となった部門データの値が既に対応する外
部キー、すなわち、「従業員」表の従業員の所属部門と
して登録されている値に同じものがないことを確認する
ものである。また、「従業員」表に存在するある従業員
の所属が変わるとその従業員の所属部門を更新する場合
は、更新する所属部門の値が参照する主キー、すなわ
ち、「部門」表の部門データの値として存在することを
確認するものである。これらの検査をする処理は、他に
も主キーをもつ表から行を削除する場合や外部キーをも
つ表へ行を挿入する場合などにも同様な処理が必要とな
る。
【0007】このようなデータベースのデータの操作
は、構造化紹介言語(SQL)を使用するリレーショナ
ル・データベース管理システムでは、INSERT文
(行の挿入)、UPDATE文(列の更新)、DELE
TE文(行の削除)により行われる。したがって、複数
の表間でデータに関連があるような表に対して上記のデ
ータ操作が行われる場合、整合性の検査が行われなけれ
ばならない。
【0008】このような欠点を取り除くのが参照制約で
あり、これを用いて、ユーザの業務プログラムではな
く、データベース管理システムが整合性の検査および維
持を行なうので、データベースシステムとしての処理効
率がよい。また、同じ理由により、確実な整合性を実現
できる。この参照整合性の検査および維持する処理をデ
ータベース管理システムで効率よく行なう方法の一つと
して、特開平2ー39372号、特開平2ー11697
3号公報に開示されているものがある。当該公報に開示
されている方法は、2つの参照関係にある表間の参照制
約に関連する情報をオブジェクトとして作成し、この参
照関係にある表に対してデータ操作が行なわれるとき、
前記オブジェクトをアクセスすることにより、参照制約
の検査および動作を効率的に行なう方法である。
【0009】前記参照制約機能により、データの更新に
ともなうデータの整合性の保証は確実に行われるように
なる。しかし、実世界では表を定義した後、あらかじめ
データを大量に格納するといった手法がとられるのが通
例である。すなわち、被参照表のデータを格納した後、
参照表に対してデータを格納するといった方法がとられ
る。前記公報に記載の手法は既にデータが格納されてい
る表に対するデータ操作時の処理を提供するものであ
り、あらかじめ整合性が保証されたデータを格納するた
めの手段を提供するものではない。また、参照制約の定
義をSQL文のALTER TABLE文に見られるよ
うに後から付加する場合にも、既に登録されたデータが
表間でデータの整合性を維持しているかどうかを保証す
る手段については明確でない。
【0010】従来、複数の表間でデータの整合性を維持
するためには、あらかじめ定義しておいた表に対してデ
ータを格納(追加)していく際に逐次整合性が維持でき
るか否かを検査するといった手法が考えられる。しか
し、実際の業務ではあらかじめ一つの表に格納すべき大
量のデータを作成しておき、一括してデータベース中の
目的の表にロードするのが一般的である。そうすると、
一括してデータをロードする際に逐次整合性の検査を行
っていたのでは、非常に効率が悪い。また、参照制約を
あとから定義するような場合には、あらかじめ格納され
ているデータが整合性を保証しているかどうか確定でき
ない。したがって、実際には整合性を保証されない(参
照制約に違反している)データをユーザがアクセスする
という危険性を生じることになる。
【0011】これに対し、データの初期ロード時の参照
整合性の保証を行う手法として、特開平2ー33665
号公報に開示されているように、データのロード時に参
照制約に関する情報を分類し、一括して整合性の検査
(参照制約に違反している行がないかどうかを検査す
る)を行い、制約に違反する行が存在するとその行を削
除し、制約違反となった行を格納するためのファイルに
出力するといった方法がある。すなわち、あらかじめ表
に対して参照制約の定義された表すなわち参照表の状態
が参照される表との間でデータの整合性が維持できてい
るか否かが不明な場合に、前記参照制約を定義した表に
大量のデータを格納するときに整合性の検査を行なう。
【0012】また、IBM社に代表されるリレーショナ
ル・データベース管理システムである「DB2」では、
参照制約の定義された表間のデータの整合性を検査する
ための手段として、CHECKユティリティによる一括
した整合性の検査を行う手段が提供されており、整合性
の検査の結果、制約違反となる行が出現すると、その表
を含む論理的なデータベース領域であるテーブル・スペ
ースに対して、check pending stat
usを保留(pending)状態にすることにより、
当該保留状態のテーブルスペースに存在する表へのアク
セスを禁止するようにしている。このIBM社のDB2
の参照整合性については、C.J.Date著「DB2
入門(A Guide to DB2)]第3版、Ad
dison Wesley出版社(1989年)で説明
されている。
【0013】
【発明が解決しようとする課題】前述のように、従来の
技術では、リレーショナルデータベース管理システムに
おいて、参照制約を定義した表に対してデータの初期ロ
ードをしたとき、整合性の検証を行う手段を持たない場
合には、参照制約を定義した表だけでなく、他の関連す
る表をもアクセスができなくなるという問題があった。
また、参照整合性の検証を行う手段が用意されていたと
しても、検証の結果、参照制約に違反するデータが含ま
れている場合の表の扱いについては、基本的に参照制約
を定義した表内の違反するデータをすべて削除すること
によって解決していたので、後から修正したデータを格
納するための処理の負担が大きくなることがあった。
【0014】前記特開平2ー33665号公報に挙げた
参照整合性の効率的な検査方法では、検査の終了した結
果、参照制約に違反すると認められたデータは表からデ
ータを削除し、削除したデータを別ファイルに格納して
いた。しかし、参照制約の違反が判明したときに常にデ
ータの削除を行うことは必ずしも望ましいことではな
い。たとえば、当該表のデータを直接修正し、あるいは
関連する他の表についてデータを追加/修正を行えばす
む場合もあるからである。
【0015】また、「DB2」に見られる従来技術で
は、既にデータが登録された表に対して参照制約が定義
された場合には、その表が格納されているデータベース
領域に対してcheck pending statu
sを設定することで、データベース領域全体がアクセス
禁止となっていた。このため、参照制約違反によるアク
セス禁止条件が厳しくデータベース管理上、支障の生じ
る場合があった。
【0016】本発明の目的は、データ(レコード)間の
整合性、すなわち参照整合性の確実性を保証し、ユーザ
に安全なデータを提供するためのデータベース管理方法
およびシステムを提供することにある。
【0017】本発明の他の目的は、参照制約違反が判明
した際、種々の対処を採りうる融通性の高いデータベー
ス管理方法およびシステムを提供することにある。
【0018】本発明のさらに他の目的は、複数の参照表
が存在する場合に整合性を維持できないと判断された表
に対するアクセスの禁止条件を緩和するデータベース管
理方法およびシステムを提供することにある。
【0019】
【課題を解決するための手段】本発明によるデータベー
ス管理方法は、データベース中のある表の項目のデータ
が他の表の項目のデータとの間で満足すべき関係を規定
した少なくとも一つの制約条件を新たに追加するのに伴
って、前記制約条件をデータベース中に記憶させ、前記
ある表に既に格納されているデータが前記制約条件を満
足しているか否かが未検査であることを示す“未検査状
態”を検査状態情報として前記制約条件に対応させて記
憶すると共に前記ある表へのアクセスを禁止し、前記格
納されているデータが前記制約条件を満足するか否かを
検査し、該検査の結果、前記制約条件を満足するなら
ば、前記検査状態情報を、検査が完了したことを示す
“検査完了状態”に変えると共に前記ある表に関するす
べての制約条件について“検査完了状態”となったとき
前記ある表へのアクセス禁止を解除するようにしたもの
である。
【0020】また、本発明によるデータベース管理シス
テムは、データベースと、該データベース中のある表の
項目のデータが他の表の項目のデータとの間で満足すべ
き関係を規定した少なくとも一つの制約条件を新たに追
加するのに伴って、当該制約条件をデータベース中に記
憶させると共に、未検査であることを示す“未検査状
態”を当該制約条件についての検査状態情報として当該
制約条件に対応させて記憶する手段と、前記ある表に既
に格納されているまたは新たに格納されたデータが前記
制約条件を満足しているか否かを検査し、該検査の結
果、前記制約条件を満足しないならば前記“未検査状
態”を、満足するならば検査が完了したことを示す“検
査完了状態”を、当該制約条件についての検査状態情報
として当該制約条件に対応させて記憶する手段と、前記
制約条件が付加された表へのアクセスの際、当該表に関
するすべての制約条件についての前記検査状態情報が
“検査完了”であれば当該表へのアクセスを許可し、い
ずれか1つでも検査状態情報が“未検査状態”であれば
当該表へのアクセスを禁止するアクセス許可/禁止手段
とを有するものである。
【0021】
【作用】本発明においては、(a)データベース中のあ
る表の項目のデータが他の項目のデータとの間で満足す
べき関係を規定した少なくとも一つの制約条件を追加下
場合、その制約条件を追加して記憶しておき、表に既に
格納されているデータが制約条件を満足しているか否か
を未検査である“未検査状態”を検査状態情報として制
約条件に対応させて記憶すると共に表へのアクセスを禁
止する。そして、格納されたデータが制約条件を満足す
るか否かを検査し、検査の結果、制約条件を満足しない
ことが判明すれば、ユーザの選択に応じて、種々の修正
処理のなかから最適な修正処理を行う。制約条件を満足
するならば、検査状態情報を、検査が完了したことを示
す“検査完了状態”に変える。こうして、表に係わるす
べての制約条件の検査状態が“検査完了状態”であるな
らば、表へのアクセス禁止を解除する。このように、制
約条件ごとにその検査状態を保持しておくので、検査処
理が一度に実行されない場合でも確実に整合性を維持す
ることができる。
【0022】また、(b)データベース中の制約条件を
もつ表に新たにデータが格納された場合、格納されたデ
ータが制約条件を満足するか否かを検査し、検査の結
果、制約条件を満足しないならば検査状態情報を、検査
が完了していないことを示す“未検査状態”とする。そ
して、ある表に係わる制約条件の検査状態が“未検査状
態”であるならば、その表へのアクセスを禁止するの
で、ユーザが不正なデータをアクセスする危険性を防止
できる。この場合でも、制約条件が“未検査状態”にあ
る表以外の表についてはアクセスが許容される。
【0023】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。
【0024】図10に、本発明の一実施例に係るデ−タ
ベ−ス管理システムの構成に示す。デ−タベ−ス管理シ
ステム20は、ワークステーションなどの入力装置10
から入力されたユ−ザの問合せ(すなわちSQL文)の
構文解析、意味解析処理を行う構文・意味解析処理21
と、与えられた問合せがデ−タの操作および検索を行う
場合に最適なアクセス経路を決定する最適化処理22
と、決定したアクセス経路からデ−タベ−ス管理システ
ム特有の内部処理手続きを生成する処理手続き生成処理
23と、生成した処理手続きを実行する処理の制御を行
う処理手続き実行処理24と、実行している処理手続き
の基本的な処理単位であるデ−タベ−スに対するアクセ
スすなわち、デ−タベ−スのスキャン処理、デ−タの操
作(更新、削除、挿入)を行うデ−タベ−ス操作処理2
5と、デ−タベ−ス31中の表の行を格納する最小単位
であるペ−ジの入出力処理を効率良くするためのバッフ
ァ管理26とから構成される。データベース管理システ
ム20は、表4〜7が格納されたデータベース31と、
後述する表定義情報管理表8および参照制約定義情報管
理表9が格納されたディクショナリ32とにアクセスし
てデータベース処理を行う。
【0025】図10のデータベース管理システムのハ−
ドウエア構成を図9に示す。図9において、1はデ−タ
演算およびシステム内の各装置を制御する中央処理装置
(CPU)、2はCPU1が実行する図10におけるデ
−タベ−ス管理システム20などのプログラムおよび各
種デ−タを記憶する主記憶装置、3は図10におけるデ
−タベ−ス管理システム20が管理するデ−タベ−ス3
1およびディクショナリ32を格納する外部記憶装置で
ある。
【0026】図2は、4つの表4〜7において、3つの
参照制約91〜93によって参照関係があることを示し
ている。この例では、「商品」表4および「顧客」表5
が被参照表、「仕入」表7および「売上げ」表6が参照
表となる。商品表4は、図3に示すように、部品番号、
製造元番号、商品名、在庫数量などの列(項目)から構
成される。顧客表5は、図4に示すように、顧客番号、
顧客名、住所などの列から構成される。売上表6は、図
5に示すように、伝票番号、顧客番号、商品番号、売上
数量などの列から構成される。さらに仕入表7は、図6
に示すように、商品番号、商品名、仕入数量などの列か
ら構成される。これらの表には、説明のために具体的な
値を例として示している。
【0027】これらの各表について、図7に示すよう
に、表定義情報管理表8により表定義情報81〜84が
それぞれ設定される。この管理表8は、データベース管
理システムが管理するディクショナリ(辞書)に格納さ
れる。表定義情報管理表8は、リレーショナルデータベ
ースで定義される表形式で格納され、ユーザがSQL文
による問合せを利用して検索をすることもできる。表定
義情報管理表8は、各表の「スキーマ名称」80a、
「表示識別子」80b、「所有者」80c、「列数」8
0dの他、各表が参照する表の数を表わす「参照表数」
80eおよび参照制約が設定された表について整合性の
検査が完了済が未完了かを表わす「検査保留状態」80
fなどの列から構成される。参照表数80eおよび検査
保留状態80fの“null”は、その表が被参照表で
あって、格納値が存在しないことを示す。検査保留状態
80fの“P”は検査が未完了(ペンディング)である
ことを示し、“N”は検査が完了済(ノンペンディン
グ)であることを示す。参照表数80eおよび検査保留
状態80fの値については、後述する処理において設定
変更される。
【0028】図2の4つの表は、前述のように3つの参
照制約91,92,93により関係付けられている、こ
れらの参照制約に関する情報を管理する参照制約定義情
報管理表9を図8にに示す。参照制約定義情報管理表9
は、リレーショナルデータベースで定義される表形式で
格納され、ユーザがSQL文による問合せを利用して検
索をすることもできる。参照制約定義情報管理表9は、
「制約名」90a、「表識別子」90b、「主キー構成
列名」90c、「被参照表識別子」90d、「外部キー
構成列名」90e、「更新規則」90f、「削除規則」
90g、「検査保留状態」90hなどの列から構成され
る。
【0029】図8により、3つの参照制約の各々の制約
の詳細について説明する。まず、売上表6に対して定義
された参照制約から説明すると、制約「制約1」91は
売上表6の「商品番号」列が商品表4の「商品番号」列
を参照することを制約する。このとき、被参照列である
「商品番号」列に対する更新規則は「RESTRIC
T」であり、参照する商品表4の「商品番号」列の更新
時には更新対象となる値と同じ値をもつ売上表6の「商
品番号」列が存在しない場合のみ更新を許すことを規定
する。また、削除規則は「CASCADE」であり、商
品表4から1行削除する場合、削除する行に含まれる
「商品番号」列の値と同じ値をもつ売上表6の「商品番
号」列があれば、その行も削除することを規定する。こ
こで、「制約1」における主キー(primary key)は商品
表4の「部門番号」列であり、外部キー(foreign key)
は売上表6の「商品番号」列である。ここに示した更新
規則および削除規則についての詳細については後述す
る。
【0030】「制約2」92は、売上表6の「顧客番
号」列が顧客表5の「顧客番号」列を参照することを制
約する。このとき、被参照列である「顧客番号」列に対
する更新規則は「RESTRICT」であり、参照する
顧客表5の「顧客番号」列の更新時には更新対象となる
値と同じ値をもつ「売上」表の「顧客番号」列が存在し
ない場合のみ更新を許すことを規定する。また、削除規
則は「SET NULL」であり、顧客表5から1行削
除する場合、削除する行に含まれる「顧客番号」列の値
と同じ値をもつ売上表6の「顧客番号」列があれば、そ
の行の「顧客番号」列の値をNULL値(空値)に更新
することを規定する。ここで、「制約2」92における
主キーは顧客表5の「顧客番号」列であり、外部キーは
「売上」表の「顧客番号」列である。
【0031】同様に、「制約3」93は、仕入表7の
「商品番号」列が商品表4の「商品番号」列を参照する
ことを制約する。このとき、被参照列である「商品番
号」列に対する更新規則は「RESTRICT」であ
り、参照する商品表4の「商品番号」列の更新時には更
新対象となる値と同じ値をもつ仕入表7の「商品番号」
列が存在しない場合のみ更新を許すことを規定する。ま
た、削除規則は「CASCADE」であり、商品表4か
ら1行削除する場合、削除する行に含まれる商品表4の
「商品番号」列の値と同じ値をもつ仕入表7の「商品番
号」列があれば、その行も削除することを規定する。こ
こで、「制約3」93における主キーは商品表4の「商
品番号」列であり、外部キーは仕入表7の「商品番号」
列である。
【0032】ここで、リレーショナル・データベースに
ついて、再度説明する。リレーショナル・データベース
においては、データは複数のタップル(行)からなるリ
レーション(表)と呼ばれる論理的データ構造で構成さ
れる。さらに、行は複数のカラム(列)から構成され
る。データベース中には複数の表が定義される。また、
複数の表が定義される際に、前述したように表間のデー
タの関連を定義する参照制約が定義されることもある。
参照制約の定義においては、参照制約を定義する表の1
つあるいは複数の列で構成するキー(外部キー)を指定
し、当該外部キーが参照する主キーを指定する。この場
合、参照する表を参照表(外部キーをもつ表)といい、
参照される表を被参照表(外部キーによって参照される
主キーをもつ表)という。さらに、参照制約の定義で
は、参照する主キーのデータの操作に伴う規則を指定す
ることが可能である。指定する規則は、更新時の更新規
則、行の削除時の削除規則を指定することができる。ま
た、もう一つの規則として挿入規則がある。挿入規則は
指定することはできない暗黙の規則である。以下、各規
則について補足する。
【0033】ISO SQL2の規格を基に説明する。
更新規則には、4つのオプションが指定できる。指定で
きるオプションは、「CASCADE」、「SET N
ULL」、「SET DEFAULT」および指定しな
い場合の暗黙の規則である。「CASCADE」では、
被参照表の主キー値を更新する場合、更新する対象とな
った値と同じ値をもつ外部キーが存在すると、その外部
キー値も主キーの更新値と同じ値に更新するように、主
キーの更新を外部キーへ波及させるものである。「SE
T NULL」では、被参照表の主キー値を更新する場
合、更新する対象となった値と同じ値をもつ外部キーが
存在すると、その外部キー値をNULL値(空値)に更
新を伝播させるものである。「SET DEFAUL
T」では、「SET NULL」と同様に予め定められ
た省略時解釈値(デフォルト値)に更新するものであ
る。オプションを指定しない場合、被参照表の主キー値
を更新しようとする際、更新する対象となった値と同じ
値をもつ外部キーが存在するならば、被参照表の主キー
値は更新させないようにするものである。
【0034】削除規則についても、更新規則と同じく4
つのオプションを指定することができる。「CASCA
DE」では、被参照表の行を削除する場合、削除する対
象となった行の主キー値と同じ値をもつ外部キーが存在
すると、その外部キー値をもつ行も削除するようにす
る。「SET NULL」では、被参照表の行を削除す
る場合、削除する対象となった行の主キー値と同じ値を
もつ外部キーが存在すると、その外部キー値をNULL
値(空値)に更新する。「SET DEFAULT」で
は、被参照表の行を削除する場合、削除する対象となっ
た行の主キー値と同じ値をもつ外部キーが存在すると、
その外部キー値を予め定められた省略時解釈値に更新す
る。オプションを指定しない場合、被参照表の行を削除
しようとした際、削除する対象となった行の主キー値と
同じ値をもつ外部キーが存在するならば被参照表の行は
削除させないようにする。
【0035】さらに、暗黙の挿入規則では、オプション
を指定できないが、参照表へ行を挿入する場合、挿入す
る行に含まれるすべての外部キー値が、各々参照する被
参照表の主キー値に同じ値が存在するならば挿入するこ
とができるようにするものである。
【0036】以上、述べた説明を基に本発明の実施例を
さらに詳細に説明する。
【0037】本発明に係る実施例の主な処理の概略を図
1に示す。無制約表データロード・処理101では、参
照制約が定義されていない、すなわち外部キーをもたな
い表に対して、全入力データ行(即ちレコード)を目標
となる表に格納する。次に、参照制約の追加処理102
では、参照制約が定義されていない表、かつ、データが
格納された表に対してSQL文のALTER TABL
E文により、参照制約を追加する。例えば、図2に示し
た仕入表7に対して、「商品番号」列を外部キーとし、
商品表4の主キーである「商品番号」列を参照する参照
制約を追加する場合、次のようなSQL文により追加で
きる。
【0038】ALTER TABLE 「仕入」 ADD FOREIGN KEY (商品番号) REFERENCES 「商品」(商品番号) このSQL文により、参照制約の追加処理102が行わ
れる。「仕入」表に対する参照制約の追加により、デー
タベース管理システムは、図8に示した参照制約定義情
報管理表9に対して、「制約3」93の情報を追加す
る。さらに、図7に示した表定義情報管理表8に対し
て、仕入表7の情報84の参照表数を“1”に変更す
る。この変更が終了すると、次に検査保留状態初期設定
処理103に入る。
【0039】検査保留状態初期設定処理では、仕入表7
のように参照制約が追加された段階では、被参照表(商
品表4)に格納されたデータ(主キー値)と参照表(仕
入表7)に格納されたデータ(外部キー値)が参照制約
を満足しているという保証がないので、後で行う整合性
検査処理104により整合性を満足しているか否かとい
う状態を示す「検査保留状態」情報を検査が未完である
という状態すなわち保留状態に初期設定する。ここで、
仕入表7に対する参照制約「制約3」93が追加された
ので、図7の表定義情報管理表8の仕入表7に関する情
報84および図8に示した参照制約定義情報管理表9の
「制約3」93の各々の「検査保留状態」列は、初期状
態として、整合性検査処理が未完であることを示す状態
として、“P”という値が設定される。
【0040】こうして、各表にデータがロードされた段
階で、次の整合性検査処理104に入る。整合性検査処
理104では、参照表を対象として、参照表の各行の外
部キー値が参照する被参照表の主キー値中に同じ値が存
在するか否か、判別する。この整合性検査処理104で
は、前述したように被参照表の主キー・ファイルや参照
表の外部キー・ファイルを利用して、お互いに突合せ処
理を行うことにより、参照制約の違反を検出することが
できる。また、キー・ファイルが存在しなければ、デー
タベース中に格納された参照表から1行ずつデータを読
みだし、参照する被参照表の主キー値に同じ値をもつも
のがあるか否かを検索する。そして、参照制約に違反す
るデータが発見された場合には、該当するデータ(行)
をエラー情報格納ファイルなどに格納したり、印刷した
りすることによって、ユーザに伝える。これらのこと
は、本発明とは、重要な関連をもたないので詳細を省略
する。
【0041】整合性検査処理104で、整合性の検査処
理を行った結果、参照制約を侵害する行が検出されなか
った場合、検査保留状態解除処理105に入る。例え
ば、図2に示した表のうち、仕入表7について整合性検
査を行った結果、参照制約を侵害する行が検出されなか
った場合について述べる。まず、ディクショナリ表のう
ち、参照制約定義情報管理表9の仕入表7に定義された
参照制約定義情報「制約3」93の「検査保留状態」列
を、検査が完了した(すなわち整合性が維持できてい
る)と判断されたことを示す“N”という値に更新す
る。そして、表定義情報管理表8の仕入表7の定義情報
84の「検査保留状態」列も同様に、当該表のすべての
参照制約の整合性検査処理の検査が完了したと判断され
たことを示す“N”という値に更新する。これにより、
仕入表7の整合性検査の処理は終了し、データベースの
運用が行えるようになる。
【0042】一方、図2に示した表のうち、売上表6に
対して、上記仕入表7と同様に無制約表データロード・
処理101および参照制約の追加処理102を通して、
「制約1」91および「制約2」92が追加されたとす
る。そうすると、検査保留状態初期設定処理103では
同様にディクショナリ表の各情報に対応する「検査保留
状態」列の値が検査未完である状態を示す“P”という
値に更新される。そして、次の整合性検査処理104に
入る。売上表6について整合性検査を行った結果、当該
表に定義された参照制約のうち、商品表4との間に整合
性検査処理において参照制約に違反する行が検出され、
顧客表5との間に定義された参照制約については違反す
る行が検出されなかった場合について述べる。まず、整
合性検査処理104で、整合性の検査処理を行った結
果、参照制約に違反する行が検出された場合、検査保留
状態設定処理106に入る。検査保留状態設定処理10
6では、ディクショナリ表のうち、参照制約定義情報管
理表9の売上表6に定義された参照制約定義情報「制約
1」91の「検査保留状態」列を検査が未完であると判
断されたことを示す“P”という値に更新する。さら
に、参照制約定義情報管理表9の売上表6に定義された
参照制約定義情報「制約2」92の「検査保留状態」列
を検査が完了したと判断されたことを示す“N”という
値に更新する。そして、表定義情報管理表8の売上表6
の定義情報83の「検査保留状態」列は、当該表のいず
れかの参照制約の整合性検査処理の検査が未完である、
すなわちいずれかの参照制約において整合性が維持でき
ていないと判断されたことを示す“P”という値に更新
する。
【0043】整合性検査処理104の結果、参照制約に
違反する行が検出されたために、検査保留状態が未完状
態となっている表に対して、参照制約に違反する行をな
くするためのいくつかの修正処理が行われる。
【0044】修正処理の1番目は、ユーザからの指定に
より、検査未完の状態に設定された表の検査保留状態を
強制解除する検査保留状態強制解除処理107がある。
この処理では、ユーザからの指定により、参照制約に違
反する行をもつ参照表から、自明な制約違反となる行を
削除した場合に、検査保留状態を強制解除することがで
きる。例えば、上述した売上表6の場合、商品表4との
間で参照制約に違反すると認められたデータがエラー・
ファイルおよび印刷されて、判明している場合、すなわ
ち、売上表6の「商品番号」列のある値がユーザのミス
により、不正なデータであると判明した場合、ユーザか
らの指定により、「制約1」91または売上表6に対し
て検査保留状態を強制解除する。これによって、参照制
約定義情報9の「制約1」91の「検査保留状態」列を
“N”という値に更新し、さらに、表定義情報管理表8
の売上表6の情報の「検査保留状態」列も“N”という
値に更新する検査保留状態強制解除処理108が行われ
る。その後、参照制約違反となっている売上表6の行中
の外部キーである「商品番号」列の値を更新あるいは、
参照制約違反となっている売上表6の行を削除する外部
キー値更新/削除処理109を行う。これによって、再
度、すべてのデータが整合性を保証できると判断できる
かどうかを整合性検査処理104により行う。ただし、
ユーザからの指定によって強制的に検査保留状態を解除
された表に対しては、データベース管理者が当該表に対
するアクセスの制限を行う(データの修正を行う人にの
みアクセスを許可する)必要がある。
【0045】修正処理の2番目は、参照制約違反となっ
た原因が、被参照表にあると判断される場合、被参照表
に対してデータの更新を行うことによって、再度、整合
性検査処理104を行うようにする。まず、被参照表主
キー値追加/更新処理110である。この処理では、あ
らかじめ参照制約の違反となった参照表の行中の外部キ
ー値から、被参照表の主キー値にユーザのミスにより、
不正なデータがあると判断された場合には、当該不正な
主キー値を整合性を満足する値に更新する。または、参
照制約の違反となった参照表の行中の外部キー値が、被
参照表中の主キー値にないと判断された場合には、被参
照表に当該主キー値をもつ行を追加する。これらの処理
は、ユーザから、SQL文のUPDATE文やINSE
RT文に見られる問合せにより、実施できる。もうひと
つの被参照表追加ロード・処理111では、参照制約の
違反となった原因が、明らかに被参照表へのデータの格
納洩れによるものと判断される場合、被参照表に対し
て、データを追加ロードする処理を行う。以上、被参照
表主キー値追加/更新処理110および被参照表追加ロ
ード処理111を行った結果、再度、整合性検査処理1
04を行い、整合性の検査を行う。
【0046】修正処理の3番目は、被参照表あるいは参
照表に対して、データロードを行う処理をやりなおすこ
とである。この方法には、先にも述べたように被参照表
からデータロードをやりなおす処理115ないし117
で行う場合と、参照表からデータロードをやりなおす処
理112ないし114により実施される。まず、参照表
からやりなおす処理について説明する。参照表再ロード
処理112では、以前データロードした情報を修正し、
目標となる表に対して再ロードを行う。このとき、既に
格納されていたデータは無効にされ、あらたに格納され
ることになる。続いて、検査保留状態初期設定処理10
3へ戻る。参照表全行削除処理113では、SQL文の
DELETE文を利用して目標となる表のデータ(行)
をすべて削除する。すべて削除する場合には、DELE
TE文の探索条件WHERE節には何も指定されないこ
とで判明できる。ここで、目標となった表の全ての行が
削除されると検査保留状態解除処理114に入る。つま
り、当該表には、先までのような参照制約に違反するデ
ータが含まれていないため、検査保留状態を解除しても
よい。検査保留状態を解除した後は、参照表データロー
ド処理119または参照表への他表からの再ロード処理
120を行い、検査保留状態初期設定103へ戻る。次
に、被参照表のデータロードをやりなおす場合について
説明する。被参照表再ロード処理115では、以前デー
タロードした情報を修正し、目標となる表(被参照表)
に対して再ロードを行う。このとき、既に格納されてい
たデータは無効にされ、あらたに格納されることにな
る。続いて検査保留状態初期設定103へ戻る。被参照
表全行削除処理116では、SQL文のDELETE文
を利用して目標となる表(被参照表)のデータ(行)を
すべて削除する。すべて削除する場合には、DELET
E文の探索条件WHERE節には何も指定されないこと
で判明できる。ここで、目標となった表の全ての行が削
除されると検査保留状態設定処理117に入る。つま
り、当該表には、図2に示した表のうち、商品表4のよ
うに複数の参照表から参照されている場合があるため
に、一旦、ある参照表の制約が検査保留状態が解除され
ても、再度データがロードされる場合に、参照制約に違
反する行が格納されないとは言い切れないため、すべて
の制約の検査保留状態および参照表の検査保留状態を未
完の状態に更新する。そして、その後は、被参照表デ−
タロ−ド処理118を行い、検査保留状態初期設定10
3へ戻る。このようにして、検査保留状態が遷移する。
【0047】本発明に係る整合性検査処理の結果となる
状態を示す検査保留状態がユーザからの問合せに対して
どのような作用を及ぼすかについて説明する。
【0048】図2に示した表のうち、参照表にあたる
「売上」表6に対する問合せが入力された場合を例にと
って説明する。問合せは、SQL文に見られるSELE
CT文(検索)、UPDATE文(更新)、INSER
T文(挿入)、DELETE文(削除)のいずれであっ
てもよい。この場合、データベース管理システム20
は、ワークステーションなどの入力装置10から問合せ
を入力すると、構文・意味解析処理にて入力された問合
せの文法のチェックや問合せ中に記述された表や列が実
際にディクショナリ32中にあるか否かを解析する。こ
のとき、ディクショナリ32に格納された表定義情報管
理表8から、該当する表の情報として参照表数を取り出
しておく。取り出した情報は、データベース管理システ
ムが処理できる処理手続きとして当該問合せが生成され
るまでの内部情報として主記憶装置2上に記憶される。
そして、構文・意味解析処理の結果、正しいと判断され
た場合には、当該問合せに出現する表の最適なアクセス
経路を最適化処理22において選択する。選択されたア
クセス経路に基づいて、データベース管理システム20
が実行できる処理手続きを処理手続き生成処理23にお
いて生成する。このとき、処理手続き中の表の情報に、
先ほどディクショナリ32の表定義情報管理表8より取
り出した参照表数を検査し、参照表数が空値でない場
合、すなわち、参照制約をもつ表については、「売上」
表6の場合、参照表数は2であるので検査保留状態を表
のアクセス時に検査する指示を設定しておく。こうし
て、生成された処理手続きを処理手続き実行処理24が
逐次解釈実行する。そして、データベースに対する操作
が必要となった場合、データベース操作処理25に対し
て処理要求を発行し、要求されたデータベース操作(検
索、更新、削除、挿入)を行う。この場合、必ず、該当
する表に対してデータベースからのデータの取り出し要
求がある。当該データの取り出し要求の処理の流れ25
0を図11により説明する。
【0049】まず、実行している処理手続きにおいて、
データベースに対するデータの取り出し要求(FETC
H)が最初かどうかをチェックする(251)。最初の
FETCH要求の場合には、処理手続き中に格納された
当該アクセスする表の情報に検査保留状態のチェック指
示が設定されているか否かをチェックする(252)。
「売上」表は、検査保留状態の検査指示が設定されてい
るので検査保留状態の検査処理を行う(253)。検査
諸粒状隊の検査処理は、次のように実行される。データ
ベース管理システムが、ディクショナリ32に格納され
た表定義情報管理表8の「売上」表に関する情報83を
検索する。検索された情報83の「検査保留状態」列を
検査し(254)、「検査保留状態」列がもつ値が
“P”ならば整合性検査処理が未完であるため、当該処
理手続きの実行をただちに禁止し、撤回する処理(ロー
ルバック処理)を行う(256)。また、「検査保留状
態」列がもつ値が“N”ならば整合性検査処理が完了し
ている、すなわち、参照制約を満足しているため、要求
された表に対するデータの操作処理を行う(255)。
ステップ251の処理の結果、最初のFETCH要求で
ない場合、ただちに、要求された表に対するデータの操
作処理を行う(255)。これにより、毎回検査保留状
態の検査をすることなく処理を継続できる。ただし、2
回目移行のFETCH要求移行では、表の排他制御によ
り、検査保留状態が他の問合せ等によって更新されるこ
とはない。また、ステップ252により、検査保留状態
の検査指示が設定されていない場合には、検査保留状態
の検査をする必要がないので、ただちに、要求された表
に対するデータの操作処理を行う(255)。
【0050】上記のように、検査保留状態を表に対して
もたせておくことによって、問合せによって、不正なデ
ータをもつ表へのアクセスのみを禁止することができ
る。
【0051】
【発明の効果】以上、説明したように、本発明により、
データベース管理システムが管理するある表の項目のデ
ータが他の項目のデータとの間で満足すべき関係を規定
した少なくとも一つの制約条件を追加する場合、表に格
納されたデータが制約条件を満足しているか否かを示す
検査状態情報を制約条件に対応させて記憶しておくの
で、表への大量のデータの格納において、参照制約の実
施を遅延させて行う場合に、データベースの管理を効率
良く行うことができる。
【0052】また、データ操作の要求に対し、検査状態
情報を検査し、状態が未完である場合には、データ操作
の要求を禁止することにより、ユーザに安全なデータを
操作することができる。
【図面の簡単な説明】
【図1】本発明の実施例における検査状態情報のデータ
ベース操作による状態の遷移を説明するためのフローチ
ャート。
【図2】本実施例で例にとった4つの表の参照関係を示
す説明図。
【図3】図2の「商品」表の列の構成およびデータの実
現値を示す説明図。
【図4】図2の「顧客」表の列の構成およびデータの実
現値を示す説明図。
【図5】図2の「売上」表の列の構成およびデータの実
現値を示す説明図。
【図6】図2の「仕入」表の列の構成およびデータの実
現値を示す説明図。
【図7】図2で示した表の定義情報を管理するディクシ
ョナリ中の「表定義情報管理」表の列の構成およびデー
タの実現値を示す説明図。
【図8】図2で示した4つの表間の参照制約の定義情報
を管理するディクショナリ中の「参照制約定義情報管
理」表の列の構成およびデータの実現値を示す説明図。
【図9】実施例の動作するハードウエア構成を示すブロ
ック図。
【図10】本発明の動作するデータベース管理システム
の構成を示す説明図。
【図11】本発明によるデータベースの検索処理の処理
の流れを示すフローチャート。
【符号の説明】
1…CPU、2…主記憶装置、3…外部記憶装置、8…
表定義情報管理表、9…参照制約定義情報管理表、20
…データベース管理システム、21…構文・意味解析処
理、22…最適化処理、23…処理手続き生成処理、2
4…処理手続き実行処理、25…データベース操作処
理、26…バッファ管理、31…データベース、32…
ディクショナリ、91…制約1、92…制約2、93…
制約3。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】データベース中のある表の項目のデータが
    他の表の項目のデータとの間で満足すべき関係を規定し
    た少なくとも一つの制約条件を新たに追加するのに伴っ
    て、前記制約条件をデータベース中に記憶させ、前記あ
    る表に既に格納されているデータが前記制約条件を満足
    しているか否かが未検査であることを示す“未検査状
    態”を検査状態情報として前記制約条件に対応させて記
    憶すると共に前記ある表へのアクセスを禁止し、前記格
    納されているデータが前記制約条件を満足するか否かを
    検査し、該検査の結果、前記制約条件を満足するなら
    ば、前記検査状態情報を、検査が完了したことを示す
    “検査完了状態”に変えると共に前記ある表に関するす
    べての制約条件について“検査完了状態”となったとき
    前記ある表へのアクセス禁止を解除することを特徴とす
    るデータベース管理方法。
  2. 【請求項2】請求項1記載のデータベース管理方法にお
    いて、前記ある表は前記他の表を参照する表であること
    を特徴とするデータベース管理方法。
  3. 【請求項3】請求項1記載のデータベース管理方法にお
    いて、前記ある表に新たに格納されたデータが前記制約
    条件を満足するか否かを検査し、該検査の結果、満足し
    ないならば前記検査状態情報を検査が完了していないこ
    とを示す“未検査状態”とし、前記表に係わる前記制約
    条件の前記検査状態が“未検査状態”であるならば、前
    記表へのアクセスを禁止することを特徴とするデータベ
    ース管理方法。
  4. 【請求項4】請求項1記載のデータベース管理方法にお
    いて、前記制約条件を追加した前記ある表を使用するユ
    ーザからの問合せに対して生成された処理手続きの中
    に、前記検査状態情報を検査する指示を付加し、前記処
    理手続きを実行するときに、前記検査状態情報を検査す
    る指示があると、前記検査状態情報を検査し、前記ある
    表に係わる前記制約条件の検査状態が“未検査状態”で
    あるならば、前記ある表へのアクセスを禁止することを
    特徴とするデータベース管理方法。
  5. 【請求項5】請求項4記載のデータベース管理方法にお
    いて、前記ある表に係わる前記制約条件の検査状態が
    “検査完了状態”であるならば、前記ある表へのアクセ
    スを許可することを特徴とするデータベース管理方法。
  6. 【請求項6】データベースと、 該データベース中のある表の項目のデータが他の表の項
    目のデータとの間で満足すべき関係を規定した少なくと
    も一つの制約条件を新たに追加するのに伴って、当該制
    約条件をデータベース中に記憶させると共に、未検査で
    あることを示す“未検査状態”を当該制約条件について
    の検査状態情報として当該制約条件に対応させて記憶す
    る手段と、 前記ある表に既に格納されているまたは新たに格納され
    たデータが前記制約条件を満足しているか否かを検査
    し、該検査の結果、前記制約条件を満足しないならば前
    記“未検査状態”を、満足するならば検査が完了したこ
    とを示す“検査完了状態”を、当該制約条件についての
    検査状態情報として当該制約条件に対応させて記憶する
    手段と、 前記制約条件が付加された表へのアクセスの際、当該表
    に関するすべての制約条件についての前記検査状態情報
    が“検査完了”であれば当該表へのアクセスを許可し、
    いずれか1つでも検査状態情報が“未検査状態”であれ
    ば当該表へのアクセスを禁止するアクセス許可/禁止手
    段と、 を有することを特徴とするデータベース管理システム。
  7. 【請求項7】請求項6記載のデータベース管理システム
    において、前記制約条件が付加された表ごとに検査状態
    情報を記憶する手段をさらに有し、前記アクセス許可/
    禁止手段は当該表ごとの検査状態情報を調べてアクセス
    の許可/禁止を行うことを特徴とするデータベース管理
    システム。
JP4157031A 1992-06-16 1992-06-16 データベース管理方法およびシステム Pending JPH064383A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4157031A JPH064383A (ja) 1992-06-16 1992-06-16 データベース管理方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4157031A JPH064383A (ja) 1992-06-16 1992-06-16 データベース管理方法およびシステム

Publications (1)

Publication Number Publication Date
JPH064383A true JPH064383A (ja) 1994-01-14

Family

ID=15640678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4157031A Pending JPH064383A (ja) 1992-06-16 1992-06-16 データベース管理方法およびシステム

Country Status (1)

Country Link
JP (1) JPH064383A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944389A (ja) * 1995-08-03 1997-02-14 Fujitsu Ltd データベースチェックシステム
JPH09305462A (ja) * 1996-05-20 1997-11-28 Pfu Ltd データ管理装置
JP2000305997A (ja) * 1999-04-23 2000-11-02 Nec Corp 会計システムおよび会計データ整合性チェック方法
JP2001034518A (ja) * 1999-07-27 2001-02-09 Nec Software Chugoku Ltd 分散データベースシステムにおける主従関係情報同期方式
JP2006155320A (ja) * 2004-11-30 2006-06-15 Toshiba Corp ディスクアレイコントローラ、コンピュータシステム、およびディスクアレイの整合性検査エラーログ記録方法
JP2009026163A (ja) * 2007-07-23 2009-02-05 Fujitsu Ltd データベース検証方法及び装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944389A (ja) * 1995-08-03 1997-02-14 Fujitsu Ltd データベースチェックシステム
JPH09305462A (ja) * 1996-05-20 1997-11-28 Pfu Ltd データ管理装置
JP2000305997A (ja) * 1999-04-23 2000-11-02 Nec Corp 会計システムおよび会計データ整合性チェック方法
JP2001034518A (ja) * 1999-07-27 2001-02-09 Nec Software Chugoku Ltd 分散データベースシステムにおける主従関係情報同期方式
JP2006155320A (ja) * 2004-11-30 2006-06-15 Toshiba Corp ディスクアレイコントローラ、コンピュータシステム、およびディスクアレイの整合性検査エラーログ記録方法
JP4580743B2 (ja) * 2004-11-30 2010-11-17 株式会社東芝 ディスクアレイコントローラ、コンピュータシステム、およびディスクアレイの整合性検査エラーログ記録方法
JP2009026163A (ja) * 2007-07-23 2009-02-05 Fujitsu Ltd データベース検証方法及び装置

Similar Documents

Publication Publication Date Title
US6665678B2 (en) Method, system, and program for optimistic concurrency control for scrollable cursors in a database
US6601023B1 (en) Method for impact analysis of a model
US7028057B1 (en) Versioned relational database system with an optimistic constraint model
US8078643B2 (en) Schema modeler for generating an efficient database schema
JP3251837B2 (ja) データベースにおける制約違反の検査方法及びそのシステム
US5592661A (en) Detection of independent changes via change identifiers in a versioned database management system
US7653665B1 (en) Systems and methods for avoiding database anomalies when maintaining constraints and indexes in presence of snapshot isolation
US5551029A (en) Method for associating integrity maintenance constraints with data object classes in an object-oriented database
US9348737B2 (en) Query-based generation of data records
JP2710555B2 (ja) データベースにおける制約の実行の自動化のためのシステム及び方法
US6189010B1 (en) Method for repairing constraint violations in a database management system
Sun et al. Modeling data for business processes
US5513350A (en) Update constraints in transactions which may abort
US6112199A (en) Data item values
US6304876B1 (en) Method for enforcing integrity constraints in a database table using an index
US6401089B2 (en) Method for maintaining exception tables for a check utility
CA2307155A1 (en) Execution of database queries including filtering
Simon et al. Design and implementation of an extendible integrity subsystem
JPH064383A (ja) データベース管理方法およびシステム
US9697239B1 (en) Token-based database system and method of interfacing with the token-based database system
US5802512A (en) Storage, replay and error detection of user-defined queries
US5953715A (en) Utilizing pseudotables as a method and mechanism providing database monitor information
Peat Practical guide to DBMS selection
Goksu et al. Managing Ever-increasing Amounts of Data with IBM DB2 for Z/OS: Using Temporal Data Management, Archive Transparency, and the DB2 Analytics Accelerator
Malcher et al. Tables and Constraints