JP2000207271A - オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレ―ショナル・デ―タベ―ス上で実行されるデ―タベ―ス・オペレ―ションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体 - Google Patents

オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレ―ショナル・デ―タベ―ス上で実行されるデ―タベ―ス・オペレ―ションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体

Info

Publication number
JP2000207271A
JP2000207271A JP11357032A JP35703299A JP2000207271A JP 2000207271 A JP2000207271 A JP 2000207271A JP 11357032 A JP11357032 A JP 11357032A JP 35703299 A JP35703299 A JP 35703299A JP 2000207271 A JP2000207271 A JP 2000207271A
Authority
JP
Japan
Prior art keywords
deleted
relational database
objects
current
current object
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.)
Granted
Application number
JP11357032A
Other languages
English (en)
Other versions
JP3790650B2 (ja
Inventor
J Saro Timo
ティモ・ジェイ・サロ
J Williams Kevin
ケビン・ジェイ・ウィリアムス
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 JP2000207271A publication Critical patent/JP2000207271A/ja
Application granted granted Critical
Publication of JP3790650B2 publication Critical patent/JP3790650B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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/954Relational
    • 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/99931Database or file accessing
    • 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/99938Concurrency, e.g. lock management in shared database
    • 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

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 オブジェクト指向トランザクション・システ
ムとリレーショナル・データベースとをインタフェース
可能なシステムを提供する。 【解決手段】 オブジェクト指向トランザクション・シ
ステムにより、データベース・トランザクションを自動
的に順序付ける。完了されたトランザクション内のオブ
ジェクトが、リレーショナル・データベースに挿入され
るオブジェクト、リレーショナル・データベースから削
除されるオブジェクト及びリレーショナル・データベー
ス内で更新されるオブジェクトのグループにクラスタ化
される。リレーショナル・データベースに挿入又は削除
されるオブジェクトが、リレーショナル・データベース
へのオブジェクトの挿入又は削除優先順位に従い順序付
けられ、それにより挿入又は削除順序が定義される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理システム
及び方法並びに該方法を実行するためのプログラムを記
憶したプログラム記憶媒体に関し、特に、データベース
・システム及び方法並びに該方法を実行するためのプロ
グラムを記憶したプログラム記憶媒体に関する。
【0002】
【従来の技術】リレーショナル・データベースは、デー
タ処理環境においてデータを記憶するために広く使用さ
れている。当業者には周知のように、リレーショナル・
データベースでは、データがデータベース内でのその実
際の位置ではなしに、他のデータとの関係にもとづきア
ドレス指定される。リレーショナル・データベース内の
データ間の関係は、関係キーを用いて示される。例え
ば、所有者クラスの各データ要素は、それに関連付けら
れる基本キーを有し、メンバ・クラスの各データ要素
は、メンバ要素を所有するデータ要素の基本キーを指し
示す外部キーを含み得る。リレーショナル・データベー
スの設計及び動作は、当業者には周知であり、ここで詳
述する必要はない。
【0003】オブジェクト指向プログラミング・システ
ム、方法及びコンピュータ・プログラム製品は、データ
処理環境において広く使用されている。当業者には周知
のように、オブジェクト指向プログラミング・システ
ム、方法及びコンピュータ・プログラム製品は、非常に
多くの"オブジェクト"から構成される。オブジェクトは
データ構造と、該データ構造をアクセス可能なオペレー
ションまたは機能のセットとを含む。同一のデータ構造
及び共通の振舞いを有するオブジェクトは、クラスに一
緒にグループ化され集合的に識別され得る。オブジェク
ト指向コンピュータ環境では、オブジェクトにそのメソ
ッドの1つを実行するように要求することにより、デー
タが処理される。継承関係もまた、第1のクラスが第2
のクラスの親と見なされ、第2のクラスが第1のクラス
の子と見なされるように、2つ以上のクラス間で存在し
得る。子クラスのデータ構造は、親クラスの全ての属性
を含む。オブジェクト指向プログラミング・システム、
方法及びコンピュータ・プログラム製品の設計及び動作
は、当業者には周知であり、ここで詳述する必要はな
い。
【0004】オブジェクト指向コンピュータ環境は現
在、柔軟性があり、ユーザフレンドリなオブジェクト指
向トランザクション・システムを形成するために使用さ
れている。当業者には周知のように、トランザクション
は一般に、アトミック式に実行される1つ以上のオブジ
ェクトの変更の論理グループを指し示す。換言すると、
トランザクション内の全てのオペレーションが実行され
るか、それらのどれも実行されない。トランザクション
・アプローチを使用することにより、トランザクション
の範囲内でのユーザによるオブジェクトの全ての変更
は、持続的な記憶済みオブジェクト自体を実際に更新す
ることなく、最初にオブジェクトの内部コピーに対して
実行される。ユーザは最終的に、トランザクションによ
り達成された変更を永続的にコミットするか、またはそ
れらを廃棄するかを決定し得る。ユーザがコミットを選
択する場合、持続記憶内のオブジェクトが更新される。
ユーザが変更の廃棄を選択する場合、持続記憶が未変更
のまま維持される。
【0005】オブジェクト指向トランザクション・シス
テムは、複雑な事業プロセスを反映する企業アプリケー
ションにおいて使用され、ユーザはユーザ・インタフェ
ースの異なる要素間を自由にナビゲートできる。例え
ば、ユーザはあるアプリケーションにおいて、ディスプ
レイ上で複数のウィンドウを同時にオープンしたいと思
う。こうしたアプリケーションのユーザは、異なるウィ
ンドウ間でデータの一貫性を保証するための特殊な予防
措置を取る必要なしに、あるウィンドウ内の処理情報か
ら、異なるウィンドウ内の処理情報に切り替われること
を期待し得る。
【0006】リレーショナル・データベースは一般に、
データベースの一貫性を維持するための参照保全制約を
含む。これらの制約は一般に、データベース記憶オペレ
ーション及び削除オペレーションが特定の順序で実行さ
れることを要求する。あいにく、この順序はオブジェク
ト指向トランザクション内において、オブジェクトが生
成され、変更され、削除される順序に一致しない。更
に、データベース参照保全制約は一般に、論理オブジェ
クト関係に一貫的にマップされない。参照保全制約は一
般に、どのエンティティが関係外部キーにより参照して
おり、どのエンティティが参照されているかなど、キー
情報にもとづき施行される。このキー情報は、オブジェ
クト関係にマップされるとき、2つ以上の可能な変形を
有し得る。従って、アプリケーション事象フローまたは
オブジェクト関係論理方向にもとづき、オブジェクトの
ツリーをリレーショナル・データベースに記憶する順序
またはリレーショナル・データベースから削除する順序
を推論することは困難であろう。
【0007】従って、オブジェクト指向トランザクショ
ン・システムによるトランザクションの完了時に、デー
タベース・オペレーションが適切に順序付けられるよう
に、オブジェクト指向トランザクション・システムとリ
レーショナル・データベースとをインタフェースするこ
とは困難であろう。リレーショナル・データベース参照
保全制約を維持しながら、オブジェクト指向トランザク
ション・システムとリレーショナル・データベースとを
インタフェースするために、オペレーション順序付けの
カスタマイズ符号化が、オブジェクト指向トランザクシ
ョン・システムにおいて提供され得る。しかしながら、
こうしたカスタム符号化は時間を消費し、プロジェクト
の資源の30%またはそれ以上を消費し得る。これにつ
いては、本発明者及びHillによる刊行物"Scalable Obje
ct-Persistence Frameworks"、Journal of Object-Orie
nted Programming、Nov./Dec. 1998、page 18-24を参照
されたい。或いはまた、参照保全制約の施行をリレーシ
ョナル・データベースにおいて禁止することも考えられ
るが、そうすると、リレーショナル・データベース全体
が破壊され、内部的に不都合が生じることがある。
【0008】
【発明が解決しようとする課題】従って、本発明の目的
は、オブジェクト指向トランザクション・システムとリ
レーショナル・データベースとをインタフェース可能な
システム及び方並びに該方法を実行するためのプログラ
ムを記憶したプログラム記憶媒体を提供することであ
る。
【0009】本発明の別の目的は、リレーショナル・デ
ータベース参照保全制約を守りながら、オブジェクト指
向トランザクション・システムとリレーショナル・デー
タベースとをインタフェース可能なシステム及び方法並
びに該方法を実行するためのプログラムを記憶したプロ
グラム記憶媒体を提供することである。
【0010】
【課題を解決するための手段】これらの及び他の目的
が、本発明に従い、トランザクションの完了時に、オブ
ジェクト指向トランザクション・システムによりリレー
ショナル・データベース上で実行されるデータベース・
オペレーションに対応して、自動的にオブジェクトを順
序付けるシステム、方法及びコンピュータ・プログラム
製品により提供される。完了されたトランザクション内
のオブジェクトが、リレーショナル・データベースに挿
入されるオブジェクトのグループ、リレーショナル・デ
ータベースから削除されるオブジェクトのグループ及び
リレーショナル・データベース内で更新されるオブジェ
クトのグループにクラスタ化される。リレーショナル・
データベースに挿入されるオブジェクトが、リレーショ
ナル・データベースへのオブジェクトの挿入優先順位に
従い順序付けられ、それにより挿入順序が定義される。
リレーショナル・データベースから削除されるオブジェ
クトが、リレーショナル・データベースからのオブジェ
クトの削除優先順位に従い順序付けられ、それにより削
除順序が定義される。リレーショナル・データベースに
挿入されるオブジェクトが、挿入順序に従い、リレーシ
ョナル・データベースに挿入される。次に、リレーショ
ナル・データベース内で更新されるオブジェクトが、任
意の順序で更新される。最後に、リレーショナル・デー
タベースから削除されるオブジェクトが、削除順序に従
いリレーショナル・データベースから削除される。
【0011】異なるデータベース・オペレーション間の
優先順位は、複雑な前提ツリーを形成する。しかしなが
ら、本発明によれば、オペレーション実行の正しい順序
を決定するために、これらの前提条件が完全に解決され
る必要がないことが判明した。むしろ、前提条件は挿入
オペレーションの間及び削除オペレーションの間でのみ
解決される必要があり、異なるオペレーション・タイプ
間で解決される必要はない。オペレーションが次に3つ
のフェーズで実行され得る。最初に挿入オペレーショ
ン、次に更新オペレーション、そして最後に削除オペレ
ーションの順である。
【0012】本発明の別の態様によれば、挿入オペレー
ション及び更新オペレーションの優先順位を解決するた
めに、同一のオペレーションが使用され得る。例えば、
リレーショナル・データベースから削除されるオブジェ
クトを順序付けるために、削除されるオブジェクト間の
関連が識別される。削除される現オブジェクトが定義さ
れ、それが削除される関連オブジェクトより上位の削除
優先順位を有するか否かが判断される。削除される現オ
ブジェクトが、削除される関連オブジェクトより上位の
削除優先順位を有する場合、削除される現オブジェクト
が、削除される関連オブジェクトより上位に順序付けら
れる。削除される現オブジェクトが、削除される関連オ
ブジェクトより上位の削除優先順位を有さない場合、削
除される現オブジェクトが、削除される関連オブジェク
トより遅れて削除される。これらのオペレーションは、
削除される現オブジェクトに関連付けられる残りのオブ
ジェクトに対して、繰り返し実行され得る。これらのオ
ペレーションはまた、削除される関連オブジェクトより
上位に順序付けられる削除される現オブジェクトに関連
付けられる各オブジェクトに対して、再帰的に実行され
得る。
【0013】削除されるオブジェクト間の関連は、削除
されるオブジェクトのうちで現オブジェクト及び関連オ
ブジェクトを識別し、削除されるオブジェクトの外部キ
ー及び基本キーを識別し、外部キーと基本キーの対の間
の、リレーショナル・データベースにおける制約を識別
することにより、識別され得る。削除優先順位は、削除
される現オブジェクトの外部キーが、削除される関連オ
ブジェクトの基本キーを参照するか否かを判断すること
により、決定され得る。削除される現オブジェクトの外
部キーと、削除される関連オブジェクトの基本キーとの
間で識別される制約が存在する場合、削除される現オブ
ジェクトが、削除される関連オブジェクトより上位の削
除優先順位を有する。逆に、削除される現オブジェクト
の外部キーと、削除される関連オブジェクトの基本キー
との間で識別される制約が存在しない場合、削除される
現オブジェクトは、削除される関連オブジェクトより上
位の削除優先順位を有さない。同一のオペレーション
が、挿入されるオブジェクトに対しても実行され得る。
【0014】これらのオペレーションの完了時に、リレ
ーショナル・データベース上で実行される挿入オペレー
ション及び削除オペレーションの順序は、自動的にリレ
ーショナル・データベースの参照保全制約に対応する。
従って、オブジェクト指向トランザクション・システム
によるトランザクションの完了時に、データベース・オ
ペレーションは、リレーショナル・データベース参照保
全制約を維持する順序で、リレーショナル・データベー
ス上で自動的に実行される。各特定のアプリケーション
に対して、オペレーション順序付けのカスタム符号化が
提供される必要はなく、トランザクションの間にオブジ
ェクト指向トランザクション・システムにより実行され
たオペレーションのシーケンスにより、データベースが
破壊される必要がない。
【0015】
【発明の実施の形態】本発明は、本発明の好適な実施例
を示す添付の図面を参照しながら、以降で詳述される。
しかしながら、本発明は多くの異なる形態で実現され得
て、ここで述べられる実施例に限られるものではなく、
むしろ、これらの実施例は、本開示が十分且つ完全であ
るように提供され、当業者に本発明の範囲を完全に伝え
るものである。図面を通じて、同一の参照番号は同一の
要素を指し示す。
【0016】図1を参照すると、トランザクションの完
了時に、本発明によるオブジェクト指向トランザクショ
ン・システムにより、リレーショナル・データベース上
で実行されるデータベース・オペレーションを順序付け
るためのシステム、方法及びコンピュータ・プログラム
製品が示される。図1に示されるように、リレーショナ
ル・データベース・システム100はリレーショナル・
データベース110を含む。リレーショナル・データベ
ース・システム100は、1つ以上のメインフレーム・
コンピュータ、ミッドレンジ・コンピュータまたはパー
ソナル・コンピュータを含み得、リレーショナル・デー
タベース110は、1つ以上のデータ・プロセッサ上に
存在する単一のリレーショナル・データベースまたは複
数のリレーショナル・データベースである。リレーショ
ナル・データベースの例として、本発明の出願人である
IBM社のDB2及びSQLコンピュータ・プログラム
製品がある。
【0017】更に図1を参照すると、オブジェクト指向
トランザクション・システム120は、1つ以上のメイ
ンフレーム・コンピュータ、ミッドレンジ・コンピュー
タ、またはパーソナル・コンピュータを含む1つ以上の
データ処理システム上で実行される。オブジェクト指向
トランザクション・システム120は、トランザクショ
ンを実行するために一人以上のユーザにより使用される
トランザクション処理システム130を含む。トランザ
クション処理システム130は、グラフィック・ユーザ
・インタフェースなどの適切なユーザ・インタフェース
を含み得、柔軟なトランザクションの実行を可能にす
る。オブジェクト指向トランザクション処理システム1
30の設計は、当業者には周知であり、ここで詳述する
必要はない。
【0018】図1に示されるように、トランザクション
処理システム130はインタフェース140を介して、
リレーショナル・データベース・システム100とイン
タフェースする。リレーショナル・データベース・シス
テム100及びトランザクション処理システム130
は、異なる若しくはオーバラップする、または同一のデ
ータ処理システム上で実行され得るので、インタフェー
ス140は有線通信ネットワーク、無線通信ネットワー
ク、ローカル・エリア・ネットワーク、インターネッ
ト、2つ以上のコンピュータを接続するバス、単一のコ
ンピュータ内の2つ以上のアプリケーションを接続する
アプリケーション・インタフェース及びそれらの組み合
わせを含み得る。
【0019】更に図1を参照すると、オブジェクト指向
トランザクション・システム120はまた、データベー
ス・オペレーション順序付けシステム、方法またはコン
ピュータ・プログラム製品150を含む。データベース
・オペレーション順序付け150は、トランザクション
の完了時に、オブジェクト指向トランザクション処理シ
ステム130によりリレーショナル・データベース11
0上で実行されるデータベース・オペレーションを順序
付ける。ここでデータベース・オペレーション順序付け
150は、トランザクション処理システム130及びリ
レーショナル・データベース・システム100と異なる
若しくはオーバラップする、または同一の1つ以上のメ
インフレーム・コンピュータ、ミッドレンジ・コンピュ
ータ、またはパーソナル・コンピュータ上に存在し得
る。データベース・オペレーション順序付け150は、
第2のインタフェース160を介して、リレーショナル
・データベース110と通信する。第2のインタフェー
ス160は、第1のインタフェース140と異なる若し
くはオーバラップする、または同一のインタフェースで
あり、有線通信ネットワーク、無線通信ネットワーク、
ローカル・エリア・ネットワーク、インターネット、2
つ以上のデータ・プロセッサを接続するバス、アプリケ
ーション・インタフェース及びそれらの組み合わせを含
み得る。
【0020】データベース・オペレーション順序付け1
50は、方法、システム(装置)またはコンピュータ・
プログラム製品として実現され得る。従って、本発明は
完全なハードウェア実施例、完全なソフトウェア実施
例、またはソフトウェア態様及びハードウェア態様を結
合する実施例の形態を取り得る。更に本発明は、コンピ
ュータ読取り可能プログラム・コード手段を実現するコ
ンピュータ読取り可能記憶媒体上のコンピュータ・プロ
グラム製品の形態を取り得る。ハードディスク、CD−
ROM、光記憶装置または磁気記憶装置などの、任意の
好適なコンピュータ読取り可能媒体が使用され得る。
【0021】図2は、従来のリレーショナル・データベ
ース内の関係を示す。簡略化のため、リレーショナル・
データベースはテーブルA、テーブルB及びテーブルC
として示される3つのテーブルを含むと仮定される。更
に、特定の例を提供するために、テーブルAは組織内の
部門のリストを含み、テーブルBは組織内の従業員のリ
ストを含み、テーブルCは組織内の従業員アドレスのリ
ストを含む。リレーショナル・データベースは、テーブ
ル以外の技術を用いても表現され得る。また、リレーシ
ョナル・データベースは一般に、図2に示されるよりも
より多くのテーブル及びデータ・エントリを含むことが
理解されよう。
【0022】図2に示されるように、部門テーブルAは
部門d1乃至dnを含む。従業員テーブルBは従業員e
1乃至enを含み、アドレス・テーブルCはアドレスa
1乃至anを含む。部門テーブルAと従業員テーブルB
との関係は、"所有者−メンバ"関係である。部門と従業
員間の関係は1対多であるので、部門テーブルAは基本
キーを含み、従業員テーブルBは、部門テーブルAの適
切な基本キーを参照する外部キーを含む。換言すると、
テーブルAとテーブルBとの関係は、所有者対メンバの
関係であり、メンバ・テーブル内の外部キーが、所有者
テーブル内の適切な基本キーを参照する。それとは対照
的に、従業員テーブルBとアドレス・テーブルCとの関
係は1対1であり、この関係は、実線矢印により示され
るように、アドレス・テーブルCを参照する従業員テー
ブルB内の外部キー、または破線矢印により示されるよ
うに、従業員テーブルBを参照するアドレス・テーブル
C内の外部キーを用いて定義される。
【0023】リレーショナル・データベースは一般に、
データベースの一貫性を維持するための参照保全制約を
含む。これらの制約は一般に、データベース記憶オペレ
ーション及び削除オペレーションが特定の順序またはシ
ーケンスで実行されることを要求する。例えば、図2の
参照制約は、従業員の部門が既に存在しない限り、従業
員が追加され得ないといったものである。逆に、部門は
その全ての従業員が削除されるか、或いは別の部門を参
照するように更新されるまで削除され得ない。
【0024】あいにく、これらのオペレーションの順序
は、オブジェクト指向トランザクション処理システム1
30内でオブジェクトが生成または削除される順序に、
必ずしも一致しない。例えば、図3を参照すると、オブ
ジェクト指向トランザクション処理システムは、部門オ
ブジェクトを参照するトランザクション・オブジェクト
を含み、部門オブジェクトは集合オブジェクトを参照
し、集合オブジェクトは従業員オブジェクトのグループ
を参照し、これらの全てがトランザクションの間に影響
される。図3と図2とを比較すると、オブジェクト、ポ
インタ及びポインタの方向は一般に異なる。
【0025】データベース参照保全制約は一般に、論理
的な親−子オブジェクト関係に一貫的にマップされな
い。なぜなら、参照保全規則は一般に、キー情報にもと
づき施行され、論理関係に基づかないからである。例え
ば、従業員からアドレスへの関連ポインティングが、従
業員からアドレスへの、またはアドレスから従業員への
外部キー参照として、データベース内で実行される。更
に、オブジェクト間の関係は一般に、オブジェクトがデ
ータベースに記憶またはデータベースから削除される順
序とは無関係である。従って、オブジェクトのツリーが
リレーショナル・データベースに記憶またはそこから削
除される必要のある順序は、一般に、トランザクション
処理システム130内の事象フローから、またはオブジ
ェクト関係論理方向から推論され得ない。
【0026】従って、オブジェクト指向トランザクショ
ン処理システム130によるオブジェクト指向トランザ
クションの終りには、オブジェクト、実行されたオペレ
ーション、及び結果として生じたデータは一般に既知で
ある。しかしながら、参照保全制約を守るために、リレ
ーショナル・データベース110に成されるべき変更の
順序またはシーケンスは未知である。
【0027】一般に、持続オブジェクトに対して実行さ
れ得る3つの種類の関係オペレーション、すなわち挿
入、更新及び削除が存在する。これらのオペレーション
・タイプの間の依存性は、一般に次のようである。
【0028】1)挿入オペレーションは他の挿入に依存
し得るが、他の種類のオペレーションには依存しない。
例えば、挿入されるデータが、挿入される他のデータを
参照し得る。
【0029】2)更新オペレーションは他の更新には依
存しないが、挿入に依存し得る。例えば、データが挿入
されるデータを参照するように更新される。
【0030】3)削除オペレーションは他の削除に依存
し得る。例えば、削除されるデータが、削除される他の
データを参照する。削除オペレーションはまた、更新に
依存し得る。例えば、データが削除されるデータを参照
解除するように更新される。
【0031】オブジェクトのデータを挿入するとき、被
参照データは参照データよりも前に挿入されなければな
らない。データを更新するとき、被参照データは、参照
データを更新する前に挿入されなければならない。デー
タを削除するとき、被参照データを参照解除するため
に、参照データが被参照データを削除する前に削除また
は更新されなければならない。
【0032】異なるデータベース・オペレーション間の
優先順位は、複雑な前提条件ツリーを形成する。関係参
照保全制約の性質により、一般にデータベース内で定義
される循環制約は存在しない。本発明に従うデータベー
ス・オペレーション順序付け150は、オブジェクトの
ツリーがデータベースに記憶またはデータベースから削
除されるとき、リレーショナル・データベース110に
対して定義される参照保全制約に従い、関係挿入オペレ
ーション及び削除オペレーションを自動的に順序付ける
機構を提供する。順序付け機構は、好適には、オブジェ
クト間の関係がどのようにデータベース内の基本キー/
外部キー対にマップされるかに関する情報及び対に対す
る保全規則を使用する。
【0033】図4乃至図8は、本発明に従うデータベー
ス・オペレーション順序付けを示すフロー図である。フ
ロー図の各ブロック及びフロー図内のブロックの組み合
わせは、コンピュータ・プログラム命令により実現され
得ることが理解できよう。これらのコンピュータ・プロ
グラム命令は、プロセッサまたは他のプログラマブル・
データ処理装置に提供されてマシンを生成する。それに
より、プロセッサまたは他のプログラマブル・データ処
理装置上で実行される命令が、フロー図のブロックで指
定される機能を実現する手段を生成する。これらのコン
ピュータ・プログラム命令はまた、コンピュータ読取り
可能メモリ内に記憶され、プロセッサまたは他のプログ
ラマブル・データ処理装置に、特定の態様で機能するよ
うに指令する。すなわち、コンピュータ読取り可能メモ
リに記憶される命令が、フロー図のブロック内で指定さ
れる機能を実現する命令手段を含む製造物を生成する。
【0034】従って、フロー図のブロックは、指定機能
を実行する手段の組み合わせ、指定機能を実行するステ
ップの組み合わせ及び指定機能を実行するプログラム命
令手段をサポートする。また、フロー図の各ブロック及
びフロー図内のブロックの組み合わせは、指定機能また
はステップを実行する特殊目的ハードウェア・ベースの
コンピュータ・システムにより、または特殊目的ハード
ウェアとコンピュータ命令との組み合わせにより実現さ
れ得る。
【0035】図4を参照すると、本発明によれば、リレ
ーショナル・データベースにおけるオペレーション実行
の適切な順序を決定するために、前提条件が完全に解決
される必要がない。むしろ、前提条件は挿入オペレーシ
ョンの間及び削除オペレーションの間でのみ、詳細に解
決される必要がある。前提条件は異なるオペレーション
・タイプ間では、詳細に解決される必要がない。従っ
て、図4に示されるように、ブロック410で、完了済
みトランザクション内のオブジェクトを、リレーショナ
ル・データベースに挿入されるオブジェクトのグルー
プ、リレーショナル・データベースから削除されるオブ
ジェクトのグループ及びリレーショナル・データベース
内で更新されるオブジェクトのグループにクラスタ化す
ることにより、データベース・オペレーション順序付け
150が開始する。クラスタ化の詳細なオペレーション
については後述する。
【0036】更に図4を参照すると、ブロック420
で、リレーショナル・データベースに挿入されるオブジ
ェクトが、リレーショナル・データベースへのオブジェ
クトの挿入優先順位に従い順序付けられ、それにより挿
入リスト内の挿入順序が定義される。ブロック430
で、リレーショナル・データベースから削除されるオブ
ジェクトが、リレーショナル・データベースからのオブ
ジェクトの削除優先順位に従い順序付けられ、それによ
り削除リスト内の削除順序が定義される。ブロック42
0及びブロック430のオペレーションは、図示のシー
ケンスとは逆に実行されても良いことが理解できよう。
これらのオペレーションの実行の詳細については後述す
る。
【0037】更に図4を参照すると、リレーショナル・
データベース・オペレーションが3つのフェーズで実行
される。最初にブロック440で、リレーショナル・デ
ータベースに挿入されるオブジェクトを、挿入順序に従
いリレーショナル・データベースに挿入することによ
り、挿入オペレーションが実行される。次に、ブロック
450で、リレーショナル・データベース内で更新され
るオブジェクトにより、リレーショナル・データベース
を更新することにより、更新オペレーションが実行され
る。最後に、ブロック460で、リレーショナル・デー
タベースから削除されるオブジェクトを、削除順序に従
いリレーショナル・データベースから削除することによ
り、削除オペレーションが実行される。
【0038】図4に示されるように、挿入オペレーショ
ンの実行後に更新オペレーションを実行することが安全
である。なぜなら、更新されたオブジェクトにより参照
され得る全てのオブジェクトは、既にリレーショナル・
データベースに挿入されているからである。削除オペレ
ーションは更新オペレーションの後で実行され得る。な
ぜなら、任意の起こり得る参照解除が更新フェーズの間
に生じたかも知れないからである。
【0039】図5は、データベース・オペレーション・
タイプに従うオブジェクトのクラスタ化(図4のブロッ
ク410)を示す。これらのオペレーションは、現オブ
ジェクト(ここでは"CO"と呼ばれる)を指し示す、現
オブジェクト・ポインタ(ここでは"COP"と呼ばれ
る)を用いて、非クラスタ化オブジェクト・リスト(こ
こではUCリストと呼ばれる)上で実行される。
【0040】図5のブロック510に示されるように、
COPがUCリスト内の最初の位置にセットされる。ブ
ロック515で、COが新たなものであるか否かのテス
トが実行される。肯定の場合、ブロック535で、CO
が挿入リストに追加される。否定の場合、ブロック52
0で、COが削除されるか否かテストされる。肯定の場
合、ブロック540で、COが削除リストに追加され
る。否定の場合、ブロック525で、COが更新リスト
に追加される。これらのオペレーションは、ブロック5
45でUCリストの終りに達するまで繰り返し実行され
る。一旦UCリストの終りに達すると、挿入リストに
は、リレーショナル・データベースに挿入されるオブジ
ェクトが収集され、削除リストには、リレーショナル・
データベースから削除されるオブジェクトが収集され、
更新リストには、リレーショナル・データベース内で更
新されるオブジェクトが収集される。
【0041】同一のオペレーションが、挿入オペレーシ
ョン及び更新オペレーションに対する詳細な前提条件を
解決するために実行され得る。従って、これらのオペレ
ーションが図6で総称的に述べられる。しかしながら、
これらのオペレーションは、リレーショナル・データベ
ースへのオブジェクトの挿入優先順位に従い、リレーシ
ョナル・データベースに挿入されるオブジェクトを順序
付け、それにより挿入順序を定義するために別々に実行
され、またリレーショナル・データベースからのオブジ
ェクトの削除優先順位に従い、リレーショナル・データ
ベースから削除されるオブジェクトを順序付け、それに
より削除順序を定義するために別々に実行される。
【0042】挿入されるオブジェクトの順序付けは、削
除されるオブジェクトの順序付けよりも先に実行され得
る。或いは、削除されるオブジェクトの順序付けが、挿
入されるオブジェクトの順序付けよりも先に実行され得
る。更に、2つの独立のプロセスにおいて、挿入される
オブジェクトの順序付けが、削除されるオブジェクトの
順序付けと同時に実行され得る。
【0043】最後に、リレーショナル・データベース内
で更新されるオブジェクトの順序付けは、実行される必
要がないことが理解できよう。換言すると、リレーショ
ナル・データベース内で更新されるオブジェクトは、任
意の順序で更新され得る。すなわち、順序付けは要求さ
れない。なぜなら、挿入オペレーションの実行後、更新
オペレーションを任意の順序で実行しても安全であるか
らである。なぜなら、更新されたオブジェクトにより参
照され得る全てのオブジェクトは、既にリレーショナル
・データベース内に挿入されているからである。
【0044】図9を参照すると、図6のオペレーション
は、トランザクションに参加するオブジェクトの2つの
リストを使用する。それらは未分類オブジェクト・リス
トまたは"USリスト"と呼ばれる未分類オブジェクトの
リストと、分類済みリストまたは"Sリスト"と呼ばれる
分類済みオブジェクトのリストである。分類済みオブジ
ェクト・リストは初期には空であり、未分類オブジェク
ト・リストは初期に、リレーショナル・データベースに
挿入される全てのオブジェクト、またはリレーショナル
・データベースから削除される全てのオブジェクトを含
む。オブジェクトの順序付けのためのオペレーション
は、現オブジェクト・ポインタ(COP)を用いて、未
分類オブジェクト・リスト内の現オブジェクト(CO)
に対して作用する。
【0045】更に図9を参照すると、関連リストまた
は"Aリスト"は、現オブジェクトからその関連オブジェ
クトへの関連付けのリストを含む。現関連ポインタ(C
AP)は、現関連(CA)を指し示す。
【0046】オブジェクト間の関連の概念は一般に周知
である。関連は関係とも見なされる。実際、用語"関連
(association)"は、オブジェクトを使用するアプリケ
ーションを設計するときの、オブジェクトのモデル化に
おいて一般に使用され、用語"関係(relationship)"
は、データがどのようにデータベースに記憶されるかに
ついて論じるときの、データのモデル化において使用さ
れる。オブジェクトのモデル化の1技法は、統合モデル
化言語(UML)であり、これはオブジェクト間の関連
を図式的に表すために使用される表記法を定義する。そ
の1例を図10に示す。UMLはオブジェクト管理グル
ープの規格であり、H. Eriksson、M. Penkerによる"UML
Toolkit"(1997年、John Wiley and Sons発行)で
述べられている。
【0047】UMLモデルに従えば、関連モデルは名前
により認識され、1つ以上の関連終端を含む関連から成
る。関連終端は次の特性、すなわちこの関連終端が参照
するクラスを指定するタイプ、クラスを参照する全ての
関連終端に固有の役割名及び関連終端内のメンバの数を
定義する多数性(multiplicity)を有する。
【0048】図6を再度参照すると、オブジェクトの順
序付けが、未分類オブジェクト(US)・リスト上で、
オブジェクトを繰り返すことにより実行される。従っ
て、ブロック602は、USリスト内の最初の位置が現
オブジェクト(CO)となるように、現オブジェクト・
ポインタ(COP)をUSリスト内の最初の位置にセッ
トする。現オブジェクトはまた、ブロック604で、分
類済み(S)リストの終りに追加される。オペレーショ
ンは次に、現オブジェクトが他のオブジェクトとの間で
有する関連に渡って繰り返される。従って、ブロック6
06で、現関連ポインタ(CAP)が、関連(A)リス
ト内の最初の位置にセットされる。各関連に対して、オ
ペレーションはブロック612で、現オブジェクトが現
関連より上位の挿入優先順位(オブジェクトがデータベ
ースに挿入される場合)または削除優先順位(オブジェ
クトがデータベースから削除される場合)を有するか否
かをテストする。現オブジェクトが現関連より上位の順
位を有し、関連オブジェクトが既にSリスト内に、現オ
ブジェクトよりも前の位置に含まれる場合(ブロック6
14)、関連オブジェクト及びその低優先順位の関連オ
ブジェクトが、Sリストの終りに再帰的に移動される
(ブロック616)。
【0049】ブロック618では、関連オブジェクトが
他の関連オブジェクトを含む場合、関連オブジェクトが
一時的現オブジェクトとなり(ブロック608)、優先
順位テスト及び関連オブジェクトのSリストの終りへの
移動が再帰的に実行される。全ての関連オブジェクトが
ブロック618でテストされ、ブロック620でAリス
トの終りにまだ達しない場合、CAPがAリスト内で進
められ(ブロック622)、再帰オペレーションが再度
実行される。ブロック620でAリストの終りに達する
と、次にブロック624でUSリストの終りにまだ達し
ていなければ、COPがUSリスト内で1つ進められる
(ブロック610)。従って、図6の処理の完了時に、
クラスタ化リスト内のオブジェクトに対して実行される
挿入オペレーションまたは削除オペレーションのいずれ
かの順序が、リレーショナル・データベース内で定義さ
れる参照保全規則に対応する。
【0050】図7及び図8は、それぞれ、関連の現オブ
ジェクトと関連オブジェクト間の挿入優先順位を決定す
るための及び関連の現オブジェクトと関連オブジェクト
間の削除優先順位を決定するための詳細なオペレーショ
ンを示す。図7または図8のオペレーションは、挿入
(ブロック612a)または削除(ブロック612b)
されるオブジェクトの順序付けが、図6のブロック61
2で実行されているか否かに依存して実行される。
【0051】図7に示されるように、現オブジェクト
は、関連オブジェクトを保有するテーブルが、現オブジ
ェクトを保有するテーブル内の基本キー列を参照する外
部キー列を有し、この基本キー/外部キー列の対に対し
て定義される制約が存在する場合、関連より上位の挿入
優先順位を有する。図8に示されるように、現オブジェ
クトは、現オブジェクトを保有するテーブルが、関連オ
ブジェクトを保有するテーブル内の基本キー列を参照す
る外部キー列を有し、この基本キー/外部キー列の対に
対して定義される制約が存在する場合、関連より上位の
削除優先順位を有する。
【0052】従って、ブロック702/802では、関
連が制約を有するか否かをテストされる。有さない場
合、ブロック708/808で、現オブジェクトは優先
順位を有さない。制約を有する場合、ブロック704
で、関連オブジェクトが外部キーを有するか否かがテス
トされ、ブロック804で、現オブジェクトが外部キー
を有するか否かがテストされる。外部キーを有する場
合、次にブロック710/810で、現オブジェクトが
優先順位を有する。外部キーを有さない場合、ブロック
706/806で、現オブジェクトは優先順位を有さな
い。一旦優先順位が決定されると、オブジェクトを順序
付けるために多くの他の分類オペレーションが実行され
得る。
【0053】従って、トランザクションの完了時に、オ
ブジェクト指向トランザクション・システムによりデー
タベースに挿入、またはデータベースから削除されるオ
ブジェクトの相対位置を決定するために関連が使用され
る。オペレーション順序付けは、カスタム・プログラミ
ングを生成する必要なしに、またオブジェクト指向トラ
ンザクション処理システムの有用性を人為的に制約する
必要なしに、自動的に実行され得る。
【0054】図面及び明細書では、本発明の典型的な好
適な実施例について開示し、特定の用語を用いたが、こ
れらは総称的且つ記述的な意味で使用されており、本発
明を制限するものではない。
【0055】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0056】(1)オブジェクト指向トランザクション
・システムによるトランザクションの完了時に、リレー
ショナル・データベース上で実行されるデータベース・
オペレーションを順序付ける方法であって、完了された
トランザクション内のオブジェクトを、前記リレーショ
ナル・データベース内に挿入されるオブジェクトのグル
ープ、前記リレーショナル・データベースから削除され
るオブジェクトのグループ、及び前記リレーショナル・
データベース内で更新されるオブジェクトのグループに
クラスタ化するステップと、前記リレーショナル・デー
タベースに挿入されるオブジェクトを、前記リレーショ
ナル・データベースへの当該オブジェクトの挿入優先順
位に従い順序付け、挿入順序を定義するステップと、前
記リレーショナル・データベースから削除されるオブジ
ェクトを、前記リレーショナル・データベースからの当
該オブジェクトの削除優先順位に従い順序付け、削除順
序を定義するステップと、前記リレーショナル・データ
ベースに挿入されるオブジェクトを、前記挿入順序に従
い、前記リレーショナル・データベースに挿入するステ
ップと、前記リレーショナル・データベースを、前記リ
レーショナル・データベース内で更新されるオブジェク
トにより更新するステップと、前記リレーショナル・デ
ータベースから削除されるオブジェクトを、前記削除順
序に従い、前記リレーショナル・データベースから削除
するステップとを含む、方法。 (2)前記更新するステップが、前記リレーショナル・
データベースを該リレーショナル・データベース内で更
新されるオブジェクトにより、任意の順序で更新するス
テップを含む、前記(1)記載の方法。 (3)前記リレーショナル・データベースから削除され
るオブジェクトを順序付けるステップが、前記削除され
るオブジェクト間の関連を識別するステップと、削除さ
れる現オブジェクトが、削除される関連オブジェクトよ
り上位の削除優先順位を有するか否かを判断するステッ
プと、前記削除される現オブジェクトが、前記削除され
る関連オブジェクトより上位の削除優先順位を有する場
合、前記削除される現オブジェクトを、前記削除される
関連オブジェクトより上位に順序付けるステップと、前
記削除される現オブジェクトが、前記削除される関連オ
ブジェクトより上位の削除優先順位を有さない場合、前
記削除される現オブジェクトを、前記削除される関連オ
ブジェクトより下位に順序付けるステップと、前記削除
される現オブジェクトに関連付けられる残りのオブジェ
クトに対して、前記判断するステップ、前記上位に順序
付けるステップ及び前記下位に順序付けるステップを、
繰り返し実行するステップとを含む、前記(1)記載の
方法。 (4)前記削除される現オブジェクトが前記削除される
関連オブジェクトより上位に順序付けられる場合、前記
削除される関連オブジェクトに関連付けられる各オブジ
ェクトに対して、前記判断するステップ、前記上位に順
序付けるステップ及び前記下位に順序付けるステップ
を、再帰的に実行するステップを含む、前記(3)記載
の方法。 (5)前記削除されるオブジェクト間の関連を識別する
ステップが、前記削除されるオブジェクトについて現オ
ブジェクト及び関連オブジェクトを識別するステップ
と、前記削除されるオブジェクトの外部キー及び基本キ
ーを識別するステップと、識別された前記外部キーと前
記基本キーの対の間の、前記リレーショナル・データベ
ース内の制約を識別するステップとを含み、前記削除さ
れる現オブジェクトが、前記削除される関連オブジェク
トより上位の削除優先順位を有するか否かを判断するス
テップが、前記削除される現オブジェクトの外部キー
が、前記削除される関連オブジェクトの基本キーを参照
するか否かを判断するステップと、前記削除される現オ
ブジェクトの前記外部キーと、前記削除される関連オブ
ジェクトの前記基本キーとの間で識別される制約が存在
する場合、前記削除される現オブジェクトが、前記削除
される関連オブジェクトより上位の削除優先順位を有す
ると決定するステップと、前記削除される現オブジェク
トの前記外部キーと、前記削除される関連オブジェクト
の前記基本キーとの間で識別される制約が存在しない場
合、前記削除される現オブジェクトが、前記削除される
関連オブジェクトより上位の削除優先順位を有さないと
決定するステップとを含む、前記(3)記載の方法。 (6)前記リレーショナル・データベースに挿入される
オブジェクトを順序付けるステップが、前記挿入される
オブジェクト間の関連を識別するステップと、挿入され
る現オブジェクトが、挿入される関連オブジェクトより
上位の挿入優先順位を有するか否かを判断するステップ
と、前記挿入される現オブジェクトが、前記挿入される
関連オブジェクトより上位の挿入優先順位を有する場
合、前記挿入される現オブジェクトを、前記挿入される
関連オブジェクトより上位に順序付けるステップと、前
記挿入される現オブジェクトが、前記挿入される関連オ
ブジェクトより上位の挿入優先順位を有さない場合、前
記挿入される現オブジェクトを、前記挿入される関連オ
ブジェクトより下位に順序付けるステップと、前記挿入
される現オブジェクトに関連付けられる残りのオブジェ
クトに対して、前記判断するステップ、前記上位に順序
付けるステップ及び前記下位に順序付けるステップを、
繰り返し実行するステップとを含む、前記(1)記載の
方法。 (7)前記挿入される現オブジェクトが前記挿入される
関連オブジェクトより上位に順序付けられる場合、前記
挿入される関連オブジェクトに関連付けられる各オブジ
ェクトに対して、前記判断するステップ、前記上位に順
序付けるステップ及び前記下位に順序付けるステップ
を、再帰的に実行するステップを含む、前記(6)記載
の方法。 (8)前記挿入されるオブジェクト間の関連を識別する
ステップが、前記挿入されるオブジェクトについて現オ
ブジェクト及び関連オブジェクトを識別するステップ
と、前記挿入されるオブジェクトの外部キー及び基本キ
ーを識別するステップと、識別された前記外部キーと前
記基本キーの対の間の、前記リレーショナル・データベ
ース内の制約を識別するステップとを含み、前記挿入さ
れる現オブジェクトが、前記挿入される関連オブジェク
トより上位の挿入優先順位を有するか否かを判断するス
テップが、前記挿入される関連オブジェクトの外部キー
が、前記挿入される現オブジェクトの基本キーを参照す
るか否かを判断するステップと、前記挿入される関連オ
ブジェクトの前記外部キーと、前記挿入される現オブジ
ェクトの前記基本キーとの間で識別される制約が存在す
る場合、前記挿入される現オブジェクトが、前記挿入さ
れる関連オブジェクトより上位の挿入優先順位を有する
と決定するステップと、前記挿入される現オブジェクト
の前記基本キーと、前記挿入される関連オブジェクトの
前記外部キーとの間で識別される制約が存在しない場
合、前記挿入される現オブジェクトが、前記挿入される
関連オブジェクトより上位の挿入優先順位を有さないと
決定するステップとを含む、前記(6)記載の方法。 (9)オブジェクト指向トランザクション・システムに
よるトランザクションの完了時に、リレーショナル・デ
ータベースに挿入、または前記リレーショナル・データ
ベースから削除されるオブジェクトを順序付ける方法で
あって、前記挿入または削除されるオブジェクト間の関
連を識別するステップと、挿入または削除される現オブ
ジェクトが、挿入または削除される関連オブジェクトよ
り上位の挿入優先順位または削除優先順位を有するか否
かを判断するステップと、前記挿入または削除される現
オブジェクトが、前記挿入または削除される関連オブジ
ェクトより上位の挿入優先順位または削除優先順位を有
する場合、前記挿入または削除される現オブジェクト
を、前記挿入または削除される関連オブジェクトより上
位に順序付けるステップと、前記挿入または削除される
現オブジェクトが、前記挿入または削除される関連オブ
ジェクトより上位の挿入優先順位または削除優先順位を
有さない場合、前記挿入または削除される現オブジェク
トを、前記挿入または削除される関連オブジェクトより
下位に順序付けるステップと、前記挿入または削除され
る現オブジェクトに関連付けられる残りのオブジェクト
に対して、前記判断するステップ、前記上位に順序付け
るステップ及び前記下位に順序付けるステップを、繰り
返し実行するステップとを含む、方法。 (10)前記挿入または削除される現オブジェクトが前
記挿入または削除される関連オブジェクトより上位に順
序付けられる場合、前記挿入または削除される関連オブ
ジェクトに関連付けられる各オブジェクトに対して、前
記判断するステップ、前記上位に順序付けるステップ及
び前記下位に順序付けるステップを、再帰的に実行する
ステップを含む、前記(9)記載の方法。 (11)前記挿入または削除されるオブジェクト間の関
連を識別するステップが、前記挿入または削除されるオ
ブジェクトについて現オブジェクト及び関連オブジェク
トを識別するステップと、前記挿入または削除されるオ
ブジェクトの外部キー及び基本キーを識別するステップ
と、識別された前記外部キーと前記基本キーの対の間
の、前記リレーショナル・データベース内の制約を識別
するステップとを含み、前記挿入または削除される現オ
ブジェクトが、前記挿入または削除される関連オブジェ
クトより上位の挿入優先順位または削除優先順位を有す
るか否かを判断するステップが、前記挿入される関連オ
ブジェクトの外部キーが、前記挿入される現オブジェク
トの基本キーを参照するか否かを判断するステップと、
前記削除される現オブジェクトの外部キーが、前記削除
される関連オブジェクトの基本キーを参照するか否かを
判断するステップと、前記外部キーと前記基本キーとの
間で識別される制約が存在する場合、前記挿入または削
除される現オブジェクトが、前記挿入または削除される
関連オブジェクトより上位の挿入優先順位または削除優
先順位を有すると決定するステップと、前記制約が存在
しない場合、前記挿入または削除される現オブジェクト
が、前記挿入または削除される関連オブジェクトより上
位の挿入優先順位または削除優先順位を有さないと決定
するステップとを含む、前記(9)記載の方法。 (12)リレーショナル・データベースと、オブジェク
ト指向トランザクション・システムと、完了されたトラ
ンザクション内のオブジェクトを、前記リレーショナル
・データベース内に挿入されるオブジェクトのグループ
と、前記リレーショナル・データベースから削除される
オブジェクトのグループと、前記リレーショナル・デー
タベース内で更新されるオブジェクトのグループとにク
ラスタ化する手段と、前記リレーショナル・データベー
スに挿入されるオブジェクトを、前記リレーショナル・
データベースへの当該オブジェクトの挿入優先順位に従
い順序付け、挿入順序を定義する手段と、前記リレーシ
ョナル・データベースから削除されるオブジェクトを、
前記リレーショナル・データベースからの当該オブジェ
クトの削除優先順位に従い順序付け、削除順序を定義す
る手段と、前記リレーショナル・データベースに挿入さ
れるオブジェクトを、前記挿入順序に従い、前記リレー
ショナル・データベースに挿入する手段と、前記挿入手
段に応答して、前記リレーショナル・データベースを、
前記リレーショナル・データベース内で更新されるオブ
ジェクトにより更新する手段と、前記更新手段に応答し
て、前記リレーショナル・データベースから削除される
オブジェクトを、前記削除順序に従い、前記リレーショ
ナル・データベースから削除する手段とを含む、データ
処理システム。 (13)前記更新する手段が、前記リレーショナル・デ
ータベースを該リレーショナル・データベース内で更新
されるオブジェクトにより、任意の順序で更新する手段
を含む、前記(12)記載のシステム。 (14)前記リレーショナル・データベースから削除さ
れるオブジェクトを順序付ける手段が、前記削除される
オブジェクト間の関連を識別する手段と、削除される現
オブジェクトが、削除される関連オブジェクトより上位
の削除優先順位を有するか否かを判断する手段と、前記
削除される現オブジェクトが、前記削除される関連オブ
ジェクトより上位の削除優先順位を有する場合、前記削
除される現オブジェクトを、前記削除される関連オブジ
ェクトより上位に順序付ける手段と、前記削除される現
オブジェクトが、前記削除される関連オブジェクトより
上位の削除優先順位を有さない場合、前記削除される現
オブジェクトを、前記削除される関連オブジェクトより
下位に順序付ける手段とを含む、前記(12)記載のシ
ステム。 (15)前記削除されるオブジェクト間の関連を識別す
る手段が、前記削除されるオブジェクトについて現オブ
ジェクト及び関連オブジェクトを識別する手段と、前記
削除されるオブジェクトの外部キー及び基本キーを識別
する手段と、識別された前記外部キーと前記基本キーの
対の間の、前記リレーショナル・データベース内の制約
を識別する手段とを含み、前記削除される現オブジェク
トが、前記削除される関連オブジェクトより上位の削除
優先順位を有するか否かを判断する手段が、前記削除さ
れる現オブジェクトの外部キーが、削除される関連オブ
ジェクトの基本キーを参照するか否かを判断する手段
と、前記削除される現オブジェクトの前記外部キーと、
前記削除される関連オブジェクトの前記基本キーとの間
で識別される制約が存在する場合、前記削除される現オ
ブジェクトが、前記削除される関連オブジェクトより上
位の削除優先順位を有すると決定する手段と、前記削除
される現オブジェクトの前記外部キーと、前記削除され
る関連オブジェクトの前記基本キーとの間で識別される
制約が存在しない場合、前記削除される現オブジェクト
が、前記削除される関連オブジェクトより上位の削除優
先順位を有さないと決定する手段とを含む、前記(1
4)記載のシステム。 (16)前記リレーショナル・データベースに挿入され
るオブジェクトを順序付ける手段が、前記挿入されるオ
ブジェクト間の関連を識別する手段と、挿入される現オ
ブジェクトが、挿入される関連オブジェクトより上位の
挿入優先順位を有するか否かを判断する手段と、前記挿
入される現オブジェクトが、前記挿入される関連オブジ
ェクトより上位の挿入優先順位を有する場合、前記挿入
される現オブジェクトを、前記挿入される関連オブジェ
クトより上位に順序付ける手段と、前記挿入される現オ
ブジェクトが、前記挿入される関連オブジェクトより上
位の挿入優先順位を有さない場合、前記挿入される現オ
ブジェクトを、前記挿入される関連オブジェクトより下
位に順序付ける手段とを含む、前記(12)記載のシス
テム。 (17)前記挿入されるオブジェクト間の関連を識別す
る手段が、前記挿入されるオブジェクトについて現オブ
ジェクト及び関連オブジェクトを識別する手段と、前記
挿入されるオブジェクトの外部キー及び基本キーを識別
する手段と、識別された前記外部キーと前記基本キーの
対の間の、前記リレーショナル・データベース内の制約
を識別する手段とを含み、前記挿入される現オブジェク
トが、前記挿入される関連オブジェクトより上位の挿入
優先順位を有するか否かを判断する手段が、前記挿入さ
れる関連オブジェクトの外部キーが、前記挿入される現
オブジェクトの基本キーを参照するか否かを判断する手
段と、前記挿入される現オブジェクトの外部キーと、前
記挿入される関連オブジェクトの基本キーとの間で識別
される制約が存在する場合、前記挿入される現オブジェ
クトが、前記挿入される関連オブジェクトより上位の挿
入優先順位を有すると決定する手段と、前記挿入される
現オブジェクトの基本キーと、前記挿入される関連オブ
ジェクトの外部キーとの間で識別される制約が存在しな
い場合、前記挿入される現オブジェクトが、前記挿入さ
れる関連オブジェクトより上位の挿入優先順位を有さな
いと決定する手段とを含む、前記(16)記載のシステ
ム。 (18)リレーショナル・データベースと、オブジェク
ト指向トランザクション・システムと、挿入または削除
されるオブジェクト間の関連を識別する手段と、挿入ま
たは削除される現オブジェクトが、挿入または削除され
る関連オブジェクトより上位の挿入優先順位または削除
優先順位を有するか否かを判断する手段と、前記挿入ま
たは削除される現オブジェクトが、前記挿入または削除
される関連オブジェクトより上位の挿入優先順位または
削除優先順位を有する場合、前記挿入または削除される
現オブジェクトを、前記挿入または削除される関連オブ
ジェクトより上位に順序付ける手段と、前記挿入または
削除される現オブジェクトが、前記挿入または削除され
る関連オブジェクトより上位の挿入優先順位または削除
優先順位を有さない場合、前記挿入または削除される現
オブジェクトを、前記挿入または削除される関連オブジ
ェクトより下位に順序付ける手段とを含む、データ処理
システム。 (19)前記挿入または削除されるオブジェクト間の関
連を識別する手段が、前記挿入または削除されるオブジ
ェクトについて現オブジェクト及び関連オブジェクトを
識別する手段と、前記挿入または削除されるオブジェク
ト内の外部キー及び基本キーを識別する手段と、識別さ
れた前記外部キーと前記基本キーの対の間の、前記リレ
ーショナル・データベース内の制約を識別する手段とを
含み、前記挿入または削除される現オブジェクトが、前
記挿入または削除される関連オブジェクトより上位の挿
入優先順位または削除優先順位を有するか否かを判断す
る手段が、前記挿入される関連オブジェクトの外部キー
が、前記挿入される現オブジェクトの基本キーを参照す
るか否かを判断する手段と、前記削除される現オブジェ
クトの外部キーが、前記削除される関連オブジェクトの
基本キーを参照するか否かを判断する手段と、前記外部
キーと前記基本キーとの間で識別される制約が存在する
場合、前記挿入または削除される現オブジェクトが、前
記挿入または削除される関連オブジェクトより上位の挿
入優先順位または削除優先順位を有すると決定する手段
と、前記制約が存在しない場合、前記挿入または削除さ
れる現オブジェクトが、前記挿入または削除される関連
オブジェクトより上位の挿入優先順位または削除優先順
位を有さないと決定する手段とを含む、前記(18)記
載のシステム。 (20)前記(1)乃至(11)のいずれかに記載の方
法を実行するためのプログラムを記憶したプログラム記
憶媒体。
【図面の簡単な説明】
【図1】オブジェクト指向トランザクション・システム
によるトランザクションの完了時に、リレーショナル・
データベース上で実行されるデータベース・オペレーシ
ョンを順序付けるためのシステム、方法及びコンピュー
タ・プログラム製品のブロック図である。
【図2】リレーショナル・データベース内の関係を示す
図である。
【図3】オブジェクト指向トランザクション内の論理オ
ブジェクト関連を示す図である。
【図4】本発明に従うデータベース・オペレーション順
序付けを示すフロー図である。
【図5】本発明に従うデータベース・オペレーション順
序付けを示すフロー図である。
【図6】本発明に従うデータベース・オペレーション順
序付けを示すフロー図である。
【図7】本発明に従うデータベース・オペレーション順
序付けを示すフロー図である。
【図8】本発明に従うデータベース・オペレーション順
序付けを示すフロー図である。
【図9】本発明に従うオブジェクトのリストを示す図で
ある。
【図10】図3のオブジェクト指向トランザクションの
関連の例を示す図である。
【符号の説明】
100 リレーショナル・データベース・システム 110 リレーショナル・データベース 120 オブジェクト指向トランザクション・システム 130 トランザクション処理システム 140、160 インタフェース 150 データベース・オペレーション順序付け
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ティモ・ジェイ・サロ アメリカ合衆国27502、ノース・カロライ ナ州アペックス、コネリー・スプリング ス・プレイス 108 (72)発明者 ケビン・ジェイ・ウィリアムス アメリカ合衆国90277、カリフォルニア州 レドンド・ビーチ、ナンバー320エヌ、エ スプラネード・アベニュー 1302 (54)【発明の名称】 オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレ―ショナ ル・デ―タベ―ス上で実行されるデ―タベ―ス・オペレ―ションに対応するオブジェクトを順序 付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒 体

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】オブジェクト指向トランザクション・シス
    テムによるトランザクションの完了時に、リレーショナ
    ル・データベース上で実行されるデータベース・オペレ
    ーションを順序付ける方法であって、 完了されたトランザクション内のオブジェクトを、前記
    リレーショナル・データベース内に挿入されるオブジェ
    クトのグループ、前記リレーショナル・データベースか
    ら削除されるオブジェクトのグループ、及び前記リレー
    ショナル・データベース内で更新されるオブジェクトの
    グループにクラスタ化するステップと、 前記リレーショナル・データベースに挿入されるオブジ
    ェクトを、前記リレーショナル・データベースへの当該
    オブジェクトの挿入優先順位に従い順序付け、挿入順序
    を定義するステップと、 前記リレーショナル・データベースから削除されるオブ
    ジェクトを、前記リレーショナル・データベースからの
    当該オブジェクトの削除優先順位に従い順序付け、削除
    順序を定義するステップと、 前記リレーショナル・データベースに挿入されるオブジ
    ェクトを、前記挿入順序に従い、前記リレーショナル・
    データベースに挿入するステップと、 前記リレーショナル・データベースを、前記リレーショ
    ナル・データベース内で更新されるオブジェクトにより
    更新するステップと、 前記リレーショナル・データベースから削除されるオブ
    ジェクトを、前記削除順序に従い、前記リレーショナル
    ・データベースから削除するステップとを含む、方法。
  2. 【請求項2】前記更新するステップが、前記リレーショ
    ナル・データベースを該リレーショナル・データベース
    内で更新されるオブジェクトにより、任意の順序で更新
    するステップを含む、請求項1記載の方法。
  3. 【請求項3】前記リレーショナル・データベースから削
    除されるオブジェクトを順序付けるステップが、 前記削除されるオブジェクト間の関連を識別するステッ
    プと、 削除される現オブジェクトが、削除される関連オブジェ
    クトより上位の削除優先順位を有するか否かを判断する
    ステップと、 前記削除される現オブジェクトが、前記削除される関連
    オブジェクトより上位の削除優先順位を有する場合、前
    記削除される現オブジェクトを、前記削除される関連オ
    ブジェクトより上位に順序付けるステップと、 前記削除される現オブジェクトが、前記削除される関連
    オブジェクトより上位の削除優先順位を有さない場合、
    前記削除される現オブジェクトを、前記削除される関連
    オブジェクトより下位に順序付けるステップと、 前記削除される現オブジェクトに関連付けられる残りの
    オブジェクトに対して、前記判断するステップ、前記上
    位に順序付けるステップ及び前記下位に順序付けるステ
    ップを、繰り返し実行するステップとを含む、請求項1
    記載の方法。
  4. 【請求項4】前記削除される現オブジェクトが前記削除
    される関連オブジェクトより上位に順序付けられる場
    合、前記削除される関連オブジェクトに関連付けられる
    各オブジェクトに対して、前記判断するステップ、前記
    上位に順序付けるステップ及び前記下位に順序付けるス
    テップを、再帰的に実行するステップを含む、請求項3
    記載の方法。
  5. 【請求項5】前記削除されるオブジェクト間の関連を識
    別するステップが、 前記削除されるオブジェクトについて現オブジェクト及
    び関連オブジェクトを識別するステップと、 前記削除されるオブジェクトの外部キー及び基本キーを
    識別するステップと、 識別された前記外部キーと前記基本キーの対の間の、前
    記リレーショナル・データベース内の制約を識別するス
    テップとを含み、 前記削除される現オブジェクトが、前記削除される関連
    オブジェクトより上位の削除優先順位を有するか否かを
    判断するステップが、 前記削除される現オブジェクトの外部キーが、前記削除
    される関連オブジェクトの基本キーを参照するか否かを
    判断するステップと、 前記削除される現オブジェクトの前記外部キーと、前記
    削除される関連オブジェクトの前記基本キーとの間で識
    別される制約が存在する場合、前記削除される現オブジ
    ェクトが、前記削除される関連オブジェクトより上位の
    削除優先順位を有すると決定するステップと、 前記削除される現オブジェクトの前記外部キーと、前記
    削除される関連オブジェクトの前記基本キーとの間で識
    別される制約が存在しない場合、前記削除される現オブ
    ジェクトが、前記削除される関連オブジェクトより上位
    の削除優先順位を有さないと決定するステップとを含
    む、請求項3記載の方法。
  6. 【請求項6】前記リレーショナル・データベースに挿入
    されるオブジェクトを順序付けるステップが、 前記挿入されるオブジェクト間の関連を識別するステッ
    プと、 挿入される現オブジェクトが、挿入される関連オブジェ
    クトより上位の挿入優先順位を有するか否かを判断する
    ステップと、 前記挿入される現オブジェクトが、前記挿入される関連
    オブジェクトより上位の挿入優先順位を有する場合、前
    記挿入される現オブジェクトを、前記挿入される関連オ
    ブジェクトより上位に順序付けるステップと、 前記挿入される現オブジェクトが、前記挿入される関連
    オブジェクトより上位の挿入優先順位を有さない場合、
    前記挿入される現オブジェクトを、前記挿入される関連
    オブジェクトより下位に順序付けるステップと、 前記挿入される現オブジェクトに関連付けられる残りの
    オブジェクトに対して、前記判断するステップ、前記上
    位に順序付けるステップ及び前記下位に順序付けるステ
    ップを、繰り返し実行するステップとを含む、請求項1
    記載の方法。
  7. 【請求項7】前記挿入される現オブジェクトが前記挿入
    される関連オブジェクトより上位に順序付けられる場
    合、前記挿入される関連オブジェクトに関連付けられる
    各オブジェクトに対して、前記判断するステップ、前記
    上位に順序付けるステップ及び前記下位に順序付けるス
    テップを、再帰的に実行するステップを含む、請求項6
    記載の方法。
  8. 【請求項8】前記挿入されるオブジェクト間の関連を識
    別するステップが、 前記挿入されるオブジェクトについて現オブジェクト及
    び関連オブジェクトを識別するステップと、 前記挿入されるオブジェクトの外部キー及び基本キーを
    識別するステップと、 識別された前記外部キーと前記基本キーの対の間の、前
    記リレーショナル・データベース内の制約を識別するス
    テップとを含み、 前記挿入される現オブジェクトが、前記挿入される関連
    オブジェクトより上位の挿入優先順位を有するか否かを
    判断するステップが、 前記挿入される関連オブジェクトの外部キーが、前記挿
    入される現オブジェクトの基本キーを参照するか否かを
    判断するステップと、 前記挿入される関連オブジェクトの前記外部キーと、前
    記挿入される現オブジェクトの前記基本キーとの間で識
    別される制約が存在する場合、前記挿入される現オブジ
    ェクトが、前記挿入される関連オブジェクトより上位の
    挿入優先順位を有すると決定するステップと、 前記挿入される現オブジェクトの前記基本キーと、前記
    挿入される関連オブジェクトの前記外部キーとの間で識
    別される制約が存在しない場合、前記挿入される現オブ
    ジェクトが、前記挿入される関連オブジェクトより上位
    の挿入優先順位を有さないと決定するステップとを含
    む、請求項6記載の方法。
  9. 【請求項9】オブジェクト指向トランザクション・シス
    テムによるトランザクションの完了時に、リレーショナ
    ル・データベースに挿入、または前記リレーショナル・
    データベースから削除されるオブジェクトを順序付ける
    方法であって、 前記挿入または削除されるオブジェクト間の関連を識別
    するステップと、 挿入または削除される現オブジェクトが、挿入または削
    除される関連オブジェクトより上位の挿入優先順位また
    は削除優先順位を有するか否かを判断するステップと、 前記挿入または削除される現オブジェクトが、前記挿入
    または削除される関連オブジェクトより上位の挿入優先
    順位または削除優先順位を有する場合、前記挿入または
    削除される現オブジェクトを、前記挿入または削除され
    る関連オブジェクトより上位に順序付けるステップと、 前記挿入または削除される現オブジェクトが、前記挿入
    または削除される関連オブジェクトより上位の挿入優先
    順位または削除優先順位を有さない場合、前記挿入また
    は削除される現オブジェクトを、前記挿入または削除さ
    れる関連オブジェクトより下位に順序付けるステップ
    と、 前記挿入または削除される現オブジェクトに関連付けら
    れる残りのオブジェクトに対して、前記判断するステッ
    プ、前記上位に順序付けるステップ及び前記下位に順序
    付けるステップを、繰り返し実行するステップとを含
    む、方法。
  10. 【請求項10】前記挿入または削除される現オブジェク
    トが前記挿入または削除される関連オブジェクトより上
    位に順序付けられる場合、前記挿入または削除される関
    連オブジェクトに関連付けられる各オブジェクトに対し
    て、前記判断するステップ、前記上位に順序付けるステ
    ップ及び前記下位に順序付けるステップを、再帰的に実
    行するステップを含む、請求項9記載の方法。
  11. 【請求項11】前記挿入または削除されるオブジェクト
    間の関連を識別するステップが、 前記挿入または削除されるオブジェクトについて現オブ
    ジェクト及び関連オブジェクトを識別するステップと、 前記挿入または削除されるオブジェクトの外部キー及び
    基本キーを識別するステップと、 識別された前記外部キーと前記基本キーの対の間の、前
    記リレーショナル・データベース内の制約を識別するス
    テップとを含み、 前記挿入または削除される現オブジェクトが、前記挿入
    または削除される関連オブジェクトより上位の挿入優先
    順位または削除優先順位を有するか否かを判断するステ
    ップが、 前記挿入される関連オブジェクトの外部キーが、前記挿
    入される現オブジェクトの基本キーを参照するか否かを
    判断するステップと、 前記削除される現オブジェクトの外部キーが、前記削除
    される関連オブジェクトの基本キーを参照するか否かを
    判断するステップと、 前記外部キーと前記基本キーとの間で識別される制約が
    存在する場合、前記挿入または削除される現オブジェク
    トが、前記挿入または削除される関連オブジェクトより
    上位の挿入優先順位または削除優先順位を有すると決定
    するステップと、 前記制約が存在しない場合、前記挿入または削除される
    現オブジェクトが、前記挿入または削除される関連オブ
    ジェクトより上位の挿入優先順位または削除優先順位を
    有さないと決定するステップとを含む、請求項9記載の
    方法。
  12. 【請求項12】リレーショナル・データベースと、 オブジェクト指向トランザクション・システムと、 完了されたトランザクション内のオブジェクトを、前記
    リレーショナル・データベース内に挿入されるオブジェ
    クトのグループと、前記リレーショナル・データベース
    から削除されるオブジェクトのグループと、前記リレー
    ショナル・データベース内で更新されるオブジェクトの
    グループとにクラスタ化する手段と、 前記リレーショナル・データベースに挿入されるオブジ
    ェクトを、前記リレーショナル・データベースへの当該
    オブジェクトの挿入優先順位に従い順序付け、挿入順序
    を定義する手段と、 前記リレーショナル・データベースから削除されるオブ
    ジェクトを、前記リレーショナル・データベースからの
    当該オブジェクトの削除優先順位に従い順序付け、削除
    順序を定義する手段と、 前記リレーショナル・データベースに挿入されるオブジ
    ェクトを、前記挿入順序に従い、前記リレーショナル・
    データベースに挿入する手段と、 前記挿入手段に応答して、前記リレーショナル・データ
    ベースを、前記リレーショナル・データベース内で更新
    されるオブジェクトにより更新する手段と、 前記更新手段に応答して、前記リレーショナル・データ
    ベースから削除されるオブジェクトを、前記削除順序に
    従い、前記リレーショナル・データベースから削除する
    手段とを含む、データ処理システム。
  13. 【請求項13】前記更新する手段が、前記リレーショナ
    ル・データベースを該リレーショナル・データベース内
    で更新されるオブジェクトにより、任意の順序で更新す
    る手段を含む、請求項12記載のシステム。
  14. 【請求項14】前記リレーショナル・データベースから
    削除されるオブジェクトを順序付ける手段が、 前記削除されるオブジェクト間の関連を識別する手段
    と、 削除される現オブジェクトが、削除される関連オブジェ
    クトより上位の削除優先順位を有するか否かを判断する
    手段と、 前記削除される現オブジェクトが、前記削除される関連
    オブジェクトより上位の削除優先順位を有する場合、前
    記削除される現オブジェクトを、前記削除される関連オ
    ブジェクトより上位に順序付ける手段と、 前記削除される現オブジェクトが、前記削除される関連
    オブジェクトより上位の削除優先順位を有さない場合、
    前記削除される現オブジェクトを、前記削除される関連
    オブジェクトより下位に順序付ける手段とを含む、請求
    項12記載のシステム。
  15. 【請求項15】前記削除されるオブジェクト間の関連を
    識別する手段が、 前記削除されるオブジェクトについて現オブジェクト及
    び関連オブジェクトを識別する手段と、 前記削除されるオブジェクトの外部キー及び基本キーを
    識別する手段と、 識別された前記外部キーと前記基本キーの対の間の、前
    記リレーショナル・データベース内の制約を識別する手
    段とを含み、 前記削除される現オブジェクトが、前記削除される関連
    オブジェクトより上位の削除優先順位を有するか否かを
    判断する手段が、 前記削除される現オブジェクトの外部キーが、削除され
    る関連オブジェクトの基本キーを参照するか否かを判断
    する手段と、 前記削除される現オブジェクトの前記外部キーと、前記
    削除される関連オブジェクトの前記基本キーとの間で識
    別される制約が存在する場合、前記削除される現オブジ
    ェクトが、前記削除される関連オブジェクトより上位の
    削除優先順位を有すると決定する手段と、 前記削除される現オブジェクトの前記外部キーと、前記
    削除される関連オブジェクトの前記基本キーとの間で識
    別される制約が存在しない場合、前記削除される現オブ
    ジェクトが、前記削除される関連オブジェクトより上位
    の削除優先順位を有さないと決定する手段とを含む、請
    求項14記載のシステム。
  16. 【請求項16】前記リレーショナル・データベースに挿
    入されるオブジェクトを順序付ける手段が、 前記挿入されるオブジェクト間の関連を識別する手段
    と、 挿入される現オブジェクトが、挿入される関連オブジェ
    クトより上位の挿入優先順位を有するか否かを判断する
    手段と、 前記挿入される現オブジェクトが、前記挿入される関連
    オブジェクトより上位の挿入優先順位を有する場合、前
    記挿入される現オブジェクトを、前記挿入される関連オ
    ブジェクトより上位に順序付ける手段と、 前記挿入される現オブジェクトが、前記挿入される関連
    オブジェクトより上位の挿入優先順位を有さない場合、
    前記挿入される現オブジェクトを、前記挿入される関連
    オブジェクトより下位に順序付ける手段とを含む、請求
    項12記載のシステム。
  17. 【請求項17】前記挿入されるオブジェクト間の関連を
    識別する手段が、 前記挿入されるオブジェクトについて現オブジェクト及
    び関連オブジェクトを識別する手段と、 前記挿入されるオブジェクトの外部キー及び基本キーを
    識別する手段と、 識別された前記外部キーと前記基本キーの対の間の、前
    記リレーショナル・データベース内の制約を識別する手
    段とを含み、 前記挿入される現オブジェクトが、前記挿入される関連
    オブジェクトより上位の挿入優先順位を有するか否かを
    判断する手段が、 前記挿入される関連オブジェクトの外部キーが、前記挿
    入される現オブジェクトの基本キーを参照するか否かを
    判断する手段と、 前記挿入される現オブジェクトの外部キーと、前記挿入
    される関連オブジェクトの基本キーとの間で識別される
    制約が存在する場合、前記挿入される現オブジェクト
    が、前記挿入される関連オブジェクトより上位の挿入優
    先順位を有すると決定する手段と、 前記挿入される現オブジェクトの基本キーと、前記挿入
    される関連オブジェクトの外部キーとの間で識別される
    制約が存在しない場合、前記挿入される現オブジェクト
    が、前記挿入される関連オブジェクトより上位の挿入優
    先順位を有さないと決定する手段とを含む、請求項16
    記載のシステム。
  18. 【請求項18】リレーショナル・データベースと、 オブジェクト指向トランザクション・システムと、 挿入または削除されるオブジェクト間の関連を識別する
    手段と、 挿入または削除される現オブジェクトが、挿入または削
    除される関連オブジェクトより上位の挿入優先順位また
    は削除優先順位を有するか否かを判断する手段と、 前記挿入または削除される現オブジェクトが、前記挿入
    または削除される関連オブジェクトより上位の挿入優先
    順位または削除優先順位を有する場合、前記挿入または
    削除される現オブジェクトを、前記挿入または削除され
    る関連オブジェクトより上位に順序付ける手段と、 前記挿入または削除される現オブジェクトが、前記挿入
    または削除される関連オブジェクトより上位の挿入優先
    順位または削除優先順位を有さない場合、前記挿入また
    は削除される現オブジェクトを、前記挿入または削除さ
    れる関連オブジェクトより下位に順序付ける手段とを含
    む、データ処理システム。
  19. 【請求項19】前記挿入または削除されるオブジェクト
    間の関連を識別する手段が、 前記挿入または削除されるオブジェクトについて現オブ
    ジェクト及び関連オブジェクトを識別する手段と、 前記挿入または削除されるオブジェクト内の外部キー及
    び基本キーを識別する手段と、 識別された前記外部キーと前記基本キーの対の間の、前
    記リレーショナル・データベース内の制約を識別する手
    段とを含み、 前記挿入または削除される現オブジェクトが、前記挿入
    または削除される関連オブジェクトより上位の挿入優先
    順位または削除優先順位を有するか否かを判断する手段
    が、 前記挿入される関連オブジェクトの外部キーが、前記挿
    入される現オブジェクトの基本キーを参照するか否かを
    判断する手段と、 前記削除される現オブジェクトの外部キーが、前記削除
    される関連オブジェクトの基本キーを参照するか否かを
    判断する手段と、 前記外部キーと前記基本キーとの間で識別される制約が
    存在する場合、前記挿入または削除される現オブジェク
    トが、前記挿入または削除される関連オブジェクトより
    上位の挿入優先順位または削除優先順位を有すると決定
    する手段と、 前記制約が存在しない場合、前記挿入または削除される
    現オブジェクトが、前記挿入または削除される関連オブ
    ジェクトより上位の挿入優先順位または削除優先順位を
    有さないと決定する手段とを含む、請求項18記載のシ
    ステム。
  20. 【請求項20】請求項1乃至請求項11のいずれかに記
    載の方法を実行するためのプログラムを記憶したプログ
    ラム記憶媒体。
JP35703299A 1998-12-31 1999-12-16 オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレーショナル・データベース上で実行されるデータベース・オペレーションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体 Expired - Fee Related JP3790650B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/224,427 US6456995B1 (en) 1998-12-31 1998-12-31 System, method and computer program products for ordering objects corresponding to database operations that are performed on a relational database upon completion of a transaction by an object-oriented transaction system
US09/224427 1998-12-31

Publications (2)

Publication Number Publication Date
JP2000207271A true JP2000207271A (ja) 2000-07-28
JP3790650B2 JP3790650B2 (ja) 2006-06-28

Family

ID=22840633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35703299A Expired - Fee Related JP3790650B2 (ja) 1998-12-31 1999-12-16 オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレーショナル・データベース上で実行されるデータベース・オペレーションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体

Country Status (4)

Country Link
US (1) US6456995B1 (ja)
JP (1) JP3790650B2 (ja)
KR (1) KR20000047630A (ja)
GB (1) GB2347243B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101443930B1 (ko) 2006-11-17 2014-09-23 마이크로소프트 코포레이션 Stm 시스템에서 트랜잭션들에 순서화를 적용하는 방법, 순서화에 의한 경쟁 관리를 제공하는 방법 및 컴퓨터 판독가능 매체

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062456B1 (en) 1999-02-09 2006-06-13 The Chase Manhattan Bank System and method for back office processing of banking transactions using electronic files
US6542883B1 (en) 2000-03-09 2003-04-01 International Business Machines Corporation Ordering relational database operations according to referential integrity constraints
US7143108B1 (en) * 2000-04-06 2006-11-28 International Business Machines Corporation Apparatus and method for deletion of objects from an object-relational system in a customizable and database independent manner
JP2001344524A (ja) * 2000-05-30 2001-12-14 Konami Co Ltd データ提供装置及びデータ提供方法
US7328211B2 (en) 2000-09-21 2008-02-05 Jpmorgan Chase Bank, N.A. System and methods for improved linguistic pattern matching
KR20020028132A (ko) * 2000-10-07 2002-04-16 김성헌 데이터베이스의 데이터 인덱싱 장치 및 그 방법
GB2381154B (en) * 2001-10-15 2004-06-30 Jacobs Rimell Ltd Object distribution
US7987246B2 (en) * 2002-05-23 2011-07-26 Jpmorgan Chase Bank Method and system for client browser update
US7139690B2 (en) * 2002-07-22 2006-11-21 Microsoft Corporation Object-level conflict detection in an object-relational database system
US20040103199A1 (en) * 2002-11-22 2004-05-27 Anthony Chao Method and system for client browser update from a lite cache
US7305410B2 (en) * 2002-12-26 2007-12-04 Rocket Software, Inc. Low-latency method to replace SQL insert for bulk data transfer to relational database
US20040230555A1 (en) * 2003-05-16 2004-11-18 John Phenix System and method for representing a relational database as a java object
WO2005015361A2 (en) 2003-08-08 2005-02-17 Jp Morgan Chase Bank System for archive integrity management and related methods
US7516139B2 (en) 2003-09-19 2009-04-07 Jp Morgan Chase Bank Processing of tree data structures
US10049127B1 (en) * 2003-12-19 2018-08-14 Oracle America, Inc. Meta-transactional synchronization
US7366974B2 (en) 2004-09-03 2008-04-29 Jp Morgan Chase Bank System and method for managing template attributes
US7677441B2 (en) * 2005-04-01 2010-03-16 Microsoft Corporation Relaxed currency constraints
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US10289728B2 (en) * 2006-05-15 2019-05-14 Avaya Inc. Garbage collection of persistent objects with dynamic multikeys
US8104076B1 (en) 2006-11-13 2012-01-24 Jpmorgan Chase Bank, N.A. Application access control system
US8214797B2 (en) * 2007-02-01 2012-07-03 Microsoft Corporation Visual association creation for object relational class development
US7761475B2 (en) * 2007-07-13 2010-07-20 Objectivity, Inc. Method, system and computer-readable media for managing dynamic object associations as a variable-length array of object references of heterogeneous types binding
US8775441B2 (en) * 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
US8108360B2 (en) * 2008-04-17 2012-01-31 Microsoft Corporation Database object update order determination
KR101607178B1 (ko) 2008-10-23 2016-03-29 아브 이니티오 테크놀로지 엘엘시 데이터 조작 수행, 데이터 품질 측정, 또는 데이터 요소 결합을 위한 방법, 시스템, 및 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 매체
US8010521B2 (en) * 2009-03-23 2011-08-30 Sap Ag Systems and methods for managing foreign key constraints
US9038177B1 (en) 2010-11-30 2015-05-19 Jpmorgan Chase Bank, N.A. Method and system for implementing multi-level data fusion
US9292588B1 (en) 2011-07-20 2016-03-22 Jpmorgan Chase Bank, N.A. Safe storing data for disaster recovery
KR102031392B1 (ko) 2011-11-15 2019-11-08 아브 이니티오 테크놀로지 엘엘시 후보 쿼리들에 기반한 데이터 클러스터링
US10540373B1 (en) 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager
GB2522832A (en) 2013-10-10 2015-08-12 Ibm A method and a system for loading data with complex relationships

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0239372A (ja) * 1988-07-15 1990-02-08 Internatl Business Mach Corp <Ibm> データベース・システムの動作方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448727A (en) 1991-04-30 1995-09-05 Hewlett-Packard Company Domain based partitioning and reclustering of relations in object-oriented relational database management systems
JPH0667957A (ja) * 1992-08-20 1994-03-11 Kobe Nippon Denki Software Kk トランザクションの処理装置
JP2720754B2 (ja) * 1993-05-18 1998-03-04 日本電気株式会社 グループウェア開発支援システム
WO1995003586A1 (en) 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
JPH07182222A (ja) * 1993-12-24 1995-07-21 Fuji Xerox Co Ltd オブジェクト指向データベース管理装置
JPH07248948A (ja) * 1994-03-10 1995-09-26 Fujitsu Ltd データベースの動的構成方式
FR2724471B1 (fr) 1994-09-13 1996-10-25 Bull Sa Dispositif de generation d'interfaces orientees objet pour des bases de donnees relationnelles et procede mis en oeuvre par ledit dispositif
WO1996034350A1 (en) 1995-04-24 1996-10-31 Aspect Development, Inc. Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon
US6106569A (en) * 1997-08-14 2000-08-22 International Business Machines Corporation Method of developing a software system using object oriented technology
US6134558A (en) * 1997-10-31 2000-10-17 Oracle Corporation References that indicate where global database objects reside
US6108664A (en) * 1997-10-31 2000-08-22 Oracle Corporation Object views for relational data
US6119126A (en) * 1998-05-29 2000-09-12 Oracle Corporation Object-relational query builder which determines existence of structures from information loaded from the server and cached locally on the client computing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0239372A (ja) * 1988-07-15 1990-02-08 Internatl Business Mach Corp <Ibm> データベース・システムの動作方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101443930B1 (ko) 2006-11-17 2014-09-23 마이크로소프트 코포레이션 Stm 시스템에서 트랜잭션들에 순서화를 적용하는 방법, 순서화에 의한 경쟁 관리를 제공하는 방법 및 컴퓨터 판독가능 매체

Also Published As

Publication number Publication date
GB2347243B (en) 2003-04-02
US6456995B1 (en) 2002-09-24
GB2347243A (en) 2000-08-30
GB9927417D0 (en) 2000-01-19
JP3790650B2 (ja) 2006-06-28
KR20000047630A (ko) 2000-07-25

Similar Documents

Publication Publication Date Title
JP3790650B2 (ja) オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレーショナル・データベース上で実行されるデータベース・オペレーションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体
CN112470141B (zh) 数据库中的数据共享和实例化视图
US7043481B2 (en) System, method and software for creating, maintaining, navigating or manipulating complex data objects and their data relationships
US6240422B1 (en) Object to relational database mapping infrastructure in a customer care and billing system
AU736753B2 (en) System and method for storing and manipulating data in an information handling system
JP4604041B2 (ja) 集合値化された列とスカラ値化された列を単一のステートメントで修正するためのsql言語の拡張
US6609133B2 (en) Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool
JP3053153B2 (ja) 文書管理システムのアプリケーション起動方法
US8108360B2 (en) Database object update order determination
US20080189240A1 (en) System, method and software for creating or maintaining local or distributed mapping and transparent persistence of complex data objects and their data relationships
US6598059B1 (en) System and method of identifying and resolving conflicts among versions of a database table
US20060230282A1 (en) Dynamically managing access permissions
CA2398148C (en) System and method for managing bi-directional relationships between objects
US7949685B2 (en) Modeling and implementing complex data access operations based on lower level traditional operations
US8010568B2 (en) Enforcing constraints from a parent table to a child table
US20180307721A1 (en) Multi-version data system nested transactions isolation
JP2002182970A (ja) オブジェクト統合管理システム
US7958154B2 (en) Apparatus, system, and method for command manager support for pluggable data formats
US8818974B2 (en) System and method for synchronously updating a hierarchy bridge table
US8762421B2 (en) Accessing entities of data access layer
EP1941396A2 (en) Method and system for re-population of data in a database
Cobbs Persistence programming
JPH03123946A (ja) データベースの排他制御方法
KR20150099456A (ko) 계층적으로 참조된 데이터 내의 컴포넌트를 필터링하는 방법 및 시스템
JPH04163670A (ja) 階層化用語管理方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050622

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050922

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060403

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090407

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees