JP2710555B2 - データベースにおける制約の実行の自動化のためのシステム及び方法 - Google Patents

データベースにおける制約の実行の自動化のためのシステム及び方法

Info

Publication number
JP2710555B2
JP2710555B2 JP6075902A JP7590294A JP2710555B2 JP 2710555 B2 JP2710555 B2 JP 2710555B2 JP 6075902 A JP6075902 A JP 6075902A JP 7590294 A JP7590294 A JP 7590294A JP 2710555 B2 JP2710555 B2 JP 2710555B2
Authority
JP
Japan
Prior art keywords
constraint
constraints
entity
checking
database
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
JP6075902A
Other languages
English (en)
Other versions
JPH06337807A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06337807A publication Critical patent/JPH06337807A/ja
Application granted granted Critical
Publication of JP2710555B2 publication Critical patent/JP2710555B2/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • 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/953Organization of data
    • Y10S707/962Entity-attribute-value
    • 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/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ビジネス・データを表
現するために用いられる実体関連(entity-relationshi
p)データ・モデルに基づくデータベースにおける制約
の実動化及び実行に関する。特に、実体インスタンス
(entity instance)の変更、作成又は削除のためのユ
ーザ要求に対する適用可能な制約の決定、並びにその適
用可能な制約のためのコードの自動発生及び実行に関す
る。
【0002】
【従来の技術】実体関連(entity-relationship:E
R)モデル技術は、例えば社会的組織又は企業等の状況
についての情報を構築するために用いられる図式的技術
である。ERモデル技術により、情報をデータとして表
現しかつそのデータをデータベースとして利用するため
にデータ構造の中に入れておくことができる。ERデー
タ・モデルは、特に実体形式及び実体形式間の関連に対
して世界的に通用するグラフィカル表示による直観的表
現をサポートするよう設計されている。ERデータ・モ
デルは、例えば、Peter Pin-Shan Chenによる著述「The
Entity-Relationship Model--Toward a Unified View
of Data 」(ACM Transactions on DatabaseSystems, Vo
l. 1, No. 1, pages 9-37(1976))等において提示され
た。
【0003】International Businesss Machines Corpo
ration より出された文献「AD/Cycle Information Mode
l: Reference Volume 1: Enterprise Submodel」に記載
されているAD/サイクル情報モデル(AD/Cycle infom
ation Model)は、ERモデル技術のための1つの手段
を与えている。このモデルにおいては、実体形式は、複
数の概念構成について記述される。この実体形式、EN
T_ENTITY_TYPEは、企業データベース管理
者にとって重要な特性を有する人、物、又は概念を分類
するためのテンプレートとして用いられる。
【0004】同じ類に属する人、物、又は概念の実体
は、特定のENT_ENTITY_TYPEへの分類に
より実体インスタンスとなる。記述により与えられたも
のは、なんであれそのシステムにより理解される事実の
主体であり、実体インスタンスである。各実体形式は実
体インスタンスの組であり、同じ種類の事実により記述
される。実体についての事実は、その実体インスタンス
を識別する実体インスタンスについての属性形式(attr
ibute type)、関係リンク(relationship link)、又
は複合事実(compound fact)へ変換される。
【0005】関係リンクは、1又は複数の実体形式の実
体インスタンス間の関係形式の定義における指向性要素
である。関係形式の一例は、所定の形式の2つの実体イ
ンスタンス間の対称的な結合又は関連の形式を表現する
ものである。2つの実体間の対称的又は逆対称的関係の
例としては、「ジョンとサリーはきょうだいである。」
という文が挙げられる。関係リンクは指向性であり、2
つの実体インスタンスは相補的関係リンクによりリンク
させることができる。相補的関係リンクの例には、「ジ
ョンはサリーの子供である。」及び「サリーはジョンの
親である。」がある。いずれの関係形式も、実体とし
て、値を割当てることにより特定の関係インスタンスに
ついて特徴づけられる属性を有する。関係リンク及び関
係形式は、実体形式の一種ではあるが、本明細書におい
ては特にことわらない限りそのように呼ばないこととす
る。
【0006】モデルの完全性が目的ではない。企業のた
めのデータ・モデルは、その企業により雇用されている
人々を意味する実体形式「従業者」を含む場合がある。
さらに実体形式「人」を含めて、そのグループのインス
タンスを「人−従業者」の関連を通して実体形式「従業
者」に関係づけることは、表現としては可能であるがほ
とんど重要性がない。考え得ることを一々全て記録する
ことは全く不可能である。実体形式及び関係形式は、定
義された特定の形式をもつ特定の実体インスタンス又は
関係インスタンスの集りである。
【0007】属性(attribute)は、所定の実体インスタ
ンス及び関係インスタンスについての値を有する。例え
ば従業者であれば、従業者番号、名前、従業開始日、年
齢等を有する。属性は、実体形式のインスタンスと値の
組との間のマップである。実体インスタンスの組から値
の組への属性マッピングが1対1対応である場合は、実
体インスタンスを属性値により識別することができる。
これらは実体キーである。2以上の属性がこの基準に当
てはまる場合、1つが主キーとして選択される。主キー
はまた、関係リンクとして定義される。関係インスタン
スがそれが含まれる実体により識別されるので、そのイ
ンスタンスの主キーはそれが含まれる実体インスタンス
の主キーにより形成できる。キーは、実体インスタンス
に与えられた任意の値又は絶対的な値により設定しても
よい。例えば、企業の従業者に対する従業者番号等であ
る。
【0008】実体に関連する情報は、関係に関連する情
報から分離される。もちろん、いずれが実体でいずれが
関係であるかを明確に分ける境界線はない。特定のアプ
リケーションにおけるオブジェクトの分類(categoriza
tion)は、特定データベースの設計者の問題である。
【0009】ER図は、チャートとして視覚的フォーマ
ットで表現できる。このことは理解し易い点で有益であ
るが、いくつかの重要な情報は図によって表せないとい
う欠点がある。このような情報については、モデルに対
して制約又は論理限定を与えることにより考慮されてい
る。制約(constrain)は、それ以外の場合におけるデー
タベースの有効な更新を禁ずるために用いられる。制約
は、データ・モデルの中で項目がいかに利用できるかに
ついての非常に明確で準論理的な規則である。
【0010】AD/サイクル情報モデルにおいては、実
体形式、関係リンク及び関係形式についていくつかの制
約が、ハードコード化されている。これらは実行可能な
形で記憶されており、それによりデータベース設計者が
制約に違反することを防ぐ。他の多くの制約が自動化さ
れておらず、それらの実動化には、実体インスタンスの
作成、削除及び変更に対するマニュアル(手動)検査が
必要である。
【0011】
【発明が解決しようとする課題】本発明の目的は、デー
タベースの更新を管理するための改良されたシステム及
び方法を提供することである。本発明の別の目的は、実
体関連モデルをデータベースの手法として用いることに
よりデータベースにおける制約の実動化及び実行を可能
にすることである。本発明のさらに別の目的は、ユーザ
のデータ入力に対して適用可能な制約を決定し、そして
データベースへそのデータを追加する前にコードを自動
的に発生しかつ実行するためのシステム及び方法を提供
することである。
【0012】
【課題を解決するための手段】本発明の目的は、以下の
ように達成される。本発明は、データベースを更新する
ためにコンピュータを操作するシステム及び方法を提供
する。実体形式インスタンスを作成し、削除し又は変更
するためにユーザにより作られるエントリ(入力)は、
適用可能な制約を決定するために検査され、その後、そ
の制約がアクティブにされてプールに入れられる。その
後、アクティブにされた制約に対して検査順序が決定さ
れる。論理文に対してデータを与えるために必要であれ
ばデータベース・コールを用いて、第1番目の制約がコ
ード化された後、コーダ化された制約が検査される。も
し制約に違反した場合、エラー信号が出され、プロセス
は、修正されたユーザ・データの処理ために制約をアク
ティブにするステップへ戻る。違反しない場合、検査す
べき制約が残っていないかどうかを判断した後、制約を
アクティブにするステップか又は出口ステップへ戻る。
【0013】
【実施例】図1は、コンピュータの入出力端末10を示
している。端末10は画面12上に、データ・モデル・
グラフィック14の形で情報を表示する。ここでは企業
を表現している。いくつかの実体形式が、人の分類であ
る従業者実体16を含むグラフィック14に提示されて
いる。各従業者は、オフィスを割当てられているので、
従業者実体形式16は、関係「〜に従事する」によりオ
フィス実体形式18の方向へリンクされる。従業者は別
の従業者とオフィスを共有しているので、関係「〜と共
有する」により従業者実体形式からそれ自身への関係を
形成する。
【0014】従業者は選択された装置を使用するので、
従業者実体形式は16はハードウェア実体形式への関係
20を有する。ハードウェア・インスタンスは計画24
の一部であり、関係「〜により計画される」により計画
インスタンスに関連づけられる。従業者は、開発計画2
2のインスタンス「を所有する」場合があるので、開発
計画インスタンスは従業者実体形式16の特定のインス
タンス「によりセットされる」場合がある。ハードウェ
ア実体形式20及び開発計画22は双方とも、それぞれ
のリンク「〜により記述される」及び「〜を含む」によ
り従業者計画実体形式26への関係を有する。開発計画
実体形式22は、ジョブ記述実体形式28のインスタン
スを含む。従業者計画実体形式26は、安全対策実体形
式30の方向へ関係「〜に従う」によりリンクされる。
安全対策実体形式30は、オフィス実体形式18内のオ
フィス・インスタンスの「監査(オーテ゛ィット)」を行う。
【0015】図2は、グラフィック14中の実体形式を
定義するために必要な構造を与える実体関連図32を示
している。全ての特定実体形式は、実体形式データ構造
34に基づいており、これは関係リンク実体形式36に
対する関係「〜により記述される」によってリンクされ
る。その関係は1対多の対応であり、関係リンク36の
複数のインスタンスが実体形式34の1つのインスタン
スに関連づけられることを意味する。関係リンク36か
ら実体形式34へ戻る関係は「〜を記述する」として特
徴づけられる。
【0016】関係リンク36のインスタンスは、非指向
性の関係特性を表している。関係形式38及び関係リン
ク36は、関係「〜を定義する/〜により定義される」
及び関係「〜を決定する/〜により決定される」によっ
て関連づけられる。いずれの関係も1対1の対応であ
り、関係リンクの1つのインスタンスが関係形式の1つ
のインスタンスを決定することを意味する。
【0017】図3は、図2の関連図の適用を示してい
る。従業者実体形式のインスタンス40は、「〜により
管理される」と称する関係リンクのインスタンス42に
より記述される。インスタンス「〜により管理される」
42は、関係形式インスタンス44を決定し、今度はこ
れが、「〜を管理する」という関係リンクのインスタン
ス46により定義される。その後、関係リンクのインス
タンス46は管理者実体形式インスタンス48を記述す
る。図4は、図3の実施モデルの古典的な表現を示して
おり、AD/サイクル情報モデルに基づいている。
【0018】図5は、自動的な制約有効化が可能なデー
タ処理システム50において実動化されたデータベース
の機能プロセスの間の相互関係を示したブロック図であ
る。データ処理システム50は、ユーザが実体インスタ
ンスの変更、作成又は削除のために要求することができ
るユーザ入出力インターフェース52を有する。中央演
算処理装置(CPU)54は、命令実行、割込み動作、
タイミング機能、初期プログラム・ロード、及び他のマ
シン関連機能のための通常のシーケンス及び処理を行
う。CPU54を物理的に実現する場合は、データ処理
システムへのデータ処理システムとは区別してもよい。
【0019】実体関連モデルのデータベース56は、デ
ータベースにより記憶された情報を体系化する収納管理
機構及びデータ構造を含む機能の集りとしてシステム仮
想記憶58中に常駐する。情報モデル60は、データベ
ース56の一部である。情報モデル60はユーザ実体関
連データ・モデル62をサポートし、そしてこれがユー
ザに対するデータベースのグラフィカル表示をサポート
する。
【0020】制約64は、前述のように、データベース
56内の実体インスタンスの論理的限定であり、実体形
式及び関係から予測不能であるかまたはそれらのグラフ
ィカル表示では容易に表現されず、従って実体関連デー
タ・モデルに基づくデータ構造に含めることができない
ものである。例えば、管理者と血縁又は婚姻による関係
のある縁故者を従業者とすることを禁ずる反縁故主義の
規則を有する企業を想定する。簡単にするために、この
規則は、姓が共通する管理者の縁故者を従業者とするこ
とを禁ずることにより(部分的)に実施されるものとす
る。論理的に、この制約は以下のように表される。 (1) If Employee Entity_Type, Name Attribute .AND.
Manager Entity_Type, Name Attribute are the SAME t
hen ERROR.(もし従業者実体形式の名前属性と管理者実
体形式の名前属性が同じならば、エラーとする。) エラーは制約違反であり、そして制約64の1つに違反
するようなデータベース56の実体インスタンスを作
成、変更又は削除する試行は、許可されない。制約エン
ジン66は、データベース56に関する制約64を有効
にするプロセスである。
【0021】図6は、制約エンジン66のプロセスにつ
いての論理流れ図である。このプロセスは、データベー
ス56内の実体インスタンスを変更、作成又は削除する
ユーザ要求に対するリポジトリ・マネージャ(repositor
y manager)から呼出される。制約エンジンはステップ7
0において開始され、ユーザ要求により表現された新デ
ータのために制約をアクティブ(活動化)にする。この
ようなデータは元々情報モデルの構文(syntax)に従う
ようになっている。変更を要求された特定の種類の実体
形式にリンクされた制約のリストは、システム仮想記憶
58中に備えられている。アクティブにされた制約は、
使用するためにプール中に置かれるか又はリストにリン
クされる。次に、制約を並べて並べた順に検査するため
のステップが開始される。
【0022】ステップ72は、制約の実行又は検査のた
めにアクティブにされた制約を並べるために実行され
る。ステップ72では、いずれの制約が最も最近検査さ
れたかを判断するために制約を検査する。プールが、ア
クティブにされたばかりの制約から排他的に構成される
場合、いずれの制約も検査されておらず、従って全てが
最も最近検査されたとして処理される。ステップ72
は、制約を並べて検査するためのステップを通して繰返
されるループの実行中、いずれの制約についても欠乏が
生じることを防ぐために設けられる。
【0023】次に、ステップ74は、最も最近検査され
たと判断された制約の中から、最大数の実体インスタン
スに関連する制約を決定するために実行される。より関
連性のある制約の方がより違反しがちであるという事実
に基づくと、このような制約は、実体形式インスタンス
に対してより関連性の少ない制約よりも早く検査される
方が好ましい。ユーザとプロセッサの時間を節約するた
めにこのような違反を、できるだけ早い時期に置く方が
好ましい。
【0024】次に、ステップ76が実行される。複数の
制約が最大数の関連インスタンスを有する場合、ステッ
プ74から送られる制約は、最も複雑な制約を見出すた
めに評価される。この評価は、制約の中の論理演算の数
に基づいている。ここでも目的は、最も違反しそうな制
約を見出すことである。最も違反しそうな制約を予測す
るための他の手段が利用できる場合は、それをステップ
74及びステップ76に置換えてもよい。
【0025】次に、ステップ78が、検査順に次の制約
の論理関係に対して適切なコードを発生するために実行
される。AD/サイクル情報モデル等のシステムの制約
言語は非常に明確であるので、実行可能なコードに直接
変換することができる。この変換プロセスには、新デー
タの適切なポイントへの挿入も含まれる。データがユー
ザにより与えられない場合、データベース56への問合
せを発生させて制約コードの先頭の検査プログラムに挿
入することができる(ステップ80)。AD/サイクル
情報モデルにおいては、これらがリポジトリ・マネージ
ャ(repositorymanager)インターフェース呼出しの形を
採る。制約エンジンは、リポジトリ・マネージャ(repos
itory manager)である共通プログラミング・インターフ
ェース(Common Programming Interface)を用いてデー
タを検索し、記憶する。ステップ82において問合せ及
び制約のコードが実行され、その結果が返される。ステ
ップ78乃至82は、エキスパート・システムにおける
規則ベースの推論に類似の方法で動作する。
【0026】ステップ82の結果は、エラー(すなわ
ち、制約に違反する)か又はエラーでない(すなわち、
制約に違反しない)かのいずれかである。その結果は、
ステップ84で検出される。制約違反が起きた場合は、
ステップ84からステップ86へのYESの枝が選択さ
れ、ユーザに注意を促すためにエラーがログされ処理さ
れる。次に、ステップ88においてユーザから別のデー
タ入力を受取り、新データの適切な制約をアクティブに
するためにステップ70へ処理を戻す。検査されずに先
のステップから持越された制約が、最も最近に用いられ
たものになる。ステップ84において制約に違反しない
と判断されたならば、ステップ90へのNOの枝が選択
され、他にアクティブな制約がないか否か判断される。
もしYESであれば、ステップ70に処理を戻す前にス
テップ88において1又は複数のユーザからのさらに別
のデータ入力を許可するよう処理することができる。し
かしながら、ステップ90において検査されていない制
約が残っていなければ、この処理から出る。
【0027】以下のとうり発明を開示する。 (1) 実体関連モデルによるデータベースを更新する
ためにコンピュータを操作する方法において、実体のイ
ンスタンスの新しいデータ若しくは変更されたデータ又
は実体のインスタンスを削除するためのデータを受取る
ステップと、前記受取ったデータに適用可能な制約をア
クティブにするステップと、前記アクティブにされた制
約の中から検査を行うために少なくとも第1の制約を含
む検査順序を決定するステップと、前記第1の制約を検
査するステップと、前記第1の制約が違反されたか否か
を判断するステップと、検査すべき制約が残っている場
合は、前記制約を検査するステップへと戻るステップと
を有する、コンピュータを操作する方法。
【0028】(2) 前記アクティブにされた制約の検
査順序を決定するステップが、最も最近検査された制約
の組を見出し、該最も最近検査された制約がただ1つで
ある場合、該制約を前記検査順序における第1の制約と
するステップと、最も最近検査された制約の組として複
数のアクティブな制約が見出された場合、該組の中の制
約のいずれが、最大数の実体インスタンスと関連してい
るかを見出し、最大数の実体インスタンスと関連してい
る制約がただ1つである場合、該制約と前記検査順序に
おける第1の制約とするステップと、複数のアクティブ
な制約が前記最大数の実体インスタンス及び関係インス
タンスと関連している場合、該アクティブな制約を複雑
さについて評価し、最も複雑な制約を前記検査順序にお
ける第1の制約とするステップとを有する、(1)に記
載のコンピュータを操作する方法。
【0029】(3) 前記検査順序において第1の制約
を検査するステップが、前記第1の制約のためのコード
を発生するステップと、前記第1の制約に対する入力を
完成するためにデータベースへの問合せのためのコード
を発生するステップと、前記発生されたコードを実行す
るステップとを有する、(1)に記載のコンピュータを
操作する方法。
【0030】(4) 前記検査順序において第1の制約
を検査するステップが、前記第1の制約のためのコード
を発生するステップと、前記第1の制約に対する入力を
完成するためにデータベースへの問合せのためのコード
を発生するステップと、前記発生されたコードを実行す
るステップとを有する、(2)に記載のコンピュータを
操作する方法。
【0031】(5) 前記アクティブにされた制約の検
査順序を決定するステップが、最も最近検査された制約
の組を見出し、最も最近検査された制約がただ1つであ
る場合、該制約を前記検査順序における第1の制約とす
るステップと、最も最近検査された制約の組として複数
のアクティブな制約が見出された場合、該組の中の制約
のいずれが、最大数の実体インスタンスと関連している
かを見出し、最大数の実体インスタンスと関連している
制約がただ1つである場合、該制約と前記検査順序にお
ける第1の制約とするステップと、複数のアクティブな
制約が前記最大数の実体インスタンス及び関係インスタ
ンスと関連している場合、該アクティブな制約を複雑さ
について評価し、最も複雑な制約を前記検査順序におけ
る第1の制約とするステップとを有する、(3)に記載
のコンピュータを操作する方法。
【0032】(6) 制約の違反をエラーとしてログす
るステップを有する、(1)に記載のコンピュータを操
作する方法。
【0033】(7) 前記検査順序を決定するステップ
が、前記アクティブにされた制約から最も違反されそう
な制約を予測するステップと、前記予測された制約を前
記検査ステップのために選択するステップとを有する、
(1)に記載のコンピュータを操作する方法。
【0034】(8) データ処理システムにおいて実体
関連モデルによるデータベースのために制約を有効化す
る装置であって、前記データベース内の実体形式インス
タンスの変更、作成又は削除を要求するユーザ入力手段
と、システム記憶装置内に常駐する複数の制約と、ユー
ザ入力要求に対して適用可能な制約をアクティブにする
手段と、前記アクティブにされた制約の中から検査する
ための制約を選択する手段と、前記制約を検査する手段
と、前記制約が違反されたか否かを判断する手段とを有
する、データ処理システムにおける装置。
【0035】(9) 前記検査するための制約を選択す
る手段が、最も最近検査された制約の組を見出し、該最
も最近検査された制約がただ1つである場合、該制約を
検査順序における第1の制約とする手段と、最も最近検
査された制約が複数あることに応答して、該最も最近検
査された制約の組の中から最大数の実体インスタンスに
関連する制約を見出す手段と、前記最大数の実体インス
タンスに関連する1つの制約を見出したことに応答し
て、該1つの制約を前記検査順序における第1の制約と
する手段と、前記最大数の実体インスタンスに関連する
アクティブな複数の制約を見出したことに応答して、該
制約のそれぞれを複雑さについて評価し、最も高い評価
の制約を前記検査順序における第1の制約とする手段と
を有する、(8)に記載のデータ処理システムにおける
装置。
【0036】(10) 前記制約を検査する手段が、前
記制約をコード化する手段と、前記制約中の変数に対し
て値を与えるためにデータベースへの問合せをコード化
する手段と、前記コードを実行する手段とを有する、
(8)に記載のデータ処理システムにおける装置。
【0037】(11) 前記制約を検査する手段が、前
記最も高い評価の制約のためのコードを発生する手段
と、前記最も高い評価の制約中の変数に対して値を与え
るためにデータベースへの問合せのコードを発生する手
段と、前記発生されたコードを実行手段とを有する、
(9)に記載のデータ処理システムにおける装置。
【0038】(12) 前記検査するための制約を選択
する手段が、最も最近検査された制約の組を見出し、該
最も最近検査された制約がただ1つである場合、該制約
を検査順序における第1の制約とする手段と、最も最近
検査された制約が複数あることに応答して、該最も最近
検査された制約の組の中から最大数の実体インスタンス
に関連する制約を見出す手段と、前記最大数の実体イン
スタンスに関連する1つの制約を見出したことに応答し
て、該1つの制約を前記検査順序における第1の制約と
する手段と、前記最大数の実体インスタンス及び関係イ
ンスタンスに関連するアクティブな複数の制約を見出し
たことに応答して、該アクティブな制約を複雑さについ
て評価し、最も高い評価の制約を前記検査順序における
第1の制約とする手段とを有する、(10)に記載のデ
ータ処理システムにおける装置。
【0039】(13) 制約の違反をエラーとしてログ
する手段を有する、(8)に記載のデータ処理システム
における装置。
【0040】(14) 前記検査するために制約を選択
する手段が、前記アクティブにされた制約の中から最も
違反されそうな制約を予測する手段と、前記予測された
制約を検査される第1の制約として選択する手段とを有
する、(8)に記載のデータ処理システムにおける装
置。
【発明の効果】制約は、制約言語で記述されており、コ
ンピュータ・システムの通常のユーザには容易に理解で
きない。制約を自動的に有効化することにより、ユーザ
が制約を誤解したり、制約の適用に失敗したりする虞が
除かれる。このようなエラーや誤操作は、データモデル
を無意味にしてしまう。本発明により、このようなユー
ザのエラーや誤操作の可能性を無くすことができる。
【図面の簡単な説明】
【図1】コンピュータ端末表示におけるユーザ・データ
・モデルの表現である。
【図2】図1のユーザ・データ・モデルをサポートする
実体関連モデルのグラフィック表現である
【図3】実体関連モデルのインスタンス・データのシー
ケンスのグラフィック表現である。
【図4】図3の情報モデル表現である。
【図5】本発明により制約の有効化が自動化されたデー
タベースを実動化したデータ処理システムのハイレベル
の機能ブロック図である。
【図6】図5の制約エンジンを実動化するプロセスのハ
イレベルの論理流れ図である。
【符号の説明】
10 コンピュータ端末 12 画面 14 グラフィック 32 実体関連図 34 実体形式 36 関係リンク 38 関係形式

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】実体関連モデルによるデータベースを更新
    するためにコンピュータを操作する方法において、 実体のインスタンスの新しいデータ若しくは変更された
    データ又は実体のインスタンスを削除するためのデータ
    を受取るステップと、 前記受取ったデータに適用可能な制約をアクティブにす
    るステップと、 前記アクティブにされた制約の中から検査を行うために
    少なくとも第1の制約を含む検査順序を決定するステッ
    であって、前記第1の制約が、最も違反される可能性
    が高い制約を識別するための所定の基準に基づいて決定
    される前記決定ステップと、 前記第1の制約を検査するステップと、 前記第1の制約が違反されたか否かを判断するステップ
    と、 検査すべき制約が残っている場合は、前記制約をアクテ
    ィブにするステップへと戻るステップとを有する、 コンピュータを操作する方法。
  2. 【請求項2】前記アクティブにされた制約の検査順序を
    決定するステップが、 最も最近検査された制約の組を見出し、該最も最近検査
    された制約がただ1つである場合、該制約を前記検査順
    序における第1の制約とするステップと、 最も最近検査された制約の組として複数のアクティブな
    制約が見出された場合、該組の中の制約のいずれが、最
    大数の実体インスタンスと関連しているかを見出し、最
    大数の実体インスタンスと関連している制約がただ1つ
    である場合、該制約と前記検査順序における第1の制約
    とするステップと、 複数のアクティブな制約が前記最大数の実体インスタン
    ス及び関係インスタンスと関連している場合、該アクテ
    ィブな制約を複雑さについて評価し、最も複雑な制約を
    前記検査順序における第1の制約とするステップとを有
    する、 請求項1に記載のコンピュータを操作する方法。
  3. 【請求項3】前記検査順序において第1の制約を検査す
    るステップが、 前記第1の制約のためのコードを発生するステップと、 前記第1の制約に対する入力を完成するためにデータベ
    ースへの問合せのためのコードを発生するステップと、 前記発生されたコードを実行するステップとを有する、 請求項1に記載のコンピュータを操作する方法。
  4. 【請求項4】前記検査順序において第1の制約を検査す
    るステップが、 前記第1の制約のためのコードを発生するステップと、 前記第1の制約に対する入力を完成するためにデータベ
    ースへの問合せのためのコードを発生するステップと、 前記発生されたコードを実行するステップとを有する、 請求項2に記載のコンピュータを操作する方法。
  5. 【請求項5】前記アクティブにされた制約の検査順序を
    決定するステップが、 最も最近検査された制約の組を見出し、最も最近検査さ
    れた制約がただ1つである場合、該制約を前記検査順序
    における第1の制約とするステップと、 最も最近検査された制約の組として複数のアクティブな
    制約が見出された場合、該組の中の制約のいずれが、最
    大数の実体インスタンスと関連しているかを見出し、最
    大数の実体インスタンスと関連している制約がただ1つ
    である場合、該制約と前記検査順序における第1の制約
    とするステップと、 複数のアクティブな制約が前記最大数の実体インスタン
    ス及び関係インスタンスと関連している場合、該アクテ
    ィブな制約を複雑さについて評価し、最も複雑な制約を
    前記検査順序における第1の制約とするステップとを有
    する、 請求項3に記載のコンピュータを操作する方法。
  6. 【請求項6】制約の違反をエラーとしてログするステッ
    プを有する、 請求項1に記載のコンピュータを操作する方法。
  7. 【請求項7】データ処理システムにおいて実体関連モデ
    ルによるデータベースのために制約を有効化する装置で
    あって、 前記データベース内の実体形式インスタンスの変更、作
    成又は削除を要求するユーザ入力手段と、 システム記憶装置内に常駐する複数の制約と、 ユーザ入力要求に対して適用可能な制約をアクティブに
    する手段と、 前記アクティブにされた制約の中から検査するための制
    約を選択する手段であって、前記アクティブにされた制
    約から最も違反されそうな制約を予測する手段と、前記
    予測された制約を検査される第1の制約として選択する
    手段とを含む、前記選択する手段と、 前記制約を検査する手段と、 前記制約が違反されたか否かを判断する手段とを有す
    る、 データ処理システムにおける装置。
  8. 【請求項8】前記検査するための制約を選択する手段
    が、 最も最近検査された制約の組を見出し、該最も最近検査
    された制約がただ1つである場合、該制約を検査順序に
    おける第1の制約とする手段と、 最も最近検査された制約が複数あることに応答して、該
    最も最近検査された制約の組の中から最大数の実体イン
    スタンスに関連する制約を見出す手段と、 前記最大数の実体インスタンスに関連する1つの制約を
    見出したことに応答して、該1つの制約を前記検査順序
    における第1の制約とする手段と、 前記最大数の実体インスタンスに関連するアクティブな
    複数の制約を見出したことに応答して、該制約のそれぞ
    れを複雑さについて評価し、最も高い評価の制約を前記
    検査順序における第1の制約とする手段とを有する、 請求項7に記載のデータ処理システムにおける装置。
  9. 【請求項9】前記制約を検査する手段が、 前記制約をコード化する手段と、 前記制約中の変数に対して値を与えるためにデータベー
    スへの問合せをコード 化する手段と、 前記コードを実行する手段とを有する、 請求項7に記載のデータ処理システムにおける装置。
  10. 【請求項10】前記制約を検査する手段が、 前記最も高い評価の制約のためのコードを発生する手段
    と、 前記最も高い評価の制約中の変数に対して値を与えるた
    めにデータベースへの問合せのコードを発生する手段
    と、 前記発生されたコードを実行手段とを有する、 請求項8に記載のデータ処理システムにおける装置。
  11. 【請求項11】前記検査するための制約を選択する手段
    が、 最も最近検査された制約の組を見出し、該最も最近検査
    された制約がただ1つである場合、該制約を検査順序に
    おける第1の制約とする手段と、 最も最近検査された制約が複数あることに応答して、該
    最も最近検査された制約の組の中から最大数の実体イン
    スタンスに関連する制約を見出す手段と、 前記最大数の実体インスタンスに関連する1つの制約を
    見出したことに応答して、該1つの制約を前記検査順序
    における第1の制約とする手段と、 前記最大数の実体インスタンス及び関係インスタンスに
    関連するアクティブな複数の制約を見出したことに応答
    して、該アクティブな制約を複雑さについて評価し、最
    も高い評価の制約を前記検査順序における第1の制約と
    する手段とを有する、 請求項9に記載のデータ処理システムにおける装置。
  12. 【請求項12】制約の違反をエラーとしてログする手段
    を有する、 請求項7に記載のデータ処理システムにおける装置。
JP6075902A 1993-05-28 1994-04-14 データベースにおける制約の実行の自動化のためのシステム及び方法 Expired - Fee Related JP2710555B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/068,820 US5488722A (en) 1993-05-28 1993-05-28 System and method for automating implementation and execution of constraint most likely to be violated in a database
US068820 1993-05-28

Publications (2)

Publication Number Publication Date
JPH06337807A JPH06337807A (ja) 1994-12-06
JP2710555B2 true JP2710555B2 (ja) 1998-02-10

Family

ID=22084902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6075902A Expired - Fee Related JP2710555B2 (ja) 1993-05-28 1994-04-14 データベースにおける制約の実行の自動化のためのシステム及び方法

Country Status (2)

Country Link
US (1) US5488722A (ja)
JP (1) JP2710555B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604899A (en) * 1990-05-21 1997-02-18 Financial Systems Technology Pty. Ltd. Data relationships processor with unlimited expansion capability
US5677997A (en) * 1993-02-11 1997-10-14 Talatik; Kirit K. Method and apparatus for automated conformance and enforcement of behavior in application processing systems
US5808919A (en) * 1993-11-23 1998-09-15 Hewlett-Packard Company Diagnostic system
US6088524A (en) * 1995-12-27 2000-07-11 Lucent Technologies, Inc. Method and apparatus for optimizing database queries involving aggregation predicates
US5778364A (en) * 1996-01-02 1998-07-07 Verity, Inc. Evaluation of content of a data set using multiple and/or complex queries
DE19725965C2 (de) * 1997-06-19 2000-07-27 Naser Abdelwahab Verfahren eines deduktiven Kataloges zur allgemeinen Constraintsbehandlung im erweiterten relationalen Datenbankkonzept
US6442557B1 (en) * 1998-02-27 2002-08-27 Prc Inc. Evaluation of enterprise architecture model including relational database
US6304876B1 (en) 1998-06-05 2001-10-16 Computer Associates Think, Inc. Method for enforcing integrity constraints in a database table using an index
CA2240584C (en) * 1998-06-12 2002-02-12 Ibm Canada Limited - Ibm Canada Limitee Compile-time data dependency verification
US6009432A (en) * 1998-07-08 1999-12-28 Required Technologies, Inc. Value-instance-connectivity computer-implemented database
JP2003530643A (ja) * 2000-04-10 2003-10-14 イノヴィット プロプライエタリー リミティッド 電子カタログ
JP2003530644A (ja) * 2000-04-10 2003-10-14 イノヴィット プロプライエタリー リミティッド 電子カタログ
KR100532823B1 (ko) * 2002-11-30 2005-12-02 이원재 데이터 무결성 관리장치와 관리방법 그리고 그 방법을컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체
US7380217B2 (en) * 2003-06-06 2008-05-27 Intellecspace Coropration Method of graphical presentation of relationships between individuals, business entities, and organizations
US7519952B2 (en) * 2003-07-28 2009-04-14 International Business Machines Corporation Detecting an integrity constraint violation in a database by analyzing database schema, application and mapping and inserting a check into the database and application
WO2005084486A1 (en) * 2004-03-09 2005-09-15 Glaxosmithkline Consumer Healthcare Gmbh & Co Kg Toothbrush
US20080222611A1 (en) * 2007-03-09 2008-09-11 Microsoft Corporation Generic validation layer for object properties
US20080270458A1 (en) * 2007-04-24 2008-10-30 Gvelesiani Aleksandr L Systems and methods for displaying information about business related entities
JP5153718B2 (ja) * 2009-04-24 2013-02-27 インタレクチュアル ヴェンチャーズ ファースト エルエルシー 情報管理装置および方法、記録媒体
JP5776084B2 (ja) * 2011-09-27 2015-09-09 ピーアンドダブリューソリューションズ株式会社 配席装置、配席方法及び配席プログラム
CN103049251B (zh) * 2011-10-17 2015-10-07 中国移动通信集团公司 一种数据库持久层装置及数据库操作方法
DE102015013593A1 (de) 2015-10-15 2017-04-20 makmad.org e.V. Effizientes Verfahren zur logischen Vervollständigung eines deduktiven Kataloges zur allgemeinen Constraintsbehandlung im erweiterten relationalen Datenbankkonzept
US10678774B2 (en) 2016-03-31 2020-06-09 Toshiba Global Commerce Solutions Holdings Corporation Generating source code for creating database triggers
US11113281B2 (en) 2016-10-14 2021-09-07 Elnaserledinellah Mahmoud Elsayed Abdelwahab Efficient method for logical completion of a deductive catalogue used for general constraints treatment in the extended relational database concept
DE102018008923A1 (de) 2018-10-09 2020-05-20 makmad.org e. V. Verfahren zur Erstellung einer effizienten, logisch vollständigen, ontologischen Ebene im erweiterten relationalen Datenbankkonzept

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933848A (en) * 1988-07-15 1990-06-12 International Business Machines Corporation Method for enforcing referential constraints in a database management system
US4947320A (en) * 1988-07-15 1990-08-07 International Business Machines Corporation Method for referential constraint enforcement in a database management system
DE68926422T2 (de) * 1988-09-23 1996-11-07 Ibm Datenbankverwaltungssystem
CN1029050C (zh) * 1989-10-13 1995-06-21 国际商业机器公司 在数据库系统中强化实施参照约束
US5249300A (en) * 1990-04-27 1993-09-28 Bachman Information Systems, Inc. System and method of constructing models of complex business transactions using entity-set variables for ordered sets of references to user data
US5179698A (en) * 1990-04-27 1993-01-12 Bachman Information Systems, Inc. System for transforming user data in accordance with an algorithm defined by design data and for evaluating the transformed data against logical criteria
US5193182A (en) * 1990-04-27 1993-03-09 Bachman Information Systems, Inc. Computer system for defining logical operations on design data including retrieve entity-set, send, receive, signal, when, reference to entity-set, reference to entity method, connect and disconnect
JP2817411B2 (ja) * 1991-01-29 1998-10-30 日本電気株式会社 関係データベースシステムにおける表制約方法

Also Published As

Publication number Publication date
US5488722A (en) 1996-01-30
JPH06337807A (ja) 1994-12-06

Similar Documents

Publication Publication Date Title
JP2710555B2 (ja) データベースにおける制約の実行の自動化のためのシステム及び方法
US8458764B2 (en) Serialization of XACML policies
US8768902B2 (en) Unified concurrent changes to data, schema, and application
US7065745B2 (en) System and method for evaluating and executing hierarchies of rules
Hammer et al. Semantic integrity in a relational data base system
Baralis et al. An algebraic approach to static analysis of active database rules
JP5238138B2 (ja) ワークアイテムトラッキングシステム用のワークアイテムルール
Fan et al. Relative information completeness
US8108367B2 (en) Constraints with hidden rows in a database
US5459860A (en) Computerized system and process for managing a distributed database system
US5551029A (en) Method for associating integrity maintenance constraints with data object classes in an object-oriented database
JP2007257654A5 (ja)
JPH0667951A (ja) データベース管理システム
US7448028B2 (en) System and method for selective local object retrieval
EP0689136A1 (en) Update constraints in transactions which may abort
Welke The CASE Repository: More than another database application
Caroprese et al. Active integrity constraints for database consistency maintenance
US20040019586A1 (en) Property and object validation in a database system
Fraternali et al. A review of repairing techniques for integrity maintenance
Caroprese et al. Declarative semantics of production rules for integrity maintenance
WO2017061901A1 (ru) Система и способ обработки данных графов
Willmor et al. Exploring test adequacy for database systems
Rull et al. Validation of mappings between schemas
Tari et al. Controlling aggregation in distributed object systems: A graph-based approach
Gorshkova et al. A fine-grained access control model and implementation

Legal Events

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