JP3396479B2 - データファイルに複数オブジェクト制約条件を課す方法 - Google Patents

データファイルに複数オブジェクト制約条件を課す方法

Info

Publication number
JP3396479B2
JP3396479B2 JP50385093A JP50385093A JP3396479B2 JP 3396479 B2 JP3396479 B2 JP 3396479B2 JP 50385093 A JP50385093 A JP 50385093A JP 50385093 A JP50385093 A JP 50385093A JP 3396479 B2 JP3396479 B2 JP 3396479B2
Authority
JP
Japan
Prior art keywords
constraint
update
file
objects
substep
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
JP50385093A
Other languages
English (en)
Other versions
JPH06509892A (ja
Inventor
ビエグロー,リチャード・ヘンリー
トンプソン,ジョーン・パトリック
Original Assignee
ユニシス・コーポレイション
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 ユニシス・コーポレイション filed Critical ユニシス・コーポレイション
Publication of JPH06509892A publication Critical patent/JPH06509892A/ja
Application granted granted Critical
Publication of JP3396479B2 publication Critical patent/JP3396479B2/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
    • 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/955Object-oriented
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

【発明の詳細な説明】 発明の背景 この発明は、さまざまなデータファイルを含む型のデ
ータ処理システムに関するものであり、より特定的に
は、そのようなデータファイルに対する更新に複数オブ
ジェクト制約条件を課するためのコンピュータ実現され
た方法に関するものである。
以下において、データシステム中のデータファイルと
は、いくつかのオブジェクトを含み、かつそれらのオブ
ジェクトの各々に対してある属性を割り当てる任意の種
類のコンピュータ記録を意味する。たとえば、データフ
ァイルのオブジェクトは法人の被雇用者であり得、ファ
イルにおいて各被雇用者に割り当てられる属性は被雇用
者の名前、その給料、その監督者などであり得る。
また、データ処理システムには、1つ以上のファイル
が存在し得、その各々は自身のオブジェクトを有する。
さらに、任意の1つのファイルの属性は第2のファイル
のオブジェクトであり得、第2のファイルは自身の属性
を有し、第2のファイルの属性は第3のファイルのオブ
ジェクトであり得、第3のファイルは自身の属性を有
し、以下同様である。この態様において、異なるファイ
ルのオブジェクトは関連し合い、かつリンクし合う。
たとえば、1つのファイル(被雇用者ファイル)のオ
ブジェクトは会社の被雇用者全員であり得、第2のファ
イル(監督者ファイル)のオブジェクトは会社の監督者
である被雇用者全員であり得、第3のファイル(プロジ
ェクトファイル)のオブジェクトは会社のプロジェクト
すべてであり得る。被雇用者ファイルにおいて、各監督
者は、その監督者に報告する特定の被雇用者の属性とし
て含まれ、監督者ファイルにおいて、各プロジェクト
は、そのプロジェクトを監督する特定の監督者の属性と
して含まれる。
データ処理システムでは、データファイルの属性およ
び/またはオブジェクトは静的ではなく、むしろ絶えず
更新されていることが多い。たとえば、被雇用者の給料
は増加し得、被雇用者の監督者は代わり得る、などであ
る。これらの変更はデータ処理システムへ発行される更
新命令によって開始される。このような更新命令は特定
の形式を有する必要はなく、更新のオブジェクトおよび
変更されるべき属性を特性しさえすればよい。
データファイルの完全性を維持するために、任意の種
類の複数オブジェクト制約条件をデータファイルに課
し、更新の際、常にそれらの制約条件を自動的に強制さ
れることができるのが望ましい。たとえば、そのような
制約条件の1つは、プロジェクトの資金に基づいて被雇
用者の給料を制限することであり得、別の制約条件は監
督者の下で働く被雇用者全員の平均給料に基づきその監
督者の給料を制限することであり得る、などである。一
般に、複数オブジェクト制約条件を用いると、いかなる
ファイルオブジェクトの属性は、1つ以上の別のファイ
ルオブジェクトの属性の関数として制限される。しか
し、先行技術においては、そのような複数オブジェクト
制約条件を課すための方法は存在しなかった。
先行技術において、1つの制約条件強制方法が、ヨー
ロッパ特許、公開番号0,351,209,A2に開示されている。
しかし、その方法は、1つのファイルの項目が別のファ
イルにおいてまったく同じ項目を有さねばならない「参
照制約条件」の強制にしか適用されない。
また、先行技術において、一般的な最新技術を規定し
ているが特に関連はないと考えられる別の文書として、
J.RHRLE他の「データ辞典における完全性条件の管
理」(“Verwaltung von Intergrittsbedingungen in
einem Datenwrterbuch")、応用情報科学(ANGEWAND
TE INFORMATIK)、第30巻、第1号、1988年1月、ドイ
ツ ブラウンシュヴァイク(BRAUNSCHWEIG DE)、第18
−26頁がある。
同様に、先行技術において、一般的な最新技術を議論
しているが特に関連はないと考えられる教科書として、
Skamkant B.Navathe、Ramez Elmasriの「データベース
システムの基礎」(“FUNDAMENTALS OF DATABASE SYSTE
MS")、The Benjamin/Cummings Publishing Company,In
c.、1989年がある。
したがって、この発明の主要な目的は、データ処理シ
ステムにおいてデータファイルに複数オブジェクト非参
照制約条件を課する方法を提供することである。
発明の簡単な概要 この発明に従って、複数オブジェクト制約条件は以下
のステップによってデータ処理システム内のデータファ
イルに課される。まず、特定オブジェクトの特定属性に
対する変更を特定する更新命令が、データ処理システム
へ送られる。そこでこの更新命令は制約条件強制プログ
ラムによってデータ処理システム内で調べられ、その更
新の特定オブジェクトと、更新される特性属性とを識別
する。その後、制約条件強制プログラムは、識別された
更新される特性属性を使用して、その更新に適用される
(すなわち、その更新によって破られ得る)複数オブジ
ェクト制約条件を見つけ出す。その後、制約条件強制プ
ログラムは識別された更新の特定オブジェクトを、適用
可能な複数オブジェクト制約条件のすべてのオブジェク
トに変換する。制約条件には複数のオブジェクトがある
ので、それらの少なくとも1つは更新の特定オブジェク
トとは異なるであろう。その後、制約条件強制プログラ
ムは、適用可能な制約条件が上述の変換ステップからの
すべての制約条件オブジェクトによって満たされるかど
うかを決定するために検査を行ない、そうでなければエ
ラーメッセージを生成する。
更新の特定オブジェクトを制約条件の複数のオブジェ
クトに変換するために、制約条件強制プログラムはとき
どき更新オブジェクトのファイルを読出し、更新オブジ
ェクトのファイル内のある属性に応じて制約条件オブジ
ェクトを生成する。またあるときには、制約条件強制プ
ログラムは更新オブジェクトの属性である非更新オブジ
ェクトのファイルを読出し、非更新オブジェクトの属性
に応じて制約条件オブジェクトを生成する。このような
変換ステップによって、制約条件オブジェクトはいかな
る所望の態様にも更新オブジェクトに関連付けられるこ
とができる。
図面の簡単な説明 この発明のさまざまな特徴および利点が、添付の図面
に関連してこの中で説明される。
図1は、この発明に従ったデータファイルに複数オブ
ジェクト制約条件を課するデータ処理システムを示す。
図2は、図1のデータ処理システムにおいて制約条件
強制プログラムによって実行される主要ステップを示す
フローチャートである。
図3は、図2におけるステップ30−5の1つの実行す
る際使用される1対の表を示す。
図4は、図2のステップ30−6として実行されるいく
つかのサブステップを示すフローチャートである。
図5は、図2の別なステップ30−7として実行される
いくつかのサブステップを示すフローチャートである。
詳細な説明 これより図1を参照すると、この発明に従った複数オ
ブジェクト制約条件がデータファイルに課されるデータ
処理システムが示される。この図1のデータ処理システ
ムは、デジタルコンピュータ10、複数のワークステーシ
ョン11−1ないし11−n、磁気ディスク記憶ユニット1
2、および集積回路メモリ13を含む。構成要素11−1な
いし11−n、12、および13は、図示されるようにそれぞ
れのデータバス14a、14b、および14cによってデジタル
コンピュータ10に相互接続される。
ディスク12に記憶されるのはさまざまなデータファイ
ルである。それらのファイルの例は図1において参照番
号21、22、および23によって示される。各ファイルはい
くつかのオブジェクトを含み、かつそれらのオブジェク
トの各々に対するある属性を含み、それらのいくつかは
他のファイルに対するオブジェクトであり得る。図1の
例において、各ファイルは行および列のマトリクスとし
て配列され、各列の先頭はオブジェクトであり、それぞ
れの属性は各行にある。
ファイル21において、ファイルオブジェクトはある特
定の会社の被雇用者E1、E2、…である。また、ファイル
21において、各被雇用者の属性は、被雇用者が働く「プ
ラント」、被雇用者が所属する「部門」、エンジニアま
たは監督者のような「肩書」、被雇用者の現在の「給
料」、被雇用者が報告する「監督者」、および被雇用者
が従事する1つ以上の「プロジェクト」である。
ファイル22において、ファイルオブジェクトは会社の
監督者M1、M2、…、であり、それらの各々はファイル21
にもオブジェクト「被雇用者」として、かつ被雇用者属
性「監督者」としてリストされる。さらに、ファイル22
において、各監督者の属性は、監督者に直接報告するフ
ァイル21の被雇用者である一人以上の「直接報告
(者)」、および監督者が担当する1つ以上の「プロジ
ェクト」である。
ファイル23において、ファイルオブジェクトは「プロ
ジェクト」P1、P2…であり、それらはファイル22の属性
である。各プロジェクトの属性は、プロジェクトの「予
算」、およびそのプロジェクトに従事するファイル21の
すべての「被雇用者」である。
ファイル21ないし23のさまざまな属性および/または
オブジェクトはときどき更新される必要がある。たとえ
ば、被雇用者の給料が増加することがあり得るし、被雇
用者の肩書がエンジニアから監督者へ変更されることが
あり得るし、ある監督者のある直接報告者が加えられる
か、または削除されることがあり得る、などである。フ
ァイルに対するそのような変更はワークステーション11
−1ないし11−Nのオペレータ24−1ないし24−Nによ
って開始される。各変更は、バス14a上をワークステー
ションの1つからコンピュータ10へ送られる更新命令25
内において特定される。
コンピュータ10において、各更新命令はメモリ13に記
憶される制約条件強制プログラム30によって処理され
る。制約条件強制プログラム30が実行する主要ステップ
はすべて図2に示され、参照番号30−1ないし30−7に
よって示される。ステップ30−5、30−6および30−7
は極めて複雑であり、したがってそれらは図3、図4お
よび図5でより詳細に示される。
まずステップ30−1において、更新命令がバス14aか
ら受信される。参照番号31は受信された更新命令の一例
を示し、この例では二人の示された被雇用者E1、E2の給
料が6%増加される。
次にステップ30−2において、受信された更新命令が
調べられ、どの属性が更新されるかを決定する。例の更
新命令31において、更新される属性は参照番号32によっ
て示されるように「給料」である。
その後、ステップ30−3において、受信された更新命
令がさらに調べられ、更新オブジェクトOxを識別する。
更新オブジェクトOxはその属性が変更されるオブジェク
トである。例の更新命令31において、更新オブジェクト
Oxは被雇用者E1、E2であり、これは参照番号33によって
示される。
続いてステップ30−4において、各更新オブジェクト
Oxの識別された属性が更新命令によって特定されるよう
に変更される。他の更新命令31の場合、被雇用者E1、E2
のファイルが読出され、6%がそれらの現在の給料に加
算され、その結果が新たな現在の給料として被雇用者
E1、E2のファイルに書込まれる。
次にステップ30−5において、ステップ30−2の識別
された属性を利用して、更新に適用される特定の制約条
件Cyを見つける。どの制約条件が適用可能であるかは、
データファイルに課されるすべての制約条件の特定の集
合、および変更される特定の属性による、この従属関係
は図3に示される。
図3において、表40は3つの制約条件C1、C2、および
C3を、データファイルに課され得る制約条件の特定の例
としてリスクする。制約条件C1によって、被雇用者の給
料は、1.2×被雇用者監督者の給料より低く制限され
る。制約条件C2によって、監督者の給料は、監督者の直
接報告者の平均給料より高いことが要求される。制約条
件C3によって、プロジェクトにおける被雇用者全員の給
料合計はプロジェクトの総予算の1/2より低く制限され
る。
また、図3において、別の表41は、更新に適用可能な
特定の制約条件に対する、更新命令を介して変更される
特定の属性の相関関係を示す。行1は、変更される属性
が被雇用者の給料である場合、制約条件C1、C2、および
C3のすべてが適用されることを示す。行2は、被雇用者
の肩書が変更された場合、制約条件C1およびC2が適用さ
れることを示す。行3は、新たなプロジェクトが加えら
れた場合、制約条件C3だけが適用されることを示す。一
般に、適用可能な制約条件は、変更されるべき属性を伴
う制約条件である。
その後、更新オブジェクトOxおよび適用可能な制約条
件Cyの各組合せに対して、制約条件オブジェクトの集合
x,yが生成される。これは、図2のプログラムでステ
ップ30−6によって行なわれる。集合Sx,yは制約条件C
yにおける、更新オブジェクトOxのファイルに対して行
なわれた変更によりその制約条件に違反し得るオブジェ
クトの集合である。
例の更新命令31において、更新オブジェクトOxは被雇
用者E1およびE2であり、適用可能な制約条件Cyは制約条
件C1、C2、およびC3である。それら2つの更新オブジェ
クトOxおよび3つの適用可能な制約条件Cyは6つの異な
る集合Sx,yをもたらす。集合S1,1は、制約条件C1の左
側にある被雇用者であって、被雇用者E1の給料更新によ
り制約条件C1に違反し得る被雇用者の集合である。集合
1,1は制約条件C2の左側にある監督者であって、被雇
用者E1の給料更新により制約条件C2に違反し得る監督者
の集合である。集合S1,3は制約条件のC3の右側にある
プロジェクトであって、被雇用者E1の給料更新により制
約条件C3に違反し得るプロジェクトの集合である、など
である。
制約条件オブジェクトの集合Sx,yがいかにして生成
されるかは、図4に詳細に示される。そこでは、4つの
モジュール50、51、52、および53によってプロセスが実
行される。モジュール50は制御モジュールであり、更新
オブジェクトOxを他のモジュールへ選択的に送る。モジ
ュール51はC1オブジェクト識別モジュールであり、受信
された更新オブジェクトOxを各々制約条件C1の左側にあ
るオブジェクトの集合Sx,1に変換する。モジュール52
はC2オブジェクト識別モジュールであり、受信された更
新オブジェクトOxを各々制約条件C2の左側にあるオブジ
ェクトの集合Sx,2に変換する。モジュール53はC3オブ
ジェクト識別モジュールであり、受信された更新オブジ
ェクトOxを各々制約条件C3の右側にあるオブジェクトの
集合Sx,3に変換する。
これよりモジュール50を詳細に検討すると、このモジ
ュールはステップ50−1において適用可能な制約条件Cy
の1つを選択する。次にステップ50−2において、モジ
ュール50は特定の更新オブジェクトOxを選択する。そこ
でステップ50−3において、モジュール50は選択された
更新オブジェクトOxをCyオブジェクト識別モジュールへ
送る。Cyオブジェクト識別モジュールが実行された後、
ステップ50−4および50−5が行なわれる。ステップ50
−4によって、上述の50−2および50−3が各更新オブ
ジェクトOxに対して繰返され、ステップ50−5によっ
て、上述のステップ50−1、50−2、および50−3が適
用可能な制約条件Cyの各々に対して繰返される。
次に、モジュール51の詳細を検討すると、このモジュ
ールでは、受信された更新オブジェクトOxが各々制約条
件C1に対する制約条件オブジェクトの集合Sx,1に変換
される。ステップ51−1において、更新オブジェクトOx
は制約条件オブジェクトの集合Sx,1に含まれる。そこ
でステップ51−2において、更新オブジェクトOxの被雇
用者ファイル21が読出される。その後ステップ51−3に
おいて、上述の読出されたファイルがオブジェクトOx
監督者であることを示すか否かによって条件分岐が行な
われる。オブジェクトOxが監督者である場合、ステップ
51−4および51−5が実行される。ステップ51−4にお
いて、監督者ファイルMxが読出され、ステップ51−5に
おいて、監督者Mxの直接報告者がすべて制約条件オブジ
ェクトの集合Sx,1に含まれる。
上述のステップの例として、更新命令31によって給料
が変更されている被雇用者E1およびE2を検討することに
し、かつ被雇用者E1が監督者でなく、被雇用者E2が監督
者であると仮定する。この場合、制約条件オブジェクト
の集合S1,1は被雇用者E1からなる一方、制約条件オブ
ジェクトの集合S2,1は被雇用者E2および被雇用者E2
直接報告者全員からなる。それらの集合は参照番号61に
よって示される。集合S2,1は、給料が更新されている
被雇用者が監督者である場合、制約条件C1がその被雇用
者の各直接報告者および被雇用者自身に対して検査され
ねばならないことを示す。
次のモジュール52を検討すると、このモジュールはい
くつかのステップ52−1ないし52−4を示し、それらの
ステップによって更新オブジェクトOxは制約条件C2に対
する制約条件オブジェクトの集合Sx,2に変換される。
ステップ52−1において、更新オブジェクトOxのファイ
ルが読出される。そこでステップ52−2において、更新
オブジェクトOxの監督者Mは制約条件オブジェクトの集
合Sx,2に含まれる。ステップ52−3において、更新オ
ブジェクトOxの肩書が監督者であるか否かによって条件
分岐が行なわれる。更新オブジェクトOxが監督者である
場合、ステップ52−4が実行され、そこで更新オブジェ
クトが制約条件オブジェクトの集合Sx,2に含まれる。
これらのステップの例として、更新命令31によって給
料が変更されている被雇用者E1およびE2を再度検討する
こととし、再度、被雇用者E1は監督者でなく、被雇用者
E2は監督者であると仮定する。この場合、制約条件オブ
ジェクトの集合S1,2は被雇用者E1の監督者Mからなる
一方、制約条件オブジェクトの集合S2,2は被雇用者E2
の監督者Mおよび被雇用者E2本人からなる。これらの集
合は参照番号62によって識別される。集合S2,2は、給
料が更新されている被雇用者が監督者である場合、制約
条件C2が本人およびその監督者に対して検査されねばな
らないことを示す。
最後にモジュール53を検討すると、このモジュールは
ステップ53−1および53−2を示し、これらのステップ
によって更新オブジェクトOxは制約条件C3に対する制約
条件オブジェクトの集合Sx,3に変換される。ステップ5
3−1において、更新オブジェクトOxのファイルが読出
される。そこでステップ53−2において、上述の読出さ
れたファイルからのプロジェクトが制約条件のオブジェ
クトであるようにリストされる。
上述の例として、給料が変更されている被雇用者E1
プロジェクトP7に従事していると仮定し、かつ被雇用者
E2がプロジェクトP0、P5、およびP7を監督していると仮
定する。この場合、被雇用者E1の制約条件オブジェクト
1,3の集合はプロジェクトP7からなる一方、制約条件
オブジェクトS2,3の集合はプロジェクトP0、P5、およ
びP7からなる。これは参照番号63によって示される。集
合S2,3は、給料が更新されている被雇用者が複数のプ
ロジェクトに従事している場合、制約条件C3がそれらの
プロジェクトの各々に対して検査されねばならないこと
を示す。
制約条件オブジェクトの集合Sx,yがすべて生成され
た後、図2のプロセスのステップ30−7が実行される。
そこでは、制約条件オブジェクトの各集合Sx,yに対し
て、制約条件Cyが適合するか否かを決定する検査が行な
われる。この検査がいかにして行なわれるかは図5で詳
細に示される。
図5において、制御モジュール60ならびに3つの制約
条件検査モジュール61、62、および63による検査が行な
われる。モジュール60は制約条件オブジェクトの集合S
x,yの各々を検査モジュールの1つへ順次送る。モジュ
ール61は、受信された制約条件オブジェクトの集合が制
約条件C1に適合するかどうかを検査し、モジュール62は
受信された制約条件オブジェクトの集合が制約条件C2
適合するかどうかを検査し、モジュール63は受信された
制約条件オブジェクトの集合が制約条件C3に適合するか
どうかを検査する。
制御モジュール60のステップ60−1は制約条件オブジ
ェクトSx,yの1つの集合を選択する。次に、ステップ6
0−2は選択された制約条件オブジェクトの集合Sx,y
Cy制約条件検査モジュールへ送る。すなわち、集合S
x,1はC1検査モジュール61へ送られ、集合Sx,2はC2検査
モジュール62へ送られる、などである。Cy制約条件検査
モジュールがその実行を完了した後、ステップ60−3が
行なわれ、そこで、また制約条件オブジェクトの集合S
x,yがある場合、ステップ60−1に分岐して戻り、そう
でなければ図2のプロセスの最終ステップ30−8へ分岐
する。
検査モジュール61は図示されるようなステップ61−1
ないし61−9からなる。ステップ61−1へ送られた制約
条件オブジェクトの集合Sx,yから一人の被雇用者を選
択する。ステップ61−2は上述の選択された被雇用者に
対する図1の被雇用者ファイル21を読出す。そこでステ
ップ61−3は上述の読出されたファイル21を使用して、
その被雇用者の「給料」および「監督者」を見つける。
この監督者がその被雇用者とともに制約条件C1における
オブジェクトのすべてを構成する。次に、ステップ61−
4は上述の見つけられた「監督者」の被雇用者ファイル
21を読出す。そこでステップ61−5は上述の読出された
ファイル内の「給料」の項目を読出す。次に、ステップ
61−6はステップ61−3および61−5の給料を使用し
て、監督者の給料の1.2倍から被雇用者の給料を引いた
ものを計算する。次に、ステップ61−7は、上述の計算
結果が負の数となるかどうかによって条件分岐を行な
う。その結果が負である場合、ステップ61−8はどの制
約条件オブジェクトが制約条件C1に外れたかをリストす
る。最後に、ステップ61−9は、さらなるオブジェクト
が送られた制約条件オブジェクトの集合Sx,1に残って
いる場合、ステップ61−1へ分岐して戻り、そうでなけ
ればステップ60−3へ分岐して戻る。
モジュール62および63は全体的形式においてモジュー
ル61に類似する。しかし、モジュール62は送られた制約
条件オブジェクトの集合Sx,2が制約条件C2に適合する
かどうかを検査するように作られており、モジュール63
は、送られた制約条件オブジェクトの集合Sx,3が制約
条件C3に適合するかどうかを検査するように作られてい
る。モジュール62はその検査を行なうために、ファイル
22を読出して、監督者の直接報告者を見つけねばなら
ず、かつ各直接報告者の被雇用者ファイルを読出して、
彼らの給料を見つけねばならない。同様に、モジュール
63はその検査を行なうために、プロジェクトファイル23
を読出して、プロジェクトに携わる被雇用者全員を決定
せねばならず、かつそのような被雇用者の各々に対して
被雇用者ファイルを読出し、彼らの給料を見つけねばな
らない。
制約条件オブジェクト集合Sx,yをすべて、それぞれ
の制約条件検査モジュール61−63へ送った後、ステップ
60−4は図2のプロセスの最終ステップ30−8へ分岐し
て戻る。そこで、制約条件違反がリストに挙げられてい
ない場合、ステップ30−8は更新がうまく完了したこと
を示すメッセージをワークステーションへ送る。そうで
なく、制約条件違反がモジュール61−63にリストされた
場合、ステップ30−8は図1のデータファイル21、22、
および23を更新ステップ30−4が行なわれる前の状態へ
復元し、ステップ30−1で更新命令がそこから受信され
たワークステーションへエラーメッセージを送る。この
エラーメッセージは任意のフォーマットであり得るが、
好ましくは制約条件違反リストを含み、それによってワ
ークステーションのオペレータまたは他の被雇用者がそ
の違反を分析し、どのような訂正動作が必要かを決定す
ることができる。データファイルの復元は更新命令を逆
に実行する(たとえば被雇用者E1およびE2の給料を6%
下げる)ことによってか、またはすべてのデータファイ
ルの項目をそれらが変更される前に退避させることによ
って行なわれる。
この発明に従った、制約条件をデータファイル更新に
課すための好ましいプロセスが詳細に説明されてきた。
しかし、さらに多くの変更および修正が、この発明の性
質および精神から逸脱せずして上述のプロセスに対し行
なわれることができる。1つの変更として、更新命令は
ワークステーションのオペレータ以外のさまざまな源か
ら生じ得る。たとえば、図1のメモリ13に常駐し、かつ
その実行が制約条件強制プログラム30とともに時分割さ
れたコンピュータプログラムによって更新命令を自動的
に送ってもよい。
別の変更として、データファイルに課された制約条件
は図3に示される3つの制約条件C1、C2、およびC3に明
らかに限定されない。この発明により、いかなる制約条
件をもデータファイルに課すことができる。ある特定の
制約条件を課すために、その制約条件はまず、図3の表
40によって行なわれるような複数のオブジェクトとそれ
らの属性とを相互に関連付ける方法で特定される。次
に、更新され得る属性と新たな制約条件の適用可能性と
の間で相関が行なわれる。このような相関は図3の表41
によって行なわれる。そこで、図4のモジュール51、5
2、および53のような制約条件オブジェクト識別モジュ
ールが新たな制約条件に対して設けられる。このような
モジュールは入力としてファイルが変更されている更新
オブジェクトOxを受信し、出力としてオブジェクトOx
ファイルの更新により制約条件に違反し得るオブジェク
トの集合Sx,yを生成する。最後に、図5の検査モジュ
ール61のような新たな検査モジュールあ制約条件に対し
て設けられる。その検査モジュールは入力として制約条
件オブジェクトの集合Sx,yを受信し、集合内の各オブ
ジェクトに対して新たな制約条件が適合するかどうかを
決定する。
さらに別の変更として、制約条件が課されるファイル
は図1の特定ファイル21、22、および23に限定されな
い。この発明により、ファイルのオブジェクトは任意の
物理的存在(たとえば被雇用者)、任意の抽象的存在
(たとえばプロジェクトまたは部門)、および任意の事
象(たとえば売出しまたはプロジェクト開始日)を表わ
し得る。同様に、ファイルの属性はオブジェクトの特性
または特質の任意のものであり得る。さらに、ファイル
の形式またはアーキテクチャは行および列のマトリクス
に限定されず、代わりに、ファイルは属性をオブジェク
トに関連付ける任意の形式を有し得る。そのようなファ
イルの例は、ベンジャミン/カミングス・パブリッシン
グ Co.,Inc.(Benjamin/Cummings Publishing Co.,In
c.)によって1989年に発行された、エルマスリ(Elmasr
i)およびナバジ(Navathe)による「ファンダメンタル
ズ・オブ・データベース・システムズ(Fundamentals o
f Database Systems)」と題された書籍において説明さ
れ、そのようなファイルを特定するための言語は、アメ
リカン・ナショナル・スタンダード・完全性強化(Inte
grity Enhancement)データベース・ラングイッジ SQL
(American National Standard Database Language SQ
L)ANSI X3.135−1989において説明されている。
さらに別の修正として、適用可能な制約条件Cyを識別
する図2のステップ30−5は、更新されている属性をす
べての制約条件における属性と比較することによって行
なわれ得る。一致が生じた場合、その制約条件は適用さ
れる。この修正によって、図3の相関表41が不必要とな
る。
さらに別の修正として、制約条件検査モジュールによ
って行なわれるタスクのいくつかが制約条件オブジェク
ト識別モジュール内にシフトされ得、逆もまた同様であ
る。図4において、制約条件C1オブジェクト識別モジュ
ール51は制約条件C1の左側にある「被雇用者」全員を見
つけ出し、図5において、制約条件C1検査モジュール61
はその制約条件内の残りの他のオブジェクトすべてを見
つけ出す。このタスクの分割により、最小数のオブジェ
クトがモジュール51からモジュール61へ送られ、制約条
件1つに対し検査モジュールが1つしか必要とされな
い。しかし、1つの代替例として、制約条件オブジェク
ト識別モジュール51は、その制約条件内のすべてのオブ
ジェクト(すなわち「被雇用者」および「被雇用者の監
督者」の両方)を見つけ出すように修正され得、それら
のオブジェクトはすべて制約条件検査モジュールへ送ら
れる。しかし、これは送るべきオブジェクトをより多く
必要とすることによって、モジュール間のインタフェー
スを複雑にするであろう。逆に、制約条件C1オブジェク
ト識別モジュールは常に更新オブジェクトOxを制約条件
検査モジュールへ送り得、すべての制約条件オブジェク
トが制約条件検査モジュールによって見つけ出され得
る。しかし、これは各制約条件内の各オブジェクトに対
して別々の検査モジュールを必要とするであろう。
さらなる変更として、オブジェクト識別モジュール
は、更新命令を検査し、ある制約条件のオブジェクトが
潜在的な制約条件違反物として除去され得るかどうかを
決定するように変更され得る。たとえば、図3の制約条
件C1を検討すると、そこでは被雇用者の給料は1.2×被
雇用者監督者の給料より低く制限される。被雇用者Ox
給料が増加する場合、制約条件C1はOx本人によって違反
されるが、Oxの監督者またはOxの直接報告者によっては
違反され得ない。逆に、被雇用者Oxの給料が減少する場
合、制約条件C1はOxの任意の直接報告者によって違反さ
れ得るが、Ox本人によっては違反されない。上述のこと
を実現するために、オブジェクト識別モジュール51のス
テップ51−1は、更新命令を検査し、「給料」が更新オ
ブジェクトOxに対して増加しているか、または減少して
いるかを決定するように修正され得る。給料が増加して
いる場合、更新オブジェクトOxは制約条件オブジェクト
としてリストされ、ステップ51−2ないし51−5がバイ
パスされる。そうでなく、給料が減少している場合、更
新オブジェクトOxは制約条件オブジェクトとしてリスト
されず、ステップ51−2ないし52−5が行なわれる。
したがって、この発明な詳細に説明された特定の例に
限定されず、添付のクレームによって規定されることが
理解されるべきである。
フロントページの続き (72)発明者 トンプソン,ジョーン・パトリック アメリカ合衆国、92360 カリフォルニ ア州、エル・トロ、シェナンドア、 21846 (56)参考文献 特開 平2−29372(JP,A) 特開 平2−116973(JP,A) 特開 平2−109149(JP,A) 特開 平3−116250(JP,A) 特開 平2−33665(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 17/30

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理システムにおいて、更新命令に
    よって変更されるデータファイルに制約条件を課する方
    法であって、前記方法は、更新の特定オブジェクト(30
    −3)および更新される特定属性(30−2)を識別する
    ステップと、更新を行なう(30−4)ステップと、前記
    識別された特定属性に基づき適用可能な制約条件を見つ
    け出す(30−5)ステップと、前記更新後、前記適用可
    能な制約条件が満たされない場合、エラーメッセージを
    生成する(30−8)ステップとを含み、 前記制約条件は非参照制約条件(40)であり、前記デー
    タファイルにおける2つの項目のそれぞれの値は単に同
    じ値であることを必要とされず、前記更新の前記識別さ
    れた特定オブジェクトを、前記非参照制約条件内にあ
    り、かつ前記更新の前記特定オブジェクトとは異なる少
    なくとも1つの別のオブジェクトへ、プログラム(図
    4)によって、変換する(30−6)ステップをさらに含
    み、前記適用可能な非参照制約条件が前記変換ステップ
    からのオブジェクトのいずれかによって満たされない場
    合、前記エラーメッセージを生成する(30−7)ステッ
    プをさらに含むことを特徴とする、方法。
  2. 【請求項2】前記変換ステップは、前記更新の前記特定
    オブジェクトを、前記更新の前記オブジェクトとはすべ
    て異なる複数のオブジェクトに変換する、請求項1に記
    載の方法。
  3. 【請求項3】前記変換ステップは、前記更新の前記特定
    オブジェクトを、前記更新の前記オブジェクトとは異な
    る1つのオブジェクトに変換する、請求項1に記載の方
    法。
  4. 【請求項4】前記変換ステップは、前記更新の前記特定
    オブジェクトを1つのファイルに記憶される別のオブジ
    ェクトに変換する一方、前記更新の前記特定のオブジェ
    クトは異なるファイルに記憶される、請求項1に記載の
    方法。
  5. 【請求項5】前記変換ステップは、前記更新の前記オブ
    ジェクトに対するファイルを読出すサブステップと、そ
    の中の属性に基づき条件分岐するサブステップと、前記
    分岐に応じて前記適用可能な制約条件内のオブジェクト
    を生成するサブステップとを含む、請求項1に記載の方
    法。
  6. 【請求項6】前記変換ステップは、前記更新の前記オブ
    ジェクトに対するファイルを読出すサブステップと、そ
    の中の属性に基づき条件分岐するサブステップと、前記
    分岐に応じて別のオブジェクトに対する別なファイルを
    読出すサブステップと、前記別なファイルから前記適用
    可能な制約条件内のオブジェクトを生成するサブステッ
    プととを含む、請求項1に記載の方法。
  7. 【請求項7】前記変換ステップは、前記更新命令を検査
    して、あるオブジェクトが制約条件違反物として除去さ
    れ得るかを決定するサブステップを含む、請求項1に記
    載の方法。
  8. 【請求項8】前記見つけ出すステップは、更新される前
    記特定属性に基づき複数の適用可能な制約条件を見つ
    け、前記変換ステップはそのような適用可能な制約条件
    の各々に対し、前記更新の前記オブジェクトを互いに全
    く異なるオブジェクトのそれぞれの集合に変換する、請
    求項1に記載の方法。
  9. 【請求項9】前記見つけ出すステップは、前記更新の前
    記特定属性を表を介して適用可能な制約条件に相関させ
    るサブステップを含む、請求項1に記載の方法。
  10. 【請求項10】前記見つけ出すステップは、前記制約条
    件を調べて、それらが前記更新の前記特定属性を含むか
    どうかを決定するサブステップを含む、請求項1に記載
    の方法。
  11. 【請求項11】前記生成ステップは、それぞれの制約条
    件検査プログラムを前記適用可能な制約条件の各々に対
    して設けるサブステップと、前記オブジェクトを前記変
    換ステップから前記制約条件検査プログラムへ順次送る
    サブステップとを含む、請求項1に記載の方法。
JP50385093A 1991-08-07 1992-08-06 データファイルに複数オブジェクト制約条件を課す方法 Expired - Fee Related JP3396479B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US74170691A 1991-08-07 1991-08-07
US741,706 1991-08-07
PCT/US1992/006573 WO1993003448A1 (en) 1991-08-07 1992-08-06 Method of imposing multi-object constraints on data files

Publications (2)

Publication Number Publication Date
JPH06509892A JPH06509892A (ja) 1994-11-02
JP3396479B2 true JP3396479B2 (ja) 2003-04-14

Family

ID=24981829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50385093A Expired - Fee Related JP3396479B2 (ja) 1991-08-07 1992-08-06 データファイルに複数オブジェクト制約条件を課す方法

Country Status (5)

Country Link
US (1) US5408657A (ja)
EP (1) EP0598058B1 (ja)
JP (1) JP3396479B2 (ja)
DE (1) DE69217228T2 (ja)
WO (1) WO1993003448A1 (ja)

Families Citing this family (29)

* 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
US5721919A (en) 1993-06-30 1998-02-24 Microsoft Corporation Method and system for the link tracking of objects
US5572673A (en) * 1993-12-01 1996-11-05 Sybase, Inc. Secure multi-level system for executing stored procedures
US5513350A (en) * 1994-05-27 1996-04-30 At&T Corp. Update constraints in transactions which may abort
US5832487A (en) * 1994-12-15 1998-11-03 Novell, Inc. Replicated object identification in a partitioned hierarchy
US5893125A (en) * 1995-01-27 1999-04-06 Borland International, Inc. Non-modal database system with methods for incremental maintenance
US5765160A (en) * 1996-08-01 1998-06-09 Unisys Corp. Object-oriented database, a method for registering triggers for processing at end of a transaction
US6304876B1 (en) 1998-06-05 2001-10-16 Computer Associates Think, Inc. Method for enforcing integrity constraints in a database table using an index
JP3360635B2 (ja) 1999-01-14 2002-12-24 日本電気株式会社 プログラム検査システムとプログラム検査方法並びにその記憶媒体
US6408280B1 (en) 1999-07-22 2002-06-18 Toshiba America Information Systems, Inc. Data driven constraints engine
US6820082B1 (en) 2000-04-03 2004-11-16 Allegis Corporation Rule based database security system and method
US6463429B1 (en) 2000-04-12 2002-10-08 International Business Machines Corporation System and method for consistency constraint management in database middleware
US6947952B1 (en) * 2000-05-11 2005-09-20 Unisys Corporation Method for generating unique object indentifiers in a data abstraction layer disposed between first and second DBMS software in response to parent thread performing client application
US7024409B2 (en) * 2002-04-16 2006-04-04 International Business Machines Corporation System and method for transforming data to preserve privacy where the data transform module suppresses the subset of the collection of data according to the privacy constraint
US7584208B2 (en) * 2002-11-20 2009-09-01 Radar Networks, Inc. Methods and systems for managing offers and requests in a network
US7640267B2 (en) * 2002-11-20 2009-12-29 Radar Networks, Inc. Methods and systems for managing entities in a computing device using semantic objects
US7502791B2 (en) * 2002-11-26 2009-03-10 Norsync Technology A/S Database constraint enforcer
US7433876B2 (en) * 2004-02-23 2008-10-07 Radar Networks, Inc. Semantic web portal and platform
WO2008021832A2 (en) * 2006-08-09 2008-02-21 Radar Networks, Inc. Harvesting data from page
US20090076887A1 (en) * 2007-09-16 2009-03-19 Nova Spivack System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment
US20090106307A1 (en) * 2007-10-18 2009-04-23 Nova Spivack System of a knowledge management and networking environment and method for providing advanced functions therefor
US8108367B2 (en) * 2008-05-20 2012-01-31 International Business Machines Corporation Constraints with hidden rows in a database
US20100004975A1 (en) * 2008-07-03 2010-01-07 Scott White System and method for leveraging proximity data in a web-based socially-enabled knowledge networking environment
WO2010120925A2 (en) * 2009-04-15 2010-10-21 Evri Inc. Search and search optimization using a pattern of a location identifier
WO2010120934A2 (en) * 2009-04-15 2010-10-21 Evri Inc. Search enhanced semantic advertising
US9037567B2 (en) * 2009-04-15 2015-05-19 Vcvc Iii Llc Generating user-customized search results and building a semantics-enhanced search engine
US8200617B2 (en) 2009-04-15 2012-06-12 Evri, Inc. Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
US8250048B2 (en) * 2009-04-20 2012-08-21 Oracle International Corporation Access control for graph data
US8301660B2 (en) * 2009-07-22 2012-10-30 Oracle International Corporation Enforcing restrictions for graph data manipulation operations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5226158A (en) * 1989-05-24 1993-07-06 International Business Machines Corporation Method and apparatus for maintaining referential integrity within a relational database

Also Published As

Publication number Publication date
JPH06509892A (ja) 1994-11-02
DE69217228D1 (de) 1997-03-13
EP0598058B1 (en) 1997-01-29
US5408657A (en) 1995-04-18
DE69217228T2 (de) 1997-08-21
EP0598058A1 (en) 1994-05-25
WO1993003448A1 (en) 1993-02-18

Similar Documents

Publication Publication Date Title
JP3396479B2 (ja) データファイルに複数オブジェクト制約条件を課す方法
US6442543B1 (en) Method and apparatus for changing temporal database information
Turner et al. A DBMS for large statistical databases
US20060064428A1 (en) Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US6343286B1 (en) Efficient technique to defer large object access with intermediate results
EP1672540A1 (en) Complex data access
NO965254L (no) System og fremgangsmåte for inndeling av medbringbare dokumenter ved bruk av N-gram ordspalting
US6901418B2 (en) Data archive recovery
EP1607883A1 (en) A data processing system and method for monitoring database replication
WO1999023582A1 (en) Methods and apparatus for a universal tracking system
EP0107435B1 (en) System for changing common card mode data in a card image data processing system
JPS60218142A (ja) デ−タの動的型変換方式
US5564053A (en) Method for generating specific program systems and tools to facilitate in generating the specific program systems
KR20010090596A (ko) 점검 유틸리티용 예외 테이블을 유지하는 방법
Nelson Designing efficient simulation experiments
Scope et al. Database framework for supporting retention policies
Wada et al. Virtual database technology for distributed database in ubiquitous computing environment
TEITEL Relational database models and social science computing
JP2819567B2 (ja) 分類インデックス作成装置
Chen et al. Visualizing business rules in corporate databases
US8250108B1 (en) Method for transferring data into database systems
Cloud The cost of converting to MARC AMC: some early observations
Pendleton Integrated information system
Motro Annotating answers with their properties
Dalehite SOLINET’s Implementation of the USMARC Format for Holdings and Locations

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090207

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100207

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110207

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120207

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees