JP3790650B2 - オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレーショナル・データベース上で実行されるデータベース・オペレーションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体 - Google Patents
オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレーショナル・データベース上で実行されるデータベース・オペレーションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体 Download PDFInfo
- Publication number
- JP3790650B2 JP3790650B2 JP35703299A JP35703299A JP3790650B2 JP 3790650 B2 JP3790650 B2 JP 3790650B2 JP 35703299 A JP35703299 A JP 35703299A JP 35703299 A JP35703299 A JP 35703299A JP 3790650 B2 JP3790650 B2 JP 3790650B2
- Authority
- JP
- Japan
- Prior art keywords
- deleted
- objects
- relational database
- ordering
- current
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/954—Relational
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/955—Object-oriented
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-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)
Description
【発明の属する技術分野】
本発明はデータ処理システム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体に関し、特に、データベース・システム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体に関する。
【0002】
【従来の技術】
リレーショナル・データベースは、データ処理環境においてデータを記憶するために広く使用されている。当業者には周知のように、リレーショナル・データベースでは、データがデータベース内でのその実際の位置ではなしに、他のデータとの関係にもとづきアドレス指定される。リレーショナル・データベース内のデータ間の関係は、関係キーを用いて示される。例えば、所有者クラスの各データ要素は、それに関連付けられる基本キーを有し、メンバ・クラスの各データ要素は、メンバ要素を所有するデータ要素の基本キーを指し示す外部キーを含み得る。リレーショナル・データベースの設計及び動作は、当業者には周知であり、ここで詳述する必要はない。
【0003】
オブジェクト指向プログラミング・システム、方法及びコンピュータ・プログラム製品は、データ処理環境において広く使用されている。当業者には周知のように、オブジェクト指向プログラミング・システム、方法及びコンピュータ・プログラム製品は、非常に多くの"オブジェクト"から構成される。オブジェクトはデータ構造と、該データ構造をアクセス可能なオペレーションまたは機能のセットとを含む。同一のデータ構造及び共通の振舞いを有するオブジェクトは、クラスに一緒にグループ化され集合的に識別され得る。オブジェクト指向コンピュータ環境では、オブジェクトにそのメソッドの1つを実行するように要求することにより、データが処理される。継承関係もまた、第1のクラスが第2のクラスの親と見なされ、第2のクラスが第1のクラスの子と見なされるように、2つ以上のクラス間で存在し得る。子クラスのデータ構造は、親クラスの全ての属性を含む。オブジェクト指向プログラミング・システム、方法及びコンピュータ・プログラム製品の設計及び動作は、当業者には周知であり、ここで詳述する必要はない。
【0004】
オブジェクト指向コンピュータ環境は現在、柔軟性があり、ユーザフレンドリなオブジェクト指向トランザクション・システムを形成するために使用されている。当業者には周知のように、トランザクションは一般に、アトミック式に実行される1つ以上のオブジェクトの変更の論理グループを指し示す。換言すると、トランザクション内の全てのオペレーションが実行されるか、それらのどれも実行されない。トランザクション・アプローチを使用することにより、トランザクションの範囲内でのユーザによるオブジェクトの全ての変更は、持続的な記憶済みオブジェクト自体を実際に更新することなく、最初にオブジェクトの内部コピーに対して実行される。ユーザは最終的に、トランザクションにより達成された変更を永続的にコミットするか、またはそれらを廃棄するかを決定し得る。ユーザがコミットを選択する場合、持続記憶内のオブジェクトが更新される。ユーザが変更の廃棄を選択する場合、持続記憶が未変更のまま維持される。
【0005】
オブジェクト指向トランザクション・システムは、複雑な事業プロセスを反映する企業アプリケーションにおいて使用され、ユーザはユーザ・インタフェースの異なる要素間を自由にナビゲートできる。例えば、ユーザはあるアプリケーションにおいて、ディスプレイ上で複数のウィンドウを同時にオープンしたいと思う。こうしたアプリケーションのユーザは、異なるウィンドウ間でデータの一貫性を保証するための特殊な予防措置を取る必要なしに、あるウィンドウ内の処理情報から、異なるウィンドウ内の処理情報に切り替われることを期待し得る。
【0006】
リレーショナル・データベースは一般に、データベースの一貫性を維持するための参照保全制約を含む。これらの制約は一般に、データベース記憶オペレーション及び削除オペレーションが特定の順序で実行されることを要求する。あいにく、この順序はオブジェクト指向トランザクション内において、オブジェクトが生成され、変更され、削除される順序に一致しない。更に、データベース参照保全制約は一般に、論理オブジェクト関係に一貫的にマップされない。参照保全制約は一般に、どのエンティティが関係外部キーにより参照しており、どのエンティティが参照されているかなど、キー情報にもとづき施行される。このキー情報は、オブジェクト関係にマップされるとき、2つ以上の可能な変形を有し得る。従って、アプリケーション事象フローまたはオブジェクト関係論理方向にもとづき、オブジェクトのツリーをリレーショナル・データベースに記憶する順序またはリレーショナル・データベースから削除する順序を推論することは困難であろう。
【0007】
従って、オブジェクト指向トランザクション・システムによるトランザクションの完了時に、データベース・オペレーションが適切に順序付けられるように、オブジェクト指向トランザクション・システムとリレーショナル・データベースとをインタフェースすることは困難であろう。リレーショナル・データベース参照保全制約を維持しながら、オブジェクト指向トランザクション・システムとリレーショナル・データベースとをインタフェースするために、オペレーション順序付けのカスタマイズ符号化が、オブジェクト指向トランザクション・システムにおいて提供され得る。しかしながら、こうしたカスタム符号化は時間を消費し、プロジェクトの資源の30%またはそれ以上を消費し得る。これについては、本発明者及びHillによる刊行物"Scalable Object-Persistence Frameworks"、Journal of Object-Oriented 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は、グラフィック・ユーザ・インタフェースなどの適切なユーザ・インタフェースを含み得、柔軟なトランザクションの実行を可能にする。オブジェクト指向トランザクション処理システム130の設計は、当業者には周知であり、ここで詳述する必要はない。
【0018】
図1に示されるように、トランザクション処理システム130はインタフェース140を介して、リレーショナル・データベース・システム100とインタフェースする。リレーショナル・データベース・システム100及びトランザクション処理システム130は、異なる若しくはオーバラップする、または同一のデータ処理システム上で実行され得るので、インタフェース140は有線通信ネットワーク、無線通信ネットワーク、ローカル・エリア・ネットワーク、インターネット、2つ以上のコンピュータを接続するバス、単一のコンピュータ内の2つ以上のアプリケーションを接続するアプリケーション・インタフェース及びそれらの組み合わせを含み得る。
【0019】
更に図1を参照すると、オブジェクト指向トランザクション・システム120はまた、データベース・オペレーション順序付けシステム、方法またはコンピュータ・プログラム製品150を含む。データベース・オペレーション順序付け150は、トランザクションの完了時に、オブジェクト指向トランザクション処理システム130によりリレーショナル・データベース110上で実行されるデータベース・オペレーションを順序付ける。ここでデータベース・オペレーション順序付け150は、トランザクション処理システム130及びリレーショナル・データベース・システム100と異なる若しくはオーバラップする、または同一の1つ以上のメインフレーム・コンピュータ、ミッドレンジ・コンピュータ、またはパーソナル・コンピュータ上に存在し得る。データベース・オペレーション順序付け150は、第2のインタフェース160を介して、リレーショナル・データベース110と通信する。第2のインタフェース160は、第1のインタフェース140と異なる若しくはオーバラップする、または同一のインタフェースであり、有線通信ネットワーク、無線通信ネットワーク、ローカル・エリア・ネットワーク、インターネット、2つ以上のデータ・プロセッサを接続するバス、アプリケーション・インタフェース及びそれらの組み合わせを含み得る。
【0020】
データベース・オペレーション順序付け150は、方法、システム(装置)またはコンピュータ・プログラム製品として実現され得る。従って、本発明は完全なハードウェア実施例、完全なソフトウェア実施例、またはソフトウェア態様及びハードウェア態様を結合する実施例の形態を取り得る。更に本発明は、コンピュータ読取り可能プログラム・コード手段を実現するコンピュータ読取り可能記憶媒体上のコンピュータ・プログラム製品の形態を取り得る。ハードディスク、CD−ROM、光記憶装置または磁気記憶装置などの、任意の好適なコンピュータ読取り可能媒体が使用され得る。
【0021】
図2は、従来のリレーショナル・データベース内の関係を示す。簡略化のため、リレーショナル・データベースはテーブルA、テーブルB及びテーブルCとして示される3つのテーブルを含むと仮定される。更に、特定の例を提供するために、テーブルAは組織内の部門のリストを含み、テーブルBは組織内の従業員のリストを含み、テーブルCは組織内の従業員アドレスのリストを含む。リレーショナル・データベースは、テーブル以外の技術を用いても表現され得る。また、リレーショナル・データベースは一般に、図2に示されるよりもより多くのテーブル及びデータ・エントリを含むことが理解されよう。
【0022】
図2に示されるように、部門テーブルAは部門d1乃至dnを含む。従業員テーブルBは従業員e1乃至enを含み、アドレス・テーブルCはアドレスa1乃至anを含む。部門テーブルAと従業員テーブルBとの関係は、"所有者−メンバ"関係である。部門と従業員間の関係は1対多であるので、部門テーブルAは基本キーを含み、従業員テーブルBは、部門テーブルAの適切な基本キーを参照する外部キーを含む。換言すると、テーブルAとテーブルBとの関係は、所有者対メンバの関係であり、メンバ・テーブル内の外部キーが、所有者テーブル内の適切な基本キーを参照する。それとは対照的に、従業員テーブルBとアドレス・テーブルCとの関係は1対1であり、この関係は、実線矢印により示されるように、アドレス・テーブルCを参照する従業員テーブルB内の外部キー、または破線矢印により示されるように、従業員テーブルBを参照するアドレス・テーブルC内の外部キーを用いて定義される。
【0023】
リレーショナル・データベースは一般に、データベースの一貫性を維持するための参照保全制約を含む。これらの制約は一般に、データベース記憶オペレーション及び削除オペレーションが特定の順序またはシーケンスで実行されることを要求する。例えば、図2の参照制約は、従業員の部門が既に存在しない限り、従業員が追加され得ないといったものである。逆に、部門はその全ての従業員が削除されるか、或いは別の部門を参照するように更新されるまで削除され得ない。
【0024】
あいにく、これらのオペレーションの順序は、オブジェクト指向トランザクション処理システム130内でオブジェクトが生成または削除される順序に、必ずしも一致しない。例えば、図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で、リレーショナル・データベースから削除されるオブジェクトが、リレーショナル・データベースからのオブジェクトの削除優先順位に従い順序付けられ、それにより削除リスト内の削除順序が定義される。ブロック420及びブロック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が挿入リストに追加される。否定の場合、ブロック520で、COが削除されるか否かテストされる。肯定の場合、ブロック540で、COが削除リストに追加される。否定の場合、ブロック525で、COが更新リストに追加される。これらのオペレーションは、ブロック545でUCリストの終りに達するまで繰り返し実行される。一旦UCリストの終りに達すると、挿入リストには、リレーショナル・データベースに挿入されるオブジェクトが収集され、削除リストには、リレーショナル・データベースから削除されるオブジェクトが収集され、更新リストには、リレーショナル・データベース内で更新されるオブジェクトが収集される。
【0041】
同一のオペレーションが、挿入オペレーション及び更新オペレーションに対する詳細な前提条件を解決するために実行され得る。従って、これらのオペレーションが図6で総称的に述べられる。しかしながら、これらのオペレーションは、リレーショナル・データベースへのオブジェクトの挿入優先順位に従い、リレーショナル・データベースに挿入されるオブジェクトを順序付け、それにより挿入順序を定義するために別々に実行され、またリレーショナル・データベースからのオブジェクトの削除優先順位に従い、リレーショナル・データベースから削除されるオブジェクトを順序付け、それにより削除順序を定義するために別々に実行される。
【0042】
挿入されるオブジェクトの順序付けは、削除されるオブジェクトの順序付けよりも先に実行され得る。或いは、削除されるオブジェクトの順序付けが、挿入されるオブジェクトの順序付けよりも先に実行され得る。更に、2つの独立のプロセスにおいて、挿入されるオブジェクトの順序付けが、削除されるオブジェクトの順序付けと同時に実行され得る。
【0043】
最後に、リレーショナル・データベース内で更新されるオブジェクトの順序付けは、実行される必要がないことが理解できよう。換言すると、リレーショナル・データベース内で更新されるオブジェクトは、任意の順序で更新され得る。すなわち、順序付けは要求されない。なぜなら、挿入オペレーションの実行後、更新オペレーションを任意の順序で実行しても安全であるからである。なぜなら、更新されたオブジェクトにより参照され得る全てのオブジェクトは、既にリレーショナル・データベース内に挿入されているからである。
【0044】
図9を参照すると、図6のオペレーションは、トランザクションに参加するオブジェクトの2つのリストを使用する。それらは未分類オブジェクト・リストまたは"USリスト"と呼ばれる未分類オブジェクトのリストと、分類済みリストまたは"Sリスト"と呼ばれる分類済みオブジェクトのリストである。分類済みオブジェクト・リストは初期には空であり、未分類オブジェクト・リストは初期に、リレーショナル・データベースに挿入される全てのオブジェクト、またはリレーショナル・データベースから削除される全てのオブジェクトを含む。オブジェクトの順序付けのためのオペレーションは、現オブジェクト・ポインタ(COP)を用いて、未分類オブジェクト・リスト内の現オブジェクト(CO)に対して作用する。
【0045】
更に図9を参照すると、関連リストまたは"Aリスト"は、現オブジェクトからその関連オブジェクトへの関連付けのリストを含む。現関連ポインタ(CAP)は、現関連(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)リストの終りに追加される。オペレーションは次に、現オブジェクトが他のオブジェクトとの間で有する関連に渡って繰り返される。従って、ブロック606で、現関連ポインタ(CAP)が、関連(A)リスト内の最初の位置にセットされる。各関連に対して、オペレーションはブロック612で、現オブジェクトが現関連より上位の挿入優先順位(オブジェクトがデータベースに挿入される場合)または削除優先順位(オブジェクトがデータベースから削除される場合)を有するか否かをテストする。現オブジェクトが現関連より上位の順位を有し、関連オブジェクトが既にSリスト内に、現オブジェクトよりも前の位置に含まれる場合(ブロック614)、関連オブジェクト及びその低優先順位の関連オブジェクトが、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のブロック612で実行されているか否かに依存して実行される。
【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)前記削除されるオブジェクト間の関連を識別する手段が、
前記削除されるオブジェクトについて現オブジェクト及び関連オブジェクトを識別する手段と、
前記削除されるオブジェクトの外部キー及び基本キーを識別する手段と、
識別された前記外部キーと前記基本キーの対の間の、前記リレーショナル・データベース内の制約を識別する手段と
を含み、
前記削除される現オブジェクトが、前記削除される関連オブジェクトより上位の削除優先順位を有するか否かを判断する手段が、
前記削除される現オブジェクトの外部キーが、削除される関連オブジェクトの基本キーを参照するか否かを判断する手段と、
前記削除される現オブジェクトの前記外部キーと、前記削除される関連オブジェクトの前記基本キーとの間で識別される制約が存在する場合、前記削除される現オブジェクトが、前記削除される関連オブジェクトより上位の削除優先順位を有すると決定する手段と、
前記削除される現オブジェクトの前記外部キーと、前記削除される関連オブジェクトの前記基本キーとの間で識別される制約が存在しない場合、前記削除される現オブジェクトが、前記削除される関連オブジェクトより上位の削除優先順位を有さないと決定する手段と
を含む、前記(14)記載のシステム。
(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 データベース・オペレーション順序付け
Claims (14)
- オブジェクト指向トランザクション・システムによるトランザクションの完了時に、リレーショナル・データベース上で実行されるデータベース・オペレーションを順序付ける方法であって、
完了されたトランザクション内のオブジェクトを、前記リレーショナル・データベース内に挿入されるオブジェクトのグループ、前記リレーショナル・データベースから削除されるオブジェクトのグループ、及び前記リレーショナル・データベース内で更新されるオブジェクトのグループにクラスタ化するステップと、
前記リレーショナル・データベースに挿入されるオブジェクトを、関連するオブジェクトの間の制約によって決まる挿入優先順位に従い順序付け、挿入順序を定義するステップと、
前記リレーショナル・データベースから削除されるオブジェクトを、関連するオブジェクトの間の制約によって決まる削除優先順位に従い順序付け、削除順序を定義するステップと、
前記リレーショナル・データベースに挿入されるオブジェクトを、前記挿入順序に従い、前記リレーショナル・データベースに挿入するステップと、
前記挿入するステップの後で、前記リレーショナル・データベースを、前記リレーショナル・データベース内で更新されるオブジェクトにより更新するステップと、
前記更新するステップの後で、前記リレーショナル・データベースから削除されるオブジェクトを、前記削除順序に従い、前記リレーショナル・データベースから削除するステップと
を含む、方法。 - 前記更新するステップが、前記リレーショナル・データベースを該リレーショナル・データベース内で更新されるオブジェクトにより、任意の順序で更新するステップを含む、請求項1記載の方法。
- 前記リレーショナル・データベースから削除されるオブジェクトを順序付けるステップが、
削除される現オブジェクトに対する関連オブジェクトを識別するステップと、
前記削除される現オブジェクトが、識別された関連オブジェクトより上位の削除優先順位を有するか否かを判断するステップと、
前記削除される現オブジェクトが、前記関連オブジェクトより上位の削除優先順位を有する場合、前記関連オブジェクトが削除されるオブジェクトであれば、前記削除される現オブジェクトを、前記関連オブジェクトより上位に順序付けるステップと、
前記削除される現オブジェクトが、前記関連オブジェクトより上位の削除優先順位を有さない場合、前記関連オブジェクトが削除されるオブジェクトであれば、前記削除される現オブジェクトを、前記関連オブジェクトより下位に順序付けるステップと、
識別された残りの関連オブジェクトに対して、前記判断するステップ、前記上位に順序付けるステップ及び前記下位に順序付けるステップを、繰り返し実行するステップと
を含む、請求項1記載の方法。 - 前記削除される現オブジェクトが削除される関連オブジェクトより上位に順序付けられる場合、前記削除される関連オブジェクトに関連付けられる各オブジェクトに対して、前記判断するステップ、前記上位に順序付けるステップ及び前記下位に順序付けるステップを、再帰的に実行するステップを含む、請求項3記載の方法。
- 前記リレーショナル・データベースに挿入されるオブジェクトを順序付けるステップが、
挿入される現オブジェクトに対する関連オブジェクトを識別するステップと、
前記挿入される現オブジェクトが、識別された関連オブジェクトより上位の挿入優先順位を有するか否かを判断するステップと、
前記挿入される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位を有する場合、前記関連オブジェクトが挿入されるオブジェクトであれば、前記挿入される現オブジェクトを、前記関連オブジェクトより上位に順序付けるステップと、
前記挿入される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位を有さない場合、前記関連オブジェクトが挿入されるオブジェクトであれば、前記挿入される現オブジェクトを、前記関連オブジェクトより下位に順序付けるステップと、
識別された残りの関連オブジェクトに対して、前記判断するステップ、前記上位に順序付けるステップ及び前記下位に順序付けるステップを、繰り返し実行するステップと
を含む、請求項1記載の方法。 - 前記挿入される現オブジェクトが挿入される関連オブジェクトより上位に順序付けられる場合、前記挿入される関連オブジェクトに関連付けられる各オブジェクトに対して、前記判断するステップ、前記上位に順序付けるステップ及び前記下位に順序付けるステップを、再帰的に実行するステップを含む、請求項5記載の方法。
- オブジェクト指向トランザクション・システムによるトランザクションの完了時に、リレーショナル・データベースに挿入、または前記リレーショナル・データベースから削除されるオブジェクトを順序付ける方法であって、
挿入または削除される現オブジェクトに対する関連オブジェクトを識別するステップと、
前記挿入または削除される現オブジェクトが、識別された関連オブジェクトより上位の挿入優先順位または削除優先順位を有するか否かを両オブジェクトの間の制約に基づいて判断するステップと、
前記挿入または削除される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位または削除優先順位を有する場合、前記関連オブジェクトが挿入または削除されるオブジェクトであれば、前記挿入または削除される現オブジェクトを、前記関連オブジェクトより上位に順序付けるステップと、
前記挿入または削除される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位または削除優先順位を有さない場合、前記関連オブジェクトが挿入または削除されるオブジェクトであれば、前記挿入または削除される現オブジェクトを、前記関連オブジェクトより下位に順序付けるステップと、
識別された残りの関連オブジェクトに対して、前記判断するステップ、前記上位に順序付けるステップ及び前記下位に順序付けるステップを、繰り返し実行するステップと
を含む、方法。 - 前記挿入または削除される現オブジェクトが挿入または削除される関連オブジェクトより上位に順序付けられる場合、前記挿入または削除される関連オブジェクトに関連付けられる各オブジェクトに対して、前記判断するステップ、前記上位に順序付けるステップ及び前記下位に順序付けるステップを、再帰的に実行するステップを含む、請求項7記載の方法。
- リレーショナル・データベースと、
オブジェクト指向トランザクション・システムと、
完了されたトランザクション内のオブジェクトを、前記リレーショナル・データベース内に挿入されるオブジェクトのグループと、前記リレーショナル・データベースから削除されるオブジェクトのグループと、前記リレーショナル・データベース内で更新されるオブジェクトのグループとにクラスタ化する手段と、
前記リレーショナル・データベースに挿入されるオブジェクトを、関連するオブジェクトの間の制約によって決まる挿入優先順位に従い順序付け、挿入順序を定義する手段と、
前記リレーショナル・データベースから削除されるオブジェクトを、関連するオブジェクトの間の制約によって決まる削除優先順位に従い順序付け、削除順序を定義する手段と、
前記リレーショナル・データベースに挿入されるオブジェクトを、前記挿入順序に従い、前記リレーショナル・データベースに挿入する手段と、
前記挿入手段に応答して、前記リレーショナル・データベースを、前記リレーショナル・データベース内で更新されるオブジェクトにより更新する手段と、
前記更新手段に応答して、前記リレーショナル・データベースから削除されるオブジェクトを、前記削除順序に従い、前記リレーショナル・データベースから削除する手段と
を含む、データ処理システム。 - 前記更新する手段が、前記リレーショナル・データベースを該リレーショナル・データベース内で更新されるオブジェクトにより、任意の順序で更新する手段を含む、請求項9記載のシステム。
- 前記リレーショナル・データベースから削除されるオブジェクトを順序付ける手段が、
削除されるオブジェクトに対する関連オブジェクトを識別する手段と、
前記削除される現オブジェクトが、識別された関連オブジェクトより上位の削除優先順位を有するか否かを判断する手段と、
前記削除される現オブジェクトが、前記関連オブジェクトより上位の削除優先順位を有する場合、前記関連オブジェクトが削除されるオブジェクトであれば、前記削除される現オブジェクトを、前記関連オブジェクトより上位に順序付ける手段と、
前記削除される現オブジェクトが、前記関連オブジェクトより上位の削除優先順位を有さない場合、前記関連オブジェクトが削除されるオブジェクトであれば、前記削除される現オブジェクトを、前記関連オブジェクトより下位に順序付ける手段と
を含む、請求項9記載のシステム。 - 前記リレーショナル・データベースに挿入されるオブジェクトを順序付ける手段が、
挿入される現オブジェクトに対する関連オブジェクトを識別する手段と、
前記挿入される現オブジェクトが、識別された関連オブジェクトより上位の挿入優先順位を有するか否かを判断する手段と、
前記挿入される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位を有する場合、前記関連オブジェクトが挿入されるオブジェクトであれば、前記挿入される現オブジェクトを、前記関連オブジェクトより上位に順序付ける手段と、
前記挿入される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位を有さない場合、前記関連オブジェクトが挿入されるオブジェクトであれば、前記挿入される現オブジェクトを、前記関連オブジェクトより下位に順序付ける手段と
を含む、請求項9記載のシステム。 - リレーショナル・データベースと、
オブジェクト指向トランザクション・システムと、
挿入または削除される現オブジェクトに対する関連オブジェクトを識別する手段と、
前記挿入または削除される現オブジェクトが、識別された関連オブジェクトより上位の挿入優先順位または削除優先順位を有するか否かを両オブジェクトの間の制約に基づいて判断する手段と、
前記挿入または削除される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位または削除優先順位を有する場合、前記関連オブジェクトが挿入または削除されるオブジェクトであれば、前記挿入または削除される現オブジェクトを、前記関連オブジェクトより上位に順序付ける手段と、
前記挿入または削除される現オブジェクトが、前記関連オブジェクトより上位の挿入優先順位または削除優先順位を有さない場合、前記関連オブジェクトが挿入または削除されるオブジェクトであれば、前記挿入または削除される現オブジェクトを、前記関連オブジェクトより下位に順序付ける手段と
を含む、データ処理システム。 - 請求項1乃至請求項8のいずれかに記載の方法を実行するためのプログラムを記憶したプログラム記憶媒体。
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 JP2000207271A (ja) | 2000-07-28 |
JP3790650B2 true 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) |
Families Citing this family (32)
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 |
US7069278B2 (en) | 2003-08-08 | 2006-06-27 | Jpmorgan Chase Bank, N.A. | 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 |
US7711678B2 (en) | 2006-11-17 | 2010-05-04 | Microsoft Corporation | Software transaction commit order and conflict management |
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 |
KR101789608B1 (ko) | 2008-10-23 | 2017-10-25 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 조작 수행을 위한 방법 및 컴퓨터 프로그램이 저장된 컴퓨터-판독가능 기록 매체 |
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 |
WO2013074781A1 (en) | 2011-11-15 | 2013-05-23 | Ab Initio Technology Llc | Data clustering based on candidate queries |
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 |
Family Cites Families (13)
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 |
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 |
JPH11504451A (ja) | 1995-04-24 | 1999-04-20 | アスペクト・ディベロップメント・インコーポレイテッド | データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ |
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 |
-
1998
- 1998-12-31 US US09/224,427 patent/US6456995B1/en not_active Expired - Fee Related
-
1999
- 1999-11-13 KR KR1019990050394A patent/KR20000047630A/ko not_active Application Discontinuation
- 1999-11-22 GB GB9927417A patent/GB2347243B/en not_active Expired - Lifetime
- 1999-12-16 JP JP35703299A patent/JP3790650B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20000047630A (ko) | 2000-07-25 |
GB2347243B (en) | 2003-04-02 |
GB2347243A (en) | 2000-08-30 |
US6456995B1 (en) | 2002-09-24 |
JP2000207271A (ja) | 2000-07-28 |
GB9927417D0 (en) | 2000-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3790650B2 (ja) | オブジェクト指向トランザクション・システムによるトランザクションの完了時にリレーショナル・データベース上で実行されるデータベース・オペレーションに対応するオブジェクトを順序付けるシステム及び方法並びに該方法を実行するためのプログラムを記憶したプログラム記憶媒体 | |
CN112470141B (zh) | 数据库中的数据共享和实例化视图 | |
US20060230282A1 (en) | Dynamically managing access permissions | |
AU736753B2 (en) | System and method for storing and manipulating data in an information handling system | |
US8392464B2 (en) | Easily queriable software repositories | |
JP4604041B2 (ja) | 集合値化された列とスカラ値化された列を単一のステートメントで修正するためのsql言語の拡張 | |
US7013312B2 (en) | Web-based strategic client planning system for end-user creation of queries, reports and database updates | |
US7043481B2 (en) | System, method and software for creating, maintaining, navigating or manipulating complex data objects and their data relationships | |
US7533136B2 (en) | Efficient implementation of multiple work areas in a file system like repository that supports file versioning | |
AU2006200229B2 (en) | Storage API for a common data platform | |
JP5108760B2 (ja) | 変更がデータストレージシステムのリレーショナルデータになされたかどうかを判定するコンピュータが実行する方法 | |
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 | |
US7949685B2 (en) | Modeling and implementing complex data access operations based on lower level traditional operations | |
EP1696346A1 (en) | File system represented inside a database | |
US8108360B2 (en) | Database object update order determination | |
CA2398148C (en) | System and method for managing bi-directional relationships between objects | |
JP2002182970A (ja) | オブジェクト統合管理システム | |
US7958154B2 (en) | Apparatus, system, and method for command manager support for pluggable data formats | |
US11657088B1 (en) | Accessible index objects for graph data structures | |
US8762421B2 (en) | Accessing entities of data access layer | |
JPH03123946A (ja) | データベースの排他制御方法 | |
Cobbs | Persistence programming | |
US20110246872A1 (en) | Replacement of data element in a graph | |
JPH05265838A (ja) | オブジェクト指向データベースシステム及びそのバージョン管理方法 | |
JPH04209043A (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 |