JPH11504451A - データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ - Google Patents
データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチInfo
- Publication number
- JPH11504451A JPH11504451A JP8532654A JP53265496A JPH11504451A JP H11504451 A JPH11504451 A JP H11504451A JP 8532654 A JP8532654 A JP 8532654A JP 53265496 A JP53265496 A JP 53265496A JP H11504451 A JPH11504451 A JP H11504451A
- Authority
- JP
- Japan
- Prior art keywords
- class
- database
- user
- relational database
- relational
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000012530 fluid Substances 0.000 title description 8
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000013499 data model Methods 0.000 claims abstract description 36
- 238000005259 measurement Methods 0.000 claims description 27
- 238000013519 translation Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 26
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 15
- 230000001131 transforming effect Effects 0.000 abstract description 3
- 239000000306 component Substances 0.000 description 42
- 230000006870 function Effects 0.000 description 33
- 230000014616 translation Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 22
- 230000009471 action Effects 0.000 description 17
- 230000015654 memory Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 10
- 230000003068 static effect Effects 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 244000309464 bull Species 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 241001279686 Allium moly Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000000877 morphologic effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- 102100034761 Cilia- and flagella-associated protein 418 Human genes 0.000 description 1
- 235000013175 Crataegus laevigata Nutrition 0.000 description 1
- 101100439214 Homo sapiens CFAP418 gene Proteins 0.000 description 1
- 241001435619 Lile Species 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000005357 flat glass Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a 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/99943—Generating database or data structure, e.g. via user interface
-
- 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
Abstract
(57)【要約】
データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、およびそれらへの流動的なサーチのための方法およびシステム。ユーザーのオブジェクトデータベースを、創造し、エディットし、そして扱う(これらのリレーショナルデータベース構造のためのデータに流動的に翻訳される)ためと、前記オブジェクトデータに適用される質問を創造し、エディットし、扱う(それらのリレーショナルデータベースに適用されるべき質問に流動的に翻訳される)ために、ユーザーは、ユーザーのオブジェクトデータベース(1組みのリレーショナルデータベース構造への流動的に翻訳される)を創造し、エディットし、処理してもよい。ユーザーのオブジェクトデータベースのメタモデル、それ自身はひとつのオブジェクトデータベースであり、又、操作のために、リレーショナルデータベースエンジンにより、それ自身が1組みのリレーショナルデータベース構造に翻訳される。メタモデルは、1組みのクラス、オブジェクトとクラス間の関係を含み、クラスと、システムのクラス間の関係をモデリングする。これらのクラスの各々は1組みのサーチ可能な属性を含み、これらの関係の各々は、(ベースクラスと派生クラスとの間の)継承関係か、(一つから一つ、一つから多くまたは多くから多くの関係)データモデル関係を含んでもよい。ユーザーのオブジェクトデータベースのデータモデルは、メタモデル内の実際のオブジェクトによりモデリングされ、そして、ユーザーのオブジェクトデータベースのエディットまたは扱いは、メタモデル内のオブジェクトを創造し、変形し、あるいは削除することによりモデリングされる。このメタモデルは又、それがユーザーのオブジェクトデータベースをモデリングしたように自身をモデリングし、又、ユーザーのオブジェクトデータベースと同じ方法で扱かわれる。
Description
【発明の詳細な説明】
発明の名称
データベース構造に適したオブジェクトのモデリング、リレーショナルデータ
ベース構造への翻訳、それらへの流動的なサーチ
発明の背景
1.発明の分野
この発明は、データベース構造に適したオブジェクトのモデリングおよびリレ
ーショナルデータベースの構造への翻訳およびそれらに対する流動的なサーチに
関する。
2.関連技術の記述
コンピュータのソフトウエアシステムの設計においては、各データアイテムを
データ種に関連付けることと、システムのすべてのエレメントに対する各データ
種のオブジェクトへの比較的一様なインタフェイスを与えることとが至上と考え
られている。この技術は、システムのエレメントを、データ種、データ種への一
定のインタフェイス、およびデータ種および他のデータ種の間の関係の属性に依
存させることを可能にする。整数および浮動小数点のごとき、いわゆる”ビルト
イン”のデータ種に加えて、この技術をより複雑なデータ種、ときには、ユーザ
ーのシステムにより定義されたクラスを含む”クラス”と呼ばれものに拡張する
のに優れている。(例えば、ユーザーは電話番号で呼ばれるクラスを定義しても
よく、又、これにより、システムのエレメントが電話番号を、それらがあたかも
基本的な情報の断片かのように、格納、操作または回収することを可能にする。
)ソフトウエアオブジェクトのクラスを定義する技術およびこれらのオブジェク
トへのアクセスを制限することは、言語のプログラミングに適したオブジェクト
(“OOPL”)と呼ばれる、C++およびスモールトークプログラミング言語の
ごときいくつかのプログラミング言語で現在一般である。
最近、ソフトウエアオブジクトのクラスを定義すること及びこれらのオブジク
トを扱う技術は、データベースアプリケーションのために同様に有用であること
が見いだされた。データベース(“OODB”)アプリケーションに適したオブジ
ェ
クトでは、ユーザーは、オブジクト、これらのクラスの属性およびこれらのクラ
ス間の関係を定義し、そして、これらのオブジクトの例であるデータアイテムを
データベースに定住させる。(例えば、クラス電話番号が人々や会社およびコン
ピュータネットワークのための電話番号として格納するために使用されてもよい
。)データベースの扱いに適したオブジェクトは、高速のアプリケーションおよ
びデータベースの開発および関連するソフトウエアの信頼性に利点を与えること
が見いだされた。
しかしながら、この分野で提起された一つの問題は、多数のデータベースシス
テムが、別の異なったデータベース技術、“リレーショナルデータベース”処理
(RDBM)を動作させるために設計されていることである。リレーショナルデー
タベースでは、データベースは、データアイテム間の関係を記した1組みのデー
タテーブルを備える。各テーブルは、1組みのレコードを含み、一つのレコード
は各データアイテムに対するもので、各レコードは、1組みのコロンまたはフィ
ールドを持ち、一つのコラムはデータアイテムに関連したデータ値を持つ。(例
えば、人々のテーブル内の各レコードは、人々の電話番号に対して定義された一
つのコラムを持ってもよく、同様に、会社のテーブル内の各レコードがその会社
の電話番号のために定義されたコラムを持ってもよい。)リレーショナルデータ
ベースは、大きいデータベースを扱う際に有用で効果的であることが見いだされ
ている。それらの成功により、それらの利点が実質的にリレーショナルデータベ
ースの処理システム、そしてアプリケーションおよび、リレーショナルデータベ
ース処理システムをサポートもしくはインタフェイスするコンピュータプログラ
ムに投資されている。
データベース処理に適したオブジェクトの利点を得ることは有利である一方、
リレーショナルデータベース処理システムの効率性を維持し、かつ、インストー
ルされた投資に有効である。
この分野で提起された一つの問題は、データベースに適したオブジェクトを創
造し、操作し、扱うためのツールと一般に矛盾する。
発明者がSubodh BapatでRacal-Datacom社に譲渡された1994年3月1日発行の米
国特許5,291,583の“リレーショナルスキーマにおけるパシステントASN.1オブジ
ェクトの自動格納”および発明者が同じSubodh BapatでRacal-Datacom社に譲渡
された1994年3月15日発光の米国特許5,295,256の“リレーショナルスキーマにお
けるパシステントオブジェクトの自動格納”は、C++またはスモールトークの
ごとき言語をプログラミングするのに適したオブジェクトを用いて決定された構
造を、リレーショナルデータベース構造にコンパイリングするための方法を開示
する。しかしながら、これらの特許に示された方法は、オブジェクトの自動格納
に対するリレーショナルデータベース構造を創造する目的を達成するが、それは
、一般に、オブジェクト体系およびオブジェクト関係を流動的に変形することを
含み、データベース内のオブジェクトを流動的に組み込みエデットし、そして、
データベースに対して流動的にサーチを発生させ実行する、データベースアプリ
ケーションの要求された他のタースクに適切でない。
次の特許を当分野の例として示す
Consilium社に譲渡されたSubhash B.Tantry その他の発明者による米国特許5,
398,336の“ファクトリー フロワー マネージメントに対するアーキテクチャー
に適したオブジェクト”が1995年3月14日に請求されている。
インターナショナル ビジネス マシーンズ コーポレイションに譲渡されたRon
ald B.Baker その他の発明者による米国特許5,212,787の“メソッド アンド ア
パレイタス フォー アクセシング ア リレショナル データベース ウイズアウト
エキサイティング アン オブジェクト エンバイオロメント”が1993年3月18
日に発布されている。
Xidak社に譲渡されたRobertN.Goldberg その他の発明者による米国特許5,201,
046“リレーショナルデータベース マネージメント システム アンド フォー ス
トアリング リトリービング アンド モデファイニング ディレクティド グラフ
データストラクチャ”が1993年4月6日に発布されている。
イーストマン コダック社に譲渡されたRobertM.Smith その他の発明者による
米国特許5,181,162“ドキュメント マネージメント アンド プロダクションシス
テム”が1993年1月19日に発布されている。
インタナショナル ビジネス マシーンズ コーポレイションに譲渡されたRober
tL.Abraham その他の発明者による米国特許5,161,225“パシステント フォー プ
ロセッシング タイム コンシューミング アンド リューザブル クオーリーズ イ
ン アン オブジェクティド データベース マネージメント システム”が1992年1
1月3日に発布されている。
ヒューレット パッカード社に譲渡されたTore J.M.Rishによる米国特許5,133,
075“メソッド オブ モニタリング チェインズ イン アトリビュート バリュー
オブ オブジェクト イン アン オブジェクテイド データベース”が1992年2月21
日に発布されている。
インテリコープ社に譲渡されたFrederich N.Touその他の発明者による米国特
許4,930,071“メソッド オブ インテグレーティング ア ノレッジ・ベースド シ
ステム ウイズ アン アービトレイ データベースシステム”が1990年3月29日に
発行されている。
従って、このリレーショナルデータベース・マネージメントシステムを使用で
きることを保持する一方、データベースアプリケーションに適したオブジェクト
の利点が得られる、適したオブジェクトおよびリレーショナルデータベース構造
の間でのコンパイルおよび翻訳の方法を提供するのが有利である。
発明の概要
本発明は、データベース構造に適したオブジェクトのモデリング、リレーショ
ナルデータベース構造への翻訳およびそれらに対する流動的なサーチに対する方
法およびシステムを提供する。本発明は、これにより、ユーザーがユーザーのオ
ブジェクトデータベースを創造し、エディットし、扱うことを可能にし(方法お
よびシステムが流動的に1組みのリレーショナルデータベース構造に翻訳する)
、前記データベースに対するオブジェクトを創造し、エディットし扱うことを可
能にし(方法およびシステムが流動的にこれらのリレーショナルデータベース構
造にためのデータに翻訳する)、そして、そのオブジェクトデータベースに適用
される質問を創造し、エディットし扱う(方法およびシステムがこれらのリレー
ショナルデータベース構造に適用される質問に流動的に翻訳する)ことを可能に
する。
この方法およびシステムは、ユーザーのオブジェクトデータベースのメタモデ
ルを含み、それ自身はオブジェクトデータベースであり、それ自身が、リレーシ
ョナルデータベースエンジンにより、扱いのために1組みのリレーショナルデー
タベースに翻訳される。そのメタモデルは、1組みのクラス、オブジェクトおよ
びクラス間の関係を含み、クラスおよびシステムのクラス間の関係をモデルする
。これらのクラスの各々は、1組みのサーチ可能な属性を含み、これらの関係の
各々は、継承の関係(ベースクラスと派生のクラスとの間)もしくは、データモデ
ルの関係(一つから一つへの、一つから多くへのもしくは多くから多くの)を含ん
でもよい。ユーザーのオブジェクトデータベースのデータモデルは、メタモデル
内の実際のオブジェクトによりモデリングされ、そして、ユーザーのオブジェク
トデータベースのエデイットもしくは扱いは、メタモデル内のオブジェクトを創
造し、変更し、削除することによりモデリングされる。メタモデルは又、それが
ユーザーのオブジェクトデータベースをモデリングするがごとく、自身をモデリ
ングし、そして、ユーザーのオブジェクトデータベースのごとく同じ方法で扱わ
れてもよい。
好ましい実施では、ユーザーのオブジェクトデータベース内の各クラスは、リ
レーショナルデータベースのテーブルによりモデリングされ、各サーチ可能な前
記クラスの属性は、前記テーブル内のコラムによってモデリングされ、そして、
前記クラスの各オブジェクトは、前記テーブル内の列、および前記テーブルのた
めのベースクラスを表すテーブル内の対応する列によりモデリングされる。
このような各テーブルは、システムにより発生された“オブジェクト−ID”
を含み、それはシステム内の各オブジェクトに対する個々のIDを含む。二つの
オブジェクト間の各関係は、第1のオブジェクトから第2のオブジェクトへのポ
インターを与えることによってモデリングされ、そのポインターは、第2のオブ
ジェクトのオブジェクトIDを有する第1のオブジェクトのテーブル内のコラム
(これは関係をモデリングするシステムにより発生される)を含む。これらのリレ
ーショナルデータベース構造は、ユーザーのオブジェクトデータベースを創造し
、エデイットし、扱うユーザーコマンドに応答して流動的にもしくは増加的に、
創
造され、モデリングされ、もしくは削除される。
少なくとも二つのタイプの関係は、システム、継承関係およびデータモデルの
関係によりモデリングされる。継承の関係は、ベースクラスと派生クラスの間に
存在する。派生クラスのオブジェクトメンバーは、ベーステーブルのためのテー
ブルおよび派生クラスのためのテーブルの双方に入り込み、両テーブル内に同じ
オブジェクトIDが与えられる。二つのクラス間の継承関係は、オブジェクトI
Dコラム上の二つの両テーブル間のリレーショナルデータベースJOINにより
モデリングされる。複数の継承のために、同じオブジェクトIDを持つ一つのオ
ブジェクトは、派生クラスと多数の各ベースクラスとに入り込む。
データモデルの関係は、ユーザーのオブジェクトデータベースに対するユーザ
ーにより創造され、一つから一つ、多くから一つ、多くから多くへの関係を含ん
でもよい。一つから一つおよび多くから一つへの関係は、第1のオブジェクトか
ら第2のオブジェクトへのポインターを与えることによりモデリングされる。多
くから多くの関係は、クロスリンクのクラスを与えることによりモデリングされ
、多くから多くへの関係における第1のオブジェクトのオブジェクトIDを持つ
第1のクラスのための一つのコラムを持つテーブルを用いて実行され、第2のク
ラスに対する一つのコラムは多くから多くへの関係における第2のオブジェクト
のオブジェクトIDを持ち、そして、実際に関係するオブジェクトの各組みに対
する一つの列を持つ。一つから一つへと多くから多くへの関係は、データモデル
の関係をモデリングするコラム上の二つの対応するテーブルの間のリレーショナ
ルデータベースJOINにより、モデリングされ、多くから多くの関係は、デー
タモデル関係をモデリングする二つの対応するテーブルとクロスリンクテーブル
との間のリレーショナルデータベースJOINにより、モデリングされる。
本方法およびシステムは、多数のクラスのオブジェクトを縦方向のサーチを持
つユーザーのオブジェクトデータテーブルを質問することを提供する質問モデル
を含む。ユーザーは、サーチされるべき一つまたはより多くのクラス、これらの
クラスにおけるサーチ可能なオブジェクトの属性(これらのサーチ可能な属性の
ための特殊な値を持つように)における制限、およびこれらのクラス内のオブジ
ェ
クトのために示された情報を選択する。このサーチ記述に応答して、システムは
、継承関係を実行するのに必要ないかなるコマンドおよびユーザーのオブジェク
トデータテーブルのデータモデル関係を自動的に含むユーザーのオブジェクトデ
ータテーブルに対応するリレーショナルデータベース構造に適用されるリレーシ
ョナルデータベースの質問(好ましくは最適化されたSQLコマンドを含む)を発
生する。好ましい実施例は、サーチ可能な属性の値に対する自動のユニット変換
を提供する。リレーショナルデータベースの質問がリレーショナルデータベース
に適用されたとき、システムは、リレーショナルデータベースから供給された情
報を受信し、その情報をサーチされたクラスの表示属性に基づきユーザーに示す
。
好ましい実施では、ユーザーのオブジェクトデータベースの態様へのアクセス
コントロールをモデリングするために、メタモデルは、第1の組みの予め決定さ
れたクラスを含む。アクセスは、選択されたユーザーもしくは選択されたユーザ
ーグループに制限されてもよく、そして、個々のオブジェクト、オブジェクトの
クラスまたはこれらのオブジェクトの属性のために特定化されてもよい。好まし
い実施例では、メタモデルは又、ユーザーのオブジェクトデータベースにおける
オブジェクトへのグラフィックおよびテキストオブジェクトのアタッチメントを
モデリングするために第2の組みの予め決定されたクラスを含む。グラフィック
およびテキストオブジェクトは、ユーザーのオブジェクトデータベース内のオブ
ジェクトと結合してもよく、又、メタモデルが埋め込まれたオペレーションシス
テムにより維持されたファイルおよび他のオブジェクトと結合してもよい。
図面の簡単な説明
図1は、ユーザーのオブジェクトデータベースの例を示したデータモデルのダ
イヤグラムを示す。
図2は、データベース構造に適したオブジェクト、リレーショナルデータベー
スへの翻訳およびそれらへの流動的なサーチのモデリングのためのシステムのブ
ロックダイヤグラムを示す。
図3は、ユーザーのオブジェクトデータベースをモデリングするためのメタモ
デルのデータモデルのダイヤグラムを示す。
図4は、ユーザーのオブジェクトデータベースのためのアクセスコントロール
をモデリングするための1組みのクラスのデータモデルダイアグラムを示す。
図5は、ユーザーのオブジェクトデータベースのための好ましいグラフィック
情報の表示のための1組みのクラスのデータモデルダイアグラムを示す。
図6は、ユーザーのオブジェクトデータベースのデータモデルを構築しエディ
ットするための工程のフローダイヤグラムを示す。
図7は、適したオブジェクトとリレーショナルデータベース構造との間の翻訳
のための工程のフローダイヤグラムを示す。
図8は、図1のサンプルのユーザーのオブジェクトデータベースに対応するユ
ーザーのリレーショナルデータベースのデータモデルダイヤグラムを示す。
図9は、図9Aおよび図9Bに関する。図9Aは、オブジェクトデータベース
の縦方向のサーチおよび、適したオブジェクトとリレーショナルデータベース構
造との間のサーチ翻訳のための工程のフローダイヤグラムを示す。図9Bは、縦
方向のサーチのための工程で使用されたデータ構造のブロックダイヤグラムを示
す。
好ましい実施例の記述
次の記載では、好ましい工程ステップ、データ構造およびユーザーインタフェ
イスに関して本発明の好ましい実施例が記述される。しかしながら当業者におい
ては、この実施例の熟読後は、本発明の実施例は、一般ユースのコンピュータま
たは1組みの一般ユースのコンピュータ、プログラム制御下の動作、および一般
ユースのコンピュータの変形または1組みの一般ユースのコンピュータ、データ
構造およびここで記述したユーザーインタフェイスを用いて実施できることが理
解されよう。
ユーザーのオブジェクトデータベース例
図1は、ユーザーのオブジェクトデータベースの例のデータモデルダイヤグラ
ムを示す。この例は、オブジェクトデータベース、オブジェクトデータベースの
リレーショナルデータベースへの翻訳およびオブジェクトデータベース上で実行
されるデータベース動作の例をサポートするために提供される。
ユーザーのオブジェクトデータベース100の例は、1組みのクラス101を
含み、各々は1組みのサーチ可能な属性102を含み、そしてその各々は、格納
し、扱いもしくは回収するためのデータベースに適したオブジェクトのためのデ
ータ種を示す。そのクラス101は、体系(より詳しくは指図された周期的なグ
ラフに)を形成し、各クラス101は、ゼロまたはより多くの派生クラス101
のためのベースクラスとなる。派生クラス101がベースクラス101から派生
したとき、そのクラスは、ベースクラス101のサーチ可能な属性102のすべ
てを継承し、そして、派生クラス101に特別の付加的なサーチ可能な属性10
2を持ってもよい。
この例では、オブジェクトデータベース100は、クラス101コンポーネン ト
を含み、オブジェクトデータベース100の語義は、電気回路コンポーネント
に決定される。各オブジェクトのクラス101コンポーネントは、サーチ可能な
属性102“名前”を持ち、オブジェクトデータベース100の語義は前記コン
ポーネントの名前で定義される。
この例では、クラス101コンポーネントは、ベースクラスであり、それから
二つのクラス101、アナログコンポーネントおよびメモリが派生される。これ
らの二つのクラス101がクラス101コンポーネントから派生されるので、そ
れらのクラスは、クラス101コンポーネントのすべての属性を継承し、クラス
101の各オブジェクト、アナログコンポーネントおよびクラス101のオブジ
ェクトクラスも又、、サーチ可能な属性102“名前”を持つ。この例では、ク
ラス101の各オブジェクトは、付加的なサーチ可能な属性102“サイズ”を
持つ。
クラス101メモリも又、ベースクラスであり、そのベースクラスから二つの
クラス101流動的(ダイナミック)メモリおよびスタテイックメモリが派生する
。従ってそれらは、クラス101メモリ、そしてそれ故、クラス101コンポー ネント
のすべての属性を継承し、そのため、クラス101スタテイックメモリの
各オブジェクトは、サーチ可能な属性102のように“名前”および“サイズ”
を持つ。
クラス101の別の例は、メーカーである。この例では、各クラス101メー カー
の各オブジェクトは、“名前”と“都市”をサーチ可能な属性102として
持つ。この例では、クラス101メーカーは、ベースクラスであり、そこからク
ラス101国内メーカーおよび外国メーカーが派生する。クラス101外国メー カー
は又、サーチ可能な属性102“国名”を持つ。
この例では、クラス101コンポーネントは、クラス101メーカーを有する
データモデル関係103を持つ。この関係103は、多くから一つであり、クラ
ス101コンポーネントの各オブジェクトは、クラス101メーカーの関係した
オブジェクトを持ち、クラス101メーカーの各オブジェクトは、ゼロまたはよ
り多くのクラス101コンポーネントの関係した要素を持つ。
サーチ可能な属性102に加えて、派生したクラス101の各オブジェクトは
、そのベースクラス101の関係を継承する。これにより、クラス101スタテ ィックメモリ
の各オブジェクトは、クラス101メモリの関係103を継承し、
前記メモリはクラス101コンポーネントの関係103を継承する。クラス10
1コンポーネントの関係103のひとつは、クラス101メーカーを有する関係
103であり、そのため、各スタティックメモリはメーカーを持つ。同様に、各
外国のメーカーは、スタティックメモリ、流動的メモリおよびアナログコンポー
ネントを作ってもよい。
当業者であれば、この適用を精読した後でこのユーザーのオブジェクトデータ
ベースの例で多くの変形およびこのような変形に対してここに開示された方法お
よびシステムの容易な適用を容易に認識できるであろう。ここに開示された方法
およびシステムの可能性は、別の発明や経験を必要としないであろう。
コンパイルおよび翻訳のためのシステム
図2は、データベース構造に適したオブジェクトおよびリレーショナルデータ
ベース構造への翻訳をモデリングするためのシステムのブロックダイヤグラムを
示す。
データベース構造およびリレーショナルデータベース構造への翻訳のモデリン
グのためのシステム200は、ユーザー201からのコマンドおよび記述を受信
するためにユーザーインタフェイス210を含む。ここで示されたように、ユー
ザー201により供給されたコマンドおよび記述は、ユーザーのオブジェクトデ
ータベース100に関する記述情報を含む。このシステム200は、ユーザーの
オブジェクトデータベース100に関する記述情報を受信し、その情報をユーザ
ーデータベースモデル200を提示するためにメタモデル230内に格納する。
メタモデル220およびユーザーのデータベースモデル230は、リレーショナ
ルデータベース内の構造により、それら自身により提示され、そのリレーショナ
ルデータベース250はリレーショナルデータベース240を用いて実行される
。
好ましい実施例では、ユーザーインタフェイス210は、グラフィックユーザ
ーインタフェイス211(“GUI”)を含み、それは創造するためのエデイット
用ツールを持ち、ユーザーのデータベースモデル230をエデイットする。グラ
フィックユーザーインタフェイスはこの分野では公知であり、当業者であれば、
この明細書を精読した後に、GUI211に要求される機能を実行するために公
知のコンピュータシステムを変更することは簡単であり、別の発明や経験を必要
としないことが理解されよう。
好ましい実施例では、ユーザーインタフェイス210は又、ユーザーのオブジ
ェクトデータベース100に関する記述情報を入力するための別のツールを含む
。これらの別のツールは、テキスト記述ツール212を含み、それは記述情報を
記録するためのテキストフォーマットを持ち、ファイルまたは他のソフトウエア
オブジェクトから前記テキストフォーマットを読み出すために配置される。好ま
しくは、他のソースからシステム200へデータの容易かつ迅速な翻訳を容易に
するために、テキストフォーマットは、他のデータベースのごとき他のプログラ
ムで記載された物とコンパチブルである。
これらの別のツールは又、ユーザーのオブジェクトデータベース100のコマ
ンドおよび記述をシステム200に供給するために、アプリケーションプログラ
ミング用インタフェイス213(“API”)を含み、これはユーザー201によ
り呼び出されたプログラムとのインタフェイスを供給するための1組みのプログ
ラミング構成を持ち、そして、ユーザーのデータベースモデル220を創造しエ
ディットするために使用するプログラム呼び出しとデータを受信するために配置
される。好ましくはAPI213は、GUI211と同様な記述的および命令的
なパワーを持ち、そのため、ユーザー201は、GUI211と同じ機能を実行
するために別のプログラムを呼び出してもよい。
その機能は、GUI211により供給され、テキスト記述212およびAPI
213は図6で更に記述される。
メタモデル220は、オブジェクトデータベースを持ち、そのデータベースは
オブジェクトとして、ユーザーのオブジェクトデータベース100内のクラス1
01、これらのクラスのサーチ可能な属性102およびこれらのクラス間の関係
103を持つ。メタモデル220は、図23で更に記述される。
好ましい実施例では、リレーショナルデータベースエンジン240は、カリフ
ォルニア、レッドウッドショアーズのオラクル コーポレイションで販売の“オ
ラクル”のごとき、標準のリレーショナルデータベースの処理ツールを含む。別
の実施では、リレーショナルデータベースエンジン240は、“SQL”データ
ベース処理言語、あるいは同様な記述的および命令的パワーを持つ別のデータベ
ース処理言語におけるリレーショナルデータベースコマンドを受ける製品を含ん
でもよい。
好ましい実施例では、リレーショナルデータベースエンジン240は、クライ
エント/サーバー、マルチユーザー、マルチユーザーリレーショナルデータベー
スエンジンを使用するネットワークされたアーキテクチャーを含み、そのため、
(1)多数のユーザー201がリレーショナルデータベース250を同時に操作し
てもよく、(2)要求はリレーショナルデータベースエンジン240により処理さ
れ、そして(3)多数のユーザー201およびシステム200の多数のコピーが多
数のリレーショナルデータベース240に結合されたネットワークに配置されて
もよい。
ユーザーデータベースの構築
ユーザーインタフェイス210は、ユーザーのオブジェクトデータベース10
0に関するコマンドおよび記述をユーザー201から受信し、それに応答して、
ユーザーデータベースモデル230を構築しエデイットする。ユーザーデータベ
ースモデル230がメタモデル220内に1組みのオブジェクトを含むので、ユ
ーザーデータベースモデル230を構築しエデイットする工程は、単にメタモデ
ル220内に構築およびエデイット用のオブジェクトを含む。これらのオブジェ
クトは継承オブジェクトとしてシステム200により維持され、そのため、ユー
ザーデータベースモデル230は、システム200により、メタモデル220の
継承部分として維持される。
メタモデル220自身は、メタモデルリレーショナルデータベース221によ
り示され、そのデータベースは1組みのリレーショナルデータベース、これらの
テーブルの属性、これらのテーブル内のコラム、これらのテーブルの一次および
二次のキー、およびメタモデルリレーショナルデータベース221の他の決定用
特徴を含む。ユーザーデータベースモデル230は、メタモデルリレーショナル
データベース221内のオブジェクトにより示され、それらのテーブル内に列、
これらの列に対するコラムに入った特定値、および一つのテーブルの1列から関
連するテーブルの1列へのポインターを含む。ユーザーデータベースモデル23
0を構築しエデイットする工程は、つまり、メタモデル220内のオブジェクト
を構築しエデイットすることは、単に構築およびエデイット用クラス101、オ
ブジェクト、サーチ可能な属性102および、ユーザーのオブジェクトデータベ
ース100に関する記述情報を示すメタモデルリレーショナルデータベース22
1内の列、値およびポインターにより示されたクラス101間の関係を含む。
メタモデル220は又、メタモデルリレーショナルデータベース221により
示されるので、メタモデルリレーショナルデータベース221内の1組みのオブ
ジェクトは、メタモデル220自身を示す。メタモデル220を示しているメタ
モデルリレーショナルデータベース221内のこれらのオブジェクトは、ユーザ
ーデータベースモデル230を示すオブジェクトのようにエデイットされてもよ
い。事実、ユーザーデータベースモデル230は、メタモデル220内のオブジ
ェクトをエデイットすることにより、単に構築しエデイットされてもよい。メタ
モデル220の構造でさえメタモデル220内のオブジェクトをエデイットする
こ
とにより、削除されてもよい。
トリガー用のイベントに応答して、システム200は、ユーザーリレーショナ
ルデータベース231内のリレーショナルデータベースを記載し創造するために
1組みのSQLコマンドを使用してユーザーモデル230をユーザーリレーショ
ナルデータベース231に翻訳する。これらのSQLコマンド232は、リレー
ショナルデータベーステーブル、これらのテーブルの属性、これらのテーブル内
のコラム、これらのテーブルの一次および2次のキーおよびユーザーリレーショ
ナルデータベース231の他の決定用属性を記載する。これらのSQLコマンド
232は、リレーショナルデータベースエンジン240へ翻訳され、その翻訳さ
れたものはその後、記載し、ユーザーリレーショナルデータベース231を創造
する。
好ましい実施では、ユーザーデータベースモデル230の翻訳のためのトリガ
ー用イベントは、ユーザーリレーショナルデータベース231を創造するために
、ユーザー201によるGUI211へのコマンド、もしくは、ユーザー201
により呼び出されたAPI213へのプログラムによるコマンドを含む。しかし
ながら、これとは別に時限化された自動セーブのごときトリガー用イベントまた
は、ユーザーデータベースモデル230内の十分な変化も又、システム200に
より認識されてもよい。ユーザーデータベースモデル230がテキスト記述ツー
ル212を使用して記載されたとき、トリガー用イベントは、テキストファイル
自身内にトリガー用のコマンド、テキストの翻訳をさらに持つかといったファイ
ル状態のエンド又は別の状態を含む。
適したオブジェクトおよびリレーショナルデータベース構造との間の翻訳に対
する工程は、図7で更に記載される。
ユーザーデータベースの取り込み
ユーザーインタフェイス210は又、ユーザー201から、ユーザーのオブジ
ェクトデータベース100のためのオブジェクトに対応する、ユーザーデータベ
ースモデル230のための取り込みオブジェクトに関するコマンドおよび記述を
受け取る。これに応答して、システム200は、ユーザーリレーショナルデータ
ベ
ース232のためと、その次のユーザーデータベースモデル230内の記載のた
めに、データアイテムを構築しエデイットする。
システム200は、リレーショナルデータベース231のテーブル内の列を挿
入し、変形し、または削除するために、ユーザーデータベースモデル230のた
めのオブジェクトを1組みのSQLコマンド233の中へ移動する。これらのS
QLコマンド233は、リレーショナルデータベース240へ送出され、このエ
ンジンは、これらのテーブル、これらの列に対するコラムのための特定値および
一つのテーブルから関連テーブルへのポインターを生成する。
好ましい実施例では、ユーザー201は、ユーザーデータベースモデル内の各
クラス101に対する完全なチェックを記載してもよく、その結果、オブジェク
トがユーザーデータベース231に加えられたとき、完全なチェックが実行され
、そのオブジェクトは完全なチェックに迎合することが確実にされる。例えば、
図1に示されたユーザーのオブジェクトデータベース100の例では、ユーザー
201は、各クラス101、コマンドのオブジェクトは、一つとクラス101、
メーカーのオブジェクトに関係した一つを持つ。この例では、ユーザー201は
、クラス101、コンポーネントとクラス101、メーカーとの間のデータモデ
ル関係103内のこの完全チェックを記述してもよい。
同様に、ユーザー201は、サーチ可能な属性102のために単に正当な値と
して、1組みの数えられた値または値の範囲を記載してもよい。ユーザー201
がそのように記載したとき、システム200は、図3に関して更に述べるように
、オブジェクトを創造し、確定した1組みの数えられた値または確定した値の範
囲を述べ、そして、前記オブジェクトをサーチ可能な属性102と関係させる。
好ましい実施例では、ユーザーインタフェイス210は、サーチ可能な属性10
2のために、特定のオブジェクトのためのサーチ可能な属性102のための値を
入力する前に、確定した組みの数えられた値または確定した値の範囲を示すため
に、ユーザー201にコマンドを与える。このことは、新しい値を持つオブジェ
クトを取り込む前に、ユーザー201がどの値がサーチ可能な属性102に対し
て適切かを決定することを可能にする。ユーザー201がオブジェクトの他のサ
ーチ可能な属性102のために値を既に入力したとき、ユーザーインタフェイス
210は、これらの他のサーチ可能な属性102のための同じ値を持つオブジェ
クトのためにデータベース内に既にあるこれらの値のみを記載する。例えば、図
1に示されたユーザーのオブジェクトデータベース100の例では、もしユーザ
ー201がクラス101、メモリのオブジェクトを作成し、クラス101、メー
カーの関係したオブジェクトのためにサーチ可能な属性102“名前”に対する
値を既に入力し、そして、サーチ可能な属性102“サイズ”に対する値を入力
しているところならば、ユーザー201は、前記メーカーと共に既にメモリに存
在する“サイズ”に対するすべての値を表示するために、ユーザーインタフェイ
ス210をリクエストしてもよい。
完全なチェックに加えて、ユーザー201は、特定のクラス101のオブジェ
クトが生成されるか破壊されたとき、“ビジネスルール”、つまり拡張機能が実
行されるために記載してもよい。例えば、ユーザー201は、クラス101、コ
ンポーネントのオブジェクトのために、前記クラス101の新しいオブジェクト
が作成される毎にシステム200が新規なシリアルナンバーを生成する、ビジネ
スルールを用いてサーチ可能な属性“シリアルナンバー”を記載してもよい。ク
ラス101のための拡張機能(クラス機能)およびサーチ可能な属性102(クラ
ス属性機能)は、更に図3に関して述べる。
ユーザーデータベースへの質問
ユーザーインタフェイス210は又、ユーザーのオブジェクトデータベース1
00への質問およびサーチ(つまり、ユーザーのリレーショナルデータベース2
31内のオブジェクトに質問しサーチする)に関するコマンドおよび記述をユー
ザー201から受け取る。それに応答して、システム200は、ユーザーリレー
ショナルデータベース231に与えられるべき質問のために、質問モデル260
を構築しエディットする。質問モデル260を構築しエディットする工程は、図
9に関して述べる。
トリガー用イベントに応答して、システム200は、ユーザーのリレーショナ
ルデータベース231に質問(グループ化および並べ替えのごときSOL質問の
特徴を含む)するために質問モデル260を1組みのSQLコマンド261へ翻
訳する。これらのSQLコマンド261は、リレーショナルデータベースエンジ
ン240へ送信され、そのエンジンは、その質問をユーザーリレーショナルデー
タベース231に与え、その質問から1組みの質問結果251を発生させ、そし
て、ユーザー201に示すために1組みの質問結果251を戻す。
好ましい実施例では、質問モデル260の翻訳のためのトリガー用イベントは
、質問結果251を創造するために、ユーザー201によるGUI211へのコ
マンド、テキストコマンドによるテキスト記述ツール212へのコマンドおよび
ユーザー201により呼び出されたプログラムによるAPI213へのコマンド
を含む。質問モデル260は又、ユーザー201への質問の結果を示すことに関
する記述情報を含み、その情報は、質問のために、システム200により、SQ
Lコマンド261内へ組み込まれる。
質問モデル260およびリレーショナルデータベースの質問への質問モデル2
60の翻訳は図9に関して更に述べる。
ユーザーのオブジェクトデータベースのためのメタモデル
図3は、ユーザーのオブジェクトデータベースをモデリングするためのメタモ
デルのモデルダイヤグラムを示す。
メタモデル220は、1組みのクラス101、各クラス101に対する1組み
のサーチ可能な属性102、クラス101間の1組みの関係103を含み、これ
により、ユーザーのオブジェクトデータベース100についての記録情報のため
のシステムオブジェクトデータベースを形成する。
図3において各ボックスはクラス101を示し、ボックス間の各ラインはクラ
ス101間の関係103を示す。
クラス101と関係103との接続点で、シンボルは関係103が結合してい
る、クラス101のオブジェクトの個数を示し、個数はゼロ、一つ、1より多く
がある。シンボルは二つのシンボルパーツを持ち、円シンボルのパーツは0のオ
ブジェクトを示し、1本のラインシンボルのパーツは一つのオブジェクトを示し
、フォーク状のラインシンボルのパーツは一つより多くのオブジェクトを示す。
こ
れにより、一つのシンボルは、例えば、第2のクラス101内の一つまたはより
多くのオブジェクトに対応する第1のクラス101における各オブジェクトを示
す。
太字のボックスは、クロスリンクのクラス101を示し、その目的は、オブジ
ェクト間に多くから多くの関係のために備えられる。このような各クラス101
の各々は、二つまたはより多くの関係103を持ち、少なくとも、第1のクラス
101への第1の多くから一つへの関係103と第2のクラス101への多くか
ら一つの関係103である。これにより、クロスリンクのクラス101内の各オ
ブジェクトは、少なくとも注文された一対のエレメント、第1のクラスからの一
つのオブジェクトおよび第2のクラス101からの一つのオブジェクトを含み、
二つのオブジェクト間の一つから一つの関係を示す。
メタモデルクラス
好ましい実施例では、メタモデル220は、テーブル3−1に示したクラスを
含む。
テーブル3−1クラス
クラス内のオブジェクトの記載
クラス メタモデルによりモデリングされたクラス
クラスリンク 親/子のクラス間のクラスリンク
ポインタークラスの属性 ポインターにより別のクラスにモデリングされ
たサーチ可能な属性
確定したクラスのポインター ポインティングオブジェクトとターゲートのク
ラスとの間の関係
クラス属性 メタモデルによりモデリングされたサーチ可能
な属性で内蔵されたタイプの値を持つ
属性グループ 関連するグループの属性
論理データタイプの定義 属性に対する論理データタイプ
数えられた確定値 属性に対する組みの数えられた確定値
確定した値の範囲 属性に対する確定した値の範囲
測定値のユニット 属性に対する測定値のユニット
ユニット変換公式 ソースと測定値のターゲットユニットとの間の
変換用の公式
クラス属性機能動作 クラス属性のために決定されたメンバー機能
クラス機能動作 クラスのために決定されたメンバー機能
カスタム機能定義 ユーザで記載された機能
外部アクセス機能動作 動作システム上で呼び出す機能
公式 代数公式
形態 オブジェクトをエディットするための形態のご
とく、いかなるオブジェクトの記述が表示され
るか
サーチパネルの形態 サーチのための形態
パネル結果の形態 サーチ結果を表示するための形態
ユーザーのオブジェクトデータベース100は1組みのクラス101を含む。
メタモデル220では、ユーザーのオブジェクトデータベース100の各クラス
は、クラスクラス301のオブジェクトによりモデリングされる。
好ましい実施では、クラスクラス301の各オブジェクトはテーブル3−2内
の情報−含む。
テーブル3−2属性
記述
オブジェクトID このオブジェクトに対するユニークなID
クラスレベル クラスに対して表示されるべき名前
クラスDB名 ユーザーリレーショナルデータベースで使用さ
れるべきクライに対するユニークな名前
クラスグループ 、クラスが、メタモデル、グラフィックや許可
のごとく、システムにより与えられた予め決定
のクラスまたはユーザークラスの一部であるか
の指示
クラスタイプ クラスがメタモデル、クロスリンククラス、一
つの“フォルダー”名前下の派生クラスをグル
ープ化する一つの目的のために創造されたベー
スクラスの一部かの指示
システムの記述か このクラスがシステムの一部であるかの真相
オブジェクトのナンバー このクラスの現在のオブジェクトのナンバー
DBブロックのナンバー このクラスにより現在使用されているデータベ
ースブロックのナンバー
オブジェクトの最大# クラスに対して期待されるオブジェクトの最大
ナンバー
クラスの記述 ユーザーの便宜のためのクラスの記述
未決定の動作 クラスに対する次の未決定の動作の指示、例え
ばリレーショナルテーブルの創造、変形、リレ
ーショナルテーブル、リレーショナルテーブル
の再創造、または動作無しの未決定
動作 このクラスのためにとられた動作の指示、例え
ば、“未決定の動作”の実行、表示器の形態の変更、オラクル的な“視野”のリ
フレッシュ、クラス内のオブジェクトの個数の計数または行われた動作の非実行
である。
属性102“クラスDB名”は、システムにより発生され、そして、好ましく
は、例えばある長さまたは単にあるキャラクターを持つように制限されるがごと
く、リレーショナルデータベースエンジン240により課せられた名前の制限を
満足させることが要求される。SQLコマンド232、233および261のご
とく、このクラス101に対応するリレーショナル構造をアクセスするためのS
QLコマンドを発生させるためのシステムにより、データベース“クラスDB名
”がシステム200により使用される。好ましい実施例では、ユーザー201は
、システム200により発生された“クラスDB名”を無効にしてもよいが、リ
レーショナルデータベースエンジン240により課せられた名前の制限を満足し
なくてはならない。
属性102、“クラスグループ”、“クラスタイプ”および“システムの記述
か”は、システム200内のクラス101の目的についての情報を維持する。も
し、ユーザー201が、メタモデル220の一部である場合のように、システム
200の動作に批判的であるクラス101をモデリングするならば、システム2
00は、ユーザー201に警告し、動作が実際に行われようとする確信を要求す
る。
属性102、“オブジェクトの最大#”は、ユーザー201により与えられ、
この属性102はいかなる種類の難しい制限を課すことはないが、ユーザー20
1による提案であり、そして、オブジェクトの個数がこの属性の値を超過したと
き、システム200は、好ましくはデフォールト値および拡張のための手順を与
える。その属性102、“オブジェクトの個数”および“DBブロックの個数”
はシステム200により与えられる。これらの属性102は、図9に関して示さ
れるように、リレーショナルデータベースエンジン220を用いてテーブルを創
造しサーチする際、システムの効率を改善するために使用される。
属性102、“未決定の動作”および“動作”は、リレーショナルデータベー
ス250内のその表示に関するクラス101の現状についての情報を維持する。
システム200を同時に使用する一つ以上のユーザー201があるならば(これ
がシステム200の好ましい動作)、一つより多いユーザー201が同じクラス
101を同時に変形しようと試みる。そのシステム200は、いかなるクラス1
01も矛盾状態に入ることがないようにする試みが確実となるように、これらの
属性102を使用する。データベースの当業者には、データベースシステムの同
時のアップデートにも拘わらず、データベースを完全に維持するための公知の多
くのテクニックがあり、この明細書を精読した後、システム200へのこのよう
な技術の適用は、別の発明や高度な経験を必要としないことが理解されよう。
親/子のクラス
ユーザーのオブジェクトデータベース100では、各クラスはゼロまたはより
多くの親クラス(ベースクラスから派生したもの)と、ゼロまたはより多くの子ク
ラス(ベースクラスから派生)を含む。メタモデル220では、クラスクラス30
1の各オブジェクトは、ゼロまたはより多くの親オブジェクトのクラスクラス3
01を含んでもよく、又、ゼロまたはより多くの子オブジェクトのクラスクラス
301を含んでもよい。これらの多くから多くの親/子の関係103が、クロス
リンククラスクラスリンク302を用いて示される。
クラスクラスリンク302内の各オブジェクトは、子クラス101を親クラス
101にリンクする。子クラス101は多数の継承に基づき、一つ以上の親クラ
ス101を持ってもよい。
好ましい実施例では、クラスクラスリンク302の各オブジェクトはテーブル
3−3の情報を含む。
テーブル3−3属性
記述
オブジェクトID このオブジェクトに対するユニークなID
親クラス 親クラスに対するオブジェクトID
子クラス 子クラスに対するオブジェクトID
分配されたDBノード 分配されたデータベース内のノード、そのデー
タベースに対してこのオブジェクトがリンク
サーチ可能な属性102“分配されたDBノード”は、分配されたデータベー
ス内でノードを確認する。クラスクラスリンク302のオブジェクトが分配され
たデータベース内の別のノードとリンクしたとき、サーチ可能な属性102、前
記オブジェクトに対する“分配されたDBノード”は別のノードを確認し、そし
てシステム200は、リンクされたノードにて関連する工程を生み出すことによ
り、前記リンクに応答する。これにより、ユーザー201は、リレーショナルデ
ータベースJOIN動作、および、分配されたリレーショナルデータベース25
0の多数のノードに対して縦方向のサーチを実行できる。
ユーザー250が派生したクラス101を創造し、またはクラスのベース/派
生状態を変えるとき、システム200は、ベース/派生の関係をモデリングする
ために、クラスクラスリンク302のオブジェクトを創造しエデイットする。
サーチ可能な属性
ユーザーのオブジェクトデータベース100は、各クラスに対して1組みのサ
ーチ可能な属性を含む。サーチ可能な属性は,整数および浮動小数点のごとき、
“組み込まれた”データタイプであるデータ値を含むか、又は、ユーザーで決定
されたクラス内のオブジェクトのごとく示される、自身がユーザー決定のデータ
タイプであるデータ値を含んでもよい。メタモデル220では、組み込みデータ
種を含むタイプサーチ可能な属性は、クラスクラス属性303により示され、一
方、ユーザー定義のデータ種を含むサーチ可能な属性は(ユーザー定義のデータ
種のオブジェクトへのポインターにより実行される)、クラス101ポインター クラス属性
304により示される。
クラスクラス301は、クラス101をユーザー定義のデータ種を持つサーチ
可能な属性にリンクする、クラスポインタークラス属性304への関係103を
持つ。クラスポインタークラスクラス属性304は、クラスポインター確定クラ ス
305への関係を持ち、そして、そのクラスポインター確定クラス305は、
クラスクラス301への関係を持ち、ユーザー定義のデータ種を持つサーチ可能
な属性102を前記データ種を決定するクラス101にリンクする。
サーチ可能な属性:ユーザー定義のデータベース
クラスポインタークラス属性304は、ユーザー定義のデータ種を持つクラスクラス
301のいずれかのオブジェクトに対して、各サーチ可能な属性に対する
ひとつのオブジェクトを含み、クラスクラス301の各オブジェクトは、一つま
たはより多くの、クラスポインタークラス属性304のオブジェクトを持つ。ク
ラスポインタークラス属性304の各オブジェクトは、ユーザー定義のタイプへ
のポインターを持ち、そのポインターはクラスのオブジェクトポインター確定ク ラス
305のオブジェクトである。
好ましい実施では、クラスポインタークラス属性304の各オブジェクトはテ
ーブル3−4の情報を持つ。
テーブル3−4属性
記述
オブジェクトID このオブジェクトに対するユニークなID
ポインター属性ラベル 属性のために表示されるべき名前
ポインター属性DB名 ユーザーリレーショナルデータベース内で使用
されるべき属性に対するユーザーな名前
表示命令 クラス内でこの属性を他のものと比較して表示
する命令
ターゲットにより所有されるか ポイントしたクラスから許可を継承するかの真
相
値が必要とされるか 値が無効でないかの真相
コラムのインデックスか この属性に対するコラムがユーザーリレーショ
ナルデータベース内にインデックされたかの真
相
コラムのインデックスタイプ リレーショナルデータベース内のインデックス
のタイプ
外部よりの派生か システムにより発生されたかの真相
リレーショナルの意味 ユーザーリレーショナルデータベース内の属性
のリレーショナルの意味、
情報の形態 いつこの属性が表示されたかの指示:サーチに
対する、サーチ結果に対する、そられの双方に
対する、またはどちらでもない
アップデートルールの挿入 いつこの属性を持つ新しいオブジェクトを挿入
またはアップデートしたかを追跡するルール、
例えば、関連したオブジェクト、いかなる関連
したオブジェクトへの縦のアップデートまたは
、関連したオブジェクトのアップデート上で無
効にするためのセットポインター
ルールを削除 いつこの属性を持つオブジェクトを削除したか
を追跡するルール、例えば、関連するオブジェ
クト、いずれかの関連するオブジェクトへの縦
方向の削除、関連するオブジェクトの削除を無
効にするセットポインターまたは関連するオブ
ジェクトの削除におおける値をデフォールトに
するセットポインター
未定の動作 属性に対する次の未定の動作の指示、例えばリ
レーショナルデータベースの辞書を変更または
未定の動作無し
DBブロックの個数 この属性に対するリレーショナルデータベース
により使用されたデータベースブロックの個数
列の選択性 この属性に対するリレーショナルコラムにおけ
る値の分配測定
ブロックの選択性 DBブロックレベルでの分配値の測定
ポインターの記述 ユーザーの便宜のための属性の記述
属性102、“クラスDB名”と同様に、属性102“ポインター属性DB名
”はシステム200により発生され、そして、好ましくは、ある長さに制限され
ると、または単にある特性を持つことに制限されるように、レーショナルデータ
ベースエンジン240により課せられた名前の制限を満足させることが要求され
る。“ポインター属性クラスDB名”は、SQLコマンド232,233および
261のごとく、この属性に対応するアクセス用リレーショナル構造に対するS
QLコマンドを発生させるために、システム200により使用される。好ましい
実施では、ユーザー201は、システム200により発生された“ポインター属
性DB名”を無効にしてもよいが、リレーショナルデータベースエンジン240
により課せられた名前の制約を満足しなければならない。
特性102、“表示命令”および“情報の形態”は属性102に対する単なる
デフォールト値であってもよく、又、ユーザー201により、特定の表示形態ま
たはサーチが無効にされてもよい。
属性102、“DBブロックの個数”、“列の選択”および“ブロックの選択
”は、ハステム200により演算される。これらの属性102は、リレーショナ
ルデータベースエンジン220を用いてテーブルをサーチするときのシステムの
効率を改善するために使用される。
好ましい実施例では、クラスポインター確定クラス305の各オブジェクトは
、テーブル3−5の情報を含む。
テーブル3−5属性
記述
オブジェクトID このオブジェクトに対するユニークなID
確定クラスの記述 ポインティングとターゲットクラスとの間の関
係の記述、“パーツはメーかーにより製作され
”、確定クラス記述は“製作される”
クラスポインター確定クラス305の各オブジェクトは、クラスポインターク ラス属性
304の各オブジェクトをターゲットクラス101にリンクさせる。
サーチ可能な属性:組み込まれた属性
クラスクラス属性303は、組み込みタイプを持つクラスタイプのいかなるオ
ブジェクトに対する各サーチ可能な属性102に対する一つのエンジンを含み、
そしてクラスクラス301の各オブジェクトは、クラスクラス属性303のオブ
ジェクトをセロまたはより多く持つ。クラスクラス属性303のオブジェクトは
値を持つ。
好ましい実施例では、クラスクラス属性303の各オブジェクトはテーブル3
−6の情報を持つ。
テーブル3−6属性
記述
オブジェクトID このオブジェクトに対するユニークなID
属性ラベル 属性のために表示されるべき名前
属性データタイプ データタイプを指示、この属性は格納される、
代数、キャラクタ、データ、整数、通貨、番号
またはタイムスタンプのごとく
DB名の属性 ユーザーのリレーショナルデータベースで使用
されるべき属性のためのユニークな名前
表示命令 クラス内で他と比較して属性を表示する命令
表示タイプ データタイプを指示し、この属性が表示、代数
、キャラクタ、データ、整数、通貨、番号また
はタイムスタンプのごとく
表示長さ この属性の表示の割り当てのスペース
表示精度 この属性を表示させるためのデジットの個数
ケースのスタイル テキスト値のみの、常に下側のケース、常に上
側のケース、ケース非感覚、ケース感覚に対し
て
可視列 この属性の表示のための列の個数
関係の意味 ユーザーリレーショナルデータベース内の属性
の関係の意味、例えば、一次キー、間隔のキー
、記述
情報の形態 いつこの属性が表示されるかの指示、サーチ、
サーチ結果、双方、いずれでもないに対して
デフォールト値 ユーザーにより記述されないときの値
値が要求されるか 値が無効かの真相
コラムのインデックスか この属性に対するコラムがユーザーのリレーシ
ョナルデータベース内にインデックスされたか
の真相
コラムのインデックスタイプ リレーショナルデータベース内のインデックス
のタイプ
確定値のタイプ 値がある確定値で制約されるかの指示、例えば
数えられた確定値または確定値の範囲
外部的な派生か システムにより発生されたかの真相
正確な表記 数値の値のみに対する、正確な表記で表示され
るか。
未決定の動作 属性のために未決定の次の動作を指示する、例
えばリレーショナルデータベース辞書を替える
、または未決定の動作無し
DBブロックの個数 この属性のためにために関係コラムにより使用
されたデータベースの個数
列の選択 この属性に対する関係の列における分配値を測
定
プロックの選択 DBブロックレベルでの分配された値の分配の
測定
記述の属性 ユーザーの便宜のために属性の記述
属性102、“クラスDB名”、属性102、“属性DB名”は、システム2
00により発生され、好ましくはリレーショナルデータベースエンジン240に
より課された名前の制約や、あるキャラクタのみを持つことに制限されるものに
満足させることが要求される。“属性クラスDB名”は、SQLコマンド232
,233および261のごとく、属性102に対応するリレーショナル構造をア
クセスするためのSQLコマンドを発生させるために、システム200により使
用
される。好ましい実施例では、ユーザー201は、システム200により発生し
た“属性DB名”を無効にしてもよいが、リレーショナルデータベースエンジン
240により課せられた名前の制約を満足しなくてはならない。
属性102、“表示命令”、“表示タイプ”、“表示長さ”、“表示精度”、
“可視の列”および“情報の形態”は、単に属性102に対するデフォールト値
であり、特定の表示形態またはサーチのためにユーザー201により、無効にさ
れてもよい。
属性102“DBブロックの個数”、“列の選択”および“ブロックの選択”
はシステム200により演算される。これらの属性102は、リレーショナルデ
ータベースエンジン220を使用してテーブルをサーチすることにより、システ
ムの効率を改善するために使用される。
クラス属性グループ306は、サーチ可能な属性102の各タイプに対して一
つのオブジェクトを含み、クラスクラス属性303の各オブジェクトは、ゼロま
たはより多くの関係した、クラス101属性グループ306のオブジェクトを持
つ。クラス属性グループ306の各オブジェクトは、ひとつのグループ名を持つ
。クラスクラス属性303は、一つのグループを単一のフォルダークラス101
にリンクする、クラス属性グループ306への関係103を持つ。
サーチ可能な属性データ値
ユーザーのオブジェクトデータベース100では、クラスクラス属性306の
サーチ可能な属性102は、整数または浮動小数点のごとき、特定のロジックデ
ータタイプを持ってもよい。メタモデル220では、クラスロジカルデータタイ プの決定
307は、各ロジカルデータタイプに対して一つのオブジェクトを含み
、そして、クラスクラス属性303の各オブジェクトは、クラスロジカルデータ タイプの決定
307の一つのオブジェクトを持つ。
好ましい実施例はクラスロジカルデータタイプの決定307の各オブジェクト
はテーブル3−7の情報を含む。
テーブル3−7属性
記述
オブジェクトID このオブジェクトに対するユニークなID
ロジカルデータタイプ名 データタイプに対して表示されるべき名前
DBMSデータタイプ リレーショナルデータベースエンジンにより決
定されたようなデータタイプの名前
DBMSデータタイプ長 リレーショナルデータベースエンジンにより決
定されたようなデータタイプの長さ
データ格納の精度 正確なデシマルポイントへのデジットの最大数
データタイプの決定 ユーザーの便宜のためのデータ記述
ユーザーのオブジェクトデータベース100では、クラスクラス属性303の
サーチ可能な属性は、特定の範囲にまたは数えられた値の特定の組みに軽減され
た値を持つ。メタモデル220では、クラス数えられた確定値308は、数えら
れた確定値の各組みに対して一つのオブジェクトを含み、クラスクラス属性30
3の各オブジェクトは、クラス数えられた確定値308のゼロまたはより多くの
オブジェクトに関連する。同様に、クラス確定値の範囲309は、確定値の範囲
の各組みに対して一つのオブジェクトを含み、そして、クラスクラス属性303
の各オブジェクトは、クラス確定値の範囲309のゼロまたはより多くのオブジ
ェクトに関連する。
好ましい実施では、クラス、数えられた確定値308の各オブジェクトはテー
ブル3−8の情報を持つ。
テーブル3−8属性
記述
オブジェクトID このオブジェクトに対するユニークなID
数えられた値 確定した調査値
確定値の名前 確定した調査値のための名前
カスケードフラグ 確定した調査値が派生クラスに縦につながれた
かの真相
属性102、“カスケードフラグ”は、クラス数えられた確定値308のオブ
ジェクトが、ベースクラス101に対する属性102といつ関連したか否か、数
えられた確定値が、ベースクラス101から派生した派生クラス101のオブジ
ェクトに対する同じ属性102と縦つなぎになったかを記述する。例えば、図1
に示したユーザーのオブジェクトデータベース100の例では、ユーザー201
は、クラス101コンポーネントに対するサーチ可能な属性102、“シリアル
番号”を記載してもよく、又、クラス101コンポーネントに対する数えられた
確定値の組みを記載してもよい。しかしながら、このサーチ可能な属性102、
“シリアル番号”は、クラスアナログコンポーネントやクラス101メモリのご
とき、ベースクラス101コンポーネントの派生した各クラスにより、継承され
てもよいが、ユーザー201は、これらの派生クラス101が、自身のシリアル
番号に対する数えられた値の個別の組みを持つように希望してもよい。クラス、数えられた確定値
308は、クラスクラス301を有する第1の関係103と、
クラスクラス属性303を有する第2の関係103を持つ。
好ましい実施はクラス確定値の範囲309の各オブジェクトはテーブル3−9
の情報を持つ。
テーブル3−9属性
記述
オブジェクトID このオブジェクトに対するユニークなID
最小値 最小の確定値
最大値 最大の確定値
デフォールト値 記述なきときはデフォールト値
カスケードフラグ 確定した調査値が派生クラスと縦つなぎになっ
たかの真相
属性102、数えられた確定値308に対する“カスケードフラグ”と同様に
、属性102、“カスケードフラグ”は、いつ、クラス範囲確定値309のオブ
ジェクトがベースクラス101に対する属性102と関係したか否か、確定値の
範囲が、ベースクラス101から派生した派生クラス101のオブジェクトに対
して同じ属性102と縦つなぎになったかを記載する。例えば図1のユーザーの
オブジェクトデータベース100の例では、ユーザー201は、クラス101コ ンポーネント
に対する、サーチ可能な属性102、“シリアル番号”を記載して
もよく、又、クラス101コンポーネントに対する確定値の特定範囲を記載して
もよい。このサーチ可能な属性102、“シリアル番号”は、クラスアナログコ ンポーネント
やクラス101メモリのごとき、ベースクラス101、コンポーネ ント
の各派生クラス101により継承されてもよいが、ユーザー201は、クラ
ス101が自身のシリアル番号に対する値の個別の範囲を持つように希望しても
よい。
クラス、確定値の範囲309は、クラスクラス301を有する第1の関係10
3を持ち、そして、クラスクラス属性303を有する第2の関係103を持つ。
測定ユニット
ユーザーのオブジェクトデータベース100では、クラスクラス属性303の
サーチ可能な属性102は、測定値の明示されたユニット内で表された値を持つ
ようにしてもよい。メタモデル220では、クラス、測定ユニット310は各測
定ユニットに対して一つのオブジェクトを含み、そして、クラスクラス属性30
3の各オブジェクトは、クラス測定ユニット310の少なくとも一つと(ディス
プレイに対して)関係し、又、クラス測定ユニット310の少なくとも一つのオ
ブジェクトと(格納のために)関係している。
好ましい実施では、クラス、測定値のユニット310の各オブジェクトはテー
ブル3−10の情報を含む。
テーブル3−10属性
記述
オブジェクトID このオブジェクトのためのユニークなID
UOM名 測定ユニットの名前
UOM表示シンボル 測定ユニットのために表示されるべきシンボル
、例えば“mg”
UOM記述 ユーザーの便宜のための、ソクテイユニットの
記述
ユーザーのオブジェクトデータベース100では、第1の測定ユニットは第2
の測定ユニットにに変換される。例えば、1000をかけてボルト−ミリボルト
に変換する。メタモデル220では、クラスユニット変換公式311は、測定ユ
ニットを変換するための各公式に対する一つのオブジェクトを含み、クラスユニ ット変換公式
311の各オブジェクトは、クラス測定ユニット310のゼロもし
くはより多くのオブジェクトと(ソースユニットのために)関係しており、そして
又、クラス測定ユニット310のゼロもしくはより多くのオブジェクトと(ター
ゲットユニットのために)関係している。
カスタム機能
カスタム機能は、システム200内のオブジェクトを流動的に変形させるため
の技術を提供し、メタモデル220内にオブジェクトを含む。これらのカスタム
機能は、挿入イベント、変形イベントおよび削除イベントによりトリガーされる
。ユーザー201は、カスタム機能が呼び出されたとき、システム200により
、実際の変化を記述する。
メタモデル220は、計算、クラスクラス属性機能操作312、クラスクラス 機能操作
、クラスカスタム機能決定314、外部アクセス機能操作315および
クラス公式316のためのオブジェクトを具体化するいくつかの付加的クラス1
01を含む。
クラスユニット変換公式311はソース測定ユニット311に対するクラス測 定ユニット
310を有する第1の関係103と、ターゲット測定ユニットのため
のクラス測定ユニット310を有する第2の関係103と、変換公式のためのク
ラス公式316を有する関係103を持つ。
クラス公式316のオブジェクトは、代数公式を含み、そして公式名、加数、
倍率器、加算/掛算のルール(加算、掛算、加算後に掛算または掛算後に加算)お
よび公式の記述を含む。
クラスクラス属性機能操作312およびクラスクラス機能操作313のオブジ
ェクトは、リレーショナルデータベース250のための操作に加えて、もしくは
その代わりに、実行されるべき機能についての情報を含み、又、操作の順序(例
えば操作システム上の呼び出しの言葉で定義される)および、カスタム機能が加
算するか置き換えるDBMS操作を含む。
クラスカスタム機能決定314は、カスタム機能に関する情報を含み、又、機
能名、バージョン番号、機能記述、カスタム機能に関係するクラス101のオブ
ジェクトが創造されたときにカスタム機能の実行を強行するフラグ、派生クラス
101のオブジェクトが創造されたときにベースクラス101のためのカスタム
機能を無効にするためのフラグを持つ。カスタム機能は、クラス101またはク
ラス101内のオブジェクトのために、クラス番号機能を加算または無効にし、
又、クラスメンバー機能の通常後に操作の前か後にクラスメンバー機能を無効に
するために記述されてもよい。
クラス外部アクセス機能操作315のオブジェクトは、ファイルシステムオブ
ジェクト、外部データベース、オペレーションシステム上の呼び出しによりアク
セスされる別のオブジェクトのごとく、システム200とは外部のオブジェクト
をアクセスするための機能に関する情報を含む。
クラス情報表示
好ましい実施例では、クラスクラス形態320は、ユーザーのオブジェクトデ
ータベース100内のクラス101の表示形態の各記述のための一つのオブジェ
クトを含む。クラスクラス形態320の各オブジェクトは、クラスサーチペイン
(窓ガラス)形態321のゼロまたはより多くのオブジェクトに関係し、クラス1
01は、クラス101上のサーチに対する各表示形態のための一つのオブジェク
トを含み、又、クラス結果ペイン形態322のゼロまたはより多くのオブジェク
トに関係し、クラス101は、クラス101上のサーチの結果に対する各表示形
態のための一つのオブジェクトを含む。
好ましい実施では、クラスサーチペイン形態321の各オブジェクトおよびク
ラス結果ペイン形態322の各オブジェクトはテーブル3−11の情報を含む。
テーブル3−11属性
記述
オブジェクトID このオブジェクトに対するユニークなID
表示タイプ そのフィールドの表示に対するデータタイプ
表示幅 そのフィールドに対する最大表示幅
表示UOM 表示のための測定値
列の命令 表示している列に対する相対命令
コラム命令 表示しているコラムに対する相対命令
カスタムラベル フィールドを表示するためのラベル
クラスサーチペイン形態321の各オブジェクトおよびクラス結果ペイン形態3
22の各オブジェクトもまた、表示されるべきクラスおよびクラス属性を決定す
るために、クラスクラス301のゼロまたはより多くのオブジェクトと関係し、
そして、クラスクラス属性303のゼロまたはより多くのオブジェクトと関係す
る。
アクセスコントロール
図4はユーザーのオブジェクトデータベースに対するアクセスコントロールを
モデリングするための1組みのクラスのデータモデルダイヤグラムを示す。
好ましい実施例では、図4に示された組みのクラスは、システム200のため
に予め定義される。しかしながら、メタモデル220と違って、これらのクラス
101は、アクセスコントロールをモデリングする際の都合のために、提供され
、そして、ユーザーのオブジェクトデータベース100をモデリングし、翻訳し
、
またはサーチするために必ずしも必要としない。
クラスルート401は、すべてのクラス101に対するベースクラスである。
好ましい実施例では、クラスルート401は、システム200内のすべてのオブ
ジェクトに属する、ほんの少しのサーチ可能な属性を持ち、最後の創造のオブジ
ェクトまたは最後に変形されたオブジェクトの署名、タイムスタンプ、オブジェ
クトが特定のユーザー201かを指示するためのプライベートフラグ、および、
オブジェクトがクラステンプレートのメンバーならばテンプレート識別子のごと
きである。クラスルート401は、クラスルート401を有する関係がすべての
クラス101により継承されるように提供される。
クラスユーザー402のオブジェクトは、システム200の個々のユーザーを
示し、そしてユーザーについての情報、ユーザー名、ユーザーのパスワード(セ
キュリティのために極力エンコードされる)、“スーパーユーザー”の地位、郵
便アドレス、電話番号および、ユーザーの代金をだれが負担かのごとき計算用情
報、を含む。
クラスユーザーグループ403のオブジェクトは、システム200のユーザー
のグループを示し、そのすべては同様なアクセスコントロール権利を持つ。親/
子の体系からのユーザーグループ(より詳しくは指示された周期的グラフ)は、ク
ラス101の親/子の関係を好む。クラスユーザーグループ403は、多くから
多くの関係と、自身がクロスリンクを使用するクラスユーザーグループからユー ザーグループ
404を持ち、それはユーザーグループの親/子供の体系を示す。
クラスユーザー402およびクラスユーザーグループ403は、クロスリンク
クラスユーザーからユーザーグループリンク405を用いる、多くから多くの関
係を持ち、これは、ゼロまたはより以上のユーザーグループにおける、ゼロまた
はより多くのユーザーのメンバーシップを示す。
アクセスコントロールは、二つの特徴が与えられる。第1の特徴はクラス属性
または個々の属性の所有であり、その所有は、ユーザーグループまたはユーザー
による。第2の特徴は、クラスまたは個々のオブジェクトに対するエディットの
許可であり、そのエディットの許可はユーザーグループまたはユーザーによる。
所有権は、クロスリンククラスユーザーグループからクラス所有権406、ク
ロスリンククラスユーザーグループからクラス財産所有権407、クロスリンク
クラスユーザーグループからオブジェクト所有権408、クロスリンククラスユ ーザーからクラス財産所有権
409およびクロスリンククラスユーザーからオブ ジェクト所有権
410により示される。所有権は、この結果、多くから多くの関
係であり、この関係は、クラスクラス財産およびオブジェクトをそれらのユーザ
ーグループおよびユーザーの所有権にリンクする。
エディットの許可は、クラスユーザーグループからクラスオブジェクトエディ
ット許可411、クラスユーザーグループからオブジェクトエディット許可41
2、クラスユーザーからクラスオブジェクトエディット許可413およびクラス
ユーザーからオブジェクトエディット許可414により示される。エディット許
可はまた、クラス財産およびオブジェクトをユーザーグループおよび許可を有す
るユーザーにリンクする多くから多くの関係であり、このような各関係に対して
特定のエディット許可はエディット許可オブジェクト内にリストされることを除
く。
グラフフィカル情報表示
図5は、ユーザーのオブジェクトデータベースのための予め定義されたグラフ
ィカル情報の表示に対する1組みのクラスのデータモデルダイヤグラムを示す。
好ましい実施例では、図5により示したクラスの組みは、システム200のた
めに予め定義される。しかしながら、メタモデル220とは似ず、これらのクラ
ス101は、予め定義されたグラフィカル情報をモデリングする際に便宜上、与
えられ、ユーザーのオブジェクトデータベース100をモデリングし、翻訳し、
又はサーチするためには必ずしも必要としない。
クラスグラフィックス501のオブジェクトは、予め定義されたグラフィック
スのオブジェクトについての情報を含む。クラスグラフィックス501は、クロ
スリンククラスオブジェクトリンクへのグラフィックス502により、クラスル ート
401に関係し、多くから多くの関係を定義し、その関係では、いかなるオ
ブジェクトも分担してあらゆるグラフィックスオブジェクトに付随され、そして
、いかなるグラフィックスオブジェクトもいかなるオブジェクトに付随されても
よ
い。クラスグラフィックス501は、多くからひとつの関係により、クラスルー ト
401に関係し、その関係では、グラフィックスオブジェクトはいかなるオブ
ジェクトと非分担であってもよい。
クラス別名変数503は操作システムを使用できるファイルに関する情報を含
む。クラスグラフィクス501は、多くからひとつの関係により、クラス別名変 数
503に関係し、グラフィクスオブジェクトを実行するために、ファイルに対
する各々のひとつはシステムを操作することにより使用される。同様に、クラス
バイナリー ラージ オブジェクト504のオブジェクトは、操作システムによ
り実行されるバイナリーラージオブジェクトを含み、ゼロまたはより多くのグラ
フィクスオブジェクトに関係する。
クラスグラフィクス501もまた、多くからひとつの関係103により、クラ
スユーザー402に関係し、その関係では、グラフィクスオブジェクトはユーザ
ーにより、“チェックアウト”または“チェックイン”(ライブラリの本のよう
に)されてもよい。このことは、グラフィクスオブジェクトが再び他のユーザー
201に利用可能となったとき、ユーザー201がグラフィクスオブジェクトを
チェックアウトし、自動的にそれをアップデートし、そしてグラフィクス オブ
ジェクト バックをチェックすることを可能にする。
クラスローカル505のオブジェクトは、国名のごとき論理位置を含む。ゼロ
またはより多くの位置は、クラス測定ユニット310のオブジェクトにより示さ
れた通貨や、クラスタイムゾーン506のオブジェクトに関係してもよい。クラ
スローカル505のオブジェクトは、言語識別子、通貨シンボルおよびその位置
、番号のフォーマット(例えばデジットセパレータ、データフォーマット、時間
フォーマット、基数のポイント)、“誤り”、“真実”の語を含む。ゼロまたは
より多くのユーゾーは、ひとつのローカルと関係してもよい。
クラス情報テキスト507のオブジェクトは、いずれかのオブジェクトについ
てのテキスト情報を含む。クラス情報テキスト507は、多くからひとつの関係
103により、クラスルート401に関係し、そこでテキスト情報はいずれかの
オブジェクトに所属されてもよい。クラス情報テキストタイプ508は、テキス
ト情報のための描写タイプ(例えば“eメイル”または“メモ”)を含む。クラス
情報テキストタイプ508は、多くからひとつの関係103により、クラス情報 テキスト
507と関係する。
システム200は又、各オブジェクトに所属してもよい“ノート”を提供する
。オブジェクトと関連しなくてはならないテキスト情報は、短く、例えば数ライ
ンのテキストであり、ユニットを有するユーザー201は単に、短いコメントま
たはリマインダーのごとき“ノート”をオブジェクトに加算する。この特徴は、
ユーザー201が、オブジェクトに関係したノートのためのサーチ可能な属性ユ
ーザー201を創造するのに役立つ。
クラス活動509のオブジェクトは、“署名”のごときユーザーのための、活
動クラスを含む。クラスユーザー402は、クロスリンククラスユーザーリンク への活動
510を使用するクラス活動509を有する多くから多くの関係を持つ
。同様に、クラスユーザーグループ403は、クロスリンククラスユーザーグル ープへの活動
511を使用するクラス活動509を有する多くから多くの関係を
持つ。
好ましい実施例では、システム200は、いくつかまたはすべてのアタッチメ
ントが、同じ操作システムの制御下では他のアプリケーションによりアクセスで
きない(システム200内から起こされた他のアプリケーションを除く)、センタ
ー位置に格納される。
データモデルの構築およびエディット
図6は、ユーザーのオブジェクトデータベースのデータモデルを構築しエディ
ットするための工程のフローダイヤグラムを示す。フローポイント600では、
ユーザー201は、ユーザーデータベースモデル230を構築またはエディット
することを希望する。
好ましい実施例では、システム200は、ユーザー201により呼び出される
べき“処理開始”コマンドおよび“処理終了”コマンドを使用して自動処理のた
めの容易性を提供する。ユーザー201が“処理開始”コマンドを呼び出したと
き、ユーザーデータベースモデル230へのすべての変化またはリレーショナル
データベース250へのすべての変化が集められ、自動操作に委ねられる。この
特徴は、ユーザー201がユーザーデータベースモデル230およびリレーショ
ナルデータベース250を部分変化に対してプロテクトするのに役立つ。
このフローダイヤグラムは、システム200がユーザーのコマンドを試験する
際、ユーザー201が命令を述べる実際の実行の際の命令に関して述べられてお
り、このフローダイヤグラムに指示された命令に必ずしも従う必要はない。
ステップ610では、システムは、ユーザー201がクラス101を構築、エ
ディットまたは削除するかの選択をしたか決定する。もし、そうならば、システ
ム200は、ステップ612に進む。そうでないならば、システム200はステ
ップ620に進む。
ステップ612では、ユーザー201は、クラス101の構築、エディットま
たは削除を選択する。もし、ユーザー201が新しいクラス101の構築を選択
したとき、システム200は、ステップ614に進む。もしユーザー201が存
在するクラス101のエディットを選択したならば、システム200はステップ
616に進む。もしユーザー201が存在するクラス101の削除を選択したと
きは、システム200はステップ618に進む。
ステップ614では、システム300は、メタモデル220内にクラスクラス
301の新しいオブジェクトを創造する。システム200は、ユーザー201に
対して、今創造されたクラスクラス301の新しいオブジェクトの属性102に
対して値を選択する能力を与える。“クラスDB名”のごときこれらのいくつか
の属性のために、システム200は、デフォールト値を発生させるが他のものに
対しては、ユーザー201が供給した値を要求する。システム200はその後ス
テップ610に戻る。
ステップ616では、ユーザー201は、メタモデル220内のクラスクラス
301のオブジェクトを選択し、そしてそのオブジェクトをエディットするため
に進む。システム200は、エディット用コマンドを受け取り、そしてオブジェ
クトの属性102に対する値を変更する。
ステップ618では、ユーザー201は、メタモデル220内のクラスクラス
301のオブジェクトを選択する。システム200は、メタモデル220からオ
ブジェクトを移動し、そして、いかなる削除ルールも実行する。クラスクラス3
01の前記オブジェクトに関係するクラスクラス属性303のオブジェクトを削
除するようにして。システムはその後、ステップ610に戻る。
ステップ620では、システムは、ユーザー201がクラス属性102を構築
、エディットまたは削除するかの選択したかを決定する。もし、そうならば、シ
ステム200は、ステップ622に進む。そうでないならば、システム200は
ステップ630に進む。
ステップ622では、ユーザー201は、クラス属性102の構築、エディッ
トまたは削除を選択する。もしユーザー201がクラス属性102の構築を選択
したならば、システム200はステップ624に進む。もしユーザー201がク
ラス属性102のエディットを選択したならば、システム200はステップ62
6に進む。もしユーザー201がクラス属性102の削除を選択したならば、シ
ステム200はステップ628に進む。(当然、クラス属性102はクラス10
1に関係しているので、これらのどの動作もクラス101をエディットする影響
を持つ)
ステップ624では、システム200は、メタモデル220内のクラスクラス 属性
303の新しいオブジェクトを創造する。システム200は、ユーザー20
1に対して、今創造されたクラスクラス属性303の新しいオブジェクトの属性
102に対して値を選択する能力を与える。“クラスDB名”のごときこれらの
いくつかの属性のために、システム200は、デフォールト値を発生させるが他
のもの対しては、ユーザー201が供給した値を要求する。システム200はそ
の後ステップ610に戻る。
ステップ626では、ユーザー201は、メタモデル220内のクラスクラス 属性
303のオブジェクトを選択し、そしてそのオブジェクトをエディットする
ために進む。システム200は、エディット用コマンドを受け取り、そしてオブ
ジェクトの属性102に対する値を変更する。システムはその後ステップ610
に戻る。
ステップ628では、ユーザー201は、メタモデル220内のクラスクラス 属性
303のオブジェクトを選択し、そしてそのオブジェクトを削除するために
進む。システム200は、メタモデル220からのオブジェクトを移動し、そし
ていかなる削除ルールをも実行する。システムはその後ステップ610に戻る。
ステップ630では、システムは、ユーザー201がクラス101間の関係1
03を構築、エディットまたは削除するかの選択したか決定する。もし、そうな
らば、システム200は、ステップ632に進む。そうでないならば、システム
200はステップ640に進む。
ステップ632では、ユーザー201は、クラス101間の関係103の構築
、エディットまたは削除を選択する。もしユーザー201がクラス101間の新
しい関係103の構築を選択したならば、システム200はステップ634に進
む。もしユーザー201がクラス101間の存在する関係103のエディットを
選択したならば、システム200はステップ636に進む。もしユーザー201
がクラス101間の存在する関係103の削除を選択したならば、システム20
0はステップ638に進む。(当然、クラス101間の関係103は、ポインタ
ークラス属性を含み、クラス101に関係しているので、これらのどの動作もク
ラス101をエディットする影響を持つ)
ステップ634では、システム200は、メタモデル220内のクラスポイン タークラス属性
304の新しいオブジェクトを創造する。システム200は、ユ
ーザー201に対して、今創造されたクラスポインタークラス属性303の新し
いオブジェクトの属性102に対して値を選択する能力を与える。“クラスポイ
ンター属性DB名”のごときこれらのいくつかの属性のために、システム200
は、デフォールト値を発生させるが他のもの対しては、ユーザー201が供給し
た値を要求する。システム200はその後ステップ610に戻る。
ステップ636では、ユーザー201は、メタモデル220内のクラスポイン タークラス属性
304のオブジェクトを選択し、そしてそのオブジェクトをエデ
ィットするために進む。システム200は、エディット用コマンドを受け取り、
そしてオブジェクトの属性102に対する値を変更する。システムはその後ステ
ッ
プ610に戻る。
ステップ638では、ユーザー201は、メタモデル220内のクラスポイン タークラス属性
304のオブジェクトを選択し、そしてそのオブジェクトを削除
するために進む。システム200は、メタモデル220からのオブジェクトを移
動し、そしていかなる削除ルールをも実行する。システムはその後ステップ61
0に戻る。
ステップ640では、ユーザー201がメタモデル220内のいずれもの別の
オブジェクトを構築、エディットまたは削除することを望まないとき、この工程
は完了する。
工程のコンパイルおよび翻訳
図7は適したオブジェクトおよびリレーショナルデータベース構造間のコンパ
イルおよび翻訳のための工程のフローダイヤグラムを示す。
フローポイント700では、ユーザー201がユーザーのオブジェクトデータ
ベース100を対応するリレーショナルデータベース203へ翻訳することを希
望する。
ステップ710では、完成したエディット用のユーザーモデル230を持つユ
ーザー201は、翻訳工程をトリガーする。
ステップ720では、システム200は、ユーザーのオブジェクトデータベー
ス100内のクラス101を選択する。
ステップ730では、システム200は、選択されたクラス101に対応する
リレーショナルデータベース230内にテーブルを創造する。
ステップ740では、システム200は、テーブル内に1組みの特定のコラム
を創造する。これらの特定のコラムは、各オブジェクトに対するユニークな識別
子(“UID”)のためのひとつのコラム、各オブジェクトに対する“クラス識別
子”に対するひとつのコラム、および各オブジェクトに対する“オブジェクトタ
イプ”に対するひとつのコラムを含む。
ひとつのオブジェクトが対応するリレーショナルデータベース203に取り込
まれたとき、システム200は、オブジェクトのクラス101に対応するテーブ
ル内と、オブジェクトのクラス101に対するベースクラスに対応する各テーブ
ル内とに列を創造する。これにより、各オブジェクトは、オブジェクトのクラス
101に対するベースクラス101である各クラス101に対応する各テーブル
内のひとつの列に対応する。
各テーブル内の第1のコラムは、各オブジェクトに対するUID用のものであ
る。これにより、オブジェクトに対して列が創造された各テーブル内では、第1
のコラムがオブジェクトに対するUIDに対応する。多くのリレーショナルデー
タベースエンジンは、第1コラムに対してインデックスされたサーチを行うよう
になされているので、このコラムは、好ましくは第1のほとんど左のコラムに選
択される。
各テーブル内の別のコラムは、各オブジェクトに対する“クラス識別子”に対
するものである。ひとつのオブジェクトは、クラス101に対するテーブル内と
、クラス101に対するベースクラス101に対する各テーブル内との列に対応
するので、各オブジェクトがどのクラス101であるかの識別子を、前記テーブ
ルに対する列が格納される各テーブル内に記録するのが効率的である。
各テーブル内の別のコラムは、各オブジェクトに対する“オブジェクトタイプ
”に対するテーブルである。サーチ可能な属性102、クラスクラス301内の
“クラスタイプ”のように、“オブジェクトタイプ”のコラムは、この特定のオ
ブジェクト(全体のクラスに対して提案されたように)がメタモデルの一部か、あ
るいはユーザーにより創造されたオブジェクトであるかを指示する。
ステップ750では、システム200は、クラス101に対するサーチ可能な
属性102に対する値のためのテーブル内にコラムを創造する。もしサーチ可能
な属性102が組み込みのデータタイプを持つならば、コラムは組み込みのデー
タタイプに対する実際の値を保持する。そうでなく、もし、サーチ可能な属性1
02がユーザー定義のデータタイプを持つならば、コラムは、前記ユーザー定義
のデータタイプに対する値に対応するオブジェクトのためのUIDを保持する。
ステップ760では、システム200は、クラス101と関係するクラス10
1との間の各関係に対するテーブル内にコラムを創造する。この関係103に対
するコラム内では、システム200は、このテーブルに対するクラス101内の
オブジェクトに関係するクラス101内のオブジェクトのUIDを置く。もし、
その関係103が多くからひとつであれば、そのシステムは、同一のオブジェク
トに対するテーブル内に多数の記録を形成し、その各記録は、関係クラス101
内の子となったオブジェクトのUIDを持つ。
フローポイント770では、コンパイルおよび翻訳工程が完了する。
ターゲットリレーショナルデータベースのサンプル
図8は、図1のユーザーのオブジェクトデータベースの例に対応するユーザー
リレーショナルデータベースのデータモデルダイヤグラムを示す。
図7に関して述べたように、ユーザーのオブジェクトデータモデルダイヤグラ
ム100に対応するユーザーリレーショナルデータベースは、1組みの関係テー
ブル900を含み、各々はクラス101に対応している。従って図1の例では、
システム200は、テーブル800コンポーネント、テーブルアナログコンポー ネント
、テーブル800メモリ、テーブル800ダイナミックメモリ、テーブル
800スタティックメモリ、テーブル800メーカー、テーブル800国内メー カー
、およびテーブル800外国メーカーを創造する。
このような各テーブル800は、1組みのコラム810と1組みの列820を
含む。
システム200は、各テーブル800に対して、オブジェクトのUIDに対す
るコラム810“オブジェクトID”を形成し、そして派生クラス101に対す
る各テーブル800に加算されたオブジェクトも又、対応するUIDを、ベース
クラス101に対するテーブル800に加算されることを確実にする。例えば、
テーブル800スタティックメモリに加算される各列820は、テーブル800メモリ
に加算される列820に対応し、テーブル800コンポーネントに加算さ
れる列820に対応し、そして複数のUIDは、こられの3つの列820に対す
るコラム810“オブジェクトID”内において同一である。
システム200は、又、テーブル800コンポーネントに対して、コンポーネ
ントの名前に対するコラム810“名前”を、テーブル800メモリに対して、
コンポーネントのサイズに対するコラム810“サイズ”を、テーブル800メ ーカー
に対して、メーカー名に対するコラム810“名前”およびその都市に対
するコラム810“年”を、そしてテーブル800外国メーカーに対しては、外
国メーカーの国に対するコラム810“国”を創造する。
システム200は、又、テーブル800コンポーネントに対して、テーブル8
00メーカー内の列820のUIDに等しい、メーカーのUIDに対するコラム
810“メーカー”を創造し、これにより、クラス101コンポーネントおよび
クラス101メーカーのオブジェクトとの間の関係103を確立する。
縦方向のサーチおよびサーチ翻訳
図9は、オブジェクトデータベースの縦方向のサーチおよび適応されたオブジ
ェクトとリレーショナルデータベースとの間のサーチ翻訳に対する工程のフロー
ダイヤグラムを示す。
フローポイント900では、ユーザー201は、ユーザーのオブジェクトデー
タベース100の縦のサーチを実行することを希望する。
縦方向のサーチの記述
ステップS910では、ユーザー201は、縦方向のサーチ要求を記述する、
つまり、クラスが縦につながれ、そして各クラス内で属性がサーチされる。ユー
ザーインタフェイス210は、ユーザー201から情報を受信する。このステッ
プ910を実行するために、システム200は、ステップ911から916を含
めて実行する。
ステップ911では、ユーザーインタフェイス210は、ユーザーデータベー
スモデル230内のクラス101のリストをメタモデル220から得て、そして
、クラス101のリストを選択のためにユーザー201に与える。
図1の例のユーザーのオブジェクトデータベース100を用いた縦方向のサー
チの例では、システム200は、ユーザーデータベースモデル内で利用できるク
ラス101のリストを与える。
ステップ912では、ユーザー201は、クラス101を選択する。ユーザー
インタフェイス210は、ユーザーデータベースモデル230内の関連するクラ
ス101のリスト(つまり、関係103により選択されたクラス101に結合し
たクラス101)をメテモデル220およびそれらの派生クラス101から得る
。ユーザーインタフェイス210は、関連したクラス101のリストと、それら
の派生クラス101を選択のためにユーザー201に与える。
縦のサーチ例では、ユーザーはクラス101スタティックメモリを選択できる
。クラス101スタティックメモリは、その親クラス101メモリの関係103
のすべてと、クラス101メーカーとの関係を持つ全体の親クラス101コンポ ーネント
のすべての関係とを継承する。
ステップ913では、ユーザー201は、関連したクラス101または関連し
たクラス101から派生したクラス101を選択してもよい。ユーザー201が
関連したクラスまたはそれらから派生したクラス101を選択する限り、システ
ム200は、ステップ912を継続する。ユーザー201がいずれか別のクラス
101またはそれらから派生したクラス101を選択するようになったとき、シ
ステムはステップ914を継続する。
この縦方向のサーチ例では、ユーザー201は、クラス101外国メーカーを
選択することができ、それは、関連したクラス101メーカーから派生したクラ
ス101である。
ステップ914では、ユーザー201により選択された各クラス101に対し
て、ユーザーインタフェイス210は、メタモデル220からのユーザーデータ
ベースモデル230内でサーチ可能な属性のリスト(およびそれらの値における
いずれかの制限)を得て、そして、選択のために、サーチ可能な属性のリストを
ユーザー201に与える。
この縦方向のサーチ例では、システム200は、クラス101スタティックメ モリ
に対するサーチ可能な属性102“名前”および“サイズ”を提供し、そし
て、クラス外国メーカーに対するサーチ可能な属性“102”および“国”を与
える。
ステップ915では、ユーザー201は、選択されたクラス101の少なくと
もひとつのサーチ可能な属性を選択し、それらの値に制限を記載し、そして選択
されたクラス101の選択可能な属性102の選択を継続してもよい。ユーザー
201がサーチ可能な属性102の選択を継続する限り、システム200はステ
ップ914を継続する。ユーザー201がいずれか別のサーチ可能な属性102
を選択するようになったときは、システムはステップ916を継続する。
この縦方向のサーチ例では、ユーザー201は、提供されるべきクラス101スタティックメモリ
に対するサーチ可能な属性102“名前”を選択でき、そし
て、サーチされるべきクラス101外国メーカーに対するサーチ可能な属性“国
”を選択し、そして、後者はテキスト記号列“フランス”と等しくなければなら
ない。
好ましい実施例では、ステップ914および915は、ステップ912および
ステップ913と並行に進んでもよい。ユーザー201がクラス101を選択し
たとき、システム200は、選択のために、前記クラス101内のサーチ可能な
属性を提供し、そして、又、選択のために関連したクラス101(および派生し
たクラス101)も提供する。敏速に応答する代わりに、ユーザー201は、そ
の後、関連したクラス101(または派生クラス101)かサーチ可能な属性10
2を選択するために、指示デバイスを用い、あるいは、縦のサーチ(ステップ9
16における)をトリガーするためのコマンドを選択する。
ステップ916では、ユーザー201は、縦方向のサーチが十分に記載され、
サーチをトリガーするように指示する。システム200は、ユーザー201が縦
方向のサーチの記述を記載し、過去に記録された縦方向のサーチの記載を呼び出
し、新しい縦方向のサーチの記載をエディットし、そして、現在のリレーショナ
ルデータベース250に対する過去に記録された縦方向のサーチを適用するでき
るように技術を与える。
この縦方向のサーチ例では、ユーザー201は、フランスのメーカーにより作
成されたすべてのスタティックメモリの名前に対する縦方向のサーチを要求する
。
質問モデルの構築
ステップ920では、システム200は、縦方向のサーチ要求を理解し、そして
質問モデル260を構築する。このステップ920を実行するために、システム
200は、ステップ921から922を含めて実行する。
ステップ921では、システム200は、サーチされるべきユーザー201に
より選択された初期のクラス101のための形態オブジェクト991を構築し、
そして、サーチされるべきサーチ可能な属性102の第1のリストと、質問結果
251内に表示されるべきサーチ可能な第2のリストと、ユーザー201により
選択された初期のクラス101でスタートするクラス101の第3のリストを含
み、ユーザー201により選択された各々の関係するクラス101を継続する。
ステップ922では、システム200は、サーチされるべきユーザー201に
より選択された各々の付随的なクラス101のための形態オブジェクト991を
構築し、そしてこのような付随的形態オブジェクト991を、サーチされるべき
ユーザー201により選択された初期のクラス101に対する形態オブジェクト
991にリンクする。
SQL質問を構築する
ステップ930でシステム200は、質問モデル260に応答してSQL質問
261を構築する。このステップ930を実行するために、システムはステップ
931ないし936を含めて実行する。
ステップ931でシステム200は、形態オブジェクト991を、質問モデル
オブジェクト992のリスト内へ再リンクする。各質問モデルオブジェクト99
2は、縦方向のサーチの単一のサーチフィールドまたは単一の結果フィールドを
記述する。
ステップ932でシステム200は、質問モデル260に対する別の分析テー
ブルを実行する。
このステップ932を実行するために、システム200は、質問モデルオブジ
ェクト992のリストを試し、そして、質問モデル206のSQLコマンド26
1への翻訳が、外の点で、いずれかのトラブルがそれ自身と結合させたかを決定
する。つまり、同一テーブルのひとつまたはより多くのコラムが質問モデル26
0内に現れたかを決定する。もしそうならば、システム200は、各別名に対す
る別名の記録993を最初に作った後に、前記テーブル例の各々に対するオラク
ル
“別名”に対するユニークな名前を発生し、そして、別名記録993を質問モデ
ルオブジェクト992に装着する。この別名記録993は、別名が記述されなけ
ればならないことを示し、又、発生されるべきSQLコマンド内の別名を使用す
ることに関係するテーブルを示す。
ステップ933でシステム200は、質問モデル260に対する結合した分析
を実行する。
このステップ933を実行するために、システム200は、質問モデルオブジ
ェクト992のリストを試し、そして、質問モデル206のSQLコマンド26
1への翻訳が、外の点で、いずれかの結合状態の写しが記述されたかを決定する
。つまり、もし第1および第2のテーブルが同一の結合条件を用いて2倍になっ
かが判定される。もしそうならば、システム200は、適用されるべき結合状態
のただひとつを選択し、このような各結合状態に対する結合記録994を創造し
、そして、結合記録994を質問モデルオブジェクト992に装着させる。結合
記録994は、単一の結合状態が記述されることと、発生されるべきSQLコマ
ンド内にて結合状態が省略されるべきことを示す。
ステップ934でシステム200は、質問モデル260に対するサーチ状況分
析を実行する。
このステップ934を実行するために、システム200は、テーブル9−1に
示されたサーチ状況の各々に対する質問モデルオブジェクトを試し、各サーチ状
況に対する状況記録を創造し、そして、状況記録995を質問モデルオブジェク
ト992に装着する。
テーブル9−1
・“WHERE”節を用いたSQLコマンド内に示された数値番号とサーチ可
能な属性との比較および、前記数値番号とリレーショナルデータベース250内
のコラムの論理比較。
・“WHERE”節を用いたSQLコマンド内に示されたテキスト記号列とサ
ーチ可能な属性との比較および、前記テキスト記号列とリレーショナルデータベ
ース250内のコラムの論理比較。もし比較されるべきテキスト記号列が“悪い
カード”(例えば一つまたはより多くの独断的なキャラクターのマッチングを示
すための特別なキャラクター)を含むならば、その比較は、オラクル“LIKE
”の一覧表を用いたSQLコマンド内で示される。もし比較されるべきテキスト
記号列が非感知のケースであるならば、その比較は、ケースを上部ケースとする
ためのオラクル声明を使用したSQLコマンド内に示される。他の記号列は、変
換テーブルを用いて適したオラクル声明に変換される。
・メタモデル220内に記録されたように、ソースおよび測定ユニットのター
ゲットに対する適した変換機能を用いたSQLコマンド内に示された、異なった
測定ユニットを用いたサーチ可能な比較。
・サーチ可能な属性または、“AND”、“OR”および“NOT”のごとき
2値論理オペレータを用いたSQLコマンド内で示された比較における他の論理
オペレーションの複数の比較。
・異なった数値またはテキスト記号列の値と同じサーチ可能な属性との多数の
比較を用いたSQLコマンドに示された、数字のグループまたはテキスト記号列
の値または数値の範囲とサーチ可能な属性との比較。
好ましい実施例では、縦方向のサーチが測定ユニットを持つサーチ可能な属性
102と関係するとき、システム200は、サーチ可能な属性102と、比較さ
れる値とに対する測定ユニットを試し、そして、もし、それらが同一でないとき
、異なる測定ユニットを説明するために、SQLコマンド261を調節する。
この調整を行うために、システム200は、サーチ可能な属性102のために
クラスクラス属性303のオブジェクトを試し、そして、クラスクラス属性30
3のオブジェクトに関係(格納測定ユニットとして)した、クラスクラス測定ユニ ット
310のためにメタモデル200をサーチする。システム200は、その後
、質問モデル260を試し、縦方向のサーチのために測定ユニットを決定し、そ
して、測定ユニットと関係したクラス測定ユニット310のオブジェクトに対す
るメタモデル200をサーチする。システム200は、その後、第1の測定ユニ
ットを第2の測定ユニットに変換するクラスユニット変換公式311のオブジェ
クトに対するメタモデル200をサーチし、そして、前記ユニット変換公式への
呼
び出しをSQLコマナド261内へ挿入する。
ステップ935でシステム200は、質問モデル260に対する最高活用した
分析を実行する。
このステップ935を実行するために、システム200は、テーブル9−2に
示された最高に活用できる状態の各々に対する質問モデルを実行し、そこに示さ
れた最高活用の技術に基づくSQLコマンド261を発生させるために質問モデ
ル260を変形する。
テーブル9−2
・列の選択。“列選択性”のための値は、次の公式に基づき、各々のサーチ可
能な属性により、演算される。
列選択性=明確な値K#/0値を持たないオブジェクトの#
列選択性は、%として標準化するために100倍され、サーチ可能な属性をモ
デリングするコラムがインデックスされるべきかを決定するために使用される。
もし、コラムの列選択性が70%より大きいならば、コラムはほとんどの場合に
インデックスされ、もし、コラムの列選択性が30%程度ならば、そのコラムは
決してインデックスされない。
・並び替え/混合の回避。WHERE節内のインデックスされた多数のコラム
を使用することは、並び替え/混合の操作を実行するためにオラクルRDBMS
を生じさせる。並び替え/混合の操作は実質的な時間をとるので、システム20
0は、このような構造を、ただ一つのインデックスされたコラムを使用するWH
ERE節と置き換える。
オラクルRDBMSにより処理されるべきインデックスされたコラムをインデ
ックス無しとするために、サーチされるべき値は、列コラム値、テーブルコラム
から演算された値、テーブルコラム+0(数値に対する)、またはテーブルコラム
(テキスト記号列値)から変化される。
そうではなく、コラムがインデックスされるなら、システムは、前記コラムを
インデックスされたものとして扱うために、オラクルRDBMSを要求するため
のSQLコマンドを書くことを試みる。コラム値に機能または算術演算の操作が
適用されたとき、オラクルRDBMSは、コラムをインデックスされたものとし
て扱わない。従って、システムは、これらの構造を優先的に回避する。例えば、
“WHERE周波数=300”は“WHERE周波数/3=1000”に選択さ
れる。
・アレイのフェッチ。大きい番号の列がテーブルから選択されたとき、より早
い回復のために、システムは、これらの列をアレイ内へフェッチすることを企て
る。
・状態のランキング。システムがより早い回復のために、あるサーチの状態順
を好むとき、サーチ状態の性質を変更して、システムが好む順のサーチ優先を割
り当てるオラクルRDBMSを生じさせるフォーマット内にそれらを位置させて
もよい。
・テーブル名のシーケンス。FROM節内では、“ドライビング”テーブル、
交差テーブルまたは、交差テーブルがないならば、より少ない個数の記録を持つ
テーブル、がFROM節の端部に置かれる。FROM節内の他のテーブルは、同
様に定められる。
・状態断定シーケンス。WHERE節内では、“ドライビング”状態断定、つ
まり、最少の記録でリターンする最も効率のよい状態断定は、WHERE節の最
初に置かれる。他の状態断定は同様に定められる。
・ブースターエンジン。WHERE節では、インデックス無しのサーチ行うた
めに、選択された状態断定がオラクルRDBMSを生じさせるならば、第2の状
態断定は、第1の実行に対してインデックスされたサーチを加え、そしてサーチ
されるべき記録の個数を減じる。
例えば、SQLコマンド“節の上位(パート、パートナンバー)=上位(‘DM
54ALS114AJ’)から…を選択”は、各パート、パートナンバーが上位
のケースに変換されなければならないので、インデックス無しのサーチを実行す
る。(これは単に、パート、パートナンバーでの非感知のサーチのケースである
。
)そのかわり、システムは、SQLコマンド“パートWHERE上位(パート、パ
ートナンバー)=上位(‘DM54ALS114AJ’)および(‘D%54%11
4%のようなパート、パートナンバー)から…を選択”を好み、すべてのアルフ
ァベットキャラクタから最初を除いたものが、サーチテキスト内のオラクルワイ
ルドカードで置き換えられる。LIKE節は、インデックスされたサーチとして
実行され、そしてこれにより、より高速となり、又、非感知の場合の比較に対し
て扱われ、チェックされるべき記録の個数を減じる。
・別名テーブル。SELECT声明のFROM節内に記載された一つ以上のテ
ーブルがあるときはいつでも、システムは、別名のテーブルを使用することと、
それらの別名でコラム名を前に置くことを好み、より早い理解する時間を与える
。
・好ましい構造。あるSQL声明は、それらの代わりのものが機能的に等価で
あっても、選択効率のために好まれる。例えば、一般に、NOT EXISTS
構造よりNOT IN構造が選ばれ、EXISTS構造よりDISTINCT構
造にが選ばれ、WHERE構造よりHAVING構造が好まれ、そして、テーブ
ルの結合よりサブの質問が好まれる。
・NOT及びORのオペレータ。オラクルRDBMSがこれらのケースでイン
デックス無しのテーブルスキャンを実行するので、このシステムは、NOT E
QUALSのごとき、無効にされたオペレータを使用するWHERE節を好んで
避ける。
SQLコマンド261は、質問モデル260と質問モデルオブジェクト992
2のリストとに応答して流動的に発生され、これらのものは、ユーザー201に
より記述された縦方向のサーチに応答して自身で発生される。各縦方向のサーチ
は、一時的に全く異なり、そのため、システム200は、最初に縦方向のサーチ
を可行うために、SQLコマンド261を発生させ、そして次に効率的にサーチ
を実行できるように、最高に活用できるこれらのSQLコマンド261を与える
。
当業者は、この明細書を精読した後は、システム200により発生されたSQ
Lコマンド261に対する他のおよび別の適したものが可能であることが理解さ
れよう。そのような他のおよび別の最適化のものは、本発明の範囲および趣旨の
中にあり、そのような他のおよび別の最適化のものは別の発明や更なる努力を必
要としない。
ステップ936でシステム200は、質問モデル260、質問モデルオブジェ
クト992、別名の記録993、下号記録994および状態記録995を試し、
そして、応答して、テーブル9−3に示したものから用いたSQLコマンド26
1を発生させる。
テーブル9−3
“選択〈結果〉 〈テーブルおよび別名〉から
どこに〈テーブルの結合〉
そして〈状態〉”
テーブル9−3内のフォームは、質問結果251のフォームを記載するための
〈結果〉セクション、サーチされるべきリレーショナルデータベース250内に
テーブルを記載するための〈テーブルおよび別名〉セクション、および回復され
るべきこれらの記録により合致されるべき付随的な状態を記載するための〈状態
〉を含む。〈状態〉セクションの後に、SQL“グループ バイ”、“オーダー
バイ”または他の声明のためのセクションのごとき、付随的なSQL声明があ
ってもよい。
ユーザー201に示されるべき質問結果251のフォームに関する情報は、S
QLコマンド261の〈結果〉セクション内に挿入される。好ましい実施例では
、質問結果251のフォームに関する情報は、リレーショナルデータベース25
0内のテーブルから選択(SQL“選択”声明を用いて)されるべきシーケンスの
コラムを含む。選択されるべきシーケンスのコラムは、縦方向のサーチを記述し
たとき、ユーザー201により要求されたこれらのコラムを含む。
この縦方向のサーチ例では、システム200は、クラス101スタティックメ モリ
を記述する結果セクションおよびサーチ可能な属性102“名前”を有する
SQLコマンド261を発生させる。このSQLコマンド261は、この結果、
“選択スタティックメモリ名”のごとき声明から始める。
データを選択するためのリレーショナルデータベース内のテーブル(および別
名のテーブル)に関する情報は、SQLコマンド261の〈テーブルおよび別名
〉セクション内に挿入される。好ましい実施例では、テーブルおよび別名に関す
る情報は、リレーショナルデータベース250からサーチされるべき単一の結合
テーブルへ結合されるべき、シーケンスのテーブルおよびテーブルの別名を含む
。結合されるべきテーブルおよび別名の選択および順は、システム200により
創造された別名記録992および結合記録993から回復される。
この縦方向のサーチ例では、システム200は、クラススタティックメモリお
よびサーチ可能な属性102“名前”を記載する結果セクションを有するSQL
コマンド261を発生する。そのSQLコマンド261は、この結果、“FRO
Mスタティックメモリ、メモリ、コンポーネント、外国メーカー、メーカー”の
ごとき声明で継続する。
合致すべき状態に関する情報は、SQLコマンド261の〈状態〉セクション
に挿入される。好ましい実施例では、合致すべき状態に関する情報は、リレーシ
ョナルデータベース250から選択された記録により合致しなければならないシ
ーケンスの論理オペレータ(SQL“WHERE”声明を用い、そして、多数の
状態が存在するSQL“AND”声明を用いて)を含む。合致すべき状態の選択
および順は、システム200により創造された状態記録994から回復される。
この縦方向のサーチの例では、システム200は、ユーザー201により要求
された論理状態を記述する状態セクションを有するSQLコマンド261を、記
述されたクラス101のサーチ可能な属性102を参照することにより、発生す
る。SQLコマンド261は、この結果、“WHERE(製造国=フランス)”の
ごとき声明でもって継続する。
ユーザーにより課された論理状態に加えて、〈状態〉セクションは、テーブル
800の結合のためにいずれかの論理要求を課さなくてはならない。二つのタイ
プの結合があり、これらは、クラス101間の継承関係により要求され、又、ク
ラス101間のデータモデル関係103により要求される。
図8に関して気付くように、継承関係は、各テーブル800内のコラム810
“オブジェクトID”を与えることにより、モデリングされ、派生クラス101
のオブジェクトがリレーショナルデータベース250内に創造されたとき、列8
00は、ベースクラス101および派生クラス101の双方に、双方のテーブル
800に対する前記オブジェクトに対する同じオブジェクトUIDが与えられる
。この結果、継承関係は、二つのオブジェクトUIDの同一性に関連するJOI
N声明と、メタモデル220内に記録された親/子の関係とにより、SQLコマ
ンド261内でモデリングされる。
この縦方向のサーチ例では、システム200は、クラス101スタティックメ モリ
と、その親クラス101メモリと、その全体の親クラス101コンポーネン ト
との間の継承関係を記述する状態セクションを有する、SQLコマンド261
を発生させる。SQLコマンド261は、この結果、“AND(スタティックメ
モリオブジェクトID=メモリオブジェクトID)AND(メモリオブジェクトI
D=コンポーネントオブジェクトID)”のごとき声明でもって継続する。同様
に、SQLコマンド261は、“AND(メーカーのオブジェクトID=外国メ
ーカーのオブジェクトID)”のごとき声明でもって継続する。
実際には、ユーザー201がクラス101メモリのいずれかのサーチ可能な属
性102との関係を作っていないので、テーブル800メモリの使用を明確に要
求する必要はなく、又、前記テーブル800内のオブジェクトをマッチングさせ
ることを要求する必要もない。システム200は、この結果、このテーブルのた
めに継承JOINを省く。
図8に関して気付かれるように、ソースとターゲットクラス101間のデータ
モデル関係103は、ターゲットテーブル800内のオブジェクトを指すソース
テーブル800内にコラム810を設けることによりモデリングされる、つまり
、ターゲットテーブル800内の列820のオブジェクトUIDを持つ。この結
果、データモデル関係103も又、オブジェクトUIDを持つポインターの同一
性に関係するJOIN声明と、メタモデル220内に記録されたデータモデル関
係と
により、SQLコマンド261内でモデリングされる。
この縦方向のサーチ例では、システム200は、クラス101コンポーネント
およびクラス101メーカー間のデータモデル関係103を記載する状態セクシ
ョンを有するAQLコマンド261を発生する。このSQLコマンド261は、
この結果、“AND(コンポーネントメーカーID=メーカーオブジェクトID)
”のごとき声明でもって継続する。
この結果、この縦方向のサーチ例では、SQLコマンド261は、テーブル9
−4に示したごとくになる。
テーブル9−4
SM名前を選択
コンポーネントCから
スタティックメモリSM
メーカーM
外国メーカーFM
どこ(FM国=フランス)
および(M、オブジェクトID=FM、オブジェクトID)
および(C、メーカーID=M、オブジェクトID)
および(SM、オブジェクトID=C、オブジェクトID)
これらのコマンド261は、縦方向のサーチがユーザーデータベースモデル2
30に適用され、そしてユーザーのデータベースモデル230のユーザーリレー
ショナルデータベース231への翻訳に応答して、システム200により発生さ
れることに気付く。このシステムは、200は、流動的な縦方向のサーチの翻訳
が与えられ、一方では、縦方向のサーチにより使用されたモデルに適したオブジ
ェクトとユーザーデータベースモデル230との間で、又、他方では、ユーザー
のリレーショナルデータベース231により使用された関係モデルと、SQLコ
マンド261との間て本行くが継目なく行われる。
ステップ940でシステム200は、SQL質問をリレーショナルデータベー
スエンジン220に翻訳する。
ステップ950でリレーショナルデータベースエンジン220は、SQL質問
261を対応するリレーショナルデータベース203に適用し、結果テーブル2
62を創造し、そして、結果テーブル262をユーザーインタフェイス210に
翻訳する。
ステップ960でユーザーインタフェイス210は、結果テーブル262の情
報をユーザー201に与える。
結果テーブル262は、関係テーブルのように、好ましくはユーザー201に
与えられ、縦方向のサーチにより見付かったオブジェクトと表示のために選択さ
れたサーチ可能な属性102を示す。
好ましい実施例では、ユーザーインタフェイス210は又、縦方向のサーチに
より見付かったオブジェクトおよび、例えばスプレッドシートのフォーマットで
並べて比較できるようなフォームにしてそれらのサーチ可能な属性102をユー
ザー201に与える。
比較フォーマットでは、ユーザーは、サーチ可能なオブジェクトの属性102
を眺め、個々のオブジェクトまたは多数のオブジェクトに対するサーチ可能な属
性をエディットし、そして、選択されたオブジェクトと異なるこれらのサーチ可
能な属性102を表示するがごとく、オブジェクト間で比較を行う。
フローの970ポイントで縦方向のサーチが完了する。
別の実施例。
ここで好ましい実施例が開示されたが、本発明の概念、趣旨および精神を留め
た多くの変形が可能であり、これらの変形は、この明細書を精読すれば当業者に
は容易である。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FI,FR,GB,GR,IE,IT,L
U,MC,NL,PT,SE),CA,FI,JP,K
R
(72)発明者 ビランガー,ケン
アメリカ合衆国03051ニュー・ハンプシャ
ー州ハドソン、シェイファー・サークル24
番
(72)発明者 プラサド,ナゲンドラ
インド、バンガロール、パドマナバナゲ
ル、サーティーンス・メイン472番
(72)発明者 マクギニス,ブライアン
アメリカ合衆国94526カリフォルニア州ダ
ンビル、クラリタ・プレイス11131番
(72)発明者 マクウィリアムズ,フロイド
アメリカ合衆国94031カリフォルニア州パ
ロ・アルト、ホーソーン・アベニュー・ナ
ンバー248、275番
(72)発明者 ツァン,ヨン
アメリカ合衆国94086カリフォルニア州サ
ニーベイル、エスカロン・アベニュー・ナ
ンバー901、1055番
(72)発明者 コウシク,ラビ
アメリカ合衆国94040カリフォルニア州マ
ウンテン・ビュー、エスクエラ・アベニュ
ー316番 アパートメント・ナンバー91
【要約の続き】
らのクラスの各々は1組みのサーチ可能な属性を含み、
これらの関係の各々は、(ベースクラスと派生クラスと
の間の)継承関係か、(一つから一つ、一つから多くまた
は多くから多くの関係)データモデル関係を含んでもよ
い。ユーザーのオブジェクトデータベースのデータモデ
ルは、メタモデル内の実際のオブジェクトによりモデリ
ングされ、そして、ユーザーのオブジェクトデータベー
スのエディットまたは扱いは、メタモデル内のオブジェ
クトを創造し、変形し、あるいは削除することによりモ
デリングされる。このメタモデルは又、それがユーザー
のオブジェクトデータベースをモデリングしたように自
身をモデリングし、又、ユーザーのオブジェクトデータ
ベースと同じ方法で扱かわれる。
Claims (1)
- 【特許請求の範囲】 (1)ユーザーのオブジェクトデータベースの記述を受け取るための手段であっ て、前記ユーザーのオブジェクトデータベースは1組みのクラスと、対の前記ク ラス間の1組みの関係を持っている、手段と、 前記記述に応答して前記ユーザーのオブジェクトデータベースのモデルを創造 するための手段と、 前記モデルに応答してリレーショナルデータベースを創造するための手段であ って、前記リレーショナルデータベースは1組みのテーブル、前記テーブルのた めのキーおよび、前記クラス、オブジェクトおよび前記ユーザーのオブジェクト データベースの関係を実行する組みのテーブル間の関係を持っている、手段と、 前記ユーザーのオブジェクトデータベースに対する1組みのデータベースを受 け取るための手段と、 前記ユーザーのオブジェクトデータベースに対する前記組みのデータオブジェ クトを、前記リレーショナルデータベースに対する1組みの記録に翻訳し、そし て、前記記録の組みを前記リレーショナルデータベースに挿入するための手段と 、 ユーザーのオブジェクトデータベースの前記記述にアップデートされたものを 受け取るための手段と、 応答アップデートされたものに応答して前記モデルをアップデートするための 手段と、 前記モデルをアップデートするための前記手段に応答して前記リレーショナル データベースをアップデートするための手段と、および 前記リレーショナルデータベースをアップデートするための前記手段に応答し て前記リレーショナルデータベースに対する前記組の記録をアップデートするた めの手段と、 を含むシステム。 (2)1組みのリレーショナルデータベースコマンドを受け取るための手段を含 むリレーショナルデータベースサーバーを含み、 翻訳し、挿入するための前記手段は1組みのリレーショナルデータベースコマ ンドを発生させるための手段を含む請求の範囲第1項記載のシステム。 (3)挿入するための前記手段は、前記テーブルに対する記録を発生させるため の手段と、 前記記録に対する前記キーのための値を発生させるための手段と、 組みのテーブル間の前記関係に対応する前記記録のための前記キーに対する前 記値を生じさせる手段とを含む請求の範囲第1項記載のシステム。 (4)挿入するための前記手段は、前記組みの記録を前記リレーショナルデータ ベースに挿入している間、前記テーブル、前記テーブルに対するキーおよび組み のテーブル間の前記関係を維持するための手段を含む請求の範囲第1項に記載の システム。 (5)ユーザーのオブジェクトデータベースの記述を受け取るための手段であっ て、前記ユーザーのオブジェクトデータベースは1組みのクラスと、対の前記ク ラス間の1組みの関係を持っている、手段と、 前記記述に応答して前記ユーザーのオブジェクトデータベースのモデルを創造 するための手段であって、前記モデルは、一つのオブジェクトデータベースを含 み、このオブジェクトデータベースは、 第1のクラスのオブジェクト、 前記ユーザーのオブジェクトデータベース内の前記各々の一つのクラスに対 応する前記第1のクラスのオブジェクト、 第2のクラスのオブジェクト、そして、 前記ユーザーのオブジェクトデータベース内の前記各々の一つの関係に対応 する前記第2のクラスのオブジェクト、を含む手段と、そして、 前記モデルに応答してリレーショナルデータベースを創造するための手段であ って、前記リレーショナルデータベースは1組みのテーブル、前記テーブルのた めのキーおよび、前記クラス、オブジェクトおよび前記ユーザーのオブジェクト データベースの関係を実行する組みのテーブル間の関係を持っている、手段と、 を含むシステム。 (6)1組みのリレーショナルデータベースコマンドを受け取るための手段を含 むリレーショナルデータベースサーバーを含み、 翻訳し、挿入するための前記手段は1組みのリレーショナルデータベースコマ ンドを発生させるための手段を含む請求の範囲第5項記載のシステム。 (7)前記サーバーは、前記コマンドの第2のソースからの1組みのリレーショ ナルデータベースコマンドを受け取るための手段を含む請求の範囲第5項記載の システム。 (8)ユーザーのオブジェクトデータベースの記述を受け取るための手段であっ て、前記ユーザーのオブジェクトデータベースは1組みのクラスと、対の前記ク ラス間の1組みの関係とを持ち、前記記述へアップデートされたものを受け取る ための手段と、 前記記述に応答して前記ユーザーのオブジェクトデータベースのモデルを創造 し、かつ、前記アップデートされたものに応答して前記モデルをアップデートす るための手段と、 前記モデル、1組みのテーブルを持つ前記リレーショナルデータベース、前記 テーブルのためのキー、および、前記クラスを実行する前記テーブル間の関係、 オブジェクトおよびユーザーのデータベースオブジェクトの関係とに応答するリ レーショナルデータベースを創造するためと、前記モデルをアップデートするた めの前記手段に応答して前記リレーショナルデータベースをアップデートするた めの手段とを備えるシステム。 (9)トリガー用信号を受け取るための手段を含み、前記リレーショナルデータ ベースをアップデートするための前記手段は、前記トリガー用信号に応答して機 能する請求の範囲第8項記載のシステム。 (10)ユーザーのオブジェクトデータベースの記述を受け取るための手段であ って、前記ユーザーのオブジェクトデータベースは1組みのクラスと、対の前記 クラス間の1組みの関係を持っている、手段と、 前記記述に応答して前記ユーザーのオブジェクトデータベースのモデルを創造 するための手段と、 前記モデルに応答してリレーショナルデータベースを創造するための手段であ っ て、前記リレーショナルデータベースは1組みのテーブル、前記テーブルのため のキーおよび、前記クラス、オブジェクトおよび前記ユーザーのオブジェクトデ ータベースの関係を実行する組みのテーブル間の関係を持っている、手段と、 前記ユーザーのオブジェクトデータベースに対する質問の記述を受け取るため の手段と、 前記質問を、前記リレーショナルデータベースへのアプリケーションに対して 適したリレーショナルデータベースの質問に翻訳するための手段と、 を備えるシステム。 (11)前記リレーショナルデータベースヘ前記リレーショナルデータベースの 質問を与えるための手段と、与えるための前記手段の出力を示すための手段とを 含む請求の範囲第10項記載のシステム。 (12)データベースをサーチするための方法であり、前記データベースは多数 のクラスと、前記クラスの一つに関係する少なくとも一つのサーチ可能な属性と 一対の前記クラス間の少なくとも一つのデータモデル関係とを持ち、 質問モデルを記述し、前記質問モデルは、第1のクラスと、前記第1のクラス に関係した少なくとも一つのサーチ可能な属性と、第1のデータモデルの関係に より、前記第1のクラスに関係する第2のクラスと、前記第2のクラスに対する 少なくとも一つのサーチ可能な属性とを持ち、 前記質問モデルを1組みのリレーショナルデータベースコマンド翻訳し、 前記リレーショナルデータベースコマンドをリレーショナルデータベースへ適 用し、そしてそれに応答した質問結果を回復し、 前記質問結果を表示する、 ステップを含む方法。 (13)前記リレーショナルデータベースは1組みの関係テーブルを含み、前記 翻訳のステップは、 前記第1のクラスに関係した第1のリレーショナルデータベーステーブルと、 前記第2のクラスに関係した第2のリレーショナルデータベースとを同一化し、 前記第1の関係テーブルと前記第2の関係テーブルとを結合して関係した結合 を得るために、前記第1のクラスと前記第2のクラスとの間のデータモデル関係 に応答して、少なくとも一つのデータベースコマンドを最初に発生し、 前記第1のサーチ可能な属性に関係した第1のコラムを同一視し、そして、 前記コラム内に前記関係結合の記録をテストするために少なくとも一つのデー タベースコマンドを2番目に発生するステップを含む請求の範囲第12項記載の 方法。 (14)前記リレーショナルデータベースは1組みの関係テーブルを含み、前記 翻訳のステップは、 前記第1のクラスに関係した第1のリレーショナルデータベーステーブルと、 前記第1のクラスのベースクラスに関係した第2のリレーショナルデータベース とを同一化し、 前記第1の関係テーブルと前記第2の関係テーブルとを結合して関係した結合 を得るために、前記第1のクラスと前記第1のクラスのベスクラスとの間の継承 関係に応答して、少なくとも一つのデータベースコマンドを最初に発生し、 前記第1のサーチ可能な属性に関係した第1のコラムを同一視し、そして、 前記コラム内に前記関係結合の記録をテストするために少なくとも一つのデー タベースコマンドを2番目に発生するステップを含む請求の範囲第12項記載の 方法。 (15)前記翻訳のステップは、前記質問モデルにより示された質問を実行する ために1組みのデータベースコマンドを発生し、そして 前記リレーショナルデータベースのより早い質問を実行するために、前記組み のデータベースコマンドを最適化するステップを含む請求の範囲第12項記載の 方法。 (16)データベースをサーチするための方法であり、前記データベースは多数 のクラスと、前記クラスの一つに関係する少なくとも一つのサーチ可能な属性と 一対の前記クラス間の少なくとも一つのデータモデル関係とを持ち、 前記クラスの第1のリストを示し、 前記第1のリストからの第1のクラスの選択を受け取り、 前記第1のクラスと関係するサーチ可能な属性の選択を受け取り、 前記クラスの第2のリストを示し、前記第2のリストは、前記データモデル関 係により、前記第1のクラスに関係したベースクラスを持つクラスを含み、 前記第2のリストから第2のクラスの選択を受け取り、 前記第2のクラスに関係したサーチ可能な属性の選択を受け取り、 1組みのリレーショナルデータベースコマンドを発生させ、前記組みのリレー ショナルデータベースコマンドは、リレーショナルデータベースへの質問を呈す るために有効であり、前記質問は、前記第1のクラスの第1の選択の語義上の効 果、前記第1のサーチ可能な属性、前記第2のクラスおよび前記第2のサーチ可 能な属性を持ち、 前記組みのリレーショナルデータベースコマンドを前記リレーショナルデータ ベースに適用し、そして、それらに応答して質問結果を回復し、 前記質問結果を表示する方法。 (17)前記組みのリレーショナルデータベースコマンドは、前記データベース 内のデータモデル関係に応答する少なくとも一つのテーブル結合を持つ請求の範 囲第16項記載の方法。 (18)前記組みのリレーショナルデータベースコマンドは、前記データベース 内の継承関係に応答する少なくとも一つのテーブル結合を持つ請求の範囲第16 項記載の方法。 (19)前記データベースは、第1の測定ユニットに関係した少なくとも一つの サーチ可能な属性を含み、そして 前記組みのリレーショナルデータベースコマンドは、前記第1の測定ユニット から第2の測定ユニットへの変換に応答する少なくとも一つの比較を持つ請求の 範囲第16項に記載の方法。 (20)前記発生するステップは、前記データベースのメタモデルに応答し、前 記メタモデルは、前記データベースのクラスに応答するオブジェクトの第1のク ラスを含み、そして、前記データベースのサーチ可能な属性に応答するオブジェ クトの第2のクラスを含む請求の範囲第16項記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42800395A | 1995-04-24 | 1995-04-24 | |
US08/428,003 | 1995-04-24 | ||
US52166795A | 1995-08-31 | 1995-08-31 | |
US08/521,667 | 1995-08-31 | ||
PCT/US1996/005678 WO1996034350A1 (en) | 1995-04-24 | 1996-04-23 | Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11504451A true JPH11504451A (ja) | 1999-04-20 |
Family
ID=27027590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8532654A Pending JPH11504451A (ja) | 1995-04-24 | 1996-04-23 | データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ |
Country Status (4)
Country | Link |
---|---|
US (1) | US6374252B1 (ja) |
EP (1) | EP0823092A1 (ja) |
JP (1) | JPH11504451A (ja) |
WO (1) | WO1996034350A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892197B2 (en) | 1999-01-20 | 2005-05-10 | Fujitsu Limited | Database transition system and program storage medium |
US10268644B2 (en) | 2014-02-24 | 2019-04-23 | Fujitsu Limited | Information processing apparatus, computer-readable recording medium having stored therein data conversion program, and data conversion method |
Families Citing this family (426)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315860B1 (en) | 1994-09-01 | 2008-01-01 | Computer Associates Think, Inc. | Directory service system and method with tolerance for data entry storage and output |
EP0777883B1 (en) | 1994-09-01 | 2003-05-02 | Computer Associates Think, Inc. | X.500 system and methods |
AUPQ678500A0 (en) * | 2000-04-07 | 2000-05-11 | Computer Associates Think, Inc. | Directory searching apparatus and method(s) |
US8065338B2 (en) | 1995-08-30 | 2011-11-22 | Computer Associates Think, Inc. | Directory searching methods and systems |
US5768581A (en) * | 1996-05-07 | 1998-06-16 | Cochran; Nancy Pauline | Apparatus and method for selecting records from a computer database by repeatedly displaying search terms from multiple list identifiers before either a list identifier or a search term is selected |
US7020670B1 (en) * | 1997-04-23 | 2006-03-28 | Xerox Corporation | Document constraint descriptors obtained from user signals indicating attribute-value relations |
AU7687498A (en) * | 1997-05-14 | 1998-12-08 | Portal Information Network | Method and apparatus for object oriented storage and retrieval of data from a relational database to implement real time billing system |
US6047284A (en) | 1997-05-14 | 2000-04-04 | Portal Software, Inc. | Method and apparatus for object oriented storage and retrieval of data from a relational database |
US6092055A (en) | 1997-05-14 | 2000-07-18 | Portal Software, Inc. | Method and apparatus for providing a clean accounting close for a real time billing system |
US6047267A (en) * | 1997-05-14 | 2000-04-04 | Portal Software, Inc. | Method and apparatus for tracking multiple payment resources and charging transactions to payment resources in on line transaction processing system |
US7631012B2 (en) | 1997-05-22 | 2009-12-08 | Computer Associates Think, Inc. | System and method of operating a database |
US6192370B1 (en) | 1998-06-19 | 2001-02-20 | Sap Aktiengesellschaft | Method and system for rapid memory-resident processing of transactional data |
IES990747A2 (en) * | 1998-09-03 | 2000-05-03 | Kimono Ltd | A rules framework |
GB2343763B (en) | 1998-09-04 | 2003-05-21 | Shell Services Internat Ltd | Data processing system |
BR9914552A (pt) | 1998-10-16 | 2001-11-27 | Computer Ass Think Inc | Análise de impacto de um modelo |
US6456995B1 (en) | 1998-12-31 | 2002-09-24 | International Business Machines Corporation | 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 |
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 |
US6728726B1 (en) * | 1999-03-05 | 2004-04-27 | Microsoft Corporation | Prefetching and caching persistent objects |
HK1020419A2 (en) * | 1999-03-16 | 2000-03-17 | Shi Piu Joseph Fong | Frame model for universal database in database reengineering and integration |
US6850951B1 (en) * | 1999-04-16 | 2005-02-01 | Amdocs Software Systems Limited | Method and structure for relationally representing database objects |
US7120628B1 (en) * | 1999-07-01 | 2006-10-10 | International Business Machines Corporation | System and method for enabling a user to subscribe to updates from information sources |
JP4132441B2 (ja) * | 1999-07-19 | 2008-08-13 | 富士通株式会社 | 管理対象オブジェクトのデータ管理装置 |
US7644366B1 (en) * | 1999-07-30 | 2010-01-05 | Computer Associates Think, Inc. | Method and system for displaying a plurality of discrete files in a compound file |
US6684216B1 (en) * | 1999-09-29 | 2004-01-27 | Katherine A. Duliba | Method and computer system for providing input, analysis, and output capability for multidimensional information |
US7734457B2 (en) * | 1999-10-16 | 2010-06-08 | Computer Associates Think, Inc. | Method and system for generating dynamic comparison models |
US6735598B1 (en) * | 1999-10-29 | 2004-05-11 | Oracle International Corporation | Method and apparatus for integrating data from external sources into a database system |
AUPQ428499A0 (en) | 1999-11-26 | 1999-12-23 | Computer Associates Pty. Ltd. | A method and apparatus for operating a data base |
US6694328B1 (en) * | 2000-01-13 | 2004-02-17 | International Business Machines Corporation | Method for creating queries on version objects |
US8019757B2 (en) * | 2000-01-14 | 2011-09-13 | Thinkstream, Inc. | Distributed globally accessible information network implemented to maintain universal accessibility |
ES2329008T3 (es) * | 2000-01-14 | 2009-11-20 | Thinkstream, Inc. | Red de informacion dsitribuida accessible de forma global. |
US20020091677A1 (en) * | 2000-03-20 | 2002-07-11 | Sridhar Mandayam Andampikai | Content dereferencing in website development |
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 |
US6947952B1 (en) * | 2000-05-11 | 2005-09-20 | Unisys Corporation | Method for generating unique object indentifiers in a data abstraction layer disposed between first and second DBMS software in response to parent thread performing client application |
US7254584B1 (en) * | 2000-05-17 | 2007-08-07 | Aol Llc | Relationship-based inherited attributes system |
US6594672B1 (en) * | 2000-06-01 | 2003-07-15 | Hyperion Solutions Corporation | Generating multidimensional output using meta-models and meta-outlines |
US6658407B1 (en) * | 2000-06-29 | 2003-12-02 | Microsoft Corporation | Clause-based relational queries |
US6853997B2 (en) * | 2000-06-29 | 2005-02-08 | Infoglide Corporation | System and method for sharing, mapping, transforming data between relational and hierarchical databases |
DE10035140A1 (de) * | 2000-07-19 | 2002-01-31 | Philips Corp Intellectual Pty | System zur effizienten Übertragung von Teilobjekten in verteilten Datenbanken |
EP1317715A1 (en) * | 2000-08-04 | 2003-06-11 | Infoglide Corporation | System and method for comparing heterogeneous data sources |
US6795819B2 (en) * | 2000-08-04 | 2004-09-21 | Infoglide Corporation | System and method for building and maintaining a database |
US6920458B1 (en) * | 2000-09-22 | 2005-07-19 | Sas Institute Inc. | Model repository |
GB2371884A (en) * | 2000-10-12 | 2002-08-07 | Abb Ab | Queries in an object-oriented computer system |
AUPR076500A0 (en) * | 2000-10-13 | 2000-11-09 | Teradyne Pty Ltd | A multi-user database for computer-based information |
US7171648B1 (en) * | 2000-10-30 | 2007-01-30 | Microsoft Corporation | System and method for implementing object property grouping |
US6810400B2 (en) * | 2000-11-17 | 2004-10-26 | Microsoft Corporation | Representing database permissions as associations in computer schema |
US20030105732A1 (en) * | 2000-11-17 | 2003-06-05 | Kagalwala Raxit A. | Database schema for structure query language (SQL) server |
US6816869B2 (en) * | 2000-11-17 | 2004-11-09 | Microsoft Corporation | Mapping database users to operating system users in a computer schema |
US6961730B2 (en) * | 2000-11-17 | 2005-11-01 | Microsoft Corporation | Mapping database file class to operating system file class in a computer schema |
CA2327167C (en) * | 2000-11-30 | 2007-10-16 | Ibm Canada Limited-Ibm Canada Limitee | Method and system for composing a query for a database and traversing the database |
EP1225508A1 (en) * | 2001-01-19 | 2002-07-24 | Thinkingcap Technology Limited | A universal software application |
US6907435B2 (en) * | 2001-02-27 | 2005-06-14 | Microsoft Corporation | Converting numeric values to strings for optimized database storage |
US6832229B2 (en) * | 2001-03-09 | 2004-12-14 | Oracle International Corporation | System and method for maintaining large-grained database concurrency with a log monitor incorporating dynamically redefinable business logic |
US7150001B1 (en) * | 2001-03-19 | 2006-12-12 | Microsoft Corporation | System and method to facilitate design-time component discovery |
WO2002080039A1 (en) * | 2001-03-29 | 2002-10-10 | Schwegman, Lundberg, Woessner & Kluth, P.A. | Internet-based patent and trademark application management system |
WO2002086744A1 (en) * | 2001-04-23 | 2002-10-31 | Schwegman, Lundberg, Woessner & Kluth, P.A. | Methods, systems and emails to link emails to matters and organizations |
US6876999B2 (en) * | 2001-04-25 | 2005-04-05 | International Business Machines Corporation | Methods and apparatus for extraction and tracking of objects from multi-dimensional sequence data |
US6988095B1 (en) | 2001-05-07 | 2006-01-17 | Hearst Business Communications, Inc. | Systems and methods for performing parametric searches |
US7653631B1 (en) | 2001-05-10 | 2010-01-26 | Foundationip, Llc | Method for synchronizing information in multiple case management systems |
US20030101170A1 (en) * | 2001-05-25 | 2003-05-29 | Joseph Edelstein | Data query and location through a central ontology model |
US7673282B2 (en) * | 2001-05-25 | 2010-03-02 | International Business Machines Corporation | Enterprise information unification |
US7877421B2 (en) * | 2001-05-25 | 2011-01-25 | International Business Machines Corporation | Method and system for mapping enterprise data assets to a semantic information model |
US7099885B2 (en) * | 2001-05-25 | 2006-08-29 | Unicorn Solutions | Method and system for collaborative ontology modeling |
US20030163450A1 (en) * | 2001-05-25 | 2003-08-28 | Joram Borenstein | Brokering semantics between web services |
US8412746B2 (en) * | 2001-05-25 | 2013-04-02 | International Business Machines Corporation | Method and system for federated querying of data sources |
US20040093559A1 (en) * | 2001-05-25 | 2004-05-13 | Ruth Amaru | Web client for viewing and interrogating enterprise data semantically |
US7146399B2 (en) * | 2001-05-25 | 2006-12-05 | 2006 Trident Company | Run-time architecture for enterprise integration with transformation generation |
US20050038629A1 (en) * | 2001-05-25 | 2005-02-17 | Ruth Amaru | Pricing of enterprise information resource management systems |
US20060064666A1 (en) * | 2001-05-25 | 2006-03-23 | Amaru Ruth M | Business rules for configurable metamodels and enterprise impact analysis |
US6763351B1 (en) * | 2001-06-18 | 2004-07-13 | Siebel Systems, Inc. | Method, apparatus, and system for attaching search results |
US7233937B2 (en) | 2001-06-18 | 2007-06-19 | Siebel Systems, Inc. | Method, apparatus, and system for searching based on filter search specification |
US7293014B2 (en) * | 2001-06-18 | 2007-11-06 | Siebel Systems, Inc. | System and method to enable searching across multiple databases and files using a single search |
US7464072B1 (en) | 2001-06-18 | 2008-12-09 | Siebel Systems, Inc. | Method, apparatus, and system for searching based on search visibility rules |
US7213013B1 (en) * | 2001-06-18 | 2007-05-01 | Siebel Systems, Inc. | Method, apparatus, and system for remote client search indexing |
US7546287B2 (en) * | 2001-06-18 | 2009-06-09 | Siebel Systems, Inc. | System and method to search a database for records matching user-selected search criteria and to maintain persistency of the matched records |
US6697808B1 (en) * | 2001-06-19 | 2004-02-24 | Microstrategy, Inc. | Method and system for performing advanced object searching of a metadata repository used by a decision support system |
CA2355418A1 (en) * | 2001-08-16 | 2003-02-16 | Ibm Canada Limited-Ibm Canada Limitee | A schema for sql statements |
US7039622B2 (en) * | 2001-09-12 | 2006-05-02 | Sas Institute Inc. | Computer-implemented knowledge repository interface system and method |
US7140000B2 (en) * | 2001-10-09 | 2006-11-21 | Certusoft | Knowledge oriented programming |
CA2366192A1 (en) * | 2001-12-21 | 2003-06-21 | Ibm Canada Limited-Ibm Canada Limitee | Organization of sql working memory in a transaction bounded processing environment |
US7421436B2 (en) * | 2001-12-21 | 2008-09-02 | International Business Machines Corporation | Decentralized many-to-many relationship management in an object persistence management system |
US20030170814A1 (en) * | 2001-12-26 | 2003-09-11 | Sermet Yucel | Systems and methods for providing runtime execution of discovery logic from biological and chemical data |
US7062502B1 (en) * | 2001-12-28 | 2006-06-13 | Kesler John N | Automated generation of dynamic data entry user interface for relational database management systems |
US7096231B2 (en) * | 2001-12-28 | 2006-08-22 | American Management Systems, Inc. | Export engine which builds relational database directly from object model |
US7174533B2 (en) * | 2002-03-14 | 2007-02-06 | Sun Microsystems, Inc. | Method, system, and program for translating a class schema in a source language to a target language |
US8099393B2 (en) | 2002-03-22 | 2012-01-17 | Oracle International Corporation | Transaction in memory object store |
US7548935B2 (en) * | 2002-05-09 | 2009-06-16 | Robert Pecherer | Method of recursive objects for representing hierarchies in relational database systems |
US7165075B2 (en) * | 2002-07-20 | 2007-01-16 | Microsoft Corporation | Object graph faulting and trimming in an object-relational database system |
US7130856B2 (en) | 2002-07-20 | 2006-10-31 | Microsoft Corporation | Map and data location provider |
US7480661B2 (en) * | 2002-07-22 | 2009-01-20 | Microsoft Corporation | Query services for database system |
US7139690B2 (en) * | 2002-07-22 | 2006-11-21 | Microsoft Corporation | Object-level conflict detection in an object-relational database system |
AU2003261021A1 (en) * | 2002-08-29 | 2004-03-19 | Crossmarx B.V. | System and method for executing and building a software application |
US8392291B2 (en) * | 2002-10-31 | 2013-03-05 | Sap Aktiengesellschaft | Automated structuring |
JP2004177996A (ja) * | 2002-11-22 | 2004-06-24 | Toshiba Corp | 階層型データベース装置及び階層型データベースの構築方法 |
US7680833B1 (en) * | 2002-11-22 | 2010-03-16 | Bmc Software, Inc. | System and method for database structure comparison |
US7168619B2 (en) * | 2002-11-27 | 2007-01-30 | Sap Ag | Structuring of temporary systems |
US20040199400A1 (en) * | 2002-12-17 | 2004-10-07 | Lundberg Steven W. | Internet-based patent and trademark application management system |
US7958074B2 (en) * | 2002-12-23 | 2011-06-07 | International Business Machines Corporation | Method and structure for domain-independent modular reasoning and relation representation for entity-relation based information structures |
US7702647B2 (en) * | 2002-12-23 | 2010-04-20 | International Business Machines Corporation | Method and structure for unstructured domain-independent object-oriented information middleware |
US7219091B1 (en) | 2003-02-24 | 2007-05-15 | At&T Corp. | Method and system for pattern matching having holistic twig joins |
US7451144B1 (en) * | 2003-02-25 | 2008-11-11 | At&T Corp. | Method of pattern searching |
US20050033761A1 (en) * | 2003-03-04 | 2005-02-10 | William Guttman | System and method for generating and using a pooled knowledge base |
US8122044B2 (en) * | 2003-03-12 | 2012-02-21 | Microsoft Corporation | Generation of business intelligence entities from a dimensional model |
EP1652074A4 (en) * | 2003-07-11 | 2008-08-13 | Computer Ass Think Inc | ADJUNCTION TO A TOOL FOR MODELING OBJECTS DEFINED BY A USER |
US7085757B2 (en) * | 2003-07-11 | 2006-08-01 | International Business Machines Corporation | Abstract data linking and joining interface |
US7428515B2 (en) * | 2003-09-30 | 2008-09-23 | International Business Machines Corporation | Object classification using an optimized Boolean expression |
US7318192B1 (en) * | 2004-03-26 | 2008-01-08 | Microsoft Corporation | Method and system for formulaically bounding data in a spreadsheet |
US7647356B2 (en) * | 2004-05-07 | 2010-01-12 | Oracle International Corporation | Methods and apparatus for facilitating analysis of large data sets |
WO2006038924A2 (en) * | 2004-06-18 | 2006-04-13 | Sap Ag | Consistent set of interfaces derived from a business object model |
WO2006004649A2 (en) * | 2004-06-28 | 2006-01-12 | Siemens Building Technologies, Inc. | Method and apparatus for representing a building system enabling facility viewing for maintenance purposes |
CN1756180B (zh) * | 2004-09-29 | 2010-04-14 | 华为技术有限公司 | 一种基于对象的数据配置方法 |
US8416251B2 (en) * | 2004-11-15 | 2013-04-09 | Nvidia Corporation | Stream processing in a video processor |
US7574425B2 (en) * | 2004-12-03 | 2009-08-11 | International Business Machines Corporation | System and method for query management in a database management system |
US20060122976A1 (en) * | 2004-12-03 | 2006-06-08 | Shumeet Baluja | Predictive information retrieval |
US8103624B2 (en) * | 2005-01-13 | 2012-01-24 | International Business Machines Corporation | Apparatus and method for automating the logging of table changes in a database |
US20060190541A1 (en) * | 2005-02-18 | 2006-08-24 | Lundberg Steven W | System and method for public and private messages in an information management system |
US20060190471A1 (en) * | 2005-02-18 | 2006-08-24 | Lundberg Steven W | Auto-filing of watch results in IP management system |
US20060190495A1 (en) * | 2005-02-18 | 2006-08-24 | Lundberg Steven W | System and method for purging messages in a legal information system |
US7962497B2 (en) * | 2005-02-18 | 2011-06-14 | Microsoft Corporation | Relationship modeling |
US20060190449A1 (en) * | 2005-02-18 | 2006-08-24 | Lundberg Steven W | System and method for prior art cross citation |
US20060206345A1 (en) * | 2005-02-18 | 2006-09-14 | Lundberg Steven W | System and method for obtaining and disseminating secured on-line data |
US7890507B2 (en) * | 2005-02-25 | 2011-02-15 | International Business Machines Corporation | System and method of joining data obtained from horizontally and vertically partitioned heterogeneous data stores using string-based location transparent search expressions |
US20060195427A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | System and method for improving query response time in a relational database (RDB) system by managing the number of unique table aliases defined within an RDB-specific search expression |
US20060212471A1 (en) * | 2005-03-21 | 2006-09-21 | Lundberg Steven W | System and method for intellectual property information management using configurable activities |
US20060212302A1 (en) * | 2005-03-21 | 2006-09-21 | Lundberg Steven W | System and method for a user interface in an IP management system |
US20060212788A1 (en) * | 2005-03-21 | 2006-09-21 | Lundberg Steven W | Systems and methods for activity management using independent docket items |
US20060230113A1 (en) * | 2005-03-21 | 2006-10-12 | Lundberg Steven W | System and method for billing in a professional services information management system |
US20060212402A1 (en) * | 2005-03-21 | 2006-09-21 | Lundberg Steven W | System and method for export control of technical documents |
US7853572B2 (en) * | 2005-03-21 | 2010-12-14 | Foundationip, Llc | Bulk download of documents from a system for managing documents |
US20060242172A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Systems and methods for transforming logic entities of a business application into an object-oriented model |
US7542980B2 (en) | 2005-04-22 | 2009-06-02 | Sap Ag | Methods of comparing and merging business process configurations |
US20060242188A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing a missing collection of application elements as deprecated |
US7702638B2 (en) * | 2005-04-22 | 2010-04-20 | Sap Ag | Systems and methods for off-line modeling a business application |
US7958486B2 (en) * | 2005-04-22 | 2011-06-07 | Sap Ag | Methods and systems for data-focused debugging and tracing capabilities |
US20060242171A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of using code-based case tools to verify application layer configurations |
US20060242196A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing application layer integrity as object oriented programming language elements |
US7720879B2 (en) * | 2005-04-22 | 2010-05-18 | Sap Ag | Methods of using an integrated development environment to configure business applications |
US20060241961A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of optimizing legacy application layer control structure using refactoring |
US20060282458A1 (en) * | 2005-04-22 | 2006-12-14 | Igor Tsyganskiy | Methods and systems for merging business process configurations |
US20060242176A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing business configuration dependencies |
US20060242174A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Systems and methods for using object-oriented tools to debug business applications |
US20060293935A1 (en) * | 2005-04-22 | 2006-12-28 | Igor Tsyganskiy | Methods and systems for incrementally exposing business application errors using an integrated display |
US20060242197A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of transforming application layer structure as objects |
US8539003B2 (en) * | 2005-04-22 | 2013-09-17 | Sap Ag | Systems and methods for identifying problems of a business application in a customer support system |
US20060242194A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Systems and methods for modeling and manipulating a table-driven business application in an object-oriented environment |
US20060242177A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing business application runtime exceptions at design time |
US20060241999A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing a sequence of instructions into an object-oriented programming language |
US20060293940A1 (en) * | 2005-04-22 | 2006-12-28 | Igor Tsyganskiy | Methods and systems for applying intelligent filters and identifying life cycle events for data elements during business application debugging |
US8223935B2 (en) | 2005-04-30 | 2012-07-17 | Oracle International Corporation | Revenue management systems and methods |
US7734619B2 (en) * | 2005-05-27 | 2010-06-08 | International Business Machines Corporation | Method of presenting lineage diagrams representing query plans |
US7571192B2 (en) * | 2005-06-15 | 2009-08-04 | Oracle International Corporation | Methods and apparatus for maintaining consistency during analysis of large data sets |
EP1935152A4 (en) | 2005-06-28 | 2010-08-04 | Oracle Int Corp | SYSTEM AND METHOD FOR MANAGING INCOME |
CA2616194C (en) | 2005-07-28 | 2015-02-17 | Oracle International Corporation | Revenue management system and method |
US8223777B2 (en) | 2005-11-15 | 2012-07-17 | Oracle International Corporation | Gateway for achieving low latency and high availability in a real time event processing system |
US7761850B2 (en) * | 2005-12-22 | 2010-07-20 | Sap Ag | Items on workplaces |
US20070156712A1 (en) * | 2005-12-28 | 2007-07-05 | Wasserman Brian J | Semantic grammar and engine framework |
US20070174318A1 (en) * | 2006-01-26 | 2007-07-26 | International Business Machines Corporation | Methods and apparatus for constructing declarative componentized applications |
EP2005373A4 (en) * | 2006-04-13 | 2011-06-15 | Matthew D Powell | METHOD AND SYSTEM FOR FACILITATING THE TRANSFER OF AN INTELLECTUAL PROPERTY |
WO2008005102A2 (en) * | 2006-05-13 | 2008-01-10 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8869066B2 (en) | 2006-07-06 | 2014-10-21 | Addthis, Llc | Generic content collection systems |
US8527502B2 (en) * | 2006-09-08 | 2013-09-03 | Blade Makai Doyle | Method, system and computer-readable media for software object relationship traversal for object-relational query binding |
US20080086501A1 (en) * | 2006-09-26 | 2008-04-10 | Rhythmbase Communications, Inc. | Adaptable computing architecture |
US8056092B2 (en) | 2006-09-29 | 2011-11-08 | Clearspring Technologies, Inc. | Method and apparatus for widget-container hosting and generation |
US8515912B2 (en) | 2010-07-15 | 2013-08-20 | Palantir Technologies, Inc. | Sharing and deconflicting data changes in a multimaster database system |
US8688749B1 (en) * | 2011-03-31 | 2014-04-01 | Palantir Technologies, Inc. | Cross-ontology multi-master replication |
US20080162548A1 (en) * | 2006-12-29 | 2008-07-03 | Zahid Ahmed | Object oriented, semantically-rich universal item information model |
US20080222232A1 (en) * | 2007-03-06 | 2008-09-11 | Allen Stewart O | Method and Apparatus for Widget and Widget-Container Platform Adaptation and Distribution |
WO2008109761A2 (en) * | 2007-03-06 | 2008-09-12 | Clearspring Technologies, Inc. | Method and apparatus for data processing |
US9009728B2 (en) | 2007-03-06 | 2015-04-14 | Addthis, Inc. | Method and apparatus for widget and widget-container distribution control based on content rules |
US8438229B2 (en) | 2007-03-07 | 2013-05-07 | True Engineering Technology, Llc | System and method of supporting constructive discourse on computers and mobile devices |
US20080228812A1 (en) * | 2007-03-15 | 2008-09-18 | Honeywell International Inc. | Method and System for Metamodeling Using Dynamic Ontology Objects |
CA2613873C (en) * | 2007-05-03 | 2008-10-28 | Imperial Oil Resources Limited | An improved process for recovering solvent from asphaltene containing tailings resulting from a separation process |
US7853669B2 (en) * | 2007-05-04 | 2010-12-14 | Microsoft Corporation | Mesh-managing data across a distributed set of devices |
CA2592725C (en) * | 2007-06-26 | 2009-04-14 | Imperial Oil Resources Limited | A method for cleaning fouled vessels in the paraffinic froth treatment process |
US20090019022A1 (en) * | 2007-07-15 | 2009-01-15 | Dawning Technologies, Inc. | Rules-based data mining |
US8140576B1 (en) * | 2007-07-19 | 2012-03-20 | Salesforce.Com, Inc. | On-demand database service system, method and computer program product for conditionally allowing an application of an entity access to data of another entity |
CA2594205C (en) * | 2007-07-20 | 2009-11-24 | Imperial Oil Resources Limited | Use of a fluorocarbon polymer as a surface of a vessel or conduit used in a paraffinic froth treatment process for reducing fouling |
US7877397B2 (en) * | 2007-07-30 | 2011-01-25 | Microsoft Corporation | Extensible command execution for entity data model platform |
CA2595336C (en) * | 2007-07-31 | 2009-09-15 | Imperial Oil Resources Limited | Reducing foulant carry-over or build-up in a paraffinic froth treatment process |
US8209378B2 (en) * | 2007-10-04 | 2012-06-26 | Clearspring Technologies, Inc. | Methods and apparatus for widget sharing between content aggregation points |
US9152656B2 (en) * | 2007-11-20 | 2015-10-06 | Microsoft Technology Licensing, Llc | Database data type creation and reuse |
US9779082B2 (en) * | 2008-01-02 | 2017-10-03 | True Engineering Technology, Llc | Portable self-describing representations of measurements |
US8321914B2 (en) | 2008-01-21 | 2012-11-27 | International Business Machines Corporation | System and method for verifying an attribute in records for procurement application |
US20090200210A1 (en) * | 2008-02-11 | 2009-08-13 | Hommema Scott E | Method Of Removing Solids From Bitumen Froth |
US8417593B2 (en) | 2008-02-28 | 2013-04-09 | Sap Ag | System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems |
US8224797B2 (en) * | 2008-03-04 | 2012-07-17 | International Business Machines Corporation | System and method for validating data record |
US9298747B2 (en) * | 2008-03-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Deployable, consistent, and extensible computing environment platform |
US9753712B2 (en) | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
CA2716809C (en) * | 2008-03-20 | 2014-04-08 | Exxonmobil Upstream Research Company | Enhancing emulsion stability |
US8572033B2 (en) | 2008-03-20 | 2013-10-29 | Microsoft Corporation | Computing environment configuration |
US8484174B2 (en) | 2008-03-20 | 2013-07-09 | Microsoft Corporation | Computing environment representation |
US8117239B2 (en) * | 2008-03-25 | 2012-02-14 | Microsoft Corporation | Aggregating schema data from multiple sources |
US8229963B2 (en) * | 2008-03-25 | 2012-07-24 | Microsoft Corporation | Schema for federated searching |
US20090248737A1 (en) * | 2008-03-27 | 2009-10-01 | Microsoft Corporation | Computing environment representation |
US20090248463A1 (en) * | 2008-03-31 | 2009-10-01 | Emmanuel Piochon | Managing Consistent Interfaces For Trading Business Objects Across Heterogeneous Systems |
US20090248429A1 (en) * | 2008-03-31 | 2009-10-01 | Sap Ag | Managing Consistent Interfaces for Sales Price Business Objects Across Heterogeneous Systems |
US20090249358A1 (en) * | 2008-03-31 | 2009-10-01 | Sap Ag | Managing Consistent Interfaces for Kanban Business Objects Across Heterogeneous Systems |
US20090326988A1 (en) | 2008-06-26 | 2009-12-31 | Robert Barth | Managing consistent interfaces for business objects across heterogeneous systems |
US8252170B2 (en) | 2008-06-27 | 2012-08-28 | Exxonmobil Upstream Research Company | Optimizing feed mixer performance in a paraffinic froth treatment process |
US20100100626A1 (en) * | 2008-09-15 | 2010-04-22 | Allen Stewart O | Methods and apparatus related to inter-widget interactions managed by a client-side master |
US20100153297A1 (en) | 2008-12-12 | 2010-06-17 | Sap Ag | Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems |
US8504582B2 (en) * | 2008-12-31 | 2013-08-06 | Ebay, Inc. | System and methods for unit of measurement conversion and search query expansion |
US8918709B2 (en) * | 2009-05-29 | 2014-12-23 | Microsoft Corporation | Object templates for data-driven applications |
US9864796B2 (en) * | 2009-06-24 | 2018-01-09 | Microsoft Technology Licensing, Llc | Databases from models |
CA2672004C (en) | 2009-07-14 | 2012-03-27 | Imperial Oil Resources Limited | Feed delivery system for a solid-liquid separation vessel |
US8396751B2 (en) | 2009-09-30 | 2013-03-12 | Sap Ag | Managing consistent interfaces for merchandising business objects across heterogeneous systems |
US9222929B2 (en) | 2009-12-07 | 2015-12-29 | Exxonmobil Upstream Research Company | Solvent surveillance in solvent-based heavy oil recovery processes |
US9195707B2 (en) * | 2010-03-15 | 2015-11-24 | Vmware, Inc. | Distributed event system for relational models |
US8732083B2 (en) | 2010-06-15 | 2014-05-20 | Sap Ag | Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems |
US9135585B2 (en) * | 2010-06-15 | 2015-09-15 | Sap Se | Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems |
CA2714842C (en) | 2010-09-22 | 2012-05-29 | Imperial Oil Resources Limited | Controlling bitumen quality in solvent-assisted bitumen extraction |
US9038177B1 (en) | 2010-11-30 | 2015-05-19 | Jpmorgan Chase Bank, N.A. | Method and system for implementing multi-level data fusion |
CA2734811C (en) | 2011-03-29 | 2012-11-20 | Imperial Oil Resources Limited | Feedwell system for a separation vessel |
US9292588B1 (en) | 2011-07-20 | 2016-03-22 | Jpmorgan Chase Bank, N.A. | Safe storing data for disaster recovery |
US8725654B2 (en) | 2011-07-28 | 2014-05-13 | Sap Ag | Managing consistent interfaces for employee data replication business objects across heterogeneous systems |
US8601490B2 (en) | 2011-07-28 | 2013-12-03 | Sap Ag | Managing consistent interfaces for business rule business object across heterogeneous systems |
US8775280B2 (en) | 2011-07-28 | 2014-07-08 | Sap Ag | Managing consistent interfaces for financial business objects across heterogeneous systems |
US8782004B2 (en) | 2012-01-23 | 2014-07-15 | Palantir Technologies, Inc. | Cross-ACL multi-master replication |
US8984050B2 (en) | 2012-02-16 | 2015-03-17 | Sap Se | Consistent interface for sales territory message type set 2 |
US8762454B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for flag and tag |
US8762453B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for feed collaboration group and feed event subscription |
US9232368B2 (en) | 2012-02-16 | 2016-01-05 | Sap Se | Consistent interface for user feed administrator, user feed event link and user feed settings |
US9237425B2 (en) | 2012-02-16 | 2016-01-12 | Sap Se | Consistent interface for feed event, feed event document and feed event type |
US8756274B2 (en) | 2012-02-16 | 2014-06-17 | Sap Ag | Consistent interface for sales territory message type set 1 |
US8756135B2 (en) | 2012-06-28 | 2014-06-17 | Sap Ag | Consistent interface for product valuation data and product valuation level |
US8949855B2 (en) | 2012-06-28 | 2015-02-03 | Sap Se | Consistent interface for address snapshot and approval process definition |
US9246869B2 (en) | 2012-06-28 | 2016-01-26 | Sap Se | Consistent interface for opportunity |
US8615451B1 (en) | 2012-06-28 | 2013-12-24 | Sap Ag | Consistent interface for goods and activity confirmation |
US9367826B2 (en) | 2012-06-28 | 2016-06-14 | Sap Se | Consistent interface for entitlement product |
US9400998B2 (en) | 2012-06-28 | 2016-07-26 | Sap Se | Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule |
WO2014000200A1 (en) | 2012-06-28 | 2014-01-03 | Sap Ag | Consistent interface for document output request |
US9043236B2 (en) | 2012-08-22 | 2015-05-26 | Sap Se | Consistent interface for financial instrument impairment attribute values analytical result |
US9076112B2 (en) | 2012-08-22 | 2015-07-07 | Sap Se | Consistent interface for financial instrument impairment expected cash flow analytical result |
US9547833B2 (en) | 2012-08-22 | 2017-01-17 | Sap Se | Consistent interface for financial instrument impairment calculation |
US9081975B2 (en) | 2012-10-22 | 2015-07-14 | Palantir Technologies, Inc. | Sharing information between nexuses that use different classification schemes for information access control |
US9501761B2 (en) | 2012-11-05 | 2016-11-22 | Palantir Technologies, Inc. | System and method for sharing investigation results |
US10540373B1 (en) | 2013-03-04 | 2020-01-21 | Jpmorgan Chase Bank, N.A. | Clause library manager |
US9191343B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for appointment activity business object |
US9191357B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for email activity business object |
US8886601B1 (en) | 2013-06-20 | 2014-11-11 | Palantir Technologies, Inc. | System and method for incrementally replicating investigative analysis data |
US9569070B1 (en) | 2013-11-11 | 2017-02-14 | Palantir Technologies, Inc. | Assisting in deconflicting concurrency conflicts |
US9009827B1 (en) | 2014-02-20 | 2015-04-14 | Palantir Technologies Inc. | Security sharing system |
US10572496B1 (en) | 2014-07-03 | 2020-02-25 | Palantir Technologies Inc. | Distributed workflow system and database with access controls for city resiliency |
US9785773B2 (en) | 2014-07-03 | 2017-10-10 | Palantir Technologies Inc. | Malware data item analysis |
US9021260B1 (en) | 2014-07-03 | 2015-04-28 | Palantir Technologies Inc. | Malware data item analysis |
US9729583B1 (en) | 2016-06-10 | 2017-08-08 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10289867B2 (en) | 2014-07-27 | 2019-05-14 | OneTrust, LLC | Data processing systems for webform crawling to map processing activities and related methods |
US10181051B2 (en) | 2016-06-10 | 2019-01-15 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US10860546B2 (en) | 2015-05-28 | 2020-12-08 | Hewlett Packard Enterprise Development Lp | Translation of source m-node identifier to target m-node identifier |
US10621198B1 (en) | 2015-12-30 | 2020-04-14 | Palantir Technologies Inc. | System and method for secure database replication |
US10796257B2 (en) * | 2016-01-26 | 2020-10-06 | Celonis Se | Method for providing business process analyses |
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11004125B2 (en) | 2016-04-01 | 2021-05-11 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US9892444B2 (en) | 2016-04-01 | 2018-02-13 | OneTrust, LLC | Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments |
US9898769B2 (en) | 2016-04-01 | 2018-02-20 | OneTrust, LLC | Data processing systems and methods for operationalizing privacy compliance via integrated mobile applications |
US10706447B2 (en) | 2016-04-01 | 2020-07-07 | OneTrust, LLC | Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments |
US10176503B2 (en) | 2016-04-01 | 2019-01-08 | OneTrust, LLC | Data processing systems and methods for efficiently assessing the risk of privacy campaigns |
US10423996B2 (en) | 2016-04-01 | 2019-09-24 | OneTrust, LLC | Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments |
US10176502B2 (en) | 2016-04-01 | 2019-01-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11244367B2 (en) | 2016-04-01 | 2022-02-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US9892443B2 (en) | 2016-04-01 | 2018-02-13 | OneTrust, LLC | Data processing systems for modifying privacy campaign data via electronic messaging systems |
US10839102B2 (en) | 2016-06-10 | 2020-11-17 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US11025675B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10437412B2 (en) | 2016-06-10 | 2019-10-08 | OneTrust, LLC | Consent receipt management systems and related methods |
US11210420B2 (en) | 2016-06-10 | 2021-12-28 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10289866B2 (en) | 2016-06-10 | 2019-05-14 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10726158B2 (en) | 2016-06-10 | 2020-07-28 | OneTrust, LLC | Consent receipt management and automated process blocking systems and related methods |
US10997315B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11023842B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US11038925B2 (en) | 2016-06-10 | 2021-06-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US10572686B2 (en) | 2016-06-10 | 2020-02-25 | OneTrust, LLC | Consent receipt management systems and related methods |
US10430740B2 (en) | 2016-06-10 | 2019-10-01 | One Trust, LLC | Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US10848523B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10509894B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US11138299B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10585968B2 (en) | 2016-06-10 | 2020-03-10 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11144622B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Privacy management systems and methods |
US10796260B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Privacy management systems and methods |
US10885485B2 (en) | 2016-06-10 | 2021-01-05 | OneTrust, LLC | Privacy management systems and methods |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US10803200B2 (en) | 2016-06-10 | 2020-10-13 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US10346638B2 (en) | 2016-06-10 | 2019-07-09 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11146566B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10944725B2 (en) | 2016-06-10 | 2021-03-09 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US11200341B2 (en) | 2016-06-10 | 2021-12-14 | OneTrust, LLC | Consent receipt management systems and related methods |
US10776514B2 (en) * | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for the identification and deletion of personal data in computer systems |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US10706174B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems for prioritizing data subject access requests for fulfillment and related methods |
US10282692B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US10509920B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10496803B2 (en) | 2016-06-10 | 2019-12-03 | OneTrust, LLC | Data processing systems and methods for efficiently assessing the risk of privacy campaigns |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11238390B2 (en) | 2016-06-10 | 2022-02-01 | OneTrust, LLC | Privacy management systems and methods |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US11157600B2 (en) | 2016-06-10 | 2021-10-26 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US10503926B2 (en) | 2016-06-10 | 2019-12-10 | OneTrust, LLC | Consent receipt management systems and related methods |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US10776517B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods |
US10798133B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10496846B1 (en) | 2016-06-10 | 2019-12-03 | OneTrust, LLC | Data processing and communications systems and methods for the efficient implementation of privacy by design |
US10896394B2 (en) | 2016-06-10 | 2021-01-19 | OneTrust, LLC | Privacy management systems and methods |
US10708305B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Automated data processing systems and methods for automatically processing requests for privacy-related information |
US10713387B2 (en) | 2016-06-10 | 2020-07-14 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11151233B2 (en) | 2016-06-10 | 2021-10-19 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US10452864B2 (en) | 2016-06-10 | 2019-10-22 | OneTrust, LLC | Data processing systems for webform crawling to map processing activities and related methods |
US10242228B2 (en) | 2016-06-10 | 2019-03-26 | OneTrust, LLC | Data processing systems for measuring privacy maturity within an organization |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11228620B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10169609B1 (en) | 2016-06-10 | 2019-01-01 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10452866B2 (en) | 2016-06-10 | 2019-10-22 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US10873606B2 (en) | 2016-06-10 | 2020-12-22 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10235534B2 (en) | 2016-06-10 | 2019-03-19 | OneTrust, LLC | Data processing systems for prioritizing data subject access requests for fulfillment and related methods |
US10586075B2 (en) | 2016-06-10 | 2020-03-10 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11222309B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US10642870B2 (en) | 2016-06-10 | 2020-05-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US10275614B2 (en) | 2016-06-10 | 2019-04-30 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10706131B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems and methods for efficiently assessing the risk of privacy campaigns |
US11100444B2 (en) | 2016-06-10 | 2021-08-24 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US11277448B2 (en) | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10706379B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems for automatic preparation for remediation and related methods |
US10353674B2 (en) | 2016-06-10 | 2019-07-16 | OneTrust, LLC | Data processing and communications systems and methods for the efficient implementation of privacy by design |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10607028B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10762236B2 (en) | 2016-06-10 | 2020-09-01 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US10346637B2 (en) * | 2016-06-10 | 2019-07-09 | OneTrust, LLC | Data processing systems for the identification and deletion of personal data in computer systems |
US10438017B2 (en) | 2016-06-10 | 2019-10-08 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10853501B2 (en) | 2016-06-10 | 2020-12-01 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10454973B2 (en) | 2016-06-10 | 2019-10-22 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10606916B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10614247B2 (en) | 2016-06-10 | 2020-04-07 | OneTrust, LLC | Data processing systems for automated classification of personal information from documents and related methods |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US10289870B2 (en) | 2016-06-10 | 2019-05-14 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10181019B2 (en) | 2016-06-10 | 2019-01-15 | OneTrust, LLC | Data processing systems and communications systems and methods for integrating privacy compliance systems with software development and agile tools for privacy design |
US10204154B2 (en) | 2016-06-10 | 2019-02-12 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US10783256B2 (en) | 2016-06-10 | 2020-09-22 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US10592692B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US10440062B2 (en) | 2016-06-10 | 2019-10-08 | OneTrust, LLC | Consent receipt management systems and related methods |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10282700B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11087260B2 (en) | 2016-06-10 | 2021-08-10 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US10949170B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for integration of consumer feedback with data subject access requests and related methods |
US10467432B2 (en) | 2016-06-10 | 2019-11-05 | OneTrust, LLC | Data processing systems for use in automatically generating, populating, and submitting data subject access requests |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11074367B2 (en) | 2016-06-10 | 2021-07-27 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US10565397B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11057356B2 (en) | 2016-06-10 | 2021-07-06 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10776518B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Consent receipt management systems and related methods |
US10565161B2 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US11138242B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10353673B2 (en) | 2016-06-10 | 2019-07-16 | OneTrust, LLC | Data processing systems for integration of consumer feedback with data subject access requests and related methods |
US10565236B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10282559B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US10706176B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data-processing consent refresh, re-prompt, and recapture systems and related methods |
US10416966B2 (en) | 2016-06-10 | 2019-09-17 | OneTrust, LLC | Data processing systems for identity validation of data subject access requests and related methods |
US10909265B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US10769301B2 (en) | 2016-06-10 | 2020-09-08 | OneTrust, LLC | Data processing systems for webform crawling to map processing activities and related methods |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US10394805B2 (en) * | 2016-06-28 | 2019-08-27 | Sap Se | Database management for mobile devices |
US10437564B1 (en) | 2016-09-16 | 2019-10-08 | Software Tree, LLC | Object mapping and conversion system |
US10678562B2 (en) * | 2016-11-17 | 2020-06-09 | K&M Systems, Inc. | Systems and methods for facilitating real-time analytics |
US10262053B2 (en) | 2016-12-22 | 2019-04-16 | Palantir Technologies Inc. | Systems and methods for data replication synchronization |
US10068002B1 (en) | 2017-04-25 | 2018-09-04 | Palantir Technologies Inc. | Systems and methods for adaptive data replication |
US10430062B2 (en) | 2017-05-30 | 2019-10-01 | Palantir Technologies Inc. | Systems and methods for geo-fenced dynamic dissemination |
US11030494B1 (en) | 2017-06-15 | 2021-06-08 | Palantir Technologies Inc. | Systems and methods for managing data spills |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US10380196B2 (en) | 2017-12-08 | 2019-08-13 | Palantir Technologies Inc. | Systems and methods for using linked documents |
US10915542B1 (en) | 2017-12-19 | 2021-02-09 | Palantir Technologies Inc. | Contextual modification of data sharing constraints in a distributed database system that uses a multi-master replication scheme |
US11144675B2 (en) | 2018-09-07 | 2021-10-12 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
FR3096799B1 (fr) * | 2019-05-29 | 2021-11-05 | Amadeus | Agrégation et mise à jour d’objets de donnée hétérogènes |
CN111639062B (zh) * | 2020-05-29 | 2023-07-28 | 京东方科技集团股份有限公司 | 一种数据仓库一键搭建的方法、系统及存储介质 |
US11797528B2 (en) | 2020-07-08 | 2023-10-24 | OneTrust, LLC | Systems and methods for targeted data discovery |
EP4189569A1 (en) | 2020-07-28 | 2023-06-07 | OneTrust LLC | Systems and methods for automatically blocking the use of tracking tools |
US11475165B2 (en) | 2020-08-06 | 2022-10-18 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
US11436373B2 (en) | 2020-09-15 | 2022-09-06 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
US20230334158A1 (en) | 2020-09-21 | 2023-10-19 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
US11397819B2 (en) | 2020-11-06 | 2022-07-26 | OneTrust, LLC | Systems and methods for identifying data processing activities based on data discovery results |
CN112635087B (zh) * | 2020-12-23 | 2024-01-12 | 福建福清核电有限公司 | 一种核电站操纵员站直接识别故障设备真实状态的方法 |
US11687528B2 (en) | 2021-01-25 | 2023-06-27 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
US11442906B2 (en) | 2021-02-04 | 2022-09-13 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
US11494515B2 (en) | 2021-02-08 | 2022-11-08 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US11601464B2 (en) | 2021-02-10 | 2023-03-07 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
WO2022178089A1 (en) | 2021-02-17 | 2022-08-25 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
US11546661B2 (en) | 2021-02-18 | 2023-01-03 | OneTrust, LLC | Selective redaction of media content |
US11533315B2 (en) | 2021-03-08 | 2022-12-20 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4930071A (en) | 1987-06-19 | 1990-05-29 | Intellicorp, Inc. | Method for integrating a knowledge-based system with an arbitrary database system |
US5206951A (en) * | 1987-08-21 | 1993-04-27 | Wang Laboratories, Inc. | Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types |
US5261080A (en) * | 1987-08-21 | 1993-11-09 | Wang Laboratories, Inc. | Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats |
US5133075A (en) | 1988-12-19 | 1992-07-21 | Hewlett-Packard Company | Method of monitoring changes in attribute values of object in an object-oriented database |
US5161225A (en) | 1989-10-23 | 1992-11-03 | International Business Machines Corporation | Persistent stream for processing time consuming and reusable queries in an object oriented database management system |
US5181162A (en) | 1989-12-06 | 1993-01-19 | Eastman Kodak Company | Document management and production system |
US5297279A (en) * | 1990-05-30 | 1994-03-22 | Texas Instruments Incorporated | System and method for database management supporting object-oriented programming |
US5201046A (en) | 1990-06-22 | 1993-04-06 | Xidak, Inc. | Relational database management system and method for storing, retrieving and modifying directed graph data structures |
US5295261A (en) * | 1990-07-27 | 1994-03-15 | Pacific Bell Corporation | Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure |
US5235701A (en) * | 1990-08-28 | 1993-08-10 | Teknekron Communications Systems, Inc. | Method of generating and accessing a database independent of its structure and syntax |
WO1992007331A1 (en) | 1990-10-16 | 1992-04-30 | Consilium, Inc. | Object-oriented architecture for factory floor management |
US5295256A (en) * | 1990-12-14 | 1994-03-15 | Racal-Datacom, Inc. | Automatic storage of persistent objects in a relational schema |
US5291583A (en) * | 1990-12-14 | 1994-03-01 | Racal-Datacom, Inc. | Automatic storage of persistent ASN.1 objects in a relational schema |
US5212787A (en) * | 1991-03-12 | 1993-05-18 | International Business Machines Corporation | Method and apparatus for accessing a relational database without exiting an object-oriented environment |
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 |
US5317742A (en) * | 1991-06-21 | 1994-05-31 | Racal-Datacom, Inc. | Dynamic translation of network management primitives to queries to a database |
US5596746A (en) * | 1991-10-21 | 1997-01-21 | General Electric Company | Method for transforming relational data base schemas into object models using ideal table meta models |
US5426780A (en) * | 1992-02-28 | 1995-06-20 | Intergraph Corporation | System for dynamic segmentation analysis using conversion of relational data into object-oriented data |
US5504885A (en) * | 1993-06-29 | 1996-04-02 | Texas Instruments Incorporated | O-R gateway: a system for connecting object-oriented application programs and relational databases |
WO1995003586A1 (en) * | 1993-07-21 | 1995-02-02 | Persistence Software, Inc. | Method and apparatus for generation of code for mapping relational data to objects |
WO1995004960A2 (en) * | 1993-08-02 | 1995-02-16 | Persistence Software, Inc. | Method and apparatus for managing relational data in an object cache |
US5548749A (en) * | 1993-10-29 | 1996-08-20 | Wall Data Incorporated | Semantic orbject modeling system for creating relational database schemas |
US5873093A (en) * | 1994-12-07 | 1999-02-16 | Next Software, Inc. | Method and apparatus for mapping objects to a data source |
US6223227B1 (en) * | 1994-12-07 | 2001-04-24 | Next Software, Inc. | Method for providing stand-in objects |
US5799309A (en) * | 1994-12-29 | 1998-08-25 | International Business Machines Corporation | Generating an optimized set of relational queries fetching data in an object-relational database |
-
1996
- 1996-04-23 EP EP96913086A patent/EP0823092A1/en not_active Ceased
- 1996-04-23 WO PCT/US1996/005678 patent/WO1996034350A1/en active Application Filing
- 1996-04-23 JP JP8532654A patent/JPH11504451A/ja active Pending
-
1997
- 1997-10-16 US US08/951,714 patent/US6374252B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892197B2 (en) | 1999-01-20 | 2005-05-10 | Fujitsu Limited | Database transition system and program storage medium |
US10268644B2 (en) | 2014-02-24 | 2019-04-23 | Fujitsu Limited | Information processing apparatus, computer-readable recording medium having stored therein data conversion program, and data conversion method |
Also Published As
Publication number | Publication date |
---|---|
US6374252B1 (en) | 2002-04-16 |
WO1996034350A1 (en) | 1996-10-31 |
EP0823092A1 (en) | 1998-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11504451A (ja) | データベース構造に適したオブジェクトのモデリング、リレーショナルデータベース構造への翻訳、それらへの流動的なサーチ | |
US7043488B1 (en) | Method and system for storing hierarchical content objects in a data repository | |
US7805465B2 (en) | Metadata management for a data abstraction model | |
US6795825B2 (en) | Database querying system and method | |
US7895243B1 (en) | Method and system for moving content in a content object stored in a data repository | |
US6611840B1 (en) | Method and system for removing content entity object in a hierarchically structured content object stored in a database | |
US7062502B1 (en) | Automated generation of dynamic data entry user interface for relational database management systems | |
US7340481B1 (en) | Method and system for adding user-provided content to a content object stored in a data repository | |
US9003282B2 (en) | Method and system for managing volumes within a compilation of content | |
US7007034B1 (en) | File structure for storing content objects in a data repository | |
US6986102B1 (en) | Method and configurable model for storing hierarchical data in a non-hierarchical data repository | |
US7401097B1 (en) | System and method for creating compilations of content | |
US20060116999A1 (en) | Sequential stepwise query condition building | |
US20030154191A1 (en) | Logical data modeling and integrated application framework | |
AU2005225020B2 (en) | Complex data access | |
WO1997033241A1 (en) | System and apparatus for loading and retrieving information | |
EP1763800A1 (en) | Defining a data dependency path through a body of related data | |
KR20010012305A (ko) | 정보처리 시스템내 데이터를 저장하고 조작하기 위한시스템 및 방법 | |
CA2391750A1 (en) | Information system | |
Whitney | Relational data management implementation techniques | |
Bai et al. | Introduction to databases | |
JPH06282576A (ja) | ネットワーク型データベースのリレーショナルアクセス方式 | |
Bai | Practical database programming with Visual C#. NET | |
Timson | The file manager system | |
Nordeen | Learn SQL in 24 Hours |