JPH113359A - 照会処理システム、方法及びプログラム - Google Patents

照会処理システム、方法及びプログラム

Info

Publication number
JPH113359A
JPH113359A JP10121038A JP12103898A JPH113359A JP H113359 A JPH113359 A JP H113359A JP 10121038 A JP10121038 A JP 10121038A JP 12103898 A JP12103898 A JP 12103898A JP H113359 A JPH113359 A JP H113359A
Authority
JP
Japan
Prior art keywords
query
type
view
application
view type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10121038A
Other languages
English (en)
Other versions
JP3362770B2 (ja
Inventor
Michael J Carey
マイケル・ジェイ・カレー
Gerald G Kiernan
ジェラルド・ジィ・キーナン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH113359A publication Critical patent/JPH113359A/ja
Application granted granted Critical
Publication of JP3362770B2 publication Critical patent/JP3362770B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/24—Querying
    • G06F16/245—Query processing
    • G06F16/2455—Query execution
    • G06F16/24552—Database cache management
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/24—Querying
    • G06F16/242—Query formulation
    • G06F16/2433—Query languages
    • G06F16/2438—Embedded query languages
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/24—Querying
    • G06F16/245—Query processing
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28—Databases characterised by their database models, e.g. relational or object models
    • G06F16/289—Object oriented databases
    • Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00—Data processing: database and file management or data structures
    • Y10S707/953—Organization of data
    • Y10S707/954—Relational
    • Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00—Data processing: database and file management or data structures
    • Y10S707/953—Organization of data
    • Y10S707/955—Object-oriented
    • Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00—Data processing: database and file management or data structures
    • Y10S707/99931—Database or file accessing
    • Y10S707/99933—Query processing, i.e. searching
    • Y10S707/99934—Query formulation, input preparation, or translation

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 照会結果として、ビュー・オブジェクトに対
するハンドルをアプリケーション・タイプとして返却す
ることを可能にする。 【解決手段】 ビューはここではビュー・タイプの収集
として定義され、ビュー・タイプはクラスまたはタイプ
として定義される。ビュー・タイプを参照する照会の受
信に際して照会エンジンが照会プランを生成し、これが
ビュー・タイプにもとづきメモリ内にモック(すなわち
プロキシ)・アプリケーション・タイプ・オブジェクト
を生成する。アプリケーション・オブジェクトは結果と
して返却されるオブジェクトのタイプに対するクラス定
義に一致する形式を有する。アプリケーションはアプリ
ケーション・タイプ・オブジェクト上でメソッドを実行
できたり、アプリケーションに返却されるアプリケーシ
ョン・オブジェクトに対するハンドルから他のアプリケ
ーション・タイプ・オブジェクトを指し示すことができ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クライアント/サ
ーバ環境において、オブジェクト技術及びデータベース
技術を統合する分野におけるシステム、方法及びプログ
ラムに関し、特に、照会に応答して、照会エンジンによ
りデータベースまたは他のデータ源から結果を検索する
ことにより、オブジェクトを生成し、アプリケーション
・オブジェクトに対するハンドルを照会結果として返却
することにより、アプリケーションにより使用されるよ
うにするものである。
【0002】
【従来の技術】データベースはコンピュータ化された情
報記憶及び検索システムである。リレーショナル・デー
タベース管理システム(RDBMS)は、リレーショナ
ル技術を用い、データを記憶及び検索するデータベース
管理システム(DBMS)である。リレーショナル・デ
ータベースは、データの行及び列を含むテーブルに編成
される。行は正式には組(tuple)と呼ばれる。データ
ベースはたくさんの組を有し、各テーブルは複数の組及
び複数の列を有することができる。テーブルは通常、半
永久的記憶のための磁気または光ディスク・ドライブな
どの、ランダム・アクセス記憶装置(DASD)上に記
憶される。
【0003】DBMSは、データを記憶、検索及び消去
するためのコマンドを受諾するように構成される。広く
使用される公知のコマンド・セットの1つは、構造化照
会言語(SQL)と呼ばれる。現SQL規格は非公式に
は、SQL/92として知られる。SQLの定義は、指
定されたデータベース内容が存在すれば、DBMSが特
定の照会に対して、特定のデータ・セットにより応答す
るように規定する。しかしながら、DBMSが要求情報
をディスク・ドライブ上のテーブル内で実際に見い出す
ために使用する方法はDBMSに委ねられる。DBMS
が要求データをアクセスするために使用する2つ以上の
方法が存在し得る。DBMSは、使用されるコンピュー
タ時間、従って照会を実行するための費用を最小化する
ように、照会内で要求されるデータを見い出すために使
用される方法を最適化する。
【0004】オブジェクト指向データベース(OOD
B)では、データベースが、他のオブジェクトへのポイ
ンタであるメンバを有するオブジェクトに編成される。
オブジェクトは、データベース内の他のオブジェクトへ
の参照、及び参照の収集を含み、従って複雑なネスト化
構造を有するデータベースに導く。
【0005】照会はビューの内容を宣言により指定す
る。リレーショナル・データベースでは、ビューは本質
的にデータの仮想行及び仮想列を有する仮想テーブルで
ある。ビューは直接的に、記憶装置内の実データにマッ
プされないが、ビューはあたかもそれらが表すデータが
実際に記憶されるかのように、検索のために使用され得
る。ビューはユーザに、実際には複数のテーブルに跨る
情報の単一の論理ビューを提供するために使用され得
る。
【0006】オブジェクト指向(OO)ビューは、リレ
ーショナル・ビューがリレーショナル・データに果たす
ように、オブジェクト・データに対して類似のサービス
を提供する。OOビューは、1つ以上の照会可能な収集
に含まれるオブジェクト内のデータを参照する別の方法
である。OOビューは、仮想結果の収集の名前付き指定
である。リレーショナル・ビューと同様、一部のOOシ
ステム内の幾つかのOOビューの本体は、ビューの内容
を宣言により指定する照会であり得る。リレーショナル
・スキーマに比較して、OOスキーマは収集などの多値
属性を含むタイプの豊富なセットにより定義される。こ
れらのタイプはアプリケーションのスキーマ内で、階層
的な多対多の関係を直接モデル化する。例えば、部門は
従業員のセットを有し、従業員は子供のセットを有する
などである。
【0007】オブジェクト及びビューについては、更に
以下の文献で述べられている。Thierry Barsalou、Arth
ur M.Keller、Niki Siambela、Gio Wiederholdらによ
る"Updating Relational Databases through Object-Ba
sed Views"、Proc.ACM-SIGMOD International Confere
nce on Management of Data、Denver、June 1991。(以
下、参考文献1)
【0008】Harumi A.Kuno及びElke A.Rundensteine
rらによる"The MultiView OODB View System:Design a
nd Inplementation"、University of Michigan Techini
calReport CSE-TR-241-95。(以下、参考文献2)
【0009】Sandra Heiler、Stanley Zdonikらによる"
Object Views:Extending the Vision"、Proc.IEEE In
ternational Conference on Data Engineering 90、Apr
il 1990。(以下、参考文献3)
【0010】Sterge Abiteboul、Anthony Bonnerらによ
る"Objects and Views"、Proc. ACM-SIGMOD Internati
onal Conference on Management of Data、ACM 2/91。
(以下、参考文献4)
【0011】Won Kim、William Kelleyらによる"On Vie
w Support in Object-Oriented Database Systems"、Mo
dern Database Systems:The Object Model、Interoper
ability、and Beyond、Part 1/Next-Generation Databa
se Technology、chapter 6、1995。(以下、参考文献
5)
【0012】M.J.Carey、L.M.Haas、P.M.Schwar
z、M.Arya、W.F.Cody、R.Fagin、M.Flickner、A.
W.Luniewski、W.Niblack、D.Petkovic、J.Thomas、
J.H.Wiliams及びE.L.Wimmersらによる"Towards Het
erogeneous Multimedia Information Systems:The Gar
lic Approach"、Proc.1995、IEEE Workshop on Resear
ch Issues in Data Engineering、Taipei、Taiwan、Mar
ch 1995。(以下、参考文献6)
【0013】U.Dayalによる"Queries and Views in an
Object-Oriented Data Model"、Proc.2nd Internatio
nal Workshop on Database Programming Languages;Ri
chard Hull、Ron Morrison及びDavid Stemple編集、Gle
neden Beach、June 1989。(以下、参考文献7)
【0014】オブジェクト技術及びデータベース・シス
テムの統合は、過去10年の間の研究の活発な領域であ
った。これら2つの技術の統合の1つの重要な面は、オ
ブジェクト・データをアクセスし処理するための効率的
で宣言的な照会インタフェースを提供することである。
存続性(persistence)をC++やスモールトークなど
のオブジェクト指向言語に統合するなどの、オブジェク
ト指向データベース(OODB)技術の他の面と比較し
て、OODB研究の初期には照会に対してほとんど注意
が払われなかった。Mike Stonebrakerらによる"Third G
eneration DataBase System Manifesto"、Computer Sta
ndards & Interface、12 December 1991(以下、参考文
献8)を参照されたい。Won Kimによる"Object-Oriente
d Database Systems:Promise、Reality、and Futur
e"、Proc.19th International Conference on Very La
rge Data Bases、Dublin、August 1993(以下、参考文
献9)では、大部分の市販のOODBシステムがこの点
に関し、極めて弱いことが指摘されている。しかしなが
ら、OODB分野が発展するにつれ、OODB照会言語
に対する次に示すような多数の提案が、データベース文
献として現れた。
【0015】Carey、Michael、DeWitt、David、Vandenb
erg、Scottらによる"A Data Modeland Query Language
for EXODUS"、Proc.ACM-SIGMOD International Confer
ence on Management of Data、Chicago、June 1988。
(以下、参考文献10)
【0016】Kim、Wonらによる"A Model of Queries fo
r Object-Oriented Databases"、Proc.15th Internati
onal Conference on Very Large Data Bases、Amsterda
m、August 1989。(以下、参考文献11)
【0017】Bancilhon、Francois、Cluet、S.、Delob
el、C.による"A Query Language for the O2 Object-O
riented Database System"、Proc.2nd International
Workshop on Database Programming Languages;Hull、
Richard、Morrison、Ron、Stemple、David編集、Glened
en Beach、June 1989、Morgan-Kaufmann Publishers、I
nc.。(以下、参考文献12)
【0018】Orenstein、Jack、Haradhvale、Sam、Marg
ulies、Benson、Sakahara、Donらによる"Query Process
ing in the ObjectStore Database System"、Proc.ACM
-SIGMOD International Conference on Management of
Data、San Diego、June 1992。(以下、参考文献13)
【0019】Dar、S.、Gehani、N.、Jagadish、H.ら
による"CQL++:A SQL for a C++ Based Object-Oriente
d DBMS"、Proc.International Conference on Extendi
ng Data Base Technology、Advances in Database Tech
nology EDBT '92。Lecture Notes in Computer Scienc
e、Vienna、1992、Springer-Verlag。(以下、参考文献
14)
【0020】Kifer、Michael、Kim、Won、Sagiv、Yehos
huaらによる"Querying Object-Oriented Databases"、P
roc.ACM-SIGMOD International Conference on Manage
mentof Data、San Diego、June 1992。(以下、参考文
献15)
【0021】Atwood、Tom、Duhl、Joshua、Ferran、Gu
y、Loomis、Mary、Wade、Drewらによる"Object Query L
anguage"、Object Database Standards:ODMG-93 Relea
se 1.1、R.G.G.Cattell編集、Morgan-Kaufmann Pub
lishers、Inc.、1993。(以下、参考文献16)
【0022】Blakeley、Jose、McKenna、William J.、
Graefe、Goetzらによる"Experiences building the ope
n oodb query optimizer"、Proc.ACM-SIGMOD Internat
ional Conference on Management of Data、Washingto
n、D.C.、May 1993。(以下、参考文献17)
【0023】例えば、O2及びObjectStore(ObjectSto
reはオブジェクト・デザイン社の商標)の各々は、オブ
ジェクト照会言語のそれら自身の特色を提供する。Obje
ctStoreの照会言語はC++の表現構文の拡張である。
O2の照会言語は一般に、よりSQLに似ており、OO
DBシステム・ベンダのコンソーシアムにより提案され
たOODB照会言語規格(OODMG−93)に適合化
されたが、これは多くの点でSQLとは異なる。(前記
参考文献16、及びKim、W.による"Observations on t
he ODMG-93 Proposal"、ACM-SIGMOD Record、23(1)、
March 1994(以下、参考文献18)を参照されたい。)
【0024】オブジェクト技術及びデータベースシステ
ムとを統合する別の一面は、リレーショナル・データか
らオブジェクトを生成することであった。Persistence
Software社は、スナップイン・データベース・オブジェ
クトを生成するためのオブジェクト・ビルダを提供し、
これはリレーショナル・データベース情報をオブジェク
ト・アプリケーションにマップする。("Enabling the
Integration of Object Applications with Relational
Databases"、Persistence Software、Inc.;http//ww
w.persistence.com/persistence/pageTwo.pages/tec
hoview.htn;4/2/97 1:40PM(以下、参考文献19)
参照。)
【0025】C++ツール用のIBM VisualAgeの一
部であるデータ・アクセス・ビルダ(DAX)は、DB
2リレーショナル・データベースに接続するGUI(グ
ラフィカル・ユーザ・インタフェース)アプリケーショ
ンである。特定のテーブルのセットに対して、DACが
テーブル内の行に対するC++クラス定義を生成する。
次に"キーによる発見(Find by key)"機能を用いてデ
ータが検索される。例えば、従業員を想定する場合、こ
の機能は名前、番号及び給料を有するC++クラスを生
成する。"キーによる発見"機能呼び出しを発行すること
により、例えば従業員番号25の従業員に対するデータ
を検索することができる。
【0026】ObjectStoreゲートウェイ、DBコネクト
は、オブジェクト・デザイン社(ODI)から販売され
るObjectStore OODBMSのためのリレーショナル・
データベース・ゲートウェイである。この製品は、リレ
ーショナル・データベースからオブジェクト指向データ
ベースにデータを取り出す。
【0027】要するに、リレーショナル・データベース
管理システム(RDBMS)は、データをSQLなどの
言語を用いて照会され得るテーブルに記憶する。テーブ
ルはビューを用いて意図的に定義される。行のセットを
明示的に記憶する代わりに、ビューはその内容を他のビ
ューまたはテーブルから導出する。ユーザは照会をテー
ブルを通じて表現するとき同様、照会をビューを通じて
表現する。ビューは照会を用い、その内容を指定する。
ビュー機構はリレーショナルDBMS(RDBMS)に
対して果たすように、オブジェクト指向DBMS(OO
DBMS)に対しても類似のサービスを提供することが
できる。
【0028】RDBMSに反して、OODBMSはプロ
グラミング言語タイプ及びデータベース・タイプの繋ぎ
目の無い統合において、アプリケーション・タイプを処
理する。従って、プログラミング言語環境内のアプリケ
ーション・オブジェクトに対するハンドルが、照会結果
としてOODBMSから返却され得る。しかしながら、
ビューはDBMSにより処理され導出されるタイプであ
るので、照会はハンドルをビューにアプリケーション・
タイプとして返却することが出来ない。
【0029】リレーショナル・データベースは、テーブ
ルが照会されるとき同様に照会され得るビューを有す
る。同様に、オブジェクトを照会するとき同様、オブジ
ェクト指向データベース内のオブジェクト・ビューを照
会できることが望ましい。しかしながら、オブジェクト
指向データベースは、アプリケーション・オブジェクト
に対するハンドルを返却できるが、ビューが返却される
場合、ビューに対するオブジェクトが存在せず、従って
そのハンドルが返却され得ないために問題が生じる。
【0030】例えば、リレーショナル・データベース管
理システムでは、"従業員"のテーブルが存在し、ユーザ
が給料が100,000ドルより高い"裕福な従業員(R
ichEmployee)"と呼ばれる"高給従業員(high salaried
employee)"のビューを希望する場合、"裕福な従業員"
ビューが、テーブル"従業員(Employee)"が処理される
ときと同様に処理される。しかしながら、ビュー"裕福
な従業員"はデータベースによってのみ知られており、
すなわち、ユーザは決していかなる高給従業員オブジェ
クトに対するハンドルも獲得しない。ユーザは要求され
た属性を返却されるだけである。それに対してオブジェ
クト指向データベース管理システムでは、例えば名前、
番号及び給料などの属性を獲得する他に、ユーザは実際
のオブジェクトに対するハンドルを獲得できる。それ自
体、データベース・オブジェクトとアプリケーション・
オブジェクトとは実際同一であり、ユーザはそれらに対
するハンドルを獲得できる。上述したように、ビューの
実施例は問題を被る。なぜなら、ビューは仮想的、すな
わち実際に存在しないからである。ユーザがビューに対
して"裕福な従業員"ビューから、フィールドだけ(例え
ば番号、名前及び給料など)を検索する通常のリレーシ
ョナル操作を実行する限り、ユーザはいかなる問題も有
さない。しかしながら、ユーザは"裕福な従業員"ビュー
に対するハンドルを獲得することができず、従ってこの
ビューに対して他の操作、例えば"裕福な従業員"ビュー
のフレームワークの外の他のデータを含み得るラン(ru
n)・メソッドを実行することが出来ない。
【0031】オブジェクト指向またはリレーショナルな
どの任意のデータベース管理システムにおいて、照会リ
ライト変換及びシステム管理照会最適化は、受け入れ可
能な照会性能を保証するために重要な機構である。照会
を最適化するための照会リライト変換は、リレーショナ
ルDBMSにおいて既に開発済みである。これに関して
は、Hamid Pirahesh、Joseph M.Hellerstein及びWagar
Hasanらによる"Extensible/Rule Based Query Rewrite
Optimization in Starburst"、Proc.ACM-SIGMOD Inte
rnational Conference on Management of Data、San Di
ego、June 1992(以下、参考文献20);Inderpal Sin
gh Mumick、Sheldon J.Finkelstein、Hamid Pirahesh
及びRaghu Ramakrishnanらによる"Magic is Relevan
t"、Proc.ACM-SIGMOD International Conference on M
anagement of Data、pages 247-258、Atlantic City、M
ay 1990(以下、参考文献21)、及びInderpal Singh
Mumick、Hamid Pirahesh及びRaghu Ramakrishnanによ
る"The Magic of Duplicates andAggregates"、Proc.1
6th International Conference on Very Large Data Ba
ses、Brisbane、August 1990(以下、参考文献22)を
参照されたい。これらの変換の多くは、オブジェクト照
会システムにも当てはまる。しかしながら、特にオブジ
ェクト照会システムに当てはまる新たな照会リライト変
換が、開発される必要がある。Sophie Cluet及びClaude
Delobelらによる"A General Framework for the Optim
ization of Object-Oriented Queries"、Proc.ACM-SIG
MOD International Conference on Management of Dat
a、San Diego、June 1992(以下、参考文献23)を参
照されたい。
【0032】本願は本願と同日出願の係属中の米国特許
出願第08/853294号(内部ドケット番号ST9
97071)"A System、Method、and Program for App
lying Query Rewrite Technology to Object Building"
(以下、関連特許出願1)と、同一の発明者によるもの
であり、主題的にも関連する。
【0033】本願は本願と同日出願の係属中の米国特許
出願第08/853270号(内部ドケット番号ST9
97052)"Optimized Caching of SQL Data In An O
bject Server System"(以下、関連特許出願2)と、主
題的に関連する。
【0034】本特許文献の開示の一部は、著作権の保護
に従う題材を含む。著作権の所有者は、特許文献または
特許開示が特許局及び商標局の特許ファイルまたは記録
に現れるとき、何人によるその複写再生にも異存はない
が、それ以外では全ての著作権は保護されるものであ
る。
【0035】
【発明が解決しようとする課題】従って、本発明の目的
は、照会結果として、ビュー・オブジェクトに対するハ
ンドルをアプリケーション・タイプとして返却すること
を可能にする照会処理アルゴリズムと一緒に、メタデー
タ構成を提供することである。
【0036】本発明の別の目的は、ビューを照会からア
プリケーション・タイプとしてレンダリングすることに
より、照会システムがビュー・タイプにもとづき、メモ
リ内にモック・オブジェクトを生成することを可能に
し、それが次にアプリケーションに結果として返却さ
れ、処理されるようにするものである。
【0037】
【課題を解決するための手段】本発明の好適な実施例
は、クライアントを第1層、オブジェクト照会サービス
を第2層、そしてRDBMSを第3層として有する3層
(three tier)環境において使用される。第1層のクラ
イアントが照会をビューを通じて発行する。オブジェク
ト照会サービスの照会エンジンが、照会のできるだけ多
くの述語を、自身の照会エンジンを有する第3層のリレ
ーショナル・データベース管理システム(RDBMS)
にプッシュダウンする。RDBMSは組をオブジェクト
照会サービスに返却する。必要に応じてオブジェクト照
会サービスはオブジェクトをそのメモリ内に生成し、R
DBMSにプッシュダウンされなかった述語をそのメモ
リから解析する。オブジェクト照会サービスはクライア
ントに照会結果に対するハンドルを返却し、これはオブ
ジェクト照会サービスによりメモリ内に生成またはレン
ダリングされたアプリケーション・オブジェクトを含み
得る。第2層のオブジェクト照会サービスの照会エンジ
ンは、照会にリライト最適化技術を実行することによ
り、オブジェクト照会サービスのメモリ内でのオブジェ
クトの生成を最小化する。
【0038】ここで第2層のオブジェクト照会サービス
及びリレーショナル・データベース管理システムの両方
は、それら自身の照会エンジンを有する点に留意された
い。用語"照会エンジン"、"照会システム"及び"照会サ
ービス"の使用は、第3層のRDBMSが参照されるこ
とを示す語句または内容により明示されない限り、ここ
では第2層システムを指し示す。
【0039】本発明のシステム、方法及びプログラムの
様々な面が、次のように要約される。オブジェクト言語
(例えばC++)によりアプリケーションを作成するプ
ログラマは、リレーショナル・データベースからデータ
の特定のビューを要望し得る。プログラマはプログラミ
ング・ツールを用いて、ビュー・タイプ定義を生成し、
これが第2層の照会エンジン・カタログに記憶される。
ビュー・タイプは少なくともトランザクションの期間
中、照会エンジン・カタログに記憶され得るが、他の実
施例では、ビュー・タイプを異なる期間、例えば複数の
トランザクションに渡り、異なる様式で照会エンジン・
カタログ内に維持する。"ビュー・タイプ"はここでは、
多くのOODBMS及びOOS内で見い出されるクラス
と収集との区別を維持するために導入される。1つのビ
ュー・タイプが、インスタンス・ビュー列の他に、複数
のビュー及び多値ビュー列に対しても使用され得る。そ
れ自体、ビュー・タイプはクラスまたはタイプに類似
し、ビューは収集に類似する。
【0040】ツールはまた、アプリケーション・ファイ
ルに記憶されるオブジェクト言語(例えばC++)クラ
ス定義を生成する。従って、この同一のソフトウェア・
ツールは、プログラマのために所望のビュー及びビュー
・タイプのスキーマ及び方法論にもとづき、両方の結合
を生成するために使用される。ユーザによりグラフィカ
ル・ユーザ・インタフェース(GUI)を用いて指定さ
れるスキーマ及び方法論の図形表現などを通じて、スキ
ーマ及び方法論がツールにより受け取られると、ツール
はオブジェクトを生成するために照会システムにより適
用される規則にもとづき、そのビューから照会システム
により使用される第2層のメモリ内に、ビュー・タイプ
定義及び適合するアプリケーション・クラス定義を生成
する。プログラマは、ツールが行うのと同様にビューを
生成し、正しいコンストラクタにより対応するクラス定
義を生成する規則を知ることにより、手でビュー・タイ
プ定義及びクラス定義を生成できよう。コンストラクタ
は、あるタイプのオブジェクトを生成または初期化する
ために呼び出される特殊なメソッドである。従業員タイ
プに対するコンストラクタは、番号、名前及び給料のパ
ラメータを有する従業員コンストラクタである。従業員
オブジェクトを生成するために、コンストラクタが呼び
出され、コンストラクタは番号、名前、給料及び他の情
報を初期化する。これはオブジェクトのために記憶を割
り当てるのとは異なるステップである。代わりに、これ
はオブジェクトのデータ部分の初期化に関連付けられ
る。リレーショナル・テーブルから導出されて、ビュー
・タイプが定義される場合、そのビュー・タイプのメタ
データ・カタログ記述だと、照会システムが認識し、動
的に呼び出す機構のようなコンストラクタを有するクラ
ス定義とが存在する。照会システムがコンストラクタに
受け渡すパラメータは、照会システムがビュー・タイプ
定義内で見い出すものにもとづく特定の規則にもとづ
く。照会システムはビュー・タイプ定義を注視し、その
内容にもとづき特定の仮定を行い、メモリ内にオブジェ
クトを再生するために、コンストラクタへの呼び出し内
に含むべき情報を決定する。従って、メタデータ記述、
すなわちカタログ内のビュー・タイプ、及びオブジェク
ト言語(例えばC++)クラス定義は、オブジェクト生
成のために一致しなければならない。署名すなわちパラ
メータ(例えば番号、名前及び給料)もまた、最適化を
強化するために綿密に一致すべきである。
【0041】照会システムは、照会システムがビューを
参照する照会を受信するとき、キャッシュ・メモリ内に
オブジェクトのインスタンスを生成する。1実施例で
は、ビューを参照する照会が受信される度に、オブジェ
クトのインスタンスが生成される。別の実施例では、た
とえ照会がビューを参照する場合にも、幾つかの照会に
対してオブジェクトを生成することを回避するように照
会が最適化される。前記関連特許出願1は、幾つかの最
適化技術を開示する。
【0042】照会システムがオブジェクトのインスタン
スを生成するとき、オブジェクトは第2層の照会システ
ム・サーバ内のキャッシュ・メモリに記憶される。メモ
リに記憶されたオブジェクトは、"モック(mock)"(す
なわちプロキシ)・オブジェクトと呼ばれる。なぜな
ら、これらのオブジェクトはいかなるデータ自身も含ま
ないからである。これらは、ビューがそのデータを導出
するために実行するのと同一の計算を再実行する。例え
ば"裕福な従業員"ビュー・タイプが"従業員"に関してメ
モリ内に定義される場合、"裕福な従業員"のビュー・タ
イプ・オブジェクトは、そのデータ部分に"従業員"に対
するハンドルを有する。そのタイプの全てのメンバ
は、"従業員"から導出される。メモリ内に生成されるも
のは、実オブジェクトであるが、オブジェクトはそのデ
ータを他のもの、例えば行から導出する。例えば"従業
員"オブジェクトは、データベース内の行から導出され
る。データベース行は、第2層のメモリ内に生成され
る。次に、ビュー・タイプ・オブジェクト"従業員"が第
2層内のメモリ内に生成され、その中身はメモリ内の行
へのポインタとなる。第1層上のクライアントは、プロ
キシ、すなわち第2層の照会システム・サーバに内在す
るオブジェクトのインスタンスのリモート・ハンドルを
獲得する。
【0043】前記関連特許出願2は、データの一貫性を
保証するために、オブジェクトのインスタンスに対して
使用されるキャッシング技術を開示する。最も単純なケ
ースでは、第2層上のサーバ・トランザクションが、第
3層上のサーバ・トランザクションと同調する。第2層
上のキャッシュは、第3層上のトランザクションがコミ
ットまたはロールバックされない限り維持される。両方
のトランザクションが第2層及び第3層上で同調し、第
3層上でコミットまたはロールバックが発生すると、キ
ャッシュが第2層上で消去される。これはハイレベルの
ロッキングを有する反復可能な読出しを有するトランザ
クションにおいて、データが第2層上のキャッシュから
検索されるとき、そのデータが第3層のデータベースと
一致することを保証する。第3層においてコミットまた
はロールバックが発生すると、第2層のキャッシュが消
去されるので、これは第3層上のトランザクションに対
してコミットされるあらゆる更新が、第2層内の任意の
続くトランザクションに対して、第2層に反映されるこ
とを保証する。
【0044】上述のキャッシング技術により、第2層に
おけるトランザクションがオブジェクトのインスタンス
の反復可能な読出しを有する場合、第1層におけるトラ
ンザクション全体に渡り、同一の値を有することが保証
される。同様にアプレットが第2層のオブジェクトへの
ハンドルを有し、コミットを発行する場合、第2層のキ
ャッシュは消去され、アプレットはトランザクションの
間に処理された全てのオブジェクトの使用を放棄すべき
である。次に、アプレットがオブジェクトからデータを
要求する場合、アプレットはオブジェクトのインスタン
スとして、リフレッシュされた値を獲得する。
【0045】アプリケーションはそのクラス定義を用い
て返信されるデータを理解する。これがアプリケーショ
ン・ファイルに記憶されるクラス定義、及び照会エンジ
ン・カタログに記憶されるビュー・タイプ定義が両者間
の一貫性を維持するために、同一の規則を用いて生成さ
れ、類似の署名(例えば一致する属性名及びタイプ)を
有する理由である。クラス定義及びビュー・タイプ定義
を生成するために使用される規則は、オブジェクト生成
のために照会エンジンによっても使用され、それは次の
ようである。
【0046】ビュー・タイプVのビュー収集v、及びV
の関連実施例MがSELECTステートメントとして指
定されて提供され、タイプVのビュー・オブジェクトが
照会によりv上で生成される場合、Vがビュー・タイプ
であれば、Vを生成するために使用されるオブジェクト
生成プロシージャ呼び出しが引数を有し、その順序はM
のFROM節内の要素の順序である。FROM節内のi
番目の要素がビュー・タイプの場合、i番目の要素への
結合に対するハンドルが、引数としてオブジェクト生成
プロシージャ呼び出しに渡される。(以下の例では、bu
ild_object機能がこの目的に使用される。)
【0047】Vがビュー・タイプであり、MのFROM
節内のi番目の要素がリレーショナル・テーブルの場
合、Vを生成するために使用されるオブジェクト生成プ
ロシージャ呼び出しは、そのi番目の要素として、呼び
出しに引数として渡される行タイプを有する。行タイプ
は、データベース行のスキーマにもとづき生成される総
称タイプである。引数の順序は、行タイプ内に存在する
列の順序により与えられる。
【0048】本発明の好適な実施例は照会駆動型であ
り、これはリレーショナル技術がオブジェクト技術と統
合されるときに使用される典型的なアプローチに従い、
リレーショナル・スキーマとオブジェクト・スキーマと
の間の1対1の対応にもとづく機構からオブジェクトを
生成する代わりに、ビューからオブジェクトを生成す
る。これらの従来のオブジェクト・ビルダでは、所与の
照会またはビュー定義ではなしに、ポインタを通じてオ
ブジェクトのナビゲーションを可能にするキー機能が、
オブジェクト・ビルダを駆動するために使用される。そ
れとは対照的に、本発明の好適な実施例では、オブジェ
クト・ビルダを駆動するのは、所与の照会及びその照会
内で使用されるビュー・タイプのビュー定義である。本
発明の好適な実施例はまた、オブジェクトが生成される
べき状況または場合を決定する照会最適化機能を含む。
【0049】
【発明の実施の形態】本発明の好適な実施例は、オブジ
ェクト指向SQL(OO−SQL)照会にもとづく、オ
ブジェクト指向データベース(OODB)・ビュー機構
を提供する。好適な実施例はまた、特に生成オブジェク
トの最適化を解決する他のリライト技術と一緒に、リレ
ーショナル型照会リライト技術を使用する。
【0050】こうしたOODBビュー機構を提供する1
つの理由は、異なるユーザまたはユーザ・グループが、
リレーショナル・ビューと共に同一のオブジェクト・デ
ータ上で異なる見通し(perspective)を有することを
可能にするためである。このことが従来の研究文献に登
場した様々なオブジェクト・ビュー機構の提案における
基本的な動機付けであった。(前記参考文献7、前記記
参考文献3のページ86乃至93、前記参考文献4のペ
ージ238乃至247、及び前記参考文献15を参照さ
れたい。)
【0051】更に、OODBビュー機構を有すること
は、レガシー・リレーショナル・ツール及びアプリケー
ションによるアクセスのために、通常、複雑なネスト化
構造として記憶されるOODBデータが、リレーショナ
ル・テーブルとして現れることを可能にする(例えばO
DBCベースのアプリケーション及びリレーショナル・
ミドルウェア製品[マイクロソフト社のProgrammer's R
eference、Microsoft Open Database Connectivity Sof
tware Development Kit、1992参照])。反対に、フラ
ット・リレーショナル・テーブルは、オブジェクト指向
アプリケーションにより使用されるように、複雑なネス
ト化構造に変換され得る。この後者の機能が、本発明の
好適な実施例の説明における焦点である。
【0052】本発明の好適な実施例のビュー機構は、オ
ブジェクト指向データベース(OODB)及びオブジェ
クト指向システム(OOS)からデータを検索するため
に使用される、大規模オブジェクト照会サービスの一部
である。本発明の好適な実施例を組み込むOO−SQL
オブジェクト照会サービス全体が、OMG準拠のオブジ
ェクト照会サービスであり("OMG.Object Services Re
quest for Proposals"、OMG TC Document 94.4.18、1
994、及び"OMG.Object Query Service Specificatio
n、Joint Submission"、OMG TC Document 95.1.1、19
95参照)、これはSQL照会と、オブジェクト技術の要
求を処理する他の技術とにもとづく。OO−SQLオブ
ジェクト照会サービスは、SQLベースの照会アクセス
をオブジェクト指向システム(OOS)(例えばVAC
++、SOM及びコンポーネント・ブローカ・シリー
ズ)、及びオブジェクト指向データベース管理システム
(OODBMS)(例えばObjectStore)に提供する。O
bjectStore、O2及びODMG−93照会インタフェー
スに対比して、OO−SQLは、SQL−92(ISO
−ANS。Database Language SQL ISO/IEC 9075:1992,
1991)への上位互換の拡張を提供するOODB照会イン
タフェース内で実現される。このことはSQLに精通し
たプログラマが全く新たな言語を習得すること無しに、
OODB照会を作成することを可能にする。プログラマ
は単にオブジェクト拡張について習得すればよい。ま
た、このことはリレーショナル・システムのために生成
された多くのツールが、ODBCなどのインタフェース
を介してOODBデータをアクセスすることを可能にす
る。(マイクロソフト社のProgrammer's Reference、Mi
crosoft Open Database Connectivity Software Develo
pment Kit、1992参照。)
【0053】リレーショナルDBMS内でビューを解析
するために使用される技術が、本発明の好適な実施例に
おいて拡張され、オブジェクト・ビューに適応される。
照会リライト技術が多値ビュー列、インスタンス・ビュ
ー列、及びビュー列を横断する経路式を有し得るビュー
上で、オブジェクト照会を解析するために使用される。
多くのOODBMS及びOOS内で見い出されるクラス
と収集との区別を維持するために、"ビュー・タイプ"の
概念が導入される。1つのビュー・タイプが、インスタ
ンス・ビュー列の他に、複数のビュー及び多値ビュー列
に対しても使用される。それ自体、ビュー・タイプはク
ラスまたはタイプに類似し、ビューは収集に類似する。
【0054】ビュー機構は、他のビューにもとづく参照
及び集合値列を含むビュー・タイプの定義をサポート
し、従って全体的な"ビュー・スキーマ"の作成を可能に
する。図3に示される例では、ビュー・タイプVTEm
pの部門メンバが、ビュー・タイプVTDeptのオブ
ジェクトの参照であり、逆に、ビュー・タイプVTDe
ptのempsメンバは、ビュー・タイプVTEmpの
参照を含むビュー収集である。VTEmpのdeptメ
ンバは、ビュー・タイプの1つの参照なので、我々はこ
のメンバをインスタンス・ビュー列と呼ぶ。VTDep
tのempsメンバは収集であるので、これは多値ビュ
ー列として参照される。
【0055】オブジェクト指向DBMS(OODBM
S)は、アプリケーション・タイプとデータベース・タ
イプとの繋ぎ目のない統合を提供する。テーブルの行内
の属性に対応する値を返却するリレーショナル・データ
ベース上での照会と対比して、オブジェクト指向データ
ベースに対する照会は、ハンドルを照会結果として、ア
プリケーション・オブジェクトに返却することができ
る。アプリケーション・オブジェクトに対するハンドル
の返却は、ビューに対する照会にとって問題である。ビ
ューは照会エンジンにより理解されるが、アプリケーシ
ョン・タイプとしての表現を有さない。本発明の好適な
実施例では、ビュー・タイプをアプリケーション・オブ
ジェクトとして返却する問題が解決される。ビュー及び
ビュー・タイプからアプリケーション・オブジェクトを
レンダリングするプロセスは、ここでは"オブジェクト
生成(object building)"と呼ばれる。オブジェクト生
成は照会エンジンの制御の下で照会評価の間に実行され
る。オブジェクト生成により影響を受ける2つのクラス
の照会が存在し、それらは、1)ビュー・タイプを照会
結果として返却する照会と、2)ビュー・タイプ上のメ
ソッドを呼び出す照会である。両方のタイプの照会が、
本発明の好適な実施例において述べられる。更に、新た
な照会リライト・アルゴリズムが、これらの照会を最適
化するために使用される。
【0056】3層環境の説明:図9は、本発明の好適な
実施例の3層環境のハイレベル図を示し、これはクライ
アント/サーバ環境の次の波紋を表す。単なる2つの要
素または層、すなわちクライアント及びサーバの代わり
に、3つの要素または層190、290、390が存在
する。サーバは同一であり、すなわちデータベース管理
システム391が第3層390上にある。しかしなが
ら、以前にクライアントとして参照されたものは今度は
オブジェクト・サーバであり、コンポーネント・ブロー
カ・シリーズ・サーバまたはビジネス・オブジェクト・
サーバとして参照され、第2層290上のオブジェクト
照会サービス291を含む。この3層環境の第1層19
0上のクライアント・アプリケーション191は、大
抵、表現論理だけにより構成され、これらは例えば、ネ
ットスケープ・ブラウザなどのウェブ・ブラウザ上のジ
ャバ・アプレット(Java Applet)により提供される。
以前のアプリケーション論理の大部分は、第2層上のオ
ブジェクト・サーバ上にある。第1層190上のアプリ
ケーション191と、第2層上の290上のオブジェク
ト・サーバとの間の通信プロトコルは、リモート呼び出
し、すなわちオブジェクト上のメソッドである(例え
ば、従業員オブジェクトに対して、雇用、解雇、昇給な
どに関するメソッドを伴う)。例えば、CORBA(O
MG(オブジェクト管理グループ)から販売される共通
オブジェクト・リクエスト・ブローカ・アーキテクチ
ャ)が、第1層と第2層との間で使用され得る。これは
アプリケーションにより照会を実行するために使用され
るOO−SQL、すなわちオブジェクト指向SQL19
9を含む。
【0057】クライアント191は、第2層291のオ
ブジェクト・サーバ上のビジネス・オブジェクト292
を使用し、その大部分の処理を実行する。こうした処理
は主に表現作業である。例えば第1層がステートメン
ト"従業員ビジネス・オブジェクトbから、b.no=21
のbを選択(select b from employee business object
b where b.no=21)"を発行する場合、クライアント・
アプリケーションは結果のカーソルを開き、最初のもの
をフェッチすることにより、従業員21に対するハンド
ルを獲得する。従業員21はオブジェクト・サーバ上の
第2層上のオブジェクトであり、第1層上のクライアン
トはプロキシ192を、すなわちオブジェクトに内在す
るその従業員オブジェクトに対するリモート・ハンドル
を獲得する。別の例として、第1層上のクライアント1
91にあるジャバ・アプレットが、照会199、例え
ば"従業員ビジネス・オブジェクトeから、e.salaryが
10より大きいeを選択(select e from employee bus
iness object e where e.salary is greater than 1
0)"を発行する。これに対して第2層290上のメモリ
・キャッシュ293から、ビジネス・オブジェクトに対
するハンドル192が返却される。
【0058】QE193は照会評価オブジェクトであ
る。QE193及びOBJ192は、CORBAにより
管理されている第2層290へのプロキシである。クラ
イアント・アプリケーションは、オブジェクト・サーバ
290に内在する照会評価に対するハンドルQE193
を有する。アプリケーション191は照会を実行依頼
し、照会サービス291は、その結果をレンダリングす
るために何を成すべきかを決定する。これは照会を、例
えば第3層390上のRDBMS391などのDBMS
に実行依頼することにより達成される。照会サービス2
91がRDBMSから結果を獲得し、オブジェクト生成
ステップを実行する。オブジェクト生成ステップは、キ
ャッシュ293をアクセスし、ビジネス・オブジェクト
をデータベース行の再活動化から逆に獲得する。結果は
この時、キャッシュ293内のオブジェクトであり、結
果として、アプリケーションにハンドルとして返却され
る。OBJ192は、メモリ内のオブジェクト・ビュー
・タイプに対するハンドルである。
【0059】本発明の好適な実施例は、更に、第2層2
90と第3層390との間の対話を含む。第2層のオブ
ジェクト・サーバ290と第3層上のサーバとの間の通
信は、SQL299及び組すなわち行399である。
【0060】オブジェクト・サーバ290は、全ての既
存のレガシー・データ391(IMSなどの階層デー
タ、或いはDB2などのリレーショナル・データ)を受
け取り、データをオブジェクトのように見えるように、
また実行されるように、そして使用されるようにする。
それにより、ユーザはユーザ指定の従業員ビューを要求
することができ、オブジェクト照会サービス291は、
それをメモリ内のオブジェクトとしてレンダリングする
ために、何を成すべきかを理解する必要がある。データ
がテーブルから到来している場合には、オブジェクトが
生成される必要があり得る。本発明の好適な実施例のオ
ブジェクト・サーバ290は、照会指向を有する点が重
要である。他のアプローチでは、データベースからデー
タを引き出し、そのデータを中間サーバにオブジェクト
として配置する。しかしながら、これらの他のアプロー
チでは、データがオブジェクトとして中間サーバに現れ
るとき、オブジェクトはもはやそれらに対して照会を実
行することができない。本発明の好適な実施例のビジネ
ス・オブジェクト・サーバでは、アプリケーション内の
ポインタが照会を実行する以外に、追従され得る統合環
境が存在する。
【0061】生成される幻影は、オブジェクト・データ
ベースの幻影であり、実際にはデータがリレーショナル
・データベース(または階層データベースなどの任意の
他のタイプの非オブジェクト指向データベース)から到
来しているとき、オブジェクトがメモリに内在する。第
2層オブジェクト・サーバ290と第3層上のリレーシ
ョナル・データベースとの間の通信は完全に自動化され
る。オブジェクト・サーバ290内の照会システム29
1は、照会を解決するために、リレーショナル・データ
ベースに送出すべき照会(または照会の一部)、及びオ
ブジェクトをメモリ内に生成するために、オブジェクト
・サーバ内の照会システムを要求する照会(または照会
の一部)を決定する。
【0062】各層の機能を対応するコンピュータ能力に
適合させるために、通常、第1層はネットワーク・コン
ピュータ・モデルまたはワークステーションであり、例
えば、ネットスケープを実行するネットワーク・コンピ
ュータなどであり、第2層はUNIX若しくはAIX、
またはウィンドウズなどを実行するワークステーション
であり、第3層は、MVSを実行するメインフレームで
ある。しかしながら、これら3つの層は全てメインフレ
ームまたはワークステーション上で実行され得る。更
に、3つの層は3つの別々のマシン上に存在しなくても
よい。これら3つの層に対して、1つ若しくは2つ、ま
たは3つのマシンが存在し得る。すなわち、1つ以上の
層が同一のマシン上で実行され得る。
【0063】図10は、第1層190上のクライアント
191、第2層290上のオブジェクト・サーバ、及び
第3層390上のリレーショナル・データベースを有す
る3層環境をより詳細に示す。本発明のオブジェクト照
会サービス291は、第2層上のオブジェクト・サーバ
のインスタンス・マネージャ・オブジェクト・サービス
295に内在する。一部の実施例は、構成済みビジネス
・オブジェクトやリレーショナル・テーブル・ビジネス
・オブジェクト、或いはIMSビジネス・オブジェクト
などに対して、異なるインスタンス・マネージャ・オブ
ジェクト・サービス295を有し得る。
【0064】エンド・ユーザ194はクライアントにお
いて、ブラウザすなわちクライアント・アプリケーショ
ン191上で、C++やジャバ・アプレットなどのオブ
ジェクト指向言語を用いて作業している。ここでクライ
アント・アプリケーション191は大抵、表現論理から
成る。クライアント・アプリケーション論理の最大部分
は、ビジネス・オブジェクト292に内在する。ビジネ
ス・オブジェクトは、典型的には2層クライアント/サ
ーバ環境のクライアント・アプリケーション論理の大部
分の代わりをする。第1層と第2層との間のプロトコル
は、ビジネス・オブジェクト及びビジネス・オブジェク
トに対する操作であり、第2層と第3層との間のプロト
コルは、SQL及び行である。
【0065】ユーザは、ビジネス・オブジェクトに相当
するサーバ上のオブジェクトを指し示すプロキシ・オブ
ジェクト192を獲得する。ここでビジネス・オブジェ
クトは、ビジネス・オブジェクト(BO)部分296、
すなわち外部インタフェース部分と、オブジェクトのデ
ータ部分(DO)297を有する。データ部分は、第3
層上のリレーショナル・データベースから検索される。
サーバ・アプリケーション298は、サーバ上のORB
(オブジェクト・リクエスト・ブローカ)またはコンポ
ーネント・ブローカ・シリーズ・マシンであり、クライ
アント上のプロキシに代わり、要求を獲得し管理する。
例えば、従業員オブジェクトからのget_salaryは、サー
バ・アプリケーションを通じて処理され、要求をディス
パッチし、サーバ上でメソッドを実現する実際のコード
を実行する。構成済みビジネス・オブジェクト292
は、複数の他のオブジェクトから成る。しかしながら、
本発明は構成済みビジネス・オブジェクトと他のビジネ
ス・オブジェクトとを区別しない。本発明の好適な実施
例では、ビュー・タイプが複数の下にあるオブジェクト
を集めることができるが、それらは異なって処理されな
い。本発明の照会システムは、図10においてBO及び
構成済みビジネス・オブジェクトとして示されるオブジ
ェクト292を生成する。
【0066】図11は、スキーマ・アクセス要素921
及び収集アクセス要素922を含む照会システムの移植
性の面を示す。オブジェクト照会サービス(図9の29
1)において使用される照会エンジンの要素には、パー
サ905、照会リライト907、オプティマイザ90
9、及び照会評価サブシステム(QES)911が含ま
れ、これらはリレーショナル・データベース管理システ
ム(RDBMS)391において使用される照会エンジ
ンの要素と類似する。
【0067】図11を参照して、オブジェクト照会サー
ビスの照会エンジンは、次のように説明される。アプリ
ケーション191がOO−SQL照会199を、COR
BAなどの呼び出しレベル・インタフェース(CLI)
913を通じて発行する。スキーマ・アクセス要素92
1が、照会エンジンのカタログを含むCBSデータ・マ
ネージャ及びメタデータ・レポジトリ923から、ビジ
ネス・オブジェクトのビュー及びスキーマ、並びにメソ
ッドを実行するために必要な情報を獲得する。照会エン
ジンは照会を構文解析し(905)、照会グラフと呼ば
れる照会の内部表現、すなわちデータ構造OQGM(オ
ブジェクト照会グラフ・モデル)906を生成する。O
QGM906は、照会リライト要素907に渡される。
照会リライト・エンジン907は照会に変換を適用す
る。これらの照会リライト変換907は、リレーショナ
ル・システムのために開発された標準的なリレーショナ
ル照会リライト技術、及び本発明の好適な実施例のオブ
ジェクト生成のための照会リライト変換を含む。
【0068】照会リライトはオブジェクト生成により影
響を受ける。なぜなら、照会リライトは、オブジェクト
を特定の状況において生成しなければならないことを理
解しなければならないからである。オブジェクト生成は
通常、2つの状況において、すなわち、ユーザがオブジ
ェクトに対するハンドルを要求することにより、それを
求めるとき、或いはメソッドが照会の間に実行されてお
り、照会エンジンがそのメソッドを実行できる唯一の方
法が、オブジェクトを生成することである場合などに発
生する。
【0069】オブジェクト生成はまた、照会最適化及び
照会評価にも影響を与える。オブジェクトを生成するた
めの呼び出しは、照会評価の間に発生する。照会評価の
間、オブジェクトをアプリケーションに返却するため
に、メモリ内にオブジェクトを生成するステップが必要
に応じて追加される。照会評価はオブジェクト生成機能
を呼び出し、これは照会リライトにより照会に挿入され
る。照会処理はまた、オブジェクトが生成される必要が
あるか否か、及びどのような状況において、オブジェク
トを生成することなく、切り抜けられるかを判断する。
【0070】リライト・フェーズ後の結果は、照会グラ
フ908であり、これが最適化フェーズ909により使
用される。各照会が次に、実行可能プラン910に変換
される。データがリレーショナル・データベースから到
来する場合、プランはSQL照会を含む。変換後、照会
プラン(QPL)912が照会評価サブシステム(QE
S)911に渡され、プラン内のSQL照会299がリ
レーショナルDBMS391に仕向けられる。行399
が照会結果として返却される。データがリレーショナル
・データベースから到来する必要がない場合、照会評価
サブシステム(QES)911が、プラン912をオブ
ジェクトの収集に対して実行する。オブジェクト(例え
ばCORBAビジネス・オブジェクト)の順序化された
収集902が、OO−SQLを通じてアプリケーション
901(インタフェースを通じて直接対話するユーザで
あってもよい)に返却される。照会ポインタは単に、ア
プリケーション・プログラム内の仮想メモリ・アドレス
であり、従ってそれらは更に、オブジェクト言語(例え
ばC++、ジャバなど)ベースのナビゲーション及びデ
ータ処理に使用可能なように、アプリケーション・プロ
グラムの作業空間内の有効なポインタでなければならな
い。
【0071】本発明の好適な実施例は、オブジェクト指
向システム(OOS)(例えばVAC++、SOM及び
コンポーネント・ブローカ・シリーズ)、及びオブジェ
クト指向データベース管理システム(OODBMS)
(例えばObjectStore)において、またレガシー・デー
タ(例えばリレーショナル・データまたは階層データ)
を利用する任意のオブジェクト指向アプローチにおい
て、任意のオブジェクト照会サービスに含まれ得る。例
えば、IBMのDataAtlas及びTeam Connection製品は、
ObjectStore OODBMSを組み込んでおり、データへ
の照会アクセスのために、OOSQLを使用している。
本発明の好適な実施例は、コンポーネント・ブローカ・
シリーズ製品について述べられるが、これはクライアン
ト/サーバ・アプリケーションの次の波紋に対して開発
されており3層構成にもとづく。コンポーネント・ブロ
ーカ・シリーズ・オブジェクト照会サービスは、本発明
の好適な実施例で述べられるオブジェクト・ビュー技術
を用い、リレーショナルDBMSを含むレガシー・シス
テムからビジネス・オブジェクトを導出する。クライア
ント・アプリケーションは、"リレーショナル・テーブ
ル"から導出されるビジネス・オブジェクトの収集を照
会することができる。
【0072】本発明はまた、ジャバ、C++、IDLな
ど、本発明の好適な実施例において開示される技術を組
み込むシステムを有することができる任意のオブジェク
ト言語に適用可能である。例えばC++アプリケーショ
ンは、アプリケーションの見通しからC++クラス、す
なわちアイテムに対するプロキシ・オブジェクトを生成
することによりデータベースと対話する。これらのアイ
テムはデータベース内に存在し、ツールにより生成され
得る。C++アプリケーション・プログラムはC++ク
ラスと対話し、それらを通じて照会を行い、それらをナ
ビゲートすることができる。これは任意のオブジェクト
言語において達成され得る。
【0073】オブジェクト・ビューに対する照会におけ
るオブジェクト生成:オブジェクト照会サービスが、所
与の照会に対してオブジェクトを結果として返却するた
めに、或いは述語内で使用されるメソッドを実行するた
めに、オブジェクトが生成される必要があると判断する
と、照会エンジンは最適化された照会プランを生成し、
これにはビューに対応するアプリケーション・オブジェ
クトを生成するためのオブジェクト生成が含まれる。オ
ブジェクト生成からハンドルが、対応するアプリケーシ
ョン・オブジェクトに返却される。
【0074】オブジェクト生成のために照会エンジンに
より使用される規則は、メタデータから、ビュー及びビ
ュー・タイプの形式で駆動される。メタデータからのオ
ブジェクト生成のための規則が最初に与えられ、次に実
施例のセットが提供される。
【0075】ビュー・タイプVのビュー収集v、及びV
の関連実施例MがSELECTステートメントとして指
定されて提供され、タイプVのビュー・オブジェクトが
照会によりv上で生成される場合、Vがビュー・タイプ
であれば、Vを生成するために使用されるオブジェクト
生成プロシージャ呼び出しが引数を有し、その順序はM
のFROM節内の要素の順序である。FROM節内のi
番目の要素がビュー・タイプの場合、i番目の要素への
結合に対するハンドルが引数としてオブジェクト生成プ
ロシージャ呼び出しに渡される。(以下の例では、buil
d_object機能がこの目的に使用される。)
【0076】Vがビュー・タイプであり、MのFROM
節内のi番目の要素がリレーショナル・テーブルの場
合、Vを生成するために使用されるオブジェクト生成プ
ロシージャ呼び出しは、そのi番目の要素として、呼び
出しに引数として渡される行タイプを有する。行タイプ
は、データベース行のスキーマにもとづき生成される総
称タイプである。引数の順序は、行タイプ内に存在する
列の順序により与えられる。
【0077】行タイプ:OODBMSは、タイプと要素
タイプの収集とを区別する。収集がタイプ・エクステン
トの場合、それは所与のタイプの全てのインスタンスを
含む。リレーショナルDBMSは、こうした区別を導入
しない。テーブルはスキーマを有するが、テーブルはタ
イプとして見なされない。テーブルがマップド・タイプ
に対するパラメータとして使用される場合、これらは同
様に、オブジェクト指向環境内の他の収集に対するタイ
プに関連付けられねばならない。それなりに行タイプが
定義され、引数が行/テーブルの列に対応する。テーブ
ルは、定義された行タイプの全てのインスタンスを含
む。行タイプの例が、図1に示される。
【0078】図1を参照すると、部門テーブル行タイ
プ、すなわち行タイプdb2dept110が、部門番
号111、名前112、フロア113、及び状態114
を有する。部門番号111は、基本キー115として指
定される。従業員テーブル行タイプ、すなわち行タイプ
db2emp120は、番号121、名前122、給料
123、及び従業員が働く部門を伝える部門id124
を有する。図1は、リレーショナル・ビューを示す。従
業員を部門に関連付けるために、従業員部門id124
が部門の部門番号111に等しいことを述べるSQL照
会を作成する。
【0079】オブジェクト・マッピングを使用すること
により、オブジェクトに対するハンドル、具体的にはビ
ュー・タイプ部門への部門ポインタ"dept"に相当す
るポインタがアプリケーションに返却される。アプリケ
ーションの作成において、従業員の名前及び部門名が要
望される場合、従業員オブジェクト内のポインタに従
い、部門オブジェクトから部門名が獲得される。これは
アプリケーションがデータベースと対話するための、よ
り直接的な方法である。C++プログラマ、またはオブ
ジェクト言語を用いる任意の他のプログラマが、データ
ベースをフラット・リレーショナル・テーブルとしてで
はなく、アプリケーション・タイプとして見ることが、
より自然である。
【0080】テーブル・タイプが定義されると、それは
図2に示されるように、エイリアス内で参照され得る。
図2は、リレーショナル・テーブルのセットを定義する
エイリアスを提供する。エイリアス名は、OO−SQL
マッピング照会またはマップド収集内に現れる。エイリ
アスは、ローカル・オブジェクト照会サービス上のリモ
ート・テーブルの名前を生成する。例えばdb1 22
4はデータベース名であり、kiernan225は所
有者であり、emp226はテーブル名である。テーブ
ル・タイプはdb2emp223である。スキーマはテ
ーブル名をタイプとして指定する。テーブルdb1.kiern
an.empは、テーブル・タイプdb2empと同一のタ
イプの同一の列を有さねばならない。ステートメント"a
lias db2emp for db2emp(db1.kiernan.emp)"は、シ
ステムに、テーブルdb1.akiernn.empが照会の一部で
ある、或いはビュー内に含まれることを伝える。
【0081】ビュー・タイプ及びクラス定義:図3は、
リレーショナル・テーブルのオブジェクト指向マッピン
グを提供する収集を定義する。図4は、図3で与えられ
るビュー・タイプ定義に対応するアプリケーション・タ
イプ(すなわちオブジェクト言語(例えばC++)クラ
ス定義)を定義する。これらのマップド・タイプは、ア
プリケーション・オブジェクトのインスタンスとして検
索され得る。例えば、次の照会は10より大きい給料を
有する、ビュー収集VEmpに含まれるタイプVTEm
pのインスタンスを返却する。 select e from VEmp e where e.sal > 10
【0082】ビュー・タイプVTEmpに対応するアプ
リケーション・タイプが、オブジェクト言語(例えばC
++またはCORBA IDL)内に定義される。(ア
プリケーション・タイプはツールによりビュー・タイプ
と一緒に生成される。)照会システムは、アプリケーシ
ョン・タイプ・コンストラクタが(オブジェクト生成の
ために、)マップド・タイプの"FROM"節内に提供さ
れるオブジェクトへのハンドルに相当する引数のリスト
を受諾するものと仮定する。前記の照会では、VTEm
pのタイプ・コンストラクタが、相関変数"e"により識
別されるテーブルの行に対するハンドルを受諾する。行
オブジェクトの構成は、テーブル・タイプにより与えら
れる。前記の例では、"e"に対する行オブジェクトが、
番号、名前、給料、部門idの列を有する。
【0083】図3では、VTEmpタイプは、マップド
・タイプVTDeptのインスタンスの参照であるメン
バ"dept"を有する。この列の実施例は、従業員の部
門に対応するテーブルdb2deptの行に対するハン
ドルを返却するサブ照会である。同様に、マップド・タ
イプVTDeptは、マップド・タイプVTEmpのイ
ンスタンスの収集であるメンバ"emps"を有し、これ
はサブ照会を用いて実現される。サブ照会は部門"d"内
の従業員に対応する従業員行のセットを形成する。
【0084】図3は、第2層の照会エンジン・カタログ
に記憶されるビュー・タイプ定義を示す。図4は、アプ
リケーション・ファイルに記憶されるオブジェクト言語
クラス定義を示す。
【0085】オブジェクト言語クラス定義は、CORB
A動的メソッド呼び出しを通じて、オブジェクト照会サ
ーバからもアクセス可能である。オブジェクト照会サー
バがオブジェクトに対するハンドルを有する場合、これ
はメソッドを動的に呼び出すこともできる。例えば、第
1層上のユーザが、照会"従業員番号21に対するハン
ドルを与えよ"を発行する場合、ユーザは従業員21の
プロキシを指し示すメモリ内の変数"e"を有することに
よりハンドルを獲得する。ユーザは次に、例えばジャバ
を用いて、"salary = e.get_salary()"を要求し、これ
が第1層のプロキシ上のメソッドを呼び出す。これは第
2層へのCORBA互換または準拠の専用のプロトコル
を伴う。第2層はORBを用いて、第1層上のユーザの
代わりに操作を実行し、第2層内の等価なオブジェクト
上のget_salary()メソッドを呼び出す。第2層上のオブ
ジェクト・サーバは、第2層のメモリ内にオブジェクト
に対するハンドルを有し、第1層のためにget_salary()
メソッドを呼び出す。第2層上では、照会を実行して結
果を検索する以外に、一度メモリ内のオブジェクトを獲
得すると、ユーザによる参照に際してメソッドを用いて
オブジェクトを処理する。ユーザはそれらをクラス定義
を通じて参照する。ユーザは一度オブジェクトに対する
ハンドルを有すると、そのオブジェクトの属性、例えば
get_number、get_name、get_salaryを獲得することがで
きる。
【0086】図4では、クラスVTEmp410及びク
ラスVTDept430が、図3に示される対応するビ
ュー・タイプ、タイプVTEmp310及びタイプVT
Dept330に対するオブジェクト言語(例えばC+
+)クラスの実施例である。照会システムは、図3のビ
ュー・タイプを用い、メモリ内にオブジェクトを生成す
るために、何を実行する必要があるかを決定する。オブ
ジェクトは、図4に示される実施例により機能する。結
果が受動的であるリレーショナル・データベース照会に
反し、本発明の照会システムは、他のオブジェクトを参
照可能なオブジェクトに対するハンドルを返却する。一
片のデータからユーザは多分、データベースからの無限
の量の他のデータにたどり着くことができる。それ自
体、オブジェクトの返却されるハンドルは、データベー
ス操作を間接的に、すなわち明示的に照会インタフェー
スを使用すること無く、呼び出すことができる。データ
をあたかもそれがメモリに内在するように提供する能力
は、図4に示されるようなタイプのメソッドを通じて達
成される。メソッドは、図4で使用されるオブジェクト
言語では()として示される。例えば単純なメソッド
は、sal()である。従業員オブジェクトに対するハ
ンドルが存在する場合、給料を獲得することが可能であ
る。この単純なメソッドでは、従業員オブジェクト内の
データが既に給料を含む。それ自体、結果は容易に返却
される。しかしながら、別の例では、ユーザが見い出そ
うと望む部門の従業員オブジェクトがレンダリングされ
る。部門は従業員オブジェクトのデータの一部でないか
も知れず、部門オブジェクトが現在メモリ内に存在しな
いかも知れない。dept()メソッドは、メソッド"
e.dept().name()"を介して、部門オブジェクト内の名
前を指し示すポインタを有する。実施例では、部門オブ
ジェクトがメモリ内にレンダリングまたは再活動化され
る。
【0087】図3に示されるように、タイプVTEmp
310及びタイプVTDept330はビュー・タイプ
であり、それぞれ照会言語内で定義されるビュー・タイ
プ従業員及びビュー・タイプ部門に相当する。ビュー・
タイプの収集も示される。VEmp311は、ビュー・
タイプ従業員(VTEmp)310の収集である。これ
はその結果をテーブルdb2emp312から引き出
す。同様に、VDept331は、ビュー・タイプ部門
(VTDept)330の収集である。これはその結果
をテーブルdb2dept332から引き出す。図3に
示される機能の1つは、フラット・リレーショナル・ス
キーマからビュー内にネスト化スキーマを生成する機能
である。例えばビュー・タイプ従業員(VTEmp)3
10は、ビュー・タイプ部門(VTDept)330を
指し示すポインタ(VTDept*)313を有し、ビ
ュー・タイプ部門(VTDept)330は、従業員の
セットまたは収集333を有する。VTDept330
は、従業員を指し示すポインタの収集(Collection<V
TEmp*>)333を有する。部門オブジェクトが存
在する場合、従業員の収集を通じて繰り返し、特定の部
門の従業員、すなわち部門オブジェクト・インスタンス
を獲得することができる。
【0088】任意の所与の時刻にキャッシュ内には、デ
ータの一部を表すC++オブジェクト、及び同一データ
の異なるビューを表す他のC++オブジェクトが存在し
得る。キャッシュ内で相関付けられる全ての異なるオブ
ジェクトをどう処理するかに関して問題が生じる。アプ
リケーションがこれらのオブジェクトを処理することを
可能にするC++コードが生成される必要がある。本発
明の好適な実施例は、プログラマがプログラミング・オ
ブジェクトに関して、データのビューに作用することを
可能にするオブジェクト言語(例えばC++)オブジェ
クト及びメソッドを生成するシステム、方法及びプログ
ラムを提供する。オブジェクトは、メモリ内のタイプの
ように振舞い、またそのように見える、すなわち同一で
あり、これらをアプリケーションはそのアプリケーショ
ン・スペース内で、C++、ジャバ、IDLまたは他の
オブジェクト言語を介して処理する。
【0089】図4に示される生成されたC++定義を獲
得するために、通常、次の状況が生じる。リレーショナ
ル・データベースでは、C++プログラマはGUIベー
スのツールを用い、ビュー・タイプ定義を生成する(図
3)。プログラマがアプリケーションを作成するとき、
プログラマはビュー・タイプを実現するC++クラス
(図4)を求める。ツールが自動的にプログラマが利用
できるクラスを生成する。ツールはビュー定義を調査
し、ビュー定義を用いてクラス定義を生成する。好適な
実施例では、ツールはGUIを有し、これがユーザ/プ
ログラマがリレーショナル・データベース内のデータ・
タイプ間の関係を図式的に表現することを可能にする。
ツールは次にユーザの図式表現から、ビュー・タイプ定
義及びオブジェクト言語クラス定義を自動的に生成す
る。
【0090】本発明の好適な実施例は、照会システムが
ビュー定義にもとづき、メモリ内にオブジェクトをレン
ダリングすることを可能にする。ここで照会システム
は、特定のオブジェクト言語クラス定義を生成するため
に使用された特定のオブジェクト言語に関して何も知ら
ない。本発明のシステム、方法及びプログラムは、ユー
ザにオブジェクトがメモリに永続的に内在すると言う考
え方を提供する。ここでリレーショナル・システムで
は、ビューが仮想テーブルである点に留意されたい。そ
れらが照会内で参照されるとき、照会リライト要素及び
オプティマイザは、ビューに対する照会をデータベース
内の基本データ上の等価な照会に変換する。それ自体、
ビューのインスタンスは、実際には決して生成または実
体化される必要はない、すなわちメモリに記憶される必
要はない。従って、ビューのインスタンスは実際には存
在しない。好適な実施例は、あたかもビューがオブジェ
クトと言う点で実際に存在するかのようにフレームワー
クを提供する。オブジェクト指向プログラミングの世界
では、オブジェクトのインスタンスはメモリ内で実体化
される。このことはプログラマ/アプリケーションがメ
モリ内のオブジェクトを使用し、それらのオブジェクト
上でメソッドを実行し、他のオブジェクトからオブジェ
クトを指し示すことを可能にする。本発明の好適な実施
例は、ビューをこのオブジェクト指向プログラミングの
世界に接続する。好適な実施例では、ビュー・オブジェ
クトは仮想的な意味でしか存在しないが、それらに対し
てプロキシが提供され、ユーザはあたかもそれらが実際
に他のオブジェクトとして存在するかのように、それら
をアプリケーション内で処理することができる。
【0091】照会エンジンは、リレーショナル・ビュー
が処理されるのと同様に、ビューのオブジェクトを処理
することができる。すなわち、あたかも仮想リレーショ
ナル・ビューが存在するかのようにユーザがビューを処
理できるように、ユーザはオブジェクトをあたかもそれ
らが存在するかのように処理することができる。同様に
丁度データベース・エンジンが、ビューに対する照会を
基本データに対する照会にリライト及び最適化するよう
に、照会エンジンはオブジェクトに対する照会をリライ
ト及び最適化する。しかしながら、リレーショナル・ビ
ューと異なり、一度オブジェクトがメモリからユーザに
伝達されると、ユーザは他のオブジェクトにナビゲート
し、オブジェクトの他の処理を実行することができる。
そして、こうした処理が照会エンジンにより理解され
る。照会エンジンがハンドルをメモリ内のオブジェクト
に発し、それがアプリケーションに伝達されると、アプ
リケーションは自身が望むあらゆることをオブジェクト
に実行することができる。このことは照会エンジンの領
域外ではあるが、オブジェクトは依然、予定通りに振る
舞わねばならない。例えば、仮想オブジェクトが部門と
関係があり、ユーザが参照を横断する場合、たとえオブ
ジェクトが仮想的で、照会エンジンがその時存在しなく
ても、特定の部門が依然出現しなければならない。
【0092】例えば、照会はリレーショナル・ビューか
らデータを配送し、ユーザ/アプリケーションはビュー
からデータをコピーできる。しかしながら、一度アプリ
ケーションがビューからのデータを有すると、ビューか
らのデータはもはやデータベース内のデータには結合さ
れない。情報が後にアプリケーションにより使用される
場合、それは最初にビューから検索された情報と同一で
ある。しかしながら、本発明の好適な実施例では、デー
タベースへの結合を維持するオブジェクトが、アプリケ
ーション・プログラム内で生成される。アプリケーショ
ン・オブジェクトはビュー・タイプのインスタンスであ
り、それらのメソッドが呼び出されるとき、基本データ
への結合が維持される。例えば、アプリケーションが従
業員の部門を獲得しようとする場合、これはオブジェク
ト内のメソッド416(図4)であり、このメソッドの
本体が対応する部門を見い出すための照会405が発行
されるべきことを指定する。従業員情報を見い出すよう
な単純な状況では、データをコピーし、ビューを実体化
する代わりに下にあるオブジェクトを指し示す参照(す
なわちポインタ)が、ビュー・タイプ内に記憶される。
ポインタを参照することにより情報が取り出される。よ
り複雑な検索では、単にポインタを参照することにより
情報が検索され得ない場合、対応するデータを見い出す
ための照会が発行される。
【0093】上で述べたことは、ビュー定義(図3)を
検査し、クラスの正しいセットを生成することにより達
成される。データはリフレッシュされないが、代わりに
データがその出所のデータと結合される。それなりにオ
ブジェクト間のリンクが追跡される。例えば、"高給従
業員"が"従業員"と結合される場合、このリンクが追跡
される。"高給従業員"の給料が要望される場合、メモリ
にキャッシュされた従業員のデータが調査される。それ
は必ずしもデータベースから検索されない。繰り返し可
能な読出し及びデータに対するロックが存在する場合、
データはトランザクションの間にもたらされ、その時、
仮想タイプの基本となるメモリ内にキャッシュされたデ
ータは、トランザクションに関して一貫性を有する。ト
ランザクションがコミットまたは打ち切られるとき、キ
ャッシュは消去される。これによりトランザクションの
期間において一貫性が保証される。最適化されたキャッ
シング技術が、上記関連特許出願2で開示される。
【0094】オブジェクト指向環境では、オブジェクト
上のメソッドが操作を実行するために呼び出される。全
てのデータ及びメソッドがオブジェクトにカプセル化さ
れるので、ユーザはメソッドを呼び出すことを知りさえ
すればよい。メソッドは、別のオブジェクトを指し示す
ポインタを横断し、関連データを獲得することができ
る。メソッドを呼び出すユーザは、必ずしもメソッドに
より使用されている他のデータを知らない。例えば、部
門オブジェクトに関連付けられる"予算増加"と言う名前
のメソッドが存在する。このメソッドは部門の部長を指
し示すポインタを横断し、全体的な予算増加を受け取
り、それを従業員の給料に追加する。メソッドを呼び出
す人はメソッドが実際に何を実行するかについて知らな
い。アプリケーション・プログラムは予算増加を管理
し、また別途、従業員データを管理するように作成され
得る。アプリケーションは、"予算増加"メソッドなどに
由来する他の部門オブジェクト処理の結果、従業員の給
料の値が変更され得ることを理解しなくてもよい。それ
自体、アプリケーションは値が変更されたために、従業
員データをリフレッシュすることを知らない。関係は保
守され、従って、例えばメソッドに由来してオブジェク
トの値が更新される場合、その値の使用が後に必要とさ
れるとき、更新値が検索される。ビュー・タイプのイン
スタンスを実体化する代わりに、ビュー・タイプの実施
例に下にあるオブジェクトを指し示すポインタが記憶さ
れる。ビュー・タイプ・オブジェクト(例えば図4のV
TEmp410)は、属性(例えば番号、名前、給料)
を獲得するジョブを下にある(従業員)オブジェクトに
委任する。しかしながら、これを部門オブジェクトに対
しては実行できない。なぜなら、部門オブジェクトは部
門idを有するからである。代わりに、部門dを選択す
るための照会405(図4)を発行する。ここで部門番
号は%dに等しく、%dは従業員オブジェクトの部門i
dを獲得するように委任される。ビュー・タイプ・オブ
ジェクトは次に立ち去り、照会を実行し、下にあるポイ
ンタを見い出す。データ値を取り出すためのポインタ・
ネットワーク及び委任アプローチが、それをキャッシン
グ環境にうまく適合させる。
【0095】別の例では、オブジェクトが2つ以上のビ
ュー・タイプにより覆われる。例えば、カルフォルニア
従業員ビュー・タイプ及び高給従業員ビュー・タイプが
存在するものとする。両方のビュー・タイプは、同一の
従業員オブジェクトを含み得る。従業員はカルフォルニ
ア出身で高給を有するかも知れない。"高給"従業員ビュ
ー・タイプ内のメソッドが、従業員オブジェクト内の値
を変更する場合、その変更がオブジェクト内で反映さ
れ、そのオブジェクトがカルフォルニア従業員ビュー・
タイプにより参照される場合、変更値が使用される。あ
るビュー・タイプ内の変更は、他のビュー・タイプに伝
播する。
【0096】オブジェクト生成を要求する照会が存在す
る場合、照会エンジンはメモリ内にオブジェクトをレン
ダリングしなければならない。照会エンジンはこれをオ
ブジェクト言語(例えばC++)クラス定義のいかなる
知識も有すること無く、実行する。照会エンジンによる
オブジェクトのレンダリングは、もっぱらビュー定義に
もとづく。
【0097】これを実行するため、照会エンジンは2つ
の規則に依存する。照会エンジンはFROM節を調査す
るだけである。"select e from VEmp e"なる照会が存在
する場合、オブジェクトeに対するハンドルが要求され
る。(照会は"select ref e"と表記することもでき、こ
れはハンドルeがeにより指し示されるオブジェクトV
Empに対して所望されることを明確に述べる。ビュー
VEmp内にメソッド"e"または列"e"が更に存在する
場合、曖昧性が生じ得る。それ自体、照会"select e fr
om VEmp e"はハンドルではなく、列属性を要求する。し
かしながら、この例では、VEmp内に列"e"が存在し
ないために、両方のSELECTステートメントは、相
関関係eに結合されるVEmpビュー収集内のオブジェ
クトへのハンドルを要求している。)ビュー従業員タイ
プ・オブジェクトは、ビュー従業員収集と一緒に生成さ
れなければならない。オブジェクトの中身が、そのオブ
ジェクトが作用するために決定されなければならない。
FROM節を調査することにより、FROM節内の要素
の数に等しい多数の引数がオブジェクトのコンストラク
タに渡される。この場合、従業員オブジェクトが1つの
もの、すなわちdb2empオブジェクトから生成さ
れ、ハンドルがこの1つのものにだけ渡され、ビュー・
タイプ従業員オブジェクトが生成される。このeはdb
2empオブジェクトに対応する。以上で、2つの規則
が完全に説明されたことになる。本質的に、2つの規則
は次のようにまとめられる。すなわち、1)FROM節
内の要素がビュー・タイプ・オブジェクトの場合、それ
はハンドルをオブジェクト・タイプ・コンストラクタに
渡す。2)FROM節内の要素がリレーショナル・テー
ブルからの行タイプの場合、それはメモリ内に行を生成
し、行に対するハンドルをコンストラクタに渡す。
【0098】例えば、ビュー・タイプ従業員(図4のV
TEmp410)は、このデータ・タイプの私用セクシ
ョンを有し、これは照会エンジンにより生成される"e"
の参照を有する。私用セクションはオブジェクトの内部
に隠され、通常、記憶に関連する。私用セクションは、
メソッドがそれらの結果をレンダリングするために頼る
クラス定義のデータ部分である。公開セクションは、ユ
ーザが例えば従業員番号、名前、給料などの値を獲得す
るために呼び出すクラスに対するオブジェクトの署名で
ある。ツールまたはプログラマのいずれかによるクラス
実施例は、照会システムが形成しようとする仮定に同調
しなければならない。すなわち、それらは上述の規則に
従わねばならない。
【0099】例えば、従業員ビュー・タイプ(図4のV
TEmp410)内には、従業員行に対するハンドルe
が存在する。従業員番号no()414を獲得するため
に、ハンドルはe行タイプ406の[0]属性415を
返却する。従業員テーブル・タイプ(図1の120)内
で、従業員番号(図1のeno121)は、C++表記
の0番目の属性である。(C++表記では、カウントは
1の代わりに0で開始する。)
【0100】関連部門(dept()、416)を獲得
するために、外部キーe.didが使用される。従業員に対
するdept()が、従業員の部門に対するハンドルを
獲得する。照会405は部門を検索するために、C++
表記における第3の属性417に相当する従業員部門i
dを用いて実行される。番号(no()、414)を獲
得するために、照会エンジンはe406、そして0番目
の属性415に達し、返却すべき値を獲得する。ビュー
・タイプ内に参照が存在する場合、メモリ内のビュー・
タイプ従業員オブジェクトは、図1のdb2emp12
0を指し示す参照/ポインタを含む。
【0101】メモリ内にオブジェクトを生成して実体化
し、ビューから互換のオブジェクト言語クラス定義を生
成する2つの規則について、更に説明する。例として、
Vがビュー収集であり、VEmpがビュー・タイプ従業
員(VTEmp)のビュー収集である。関連付けられる
実施例Mは、SELECTステートメントとして指定さ
れるビュー・タイプ(VTEmp)である。Vを生成す
るために使用されるオブジェクト生成プロシージャ呼び
出しは引数を有し、その順序はMのFROM節内の要素
の順序である。図3に示されるケースではeが行タイプ
である。
【0102】第1の規則では、照会エンジンがFROM
節を調査するとき、FROM節内のi番目の要素がビュ
ー・タイプの場合、i番目の要素への結合に対するハン
ドルが引数として、オブジェクト生成プロシージャ呼び
出しに渡される。基本的に、ビュー・タイプ(例えばビ
ュー・タイプ従業員VTEmp)に対するオブジェクト
生成を実行する以前に、照会エンジンは、ビュー・タイ
プ(VTEmp)が依存する全てのものに対してオブジ
ェクト生成を実行し、それをオブジェクト生成呼び出し
にi番目の引数として渡す。
【0103】第2の規則では、Vがビュー・タイプであ
り、MのFROM節内のi番目の要素がリレーショナル
・テーブル(すなわち行タイプ)の場合、Vを生成する
ために使用されるオブジェクト生成プロシージャ呼び出
しが、そのi番目の要素として行タイプを有し、それが
引数として呼び出しに渡される。この場合、VTEmp
が行タイプであるdb2emp上に生成される。ハンド
ルが行タイプに渡される以前に行タイプが生成されなけ
ればならない。行タイプは、行タイプのスキーマにもと
づき生成される総称タイプである。スキーマが調査さ
れ、行タイプが次のように、すなわちe.numberが第1
アイテム、e.nameが第2アイテム、そしてe.salaryが
第3アイテムのように、生成される。e.nameを獲得す
るC++クラスが生成されるとき、その名前はオブジェ
クト内で、クラス定義内で定義されるのと同一の相対位
置になければならない。クラス定義及び生成されるオブ
ジェクト内の引数の順序は、ビュー定義のFROM節内
の引数の順序にもとづく。
【0104】一度オブジェクトが生成されると、オブジ
ェクトはトランザクションの期間中(すなわちコミット
またはアボートまで)存在する、すなわちメモリに内在
する。従って、キャッシュはトランザクションに同調し
なければならない。所与のトランザクションに対して、
また照会エンジンが照会内のビューに遭遇する度に、照
会エンジンは上述の2つの規則を用い、照会エンジンが
生成する必要のあるオブジェクトを決定する。それなり
に照会及びビューが分析され、何らかのオブジェクトが
生成されなければならないか否かが判断される。ビュー
すなわちビュー定義は、そのビューを参照する照会の実
行とは独立に、またそれより以前に生成されるが、ビュ
ー・オブジェクトは、そのビューを参照する照会が受信
されるまで生成されない。ビューが定義されるとき、ユ
ーザはビュー・タイプ・オブジェクトを定義する。ビュ
ーを参照する照会の受信に際して、照会エンジンは必要
に応じて、実行時にビュー・タイプのオブジェクトを生
成する。
【0105】本発明の好適な実施例を実現するために要
求される、2つの別々の活動/アクションが存在する。
一方はビュー定義時間を含み、これは例えばオブジェク
ト指向言語を使用するツールを介するか、或いは直接ユ
ーザにより、他方は照会実行時間を含む。
【0106】(例えばC++などのオブジェクト指向言
語で)アプリケーションを作成するプログラマは、プロ
グラマにより指定されるビューを介してリレーショナル
・データベースからデータを検索することを要望し得
る。ビューを指定するために、GUIツールがプログラ
マがビュー定義を生成するための支援に使用される。通
常、これらのビュー定義は、"アセンブリ・レベル"を表
す用語で表現されるが、他のGUIタイプのツールもユ
ーザにより使用され得る。例えば、属性、行、テーブル
などの間の関係を示すために、ユーザが線を引くことを
可能にするGUIツールが使用され得る。次に、ビュー
定義が生成され、システムによりコンパイルされると、
これらのビュー定義が、アプリケーションの作成におい
て使用されるプログラミング・クラス定義を生成するた
めに使用される。プログラマは別のツールと対話し、プ
ログラマのビュー定義をオブジェクト言語(例えばC+
+)クラス定義に、すなわちプログラミング定義に変形
する。所与のビュー定義に対して生成されるオブジェク
ト言語クラス定義は、特定の形式を有さねばならない。
例えば、引数はビュー定義内と同一順序で現れねばなら
ない。オブジェクト言語表現の形式は、下にあるオブジ
ェクトへの属性、値、メソッドなどの委任をサポートす
る。これらは直接委任され得るものである。照会がビュ
ー定義に関わる場合には、クラス定義内のメソッド自身
が照会を含む。実行時に、ビュー定義が既に存在しなけ
ればならない。システムがビュー定義をどのような根源
から受信するときでも、照会エンジンはビュー・タイプ
・オブジェクトの構造、及びビュー・オブジェクトのイ
ンスタンスを生成する。こうした構造は、ビュー定義と
上述の2つの規則により決定される。
【0107】例えば実行時に、"ビュー従業員収集(V
Emp)eからeを選択(select efrom view employee
collection (VEmp) e)"のような照会が受信され得
る。システムはビュー従業員を分析し、それがビュー・
タイプ上で生成されたビューであることを判断する。結
果をアプリケーションに返却するため、システムはビュ
ー・タイプ・オブジェクトに対するアプリケーション・
ハンドルに戻らねばならない。ここでビュー・タイプ・
オブジェクトは、メモリ内のオブジェクト言語(例えば
C++)オブジェクトのように見える。照会評価のある
時点で、システムはビュー定義オブジェクトからメモリ
内にオブジェクトを生成する。システムは照会エンジン
のカタログから、ビュー定義オブジェクトを見い出す。
照会エンジンは照会の結果として、アプリケーション・
オブジェクトを生成する。照会が戻るとき、ユーザ/ア
プリケーションはメモリ内に、ビュー・タイプ・オブジ
ェクトに対応するビュー・オブジェクトの収集を有す
る。各オブジェクトに渡り繰り返すことにより、ユーザ
/アプリケーションはオブジェクト上でメソッドを実行
し、結果を獲得する。例えば、各従業員の給料を取得す
るために、従業員オブジェクトの収集内の各インスタン
スに対して、給料取得メソッドが実行される。
【0108】アプリケーションはそのクラス定義を用
い、アプリケーションが何を返却しているかを知る。ア
プリケーションはポインタを他の属性/ビュー・タイプ
・オブジェクトなどに返却し得る。クラス定義はアプリ
ケーションに、所望の属性(例えば給料)を獲得するた
めに使用すべきポインタを知らせる。アプリケーション
・プログラムはこれらのクラス定義をファイル内に含
む。
【0109】作成されるモデルは、データがリレーショ
ナル・データベースから検索されていても、オブジェク
ト指向データベースがメモリ内のアプリケーション・オ
ブジェクトを処理しているかのように錯覚する。データ
ベースからのオブジェクトは、実際にはアプリケーショ
ンのオブジェクトであり、アプリケーションがC++オ
ブジェクト指向言語により作成される場合、C++アプ
リケーション・オブジェクトがメモリ内に存在するもの
と思われる。本質的に、ユーザは結果がオブジェクト指
向データベースから返却されている印象を受ける。
【0110】次に、上述したオブジェクト生成のための
プロセス・フロー及びプログラム・フローを示し、ここ
では照会リライト変換技術を、以下で詳述されるオブジ
ェクト生成のために適用する。
【0111】ステップ1:ユーザの照会を照会グラフに
コンパイルする。
【0112】ステップ2:照会グラフの葉(leaf)が基
本収集(ビューでない収集)だけを含むように、ユーザ
の照会またはビュー・タイプ内で参照される全てのビュ
ー及びビュー・タイプを、照会グラフにコンパイルす
る。
【0113】ステップ3:
【表1】
【0114】ステップ4:if(任意のビューが照会グラ
フ内に残っている) thengoto ステップ3
【0115】照会リライト最適化: 照会プッシュダウン:オブジェクト照会サービスの状況
では、照会プッシュダウンは、オブジェクト照会を受け
取り、そのどの部分がオブジェクト・スキーマの層を通
じて、データが存在するデータベースに移行され得るか
を決定する概念である。その目的は、データベース照会
機能の能力を用いて、データのフィルタリングを実行
し、それにより、オブジェクト空間に移動されなければ
ならないデータ量を制限することである。
【0116】照会プッシュダウンは、照会の結果を定義
する全ての述語を含む。この場合、結果セットを制限す
るタスクが、データが存在するデータベースにより完全
に実行される。述語プッシュダウンは、照会の結果を定
義する部分的な述語を含むことが出来る。この場合、述
語の一部(すなわち、照会の結果を定義するつなぎ語の
サブセット)が、データが存在するデータベースに渡さ
れ、それにより、これらのデータベースにより返却され
る結果を制限する。プッシュダウンされ得ない残りの述
語は、照会評価により、オブジェクト空間内で適用され
る。最後に、述語プッシュダウンが適用され得ない場
合、照会内で参照されるデータの完全なセットを検索し
た後、照会の結果を定義する述語がオブジェクト空間内
で適用される。
【0117】オブジェクト空間内の述語評価の場合、述
語はオブジェクト生成(または再活動化)を必要とする
ことなく適用され得るか、或いは、述語が適用され得る
前に、オブジェクト再活動化が実行される必要がある。
オブジェクト再活動化は、述語がメソッド(例えばe.e
arned_vacation()>10)を含む場合、またはビジネス・
オブジェクトを引数(例えばearned_vacation(e)>10)
として参照する機能を含む場合に必要となる。
【0118】一例では、データベースにプッシュダウン
され得る述語に対して、結果セットが、データが存在す
るデータベースにより制限され得る。例えば、照会が"
従業員ビジネス・オブジェクトeから、給料が100,
000ドルよりも大きいe.nameを選択(select e.nam
e from employee business object e where salary is
greater than 100000)"である場合、結果をレンダリン
グするためにオブジェクトが生成される必要がない。
【0119】別の例では、照会の結果を定義する残りの
述語が、照会内で参照されるデータの完全なセットを検
索した後、オブジェクト空間内で適用される。例えば、
照会"従業員ビジネス・オブジェクトeから、e.nameが
McHenryよりも大きい*を選択(select * from employee
business object e where e.name is greater thanMc
Henry)"では、第2層と第3層上のデータベースとの間
に照合順序の違いが存在し得る。この場合、述語はメモ
リ内で実行され得るが、その述語を解析するために、オ
ブジェクト生成は必要とされない。
【0120】オブジェクトが生成される必要があるか否
かの決定:1実施例では、オブジェクトが常に、ビュー
を参照する任意の照会に対して生成される。オブジェク
トの生成を除去するために照会リライト最適化は実行さ
れない。好適な実施例では、幾つかの照会に対して、照
会リライト最適化技術が実行され、オブジェクトの生成
が除去される。それなりに、リレーショナル・リライト
最適化技術が、照会結果内にオブジェクトが生成される
必要があるフレームワーク内で適用される。照会及びそ
のビューが次のように分析される。
【0121】1)照会がオブジェクトに対するハンドル
を要求せず、またメソッドを参照せずに、例えば図5に
示されるような値を要求するだけの場合、その照会は通
常のリレーショナル・リライト技術を用いてリライトさ
れた後、第3層のデータベース管理システムにすっかり
提供される。たとえ、もとの照会がビューを参照すると
しても、この照会に対してオブジェクト生成は実行され
ない。
【0122】2)しかしながら、たとえ照会が前記1)
の照会カテゴリに含まれるとしても、照会が照合順序問
題を生じる場合、照会の一部が第2層のオブジェクト照
会エンジンのメモリ内で解析され得る。照合順序は、例
えば第3層のデータベース管理システムが、第2層のシ
ステムとは異なるアルファベット順序を含むセマンティ
ックス(意味)を有する場合に生じる。すなわち、節に
よる順序または属性を指定する述語が、ある値よりも小
さい、例えばname<Rである場合、照会がどこで解
析されるか、すなわち第2層か第3層かに依存して、異
なる応答が生じる。例えば、米国英語のセマンティック
スに従うデータベースは、数を文字の前に配置し得る。
従って、例えばA1がAAの前に来る。それに対して他
の言語のデータベースでは、AAがA1の前に来るよう
に、文字を数の前に配置し得る。それなりに、オブジェ
クト照会サービス内の照会エンジンは、あるセマンティ
ックスのセットに従う一方で、第3層上のデータベース
は、別のセマンティックスのセットに従い得る。結果が
第2層または第3層のいずれから返却されるかに関わら
ず、結果は同一であるべきである。則するセマンティッ
クスの違いにより、同一でない場合には、次善の解析
が、結果を照会が実行されている、すなわち実行依頼さ
れているマシン、例えば第2層のオブジェクト照会サー
ビスなどに一致させる。この種の状況では、照会の少な
くとも一部が、はるばる第3層のデータベース管理シス
テムにプッシュダウンされる代わりに、第2層のメモリ
内で解析される。照会がある値に等しい名前を要求する
場合には、照合順序問題が生じない。しかしながら、照
会がある値よりも小さいまたは大きい名前を要求する場
合、照合順序問題が発生し得る。オブジェクト照会サー
ビスが、セマンティックスが同一であることを知ると、
プッシュダウンが発生し得る。オブジェクト照会サービ
スが、セマンティックスが同一であるか否かを承知しな
い場合、或いはセマンティックスが同一でない場合、オ
ブジェクト照会サービスの照会エンジンは、述語を第3
層のデータベース管理システムにプッシュダウンせず
に、それを自身のメモリ内で解析する。従って、たとえ
照会がリレーショナル照会に変換され得る単純な照会で
あっても、その述語の一部は依然、オブジェクト照会サ
ービスのメモリ内で解析され得る。
【0123】3)照会が参照タイプ属性を横断するが、
リレーショナル・テーブル間の結合操作に変換され得な
い場合、図6に示されるように、オブジェクト生成は要
求されない。
【0124】4)照会がオブジェクトに対するハンドル
を返却するか、或いはメソッドを参照する場合、オブジ
ェクト生成が要求される。メソッドは照会内で明示的に
参照されなくてもよいが、列のマッピングは別のビュー
・タイプのメソッドにマップされ得る。それによりメソ
ッドを暗黙的に導入する。他の場合には、一部の属性が
マップされず、それらがどのように導出されるかを知る
ことができず、従ってオブジェクト生成が要求される。
【0125】以下の例は、ビューに対する照会を示し、
そこでは照会が照会リライトを介して最適化され、オブ
ジェクトは必ずしも生成される必要はない。通常、オブ
ジェクトを生成することは、(コンピュータ資源及び応
答時間の点で)高価である。一部の照会では、いかなる
オブジェクトも生成すること無く、照会応答が返却され
る。それなりに、照会リライト最適化技術を照会に適用
することにより、可能であればオブジェクト生成を回避
することが望ましい。
【0126】図5に示される第1の例では、オブジェク
ト生成が要求されない照会が提供される。第1層上のユ
ーザ/アプリケーションが、照会評価に対するプロキシ
を有する。アプリケーションは照会評価を通じて、例え
ば"VEmpからv.no、v.nameを選択"(select v.n
o、v.name from VEmp)のような照会を発行し、結果を
通じて反復子(iterator)を検索する。この照会は第1
層から実行依頼され、結果として、ビュー・タイプ・オ
ブジェクトのビューまたは収集が返却される。この照会
は完全にデータベースにプッシュダウンされ、従って照
会を解析するために、オブジェクト生成は必要とされな
い。照会は、部門オブジェクトのビュー・タイプに対す
るハンドルを要求しない。この照会は、ビューに対する
リレーショナル型照会の領域である。しかしながら、述
語が"v.name<A"を表記する場合、照会システムはこ
の述語をメモリ内で実行するように選択し得る。なぜな
ら、ワークステーション上で実行される第2層サーバ内
での照合順序が、第3層内の照合順序と同一か否かの懸
念が有るからである。オブジェクト生成は依然必要とさ
れないかも知れないが、ストリングを表すストリング値
を求めることにより、述語はメモリ内で評価され得る。
【0127】上述のように、図5に示される照会例は、
ビュー収集VDeptから部門番号及び名前を検索す
る"ad hoc(臨機的)"照会である。これはオブジェクト
の代わりに値を返却するという意味において"臨機的"で
ある。これはメタデータだけから解析され得る(すなわ
ち、これはビジネス・オブジェクトを生成するために、
オブジェクト生成または生成コードを必要としない)。
照会リライト変換が適用された後、結果の照会がリレー
ショナルDBMSに実行依頼され得る。
【0128】第2の例では、図6に示されるように、照
会が任意のオブジェクトに対するハンドルを求めない点
で、図5に示される照会に類似し、このことが照会最適
化を修正可能にする。これは別の臨機的照会である。な
ぜなら、オブジェクトの代わりに値を返却するからであ
る。しかしながら、図6に示される照会は、図5に示さ
れる照会よりも複雑である。なぜなら、経路横断、すな
わちナビゲーション、例えば"e.dept..name"を含む
からである。図6に示される照会は、参照タイプ属性を
横断する照会である。
【0129】オブジェクトのスキーマは、部門がポイン
タであることを表記し、従ってユーザはポインタを通じ
てナビゲートする錯覚を抱く。実際には、こうしたポイ
ンタは存在しない。なぜなら、従業員と部門の2つのテ
ーブルしか存在しないからである。照会はリレーショナ
ル照会にリライトされ、完全に第3層上のデータベース
にプッシュダウンされ得る。
【0130】照会は従業員の名前及び彼らのそれぞれの
部門名を選択する。従業員の部門名が、VTDeptの
インスタンスの参照を横断し、部門名を検索する表現
式"e.dept..name"を用いて獲得される。第1のステ
ップは、経路式からサブ照会への変換を示す。第2のス
テップは、最適化としてサブ照会から結合式への変換を
実行する。サブ照会は、経路式に含まれる参照メンバの
派生の実施例として、メタデータから捕獲されたもので
ある。外部キーedidが非ヌルとして宣言される事実によ
り最適化が可能であり、次にステップ2に達する。
【0131】ステップ1とステップ2との間、外部キー
として指定されるポインタe.edidが非ヌルであると言
うメタ情報により、サブ照会が結合(join)に崩壊され
る。この照会は実際には、外部結合セマンティックを有
する。従業員が部門を有さない場合、従業員は結果とし
て、ヌルである部門名を持ち出すべきであると解釈され
る。これが結合に変換される場合、及び従業員が部門を
有さない場合、d.dnoの一致は存在せず、その従業員は
結果から消去される。e.edidがヌルでない事実によ
り、従業員がデータベース内において、部門参照に対し
てヌル値を有することは可能でない。従って、部門を有
さない従業員は存在しない。従って、照会は外部結合に
変換され得る。
【0132】ステップ2で提供される変換された照会
は、リレーショナルDBMSに実行依頼され得る。第3
層上のデータベース管理システムが照会を実行し、ユー
ザが求めたもの、すなわち従業員名及び部門名に合致す
る結果をユーザに返却する。
【0133】図6に示されるように、照会はポインタを
通じるナビゲーションを使用する。この背景にはプッシ
ュダウン技術が存在し、そこでは述語がより高いレベル
のオブジェクトに対して表現される。次に、データが存
在するいたるところで、照会を最適化するために、述語
が実データに対してリライトされる。例えば、10未満
のe.noを有する従業員を見い出すために、1つのアプ
ローチでは、部門オブジェクトに全ての部門を要求す
る。より効率的な方法は、データベースに10未満の部
門番号だけを獲得するように告げることである。プッシ
ュダウンは、データベースがその索引及び他の技術を用
い、返送されなければならないデータ量を最小化するこ
とを可能にする。オブジェクト生成が発生する場合でさ
え、述語はデータベースにプッシュダウンされ得る。こ
うした最適化は、オブジェクト・サーバが選択された照
会に対して優れた性能を示すことを可能にする。より大
規模なデータベースでは、最適化は第2層上のNTサー
バなどのサーバのメモリ内のデータ量を最小化する。
【0134】図7の照会は、VEmpビュー収集から従
業員ビジネス・オブジェクトを検索する。VEmpはビ
ュー・タイプ従業員オブジェクトの収集である。結果と
して、ハンドルがこれらのオブジェクトに対して所望さ
れる。照会は結果として、"ref e"を用いることによ
り、ビジネス・オブジェクトに対するハンドルを要求す
る。これは明瞭に、ハンドルeが、eにより指し示され
るオブジェクトVEmpに対して所望されることを表記
する。換言すると、"ref e"は、"相関関係eに結合され
るVEmpビュー収集内のオブジェクトに対するハンド
ル"を意味する。
【0135】オブジェクト生成は、照会結果をレンダリ
ングするために要求されるが、特定の最適化が依然実行
され得る。例えば、述語e.no<10が、第3層上のデ
ータベース管理システムにプッシュダウンされ得る。そ
れ自体、オブジェクト生成は、10未満の番号の従業員
オブジェクトに対してのみ実行されなければならない。
【0136】照会はビジネス・オブジェクトを返却する
が、照会の述語e.no<10はテーブルdb2empを
通じて、表現式としてリライトされ得る。データがbuil
d_object機能に送られ、ビジネス・オブジェクトが生成
される。
【0137】プラン・オプティマイザにより生成される
リライトされた照会の照会プランの実施例の骨組みが提
供される。SQL SELECTステートメントは、d
b2empテーブル・タイプを生成するために必要とさ
れる投影要素を含む。照会はまた、結果をe.no<10
を有するものに制限する述語を含む。結果は収集s1内
に検索される。収集s1内の各要素に対してbuild_obje
ctにより、対応するオブジェクトが、ビジネス・オブジ
ェクトをレンダリングするために生成される。生成され
たビジネス・オブジェクトe1が、結果の収集"結果(r
esult)"に追加される。ここでこの照会プランは、一時
的な収集を用いて照会を解析するが、要求駆動型実行
(demand driven execution)の将来のサポートは、こ
うした収集を使用しないであろう。
【0138】図8の照会は、ジャバ及びC++において
()により示されるように、ビジネス・オブジェクト・
メソッドを呼び出す述語"e.earned_vacation()>14"を
有する。述語を提供するために、別のビジネス・オブジ
ェクトを参照するビジネス・オブジェクト、すなわちre
f eが存在しなければならない。しかしながら、プッシ
ュダウンされ得る別の述語e.no<10が存在する。こ
の照会に関わる異なるタイプのリライト規則が存在す
る。
【0139】図8は、アプリケーション・ビュー・タイ
プ・オブジェクトを照会結果としてレンダリングし、ビ
ュー・タイプ・オブジェクト上のメソッドを評価するた
めに、オブジェクト生成の実行を要求する照会を示す。
build_object呼び出しが、リライトされた照会内で2
度、すなわち、1)照会結果をアプリケーション・オブ
ジェクトとしてレンダリングするために、及び2)earn
ed_vacationメソッドを実行するために現れる。build_o
bject機能は参照をオブジェクトに返却するので、earne
d_vacationメソッドは、機能呼び出しで始まる経路式内
に現れる。しかしながら、"earned_vacation"を含む述
語は、第2層のメモリ内で評価されなければならない。
なぜなら、それは第3層のデータベース・システムによ
り理解されないからである。それにも関わらず、述語"
e.eno<10"が第3層のデータベース・システムによ
り適用可能であり、照会の結果を計算するために、第3
層から第2層に転送される結果の数を減らすために使用
される。
【0140】次に、オブジェクト生成を要求する照会に
おける照会プッシュダウンのための、照会最適化規則の
プロセス・フロー及びプログラム・フローを示す。次に
オブジェクト生成と照会プッシュダウンとの間の対話を
示す。
【0141】
【表2】
【0142】上述の仕様を用い、本発明は、プログラミ
ング・ソフトウェア、ファームウェア、ハードウェア、
またはそれらの組み合わせを生成する標準のプログラミ
ング及び(または)エンジニアリング技術を用いること
により、マシン、プロセス、または装置として実現され
得る。
【0143】コンピュータ読出し可能プログラム・コー
ドを有する任意の結果のプログラムが、メモリ装置また
は送信装置などの1つ以上のコンピュータ使用可能媒体
内で実現され得る。それにより、本発明に従うコンピュ
ータ・プログラム製品または装置が製作される。それ自
体、本明細書で使用される用語"装置(article of manu
facture)"及び"コンピュータ・プログラム製品"は、任
意のメモリ装置上または任意の送信装置内などの任意の
コンピュータ使用可能媒体上に、(永久的、一時的、ま
たは暫時に)存在するコンピュータ・プログラムを包含
するように意図される。
【0144】ある媒体から直接プログラム・コードを実
行すること、プログラム・コードを媒体上に記憶するこ
と、送信装置を用いてコードを伝送すること、或いは他
の等価な行為は、本発明を形成若しくは使用する、また
は販売する上での事前のまたは最終のステップとして、
プログラム・コードを暫時に実現するだけのメモリまた
は送信装置の使用を含み得る。
【0145】メモリ装置は、固定(ハード)ディスク・
ドライブ、ディスケット、光ディスク、磁気テープ、半
導体メモリ(RAM、ROM、PRomなど)などを含
む。送信装置は、インターネット、イントラネット、電
子掲示板、及びメッセージ/短信交換、電話/モデム・
ベースのネットワーク通信、配線式/ケーブル式通信ネ
ットワーク、セルラ通信、電波通信、衛星通信、及び他
の静止または移動ネットワーク・システム/通信リンク
を含む。
【0146】本発明を実現するマシンは、CPU、メモ
リ/記憶装置、通信リンク、通信/送信装置、サーバ、
I/O装置などを含む1つ以上の処理システム、或いは
ソフトウェア、ファームウェア、ハードウェア、または
それらの任意の組み合わせまたはサブ組み合わせを含
む、1つ以上の処理システムのあらゆるサブコンポーネ
ントまたは個々のパーツを含み得る。
【0147】コンピュータ・サイエンス分野に携わる当
業者には、上述のように作成されたソフトウェアを、適
切な汎用または特殊目的コンピュータ・ハードウェアと
容易に結合することにより、本発明を実現するコンピュ
ータ・システム及び(または)コンピュータ・サブコン
ポーネントを生成し、また本発明の方法を実行するコン
ピュータ・システム及び(または)コンピュータ・サブ
コンポーネントを生成することができよう。
【0148】以上、本発明の好適な実施例について述べ
てきたが、当業者には、本発明の趣旨及び範囲から逸脱
することなく、上述の実施例の変更及び適応化が明らか
となろう。例えば、好適な実施例は3層クライアント/
サーバ環境に関して述べられてきたが、本発明は2層ク
ライアント/サーバ環境、またはアプリケーション、オ
ブジェクト照会サービス、及びデータ源が全て同一マシ
ン上に存在する他の環境においても実現され得る。更
に、好適な実施例はリレーショナル・データベースに関
連して述べられてきたが、本発明は、階層データ(例え
ばDL/I)、オブジェクト指向データ、フラット・フ
ァイル、VSAM(仮想記憶アクセス・メソッド)など
の、任意のタイプのデータ源を用いても適用可能であ
る。
【0149】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0150】(1)コンピュータ使用可能媒体上のプロ
グラム・コードを含むソフトウェア・ツールであって、
ビュー定義を受信する手段と、前記ビュー定義からオブ
ジェクト指向クラス定義を生成する手段とを含む、ソフ
トウェア・ツール。 (2)前記生成する手段が、前記ビュー定義からオブジ
ェクトを生成するために照会システムにより適用される
規則にもとづき、前記クラス定義を生成する、前記
(1)記載のソフトウェア・ツール。 (3)ビュー収集vがビュー・タイプVであり、SEL
ECTステートメントとして指定されるVの実施例Mを
有し、前記生成する手段が前記クラス定義を次の規則、
すなわち a)オブジェクト言語クラス・コンストラクタ内の要素
を、MのFROM節内の要素の順序として順序付けする
規則と、 b)前記FROM節内のi番目の要素がビュー・タイプ
の場合、前記i番目の要素への結合に対するハンドルを
引数として、オブジェクト・コンストラクタに渡す規則
と、 c)Mの前記FROM節内のj番目の要素がリレーショ
ナル・テーブルの場合、行タイプを別の引数として前記
オブジェクト・コンストラクタに渡し、前記行タイプの
引数を、前記行タイプ内に存在する列の順序として順序
付けする規則と、に従い生成する、前記(1)記載のソ
フトウェア・ツール。 (4)コンピュータ使用可能媒体上のプログラム・コー
ドを含むソフトウェア・ツールであって、データのビュ
ーの指定されたグラフィカル・メタフォを受信する手段
と、前記指定されたグラフィカル・メタフォから、ビュ
ー・タイプ定義及びオブジェクト言語クラス定義を生成
する手段とを含む、ソフトウェア・ツール。 (5)コンピュータ使用可能媒体上のコンピュータ・プ
ログラムにより実行される方法であって、ビュー定義を
受信するステップと、前記ビュー定義からオブジェクト
指向クラス定義を生成するステップとを含む、方法。 (6)ビュー収集vがビュー・タイプVであり、SEL
ECTステートメントとして指定されるVの実施例Mを
有し、前記生成するステップが前記クラス定義を次の規
則、すなわち a)オブジェクト言語クラス・コンストラクタ内の要素
を、MのFROM節内の要素の順序として順序付けする
規則と、 b)前記FROM節内のi番目の要素がビュー・タイプ
の場合、前記i番目の要素への結合に対するハンドルを
引数として、オブジェクト・コンストラクタに渡す規則
と、 c)Mの前記FROM節内のj番目の要素がリレーショ
ナル・テーブルの場合、行タイプを別の引数として前記
オブジェクト・コンストラクタに渡し、前記行タイプの
引数を、前記行タイプ内に存在する列の順序として順序
付けする規則と、に従い生成する、前記(5)記載の方
法。 (7)コンピュータ使用可能媒体上のコンピュータ・プ
ログラムにより実行される方法であって、データのビュ
ーの指定されたグラフィカル・メタフォを受信するステ
ップと、前記指定されたグラフィカル・メタフォから、
ビュー・タイプ定義及びオブジェクト言語クラス定義を
生成するステップとを含む、方法。 (8)データ処理システム内の照会エンジンにより実行
される方法であって、オブジェクト指向言語を有するア
プリケーションから、ビュー・タイプを参照する照会を
受信するステップと、実行時に、前記ビュー・タイプか
らアプリケーション・オブジェクトをメモリ内に生成す
るステップと、前記アプリケーション・オブジェクトに
対するハンドルを前記アプリケーションに返却するステ
ップとを含む、方法。 (9)前記アプリケーション・オブジェクトの各々が、
返却されるオブジェクトのタイプに対する各オブジェク
ト指向言語クラス定義に一致する形式を有する、前記
(8)記載の方法。 (10)前記生成するステップがオブジェクト言語とは
独立に実行される、前記(9)記載の方法。 (11)前記アプリケーションにより、メモリ内の前記
アプリケーション・オブジェクト上でメソッドを実行す
るステップを含む、前記(8)記載の方法。 (12)前記アプリケーションにより、返却される前記
アプリケーション・オブジェクトに対する前記ハンドル
から、他のアプリケーション・オブジェクトを指し示す
ステップを含む、前記(8)記載の方法。 (13)前記アプリケーションが他のオブジェクトにナ
ビゲートし、前記照会エンジンにより理解される前記オ
ブジェクトの他の処理を実行できる、前記(8)記載の
方法。 (14)前記ビュー・タイプがフラット・リレーショナ
ル・テーブルからのネスト化スキーマを含み、前記アプ
リケーション・オブジェクトが前記ネスト化スキーマを
反映する、前記(8)記載の方法。 (15)前記照会が照会結果としてビュー・タイプを返
却するように指示する場合、前記アプリケーション・オ
ブジェクトが生成される、前記(8)記載の方法。 (16)前記照会がビュー・タイプ上のメソッドを呼び
出す場合、前記アプリケーション・オブジェクトが生成
される、前記(8)記載の方法。 (17)ビュー・タイプVのビュー収集v、SELEC
Tステートメントとして指定されるVの関連実施例Mが
提供される場合、タイプVのビュー・タイプ・アプリケ
ーション・オブジェクトがvに対する照会に対して、次
の規則すなわち、 a)Vがビュー・タイプの場合、Vを生成するために使
用されるオブジェクト生成プロシージャ呼び出しが、M
のFROM節内の要素の順に順序付けされる引数を有
し、前記FROM節内のi番目の要素がビュー・タイプ
の場合、前記i番目の要素への結合に対するハンドルが
引数として、前記オブジェクト生成プロシージャ呼び出
しに渡される規則と、 b)Vがビュー・タイプで、Mの前記FROM節内のj
番目の要素がリレーショナル・テーブルの場合、Vを生
成するために使用されるオブジェクト生成プロシージャ
呼び出しが、そのj番目の要素として、前記呼び出しに
引数として渡される行タイプを有し、前記行タイプが、
該行タイプの前記スキーマにもとづき生成される総称タ
イプであり、前記引数の順序が前記行タイプ内に存在す
る列の順序により提供される規則と、に従い生成され
る、前記(8)記載の方法。 (18)照会処理システムにおいて実現される方法であ
って、ビュー・タイプを参照する照会を受信するステッ
プと、前記ビュー・タイプにもとづき、メモリ内に少な
くとも1つのアプリケーション・タイプ・オブジェクト
を生成するための呼び出しを有する照会プランを生成す
るステップと、照会結果として、前記アプリケーション
・タイプ・オブジェクトに対するハンドルを返却するス
テップとを含む、方法。 (19)照会処理システムにおいて実現される方法であ
って、アプリケーションから、ビュー・タイプを参照す
る照会を受信するステップと、前記照会のFROM節内
の要素の順に順序付けされる引数を有する、オブジェク
ト生成プロシージャ呼び出しを有する照会プランを生成
するステップと、前記FROM節内のi番目の要素がビ
ュー・タイプの場合、前記i番目の要素への結合に対す
るハンドルを引数として、前記オブジェクト生成プロシ
ージャ呼び出しに渡すステップと、前記FROM節内の
j番目の要素がリレーショナル・テーブルの場合、デー
タベース行のスキーマにもとづき、行タイプをj番目の
引数として前記オブジェクト生成プロシージャ呼び出し
に渡すステップと、を含む、方法。 (20)照会処理システムにおいて実現される方法であ
って、第1のビュー・タイプから導出される第2のビュ
ー・タイプを参照する照会を、アプリケーションから受
信するステップと、前記第1のビュー・タイプの第1の
ビュー・タイプ定義にもとづき、第1のオブジェクト・
タイプを、また前記第2のビュー・タイプの第2のビュ
ー・タイプ定義にもとづき、前記第1のオブジェクト・
タイプを指し示すポインタを有する第2のオブジェクト
・タイプを、メモリ内に生成するステップと、前記メモ
リ内の前記オブジェクトを用い、前記照会を解析するス
テップと、を含む、方法。 (21)照会処理システムにおいて実現される方法であ
って、照会エンジンにより、特定のオブジェクト言語に
より作成されたアプリケーションから、ビューを参照す
る照会を受信するステップと、前記照会エンジンによ
り、前記ビューがビュー・タイプにもとづくことを判断
するステップと、前記特定のオブジェクト言語の知識を
有さない前記照会エンジンにより、前記ビュー・タイプ
にもとづき、メモリ内の前記特定のオブジェクト言語の
クラス定義に一致する形式を有するビュー・タイプ・オ
ブジェクトを生成するステップと、前記照会の結果とし
て、前記ビュー・タイプ・オブジェクトに対するハンド
ルを前記アプリケーションに返却するステップと、前記
メモリ内に、前記ビュー・タイプ・オブジェクトに対応
するビュー・オブジェクトの収集を生成するステップ
と、前記アプリケーションにより、各ビュー・オブジェ
クト上で繰り返し、別の照会結果を獲得することによ
り、各ビュー・オブジェクト上でメソッドを実行するス
テップと、を含む、方法。 (22)ビュー及びビュー・タイプからアプリケーショ
ン・オブジェクトをレンダリングする機能を有する照会
エンジンと、前記アプリケーション・オブジェクトに対
するハンドルを、アプリケーションに返却する手段と、
を含む、システム。 (23)照会を受信する手段と、前記照会の受信に応答
して、前記照会により参照されるビューのビュー定義に
もとづき、オブジェクトを生成する手段と、を含む、照
会処理システム。 (24)アプリケーションから、ビュー・タイプを参照
する照会を受信する手段と、前記照会の結果として、前
記アプリケーションに、前記ビュー・タイプにもとづき
生成されたオブジェクトに対するハンドルをアプリケー
ション・タイプとして返却する手段と、を含む、照会処
理システム。 (25)アプリケーションから、ビュー・タイプを参照
する照会を受信する手段と、前記ビュー・タイプから、
該ビュー・タイプを更に前記アプリケーションからオブ
ジェクト・データとして照会され得るアプリケーション
・タイプとしてレンダリングする手段と、を含む、照会
処理システム。 (26)ビュー・タイプを参照する照会を受信する手段
と、前記ビュー・タイプにもとづき、メモリ内に少なく
とも1つのアプリケーション・タイプ・オブジェクトを
生成するための呼び出しを有する照会プランを生成する
手段と、照会結果として、前記アプリケーション・タイ
プ・オブジェクトに対するハンドルを返却する手段とを
含む、照会エンジン。 (27)アプリケーションから、ビュー・タイプを参照
する照会を受信する手段と、前記照会のFROM節内の
要素の順に順序付けされる引数を有する、オブジェクト
生成プロシージャ呼び出しを有する照会プランを生成す
る手段と、前記FROM節内のi番目の要素がビュー・
タイプの場合、該i番目の要素への結合に対するハンド
ルを引数として、前記オブジェクト生成プロシージャ呼
び出しに渡す手段と、前記FROM節内のj番目の要素
がリレーショナル・テーブルの場合、データベース行の
スキーマにもとづき、行タイプをj番目の引数として前
記オブジェクト生成プロシージャ呼び出しに渡す手段
と、を含む、照会エンジン。 (28)オブジェクト指向言語を有するアプリケーショ
ンから、ビュー・タイプを参照する照会を受信する手段
と、実行時に、前記ビュー・タイプからアプリケーショ
ン・オブジェクトをメモリ内に生成する手段と、前記ア
プリケーション・オブジェクトに対するハンドルを前記
アプリケーションに返却する手段と、を含む、照会処理
システム。 (29)前記アプリケーション・オブジェクトの各々
が、返却されるオブジェクトのタイプに対する各オブジ
ェクト指向言語クラス定義に一致する形式を有する、前
記(28)記載の照会処理システム。 (30)前記ビュー・タイプがフラット・リレーショナ
ル・テーブルからのネスト化スキーマを含み、前記アプ
リケーション・オブジェクトが前記ネスト化スキーマを
反映する、前記(28)記載の照会処理システム。 (31)前記照会が照会結果としてビュー・タイプを返
却するように指示する場合、アプリケーション・オブジ
ェクトを生成する前記手段がアプリケーション・オブジ
ェクトを生成する、前記(28)記載の照会処理システ
ム。 (32)前記照会がビュー・タイプ上のメソッドを呼び
出す場合、アプリケーション・オブジェクトを生成する
前記手段がアプリケーション・オブジェクトを生成す
る、前記(28)記載の照会処理システム。 (33)ビュー・タイプVのビュー収集v、SELEC
Tステートメントとして指定されるVの関連実施例Mが
提供される場合、前記生成する手段が、v上の前記照会
に対して、タイプVのビュー・タイプ・アプリケーショ
ン・オブジェクトを次の規則、すなわち、 a)Vがビュー・タイプの場合、Vを生成するために使
用されるオブジェクト生成プロシージャ呼び出しが、M
のFROM節内の要素の順に順序付けされる引数を有
し、前記FROM節内のi番目の要素がビュー・タイプ
の場合、前記i番目の要素への結合に対するハンドルが
引数として、前記オブジェクト生成プロシージャ呼び出
しに渡される規則と、 b)Vがビュー・タイプで、Mの前記FROM節内のj
番目の要素がリレーショナル・テーブルの場合、Vを生
成するために使用されるオブジェクト生成プロシージャ
呼び出しが、そのj番目の要素として、前記呼び出しに
引数として渡される行タイプを有し、前記行タイプが、
該行タイプの前記スキーマにもとづき生成される総称タ
イプであり、前記引数の順序が前記行タイプ内に存在す
る列の順序により提供される規則と、に従い生成する、
前記(28)記載の照会処理システム。 (34)第1のビュー・タイプから導出される第2のビ
ュー・タイプを参照する照会を、アプリケーションから
受信する手段と、前記第1のビュー・タイプの第1のビ
ュー・タイプ定義にもとづき、第1のオブジェクト・タ
イプを、また前記第2のビュー・タイプの第2のビュー
・タイプ定義にもとづき、前記第1のオブジェクト・タ
イプを指し示すポインタを有する第2のオブジェクト・
タイプを、メモリ内に生成する手段と、前記メモリ内の
前記オブジェクトを用い、前記照会を解析する手段とを
含む、照会エンジン。 (35)アプリケーションから、ビュー・タイプを参照
する照会を受信する手段と、前記ビュー・タイプのビュ
ー・タイプ定義を含む照会エンジン・カタログと、前記
ビュー・タイプ定義にもとづき、メモリ内にアプリケー
ション・オブジェクトをレンダリングする手段とを含
む、照会処理システム。 (36)前記アプリケーション・オブジェクトが前記ビ
ュー・タイプ定義から、次の規則、すなわち 1)前記ビュー・タイプ定義内のFROM節内の要素が
ビュー・タイプの場合、前記ビュー・タイプ・オブジェ
クトに対するハンドルをアプリケーション・オブジェク
ト・コンストラクタに渡す規則と、 2)前記FROM節内の別の要素がリレーショナル・テ
ーブルからの行タイプの場合、前記行をメモり内に生成
し、前記行タイプに対するハンドルを前記アプリケーシ
ョン・オブジェクト・コンストラクタに渡す規則と、に
従いレンダリングされる、前記(35)記載の照会処理
システム。 (37)ビューを参照する照会を発行する機能を有する
クライアントと、前記ビューを参照する前記照会の受信
に応答して、前記ビューのビュー定義にもとづき、メモ
リ内にアプリケーション・オブジェクトを生成する機能
と、生成された前記アプリケーション・オブジェクトに
対するハンドルを前記クライアントに返却する機能とを
有するオブジェクト照会サービスと、前記オブジェクト
照会サービスからデータ源にプッシュダウンされた、前
記照会からの述語に対してデータを結果として、前記オ
ブジェクト照会サービスに返却する機能を有するデータ
源と、を含む、照会処理システム。 (38)前記アプリケーション・オブジェクトが、他の
オブジェクト及び該他のオブジェクトへのポインタを含
むメソッドを含むことができ、生成された前記アプリケ
ーション・オブジェクトが下にあるデータから導出され
得る、前記(37)記載の照会処理システム。 (39)前記メソッドの1つが呼び出されるときに、前
記ポインタを参照するか、照会を発行することにより、
前記アプリケーション・オブジェクトが前記アプリケー
ションにより処理されるとき、前記データ源への接続が
維持され、前記下にあるデータが検索される、前記(3
8)記載の照会処理システム。 (40)前記アプリケーションが返却された前記ハンド
ルを用い、前記アプリケーション・オブジェクトを処理
するとき、前記データ源への接続を維持する手段を含
む、前記(37)記載の照会処理システム。 (41)第1層として、ビューを参照する照会を発行す
る機能を有するクライアントと、第2層として、前記ビ
ューを参照する前記照会の受信に応答して、前記ビュー
のビュー定義にもとづき、メモリ内にオブジェクトを生
成する機能と、生成された前記オブジェクトに対するハ
ンドルを前記クライアントに返却する機能とを有するオ
ブジェクト照会サービスと、第3層として、前記オブジ
ェクト照会サービスからリレーショナル・データベース
管理システムにプッシュダウンされた、前記照会からの
述語に対して行を結果として、前記オブジェクト照会サ
ービスに返却する機能を有するリレーショナル・データ
ベース管理システムと、を含む、3層照会システム。 (42)照会を処理するコンピュータ使用可能媒体上の
プログラムであって、ビュー・タイプを参照する照会を
受信する手段と、前記ビュー・タイプにもとづき、メモ
リ内に少なくとも1つのアプリケーション・タイプ・オ
ブジェクトを生成するための呼び出しを有する照会プラ
ンを生成する手段と、照会結果として、前記アプリケー
ション・タイプ・オブジェクトに対するハンドルを返却
する手段と、を含む、プログラム。 (43)照会を処理するコンピュータ使用可能媒体上の
プログラムであって、アプリケーションから、ビュー・
タイプを参照する照会を受信する手段と、前記照会のF
ROM節内の要素の順に順序付けされる引数を有する、
オブジェクト生成プロシージャ呼び出しを有する照会プ
ランを生成する手段と、前記FROM節内のi番目の要
素がビュー・タイプの場合、前記i番目の要素への結合
に対するハンドルを引数として、前記オブジェクト生成
プロシージャ呼び出しに渡す手段と、前記FROM節内
のj番目の要素がリレーショナル・テーブルの場合、デ
ータベース行のスキーマにもとづき、行タイプをj番目
の引数として前記オブジェクト生成プロシージャ呼び出
しに渡す手段と、を含む、プログラム。 (44)照会を処理するコンピュータ使用可能媒体上の
プログラムであって、オブジェクト指向言語を有するア
プリケーションから、ビュー・タイプを参照する照会を
受信する手段と、実行時に、前記ビュー・タイプからア
プリケーション・オブジェクトをメモリ内に生成する手
段と、前記アプリケーション・オブジェクトに対するハ
ンドルを前記アプリケーションに返却する手段とを含
む、プログラム。 (45)前記照会が照会結果としてビュー・タイプを返
却するように指示する場合、アプリケーション・オブジ
ェクトを生成する前記手段がアプリケーション・オブジ
ェクトを生成する、前記(44)記載のプログラム。 (46)前記照会がビュー・タイプ上のメソッドを呼び
出す場合、アプリケーション・オブジェクトを生成する
前記手段がアプリケーション・オブジェクトを生成す
る、前記(44)記載のプログラム。 (47)照会を処理するコンピュータ使用可能媒体上の
プログラムであって、第1のビュー・タイプから導出さ
れる第2のビュー・タイプを参照する照会を、アプリケ
ーションから受信する手段と、前記第1のビュー・タイ
プの第1のビュー・タイプ定義にもとづき、第1のオブ
ジェクト・タイプを、また前記第2のビュー・タイプの
第2のビュー・タイプ定義にもとづき、前記第1のオブ
ジェクト・タイプを指し示すポインタを有する第2のオ
ブジェクト・タイプを、メモリ内に生成する手段と、前
記メモリ内の前記オブジェクトを用い、前記照会を解析
する手段と、を含む、プログラム。
【図面の簡単な説明】
【図1】リレーショナル・テーブルの行タイプを示す図
である。
【図2】リレーショナル・テーブルのエイリアスを示す
図である。
【図3】リレーショナル・テーブル上のビュー収集、及
びオブジェクト照会サービスの照会エンジンのカタログ
に記憶されるビュー・タイプ定義を示す図である。
【図4】従業員部門オブジェクトのC++レンダリン
グ、及びアプリケーション・ファイルに記憶されるオブ
ジェクト言語クラス定義を示す図である。
【図5】メンバ名に対する簡単な照会リライト変換を示
す図である。
【図6】経路式に対する照会リライト変換を示す図であ
る。
【図7】オブジェクト生成に対する照会リライト変換を
示す図である。
【図8】ビジネス・オブジェクト・メソッドに対する照
会リライト変換を示す図である。
【図9】本発明を組み込む処理環境の機能ブロック図で
ある。
【図10】本発明を組み込む処理環境の機能ブロック図
である。
【図11】本発明を組み込む処理環境の機能ブロック図
である。
【符号の説明】
21 従業員 110 行タイプdb2ept 111 部門番号 115 基本キー 120 行タイプdb2emp 121 番号 122 名前 123 給料 124 部門id 190、290、390 層 191 クライアント・アプリケーション 192 プロキシOBJ 193 QE 194 エンド・ユーザ 199 オブジェクト指向SQL 223 db2emp 224 dbl 225 kiernan 226 emp 290 オブジェクト・サーバ 291 オブジェクト照会サービス 292 ビジネス・オブジェクト 293 メモリ・キャッシュ 295 インスタンス・マネージャ・オブジェクト・サ
ービス 297 オブジェクトのデータ部(DO) 298 サーバ・アプリケーション 310 タイプVTEmp 311 VEmp 312 テーブルdb2emp 313 ポインタ(VTDept*) 330 タイプVTDept 331 VDept 332 テーブルdb2dept 333、902 収集 391 データベース管理システム(DBMS) 399 行 401 照会 406 行タイプ 410 クラスVTEmp 414 no() 415 属性 416 メソッド 430 クラスVTDept 905 パーサ 906 データ構造OQGM(オブジェクト照会グラフ
・モデル) 907 照会リライト 908 照会グラフ 909 最適化フェーズ 910 実行可能プラン 911 照会評価サブシステム(QES) 912 照会プラン(QPL) 913 呼び出しレベル・インタフェース(CLI) 921 スキーマ・アクセス要素 922 収集アクセス要素 923 CBSデータ・マネージャ及びメタデータ・レ
ポジトリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェラルド・ジィ・キーナン アメリカ合衆国95120、カリフォルニア州 サン・ノゼ、ウォリス・ドライブ 1074

Claims (47)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ使用可能媒体上のプログラム
    ・コードを含むソフトウェア・ツールであって、 ビュー定義を受信する手段と、 前記ビュー定義からオブジェクト指向クラス定義を生成
    する手段とを含む、ソフトウェア・ツール。
  2. 【請求項2】前記生成する手段が、前記ビュー定義から
    オブジェクトを生成するために照会システムにより適用
    される規則にもとづき、前記クラス定義を生成する、請
    求項1記載のソフトウェア・ツール。
  3. 【請求項3】ビュー収集vがビュー・タイプVであり、
    SELECTステートメントとして指定されるVの実施
    例Mを有し、前記生成する手段が前記クラス定義を次の
    規則、すなわち a)オブジェクト言語クラス・コンストラクタ内の要素
    を、MのFROM節内の要素の順序として順序付けする
    規則と、 b)前記FROM節内のi番目の要素がビュー・タイプ
    の場合、前記i番目の要素への結合に対するハンドルを
    引数として、オブジェクト・コンストラクタに渡す規則
    と、 c)Mの前記FROM節内のj番目の要素がリレーショ
    ナル・テーブルの場合、行タイプを別の引数として前記
    オブジェクト・コンストラクタに渡し、前記行タイプの
    引数を、前記行タイプ内に存在する列の順序として順序
    付けする規則と、 に従い生成する、請求項1記載のソフトウェア・ツー
    ル。
  4. 【請求項4】コンピュータ使用可能媒体上のプログラム
    ・コードを含むソフトウェア・ツールであって、 データのビューの指定されたグラフィカル・メタフォを
    受信する手段と、 前記指定されたグラフィカル・メタフォから、ビュー・
    タイプ定義及びオブジェクト言語クラス定義を生成する
    手段とを含む、ソフトウェア・ツール。
  5. 【請求項5】コンピュータ使用可能媒体上のコンピュー
    タ・プログラムにより実行される方法であって、 ビュー定義を受信するステップと、 前記ビュー定義からオブジェクト指向クラス定義を生成
    するステップとを含む、方法。
  6. 【請求項6】ビュー収集vがビュー・タイプVであり、
    SELECTステートメントとして指定されるVの実施
    例Mを有し、前記生成するステップが前記クラス定義を
    次の規則、すなわち a)オブジェクト言語クラス・コンストラクタ内の要素
    を、MのFROM節内の要素の順序として順序付けする
    規則と、 b)前記FROM節内のi番目の要素がビュー・タイプ
    の場合、前記i番目の要素への結合に対するハンドルを
    引数として、オブジェクト・コンストラクタに渡す規則
    と、 c)Mの前記FROM節内のj番目の要素がリレーショ
    ナル・テーブルの場合、行タイプを別の引数として前記
    オブジェクト・コンストラクタに渡し、前記行タイプの
    引数を、前記行タイプ内に存在する列の順序として順序
    付けする規則と、 に従い生成する、請求項5記載の方法。
  7. 【請求項7】コンピュータ使用可能媒体上のコンピュー
    タ・プログラムにより実行される方法であって、 データのビューの指定されたグラフィカル・メタフォを
    受信するステップと、 前記指定されたグラフィカル・メタフォから、ビュー・
    タイプ定義及びオブジェクト言語クラス定義を生成する
    ステップとを含む、方法。
  8. 【請求項8】データ処理システム内の照会エンジンによ
    り実行される方法であって、 オブジェクト指向言語を有するアプリケーションから、
    ビュー・タイプを参照する照会を受信するステップと、 実行時に、前記ビュー・タイプからアプリケーション・
    オブジェクトをメモリ内に生成するステップと、 前記アプリケーション・オブジェクトに対するハンドル
    を前記アプリケーションに返却するステップとを含む、
    方法。
  9. 【請求項9】前記アプリケーション・オブジェクトの各
    々が、返却されるオブジェクトのタイプに対する各オブ
    ジェクト指向言語クラス定義に一致する形式を有する、
    請求項8記載の方法。
  10. 【請求項10】前記生成するステップがオブジェクト言
    語とは独立に実行される、請求項9記載の方法。
  11. 【請求項11】前記アプリケーションにより、メモリ内
    の前記アプリケーション・オブジェクト上でメソッドを
    実行するステップを含む、請求項8記載の方法。
  12. 【請求項12】前記アプリケーションにより、返却され
    る前記アプリケーション・オブジェクトに対する前記ハ
    ンドルから、他のアプリケーション・オブジェクトを指
    し示すステップを含む、請求項8記載の方法。
  13. 【請求項13】前記アプリケーションが他のオブジェク
    トにナビゲートし、前記照会エンジンにより理解される
    前記オブジェクトの他の処理を実行できる、請求項8記
    載の方法。
  14. 【請求項14】前記ビュー・タイプがフラット・リレー
    ショナル・テーブルからのネスト化スキーマを含み、前
    記アプリケーション・オブジェクトが前記ネスト化スキ
    ーマを反映する、請求項8記載の方法。
  15. 【請求項15】前記照会が照会結果としてビュー・タイ
    プを返却するように指示する場合、前記アプリケーショ
    ン・オブジェクトが生成される、請求項8記載の方法。
  16. 【請求項16】前記照会がビュー・タイプ上のメソッド
    を呼び出す場合、前記アプリケーション・オブジェクト
    が生成される、請求項8記載の方法。
  17. 【請求項17】ビュー・タイプVのビュー収集v、SE
    LECTステートメントとして指定されるVの関連実施
    例Mが提供される場合、タイプVのビュー・タイプ・ア
    プリケーション・オブジェクトがvに対する照会に対し
    て、次の規則すなわち、 a)Vがビュー・タイプの場合、Vを生成するために使
    用されるオブジェクト生成プロシージャ呼び出しが、M
    のFROM節内の要素の順に順序付けされる引数を有
    し、前記FROM節内のi番目の要素がビュー・タイプ
    の場合、前記i番目の要素への結合に対するハンドルが
    引数として、前記オブジェクト生成プロシージャ呼び出
    しに渡される規則と、 b)Vがビュー・タイプで、Mの前記FROM節内のj
    番目の要素がリレーショナル・テーブルの場合、Vを生
    成するために使用されるオブジェクト生成プロシージャ
    呼び出しが、そのj番目の要素として、前記呼び出しに
    引数として渡される行タイプを有し、前記行タイプが、
    該行タイプの前記スキーマにもとづき生成される総称タ
    イプであり、前記引数の順序が前記行タイプ内に存在す
    る列の順序により提供される規則と、に従い生成され
    る、請求項8記載の方法。
  18. 【請求項18】照会処理システムにおいて実現される方
    法であって、 ビュー・タイプを参照する照会を受信するステップと、 前記ビュー・タイプにもとづき、メモリ内に少なくとも
    1つのアプリケーション・タイプ・オブジェクトを生成
    するための呼び出しを有する照会プランを生成するステ
    ップと、 照会結果として、前記アプリケーション・タイプ・オブ
    ジェクトに対するハンドルを返却するステップとを含
    む、方法。
  19. 【請求項19】照会処理システムにおいて実現される方
    法であって、 アプリケーションから、ビュー・タイプを参照する照会
    を受信するステップと、 前記照会のFROM節内の要素の順に順序付けされる引
    数を有する、オブジェクト生成プロシージャ呼び出しを
    有する照会プランを生成するステップと、 前記FROM節内のi番目の要素がビュー・タイプの場
    合、前記i番目の要素への結合に対するハンドルを引数
    として、前記オブジェクト生成プロシージャ呼び出しに
    渡すステップと、 前記FROM節内のj番目の要素がリレーショナル・テ
    ーブルの場合、データベース行のスキーマにもとづき、
    行タイプをj番目の引数として前記オブジェクト生成プ
    ロシージャ呼び出しに渡すステップと、 を含む、方法。
  20. 【請求項20】照会処理システムにおいて実現される方
    法であって、 第1のビュー・タイプから導出される第2のビュー・タ
    イプを参照する照会を、アプリケーションから受信する
    ステップと、 前記第1のビュー・タイプの第1のビュー・タイプ定義
    にもとづき、第1のオブジェクト・タイプを、また前記
    第2のビュー・タイプの第2のビュー・タイプ定義にも
    とづき、前記第1のオブジェクト・タイプを指し示すポ
    インタを有する第2のオブジェクト・タイプを、メモリ
    内に生成するステップと、 前記メモリ内の前記オブジェクトを用い、前記照会を解
    析するステップと、 を含む、方法。
  21. 【請求項21】照会処理システムにおいて実現される方
    法であって、 照会エンジンにより、特定のオブジェクト言語により作
    成されたアプリケーションから、ビューを参照する照会
    を受信するステップと、 前記照会エンジンにより、前記ビューがビュー・タイプ
    にもとづくことを判断するステップと、 前記特定のオブジェクト言語の知識を有さない前記照会
    エンジンにより、前記ビュー・タイプにもとづき、メモ
    リ内の前記特定のオブジェクト言語のクラス定義に一致
    する形式を有するビュー・タイプ・オブジェクトを生成
    するステップと、 前記照会の結果として、前記ビュー・タイプ・オブジェ
    クトに対するハンドルを前記アプリケーションに返却す
    るステップと、 前記メモリ内に、前記ビュー・タイプ・オブジェクトに
    対応するビュー・オブジェクトの収集を生成するステッ
    プと、 前記アプリケーションにより、各ビュー・オブジェクト
    上で繰り返し、別の照会結果を獲得することにより、各
    ビュー・オブジェクト上でメソッドを実行するステップ
    と、 を含む、方法。
  22. 【請求項22】ビュー及びビュー・タイプからアプリケ
    ーション・オブジェクトをレンダリングする機能を有す
    る照会エンジンと、 前記アプリケーション・オブジェクトに対するハンドル
    を、アプリケーションに返却する手段と、 を含む、システム。
  23. 【請求項23】照会を受信する手段と、 前記照会の受信に応答して、前記照会により参照される
    ビューのビュー定義にもとづき、オブジェクトを生成す
    る手段と、 を含む、照会処理システム。
  24. 【請求項24】アプリケーションから、ビュー・タイプ
    を参照する照会を受信する手段と、 前記照会の結果として、前記アプリケーションに、前記
    ビュー・タイプにもとづき生成されたオブジェクトに対
    するハンドルをアプリケーション・タイプとして返却す
    る手段と、 を含む、照会処理システム。
  25. 【請求項25】アプリケーションから、ビュー・タイプ
    を参照する照会を受信する手段と、 前記ビュー・タイプから、該ビュー・タイプを更に前記
    アプリケーションからオブジェクト・データとして照会
    され得るアプリケーション・タイプとしてレンダリング
    する手段と、 を含む、照会処理システム。
  26. 【請求項26】ビュー・タイプを参照する照会を受信す
    る手段と、 前記ビュー・タイプにもとづき、メモリ内に少なくとも
    1つのアプリケーション・タイプ・オブジェクトを生成
    するための呼び出しを有する照会プランを生成する手段
    と、 照会結果として、前記アプリケーション・タイプ・オブ
    ジェクトに対するハンドルを返却する手段とを含む、照
    会エンジン。
  27. 【請求項27】アプリケーションから、ビュー・タイプ
    を参照する照会を受信する手段と、 前記照会のFROM節内の要素の順に順序付けされる引
    数を有する、オブジェクト生成プロシージャ呼び出しを
    有する照会プランを生成する手段と、 前記FROM節内のi番目の要素がビュー・タイプの場
    合、該i番目の要素への結合に対するハンドルを引数と
    して、前記オブジェクト生成プロシージャ呼び出しに渡
    す手段と、 前記FROM節内のj番目の要素がリレーショナル・テ
    ーブルの場合、データベース行のスキーマにもとづき、
    行タイプをj番目の引数として前記オブジェクト生成プ
    ロシージャ呼び出しに渡す手段と、 を含む、照会エンジン。
  28. 【請求項28】オブジェクト指向言語を有するアプリケ
    ーションから、ビュー・タイプを参照する照会を受信す
    る手段と、 実行時に、前記ビュー・タイプからアプリケーション・
    オブジェクトをメモリ内に生成する手段と、 前記アプリケーション・オブジェクトに対するハンドル
    を前記アプリケーションに返却する手段と、 を含む、照会処理システム。
  29. 【請求項29】前記アプリケーション・オブジェクトの
    各々が、返却されるオブジェクトのタイプに対する各オ
    ブジェクト指向言語クラス定義に一致する形式を有す
    る、請求項28記載の照会処理システム。
  30. 【請求項30】前記ビュー・タイプがフラット・リレー
    ショナル・テーブルからのネスト化スキーマを含み、前
    記アプリケーション・オブジェクトが前記ネスト化スキ
    ーマを反映する、請求項28記載の照会処理システム。
  31. 【請求項31】前記照会が照会結果としてビュー・タイ
    プを返却するように指示する場合、アプリケーション・
    オブジェクトを生成する前記手段がアプリケーション・
    オブジェクトを生成する、請求項28記載の照会処理シ
    ステム。
  32. 【請求項32】前記照会がビュー・タイプ上のメソッド
    を呼び出す場合、アプリケーション・オブジェクトを生
    成する前記手段がアプリケーション・オブジェクトを生
    成する、請求項28記載の照会処理システム。
  33. 【請求項33】ビュー・タイプVのビュー収集v、SE
    LECTステートメントとして指定されるVの関連実施
    例Mが提供される場合、前記生成する手段が、v上の前
    記照会に対して、タイプVのビュー・タイプ・アプリケ
    ーション・オブジェクトを次の規則、すなわち、 a)Vがビュー・タイプの場合、Vを生成するために使
    用されるオブジェクト生成プロシージャ呼び出しが、M
    のFROM節内の要素の順に順序付けされる引数を有
    し、前記FROM節内のi番目の要素がビュー・タイプ
    の場合、前記i番目の要素への結合に対するハンドルが
    引数として、前記オブジェクト生成プロシージャ呼び出
    しに渡される規則と、 b)Vがビュー・タイプで、Mの前記FROM節内のj
    番目の要素がリレーショナル・テーブルの場合、Vを生
    成するために使用されるオブジェクト生成プロシージャ
    呼び出しが、そのj番目の要素として、前記呼び出しに
    引数として渡される行タイプを有し、前記行タイプが、
    該行タイプの前記スキーマにもとづき生成される総称タ
    イプであり、前記引数の順序が前記行タイプ内に存在す
    る列の順序により提供される規則と、 に従い生成する、請求項28記載の照会処理システム。
  34. 【請求項34】第1のビュー・タイプから導出される第
    2のビュー・タイプを参照する照会を、アプリケーショ
    ンから受信する手段と、 前記第1のビュー・タイプの第1のビュー・タイプ定義
    にもとづき、第1のオブジェクト・タイプを、また前記
    第2のビュー・タイプの第2のビュー・タイプ定義にも
    とづき、前記第1のオブジェクト・タイプを指し示すポ
    インタを有する第2のオブジェクト・タイプを、メモリ
    内に生成する手段と、 前記メモリ内の前記オブジェクトを用い、前記照会を解
    析する手段とを含む、照会エンジン。
  35. 【請求項35】アプリケーションから、ビュー・タイプ
    を参照する照会を受信する手段と、 前記ビュー・タイプのビュー・タイプ定義を含む照会エ
    ンジン・カタログと、 前記ビュー・タイプ定義にもとづき、メモリ内にアプリ
    ケーション・オブジェクトをレンダリングする手段とを
    含む、照会処理システム。
  36. 【請求項36】前記アプリケーション・オブジェクトが
    前記ビュー・タイプ定義から、次の規則、すなわち 1)前記ビュー・タイプ定義内のFROM節内の要素が
    ビュー・タイプの場合、前記ビュー・タイプ・オブジェ
    クトに対するハンドルをアプリケーション・オブジェク
    ト・コンストラクタに渡す規則と、 2)前記FROM節内の別の要素がリレーショナル・テ
    ーブルからの行タイプの場合、前記行をメモり内に生成
    し、前記行タイプに対するハンドルを前記アプリケーシ
    ョン・オブジェクト・コンストラクタに渡す規則と、 に従いレンダリングされる、請求項35記載の照会処理
    システム。
  37. 【請求項37】ビューを参照する照会を発行する機能を
    有するクライアントと、 前記ビューを参照する前記照会の受信に応答して、前記
    ビューのビュー定義にもとづき、メモリ内にアプリケー
    ション・オブジェクトを生成する機能と、生成された前
    記アプリケーション・オブジェクトに対するハンドルを
    前記クライアントに返却する機能とを有するオブジェク
    ト照会サービスと、 前記オブジェクト照会サービスからデータ源にプッシュ
    ダウンされた、前記照会からの述語に対してデータを結
    果として、前記オブジェクト照会サービスに返却する機
    能を有するデータ源と、 を含む、照会処理システム。
  38. 【請求項38】前記アプリケーション・オブジェクト
    が、他のオブジェクト及び該他のオブジェクトへのポイ
    ンタを含むメソッドを含むことができ、生成された前記
    アプリケーション・オブジェクトが下にあるデータから
    導出され得る、請求項37記載の照会処理システム。
  39. 【請求項39】前記メソッドの1つが呼び出されるとき
    に、前記ポインタを参照するか、照会を発行することに
    より、前記アプリケーション・オブジェクトが前記アプ
    リケーションにより処理されるとき、前記データ源への
    接続が維持され、前記下にあるデータが検索される、請
    求項38記載の照会処理システム。
  40. 【請求項40】前記アプリケーションが返却された前記
    ハンドルを用い、前記アプリケーション・オブジェクト
    を処理するとき、前記データ源への接続を維持する手段
    を含む、請求項37記載の照会処理システム。
  41. 【請求項41】第1層として、ビューを参照する照会を
    発行する機能を有するクライアントと、 第2層として、前記ビューを参照する前記照会の受信に
    応答して、前記ビューのビュー定義にもとづき、メモリ
    内にオブジェクトを生成する機能と、生成された前記オ
    ブジェクトに対するハンドルを前記クライアントに返却
    する機能とを有するオブジェクト照会サービスと、 第3層として、前記オブジェクト照会サービスからリレ
    ーショナル・データベース管理システムにプッシュダウ
    ンされた、前記照会からの述語に対して行を結果とし
    て、前記オブジェクト照会サービスに返却する機能を有
    するリレーショナル・データベース管理システムと、 を含む、3層照会システム。
  42. 【請求項42】照会を処理するコンピュータ使用可能媒
    体上のプログラムであって、 ビュー・タイプを参照する照会を受信する手段と、 前記ビュー・タイプにもとづき、メモリ内に少なくとも
    1つのアプリケーション・タイプ・オブジェクトを生成
    するための呼び出しを有する照会プランを生成する手段
    と、 照会結果として、前記アプリケーション・タイプ・オブ
    ジェクトに対するハンドルを返却する手段と、 を含む、プログラム。
  43. 【請求項43】照会を処理するコンピュータ使用可能媒
    体上のプログラムであって、 アプリケーションから、ビュー・タイプを参照する照会
    を受信する手段と、 前記照会のFROM節内の要素の順に順序付けされる引
    数を有する、オブジェクト生成プロシージャ呼び出しを
    有する照会プランを生成する手段と、 前記FROM節内のi番目の要素がビュー・タイプの場
    合、前記i番目の要素への結合に対するハンドルを引数
    として、前記オブジェクト生成プロシージャ呼び出しに
    渡す手段と、 前記FROM節内のj番目の要素がリレーショナル・テ
    ーブルの場合、データベース行のスキーマにもとづき、
    行タイプをj番目の引数として前記オブジェクト生成プ
    ロシージャ呼び出しに渡す手段と、 を含む、プログラム。
  44. 【請求項44】照会を処理するコンピュータ使用可能媒
    体上のプログラムであって、 オブジェクト指向言語を有するアプリケーションから、
    ビュー・タイプを参照する照会を受信する手段と、 実行時に、前記ビュー・タイプからアプリケーション・
    オブジェクトをメモリ内に生成する手段と、 前記アプリケーション・オブジェクトに対するハンドル
    を前記アプリケーションに返却する手段とを含む、プロ
    グラム。
  45. 【請求項45】前記照会が照会結果としてビュー・タイ
    プを返却するように指示する場合、アプリケーション・
    オブジェクトを生成する前記手段がアプリケーション・
    オブジェクトを生成する、請求項44記載のプログラ
    ム。
  46. 【請求項46】前記照会がビュー・タイプ上のメソッド
    を呼び出す場合、アプリケーション・オブジェクトを生
    成する前記手段がアプリケーション・オブジェクトを生
    成する、請求項44記載のプログラム。
  47. 【請求項47】照会を処理するコンピュータ使用可能媒
    体上のプログラムであって、 第1のビュー・タイプから導出される第2のビュー・タ
    イプを参照する照会を、アプリケーションから受信する
    手段と、 前記第1のビュー・タイプの第1のビュー・タイプ定義
    にもとづき、第1のオブジェクト・タイプを、また前記
    第2のビュー・タイプの第2のビュー・タイプ定義にも
    とづき、前記第1のオブジェクト・タイプを指し示すポ
    インタを有する第2のオブジェクト・タイプを、メモリ
    内に生成する手段と、 前記メモリ内の前記オブジェクトを用い、前記照会を解
    析する手段と、 を含む、プログラム。
JP12103898A 1997-05-09 1998-04-30 照会処理システム、その方法及びそのプログラムを記録した記録媒体 Expired - Fee Related JP3362770B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/853976 1997-05-09
US08/853,976 US6122627A (en) 1997-05-09 1997-05-09 System, method, and program for object building in queries over object views

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002125886A Division JP2003036272A (ja) 1997-05-09 2002-04-26 照会処理システム、その方法及びそのプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JPH113359A true JPH113359A (ja) 1999-01-06
JP3362770B2 JP3362770B2 (ja) 2003-01-07

Family

ID=25317408

Family Applications (2)

Application Number Title Priority Date Filing Date
JP12103898A Expired - Fee Related JP3362770B2 (ja) 1997-05-09 1998-04-30 照会処理システム、その方法及びそのプログラムを記録した記録媒体
JP2002125886A Pending JP2003036272A (ja) 1997-05-09 2002-04-26 照会処理システム、その方法及びそのプログラムを記録した記録媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2002125886A Pending JP2003036272A (ja) 1997-05-09 2002-04-26 照会処理システム、その方法及びそのプログラムを記録した記録媒体

Country Status (2)

Country Link
US (2) US6122627A (ja)
JP (2) JP3362770B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009523289A (ja) * 2006-01-10 2009-06-18 アンツ.オルグ エルエルシー データベースと電子ドキュメントとの間での階層データの転送および表示

Families Citing this family (282)

* Cited by examiner, † Cited by third party
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
EP1313037B1 (en) 1994-09-01 2013-10-02 Computer Associates Think, Inc. X.500 System and methods including searching
US8065338B2 (en) 1995-08-30 2011-11-22 Computer Associates Think, Inc. Directory searching methods and systems
US6122627A (en) * 1997-05-09 2000-09-19 International Business Machines Corporation System, method, and program for object building in queries over object views
US7631012B2 (en) 1997-05-22 2009-12-08 Computer Associates Think, Inc. System and method of operating a database
US6760746B1 (en) 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US20080010365A1 (en) * 1997-07-25 2008-01-10 Eric Schneider Methods, products, systems, and devices for processing reusable information
US6314429B1 (en) * 1997-10-08 2001-11-06 Mitel Corporation Bi-directional conversion library
US6539388B1 (en) * 1997-10-22 2003-03-25 Kabushika Kaisha Toshiba Object-oriented data storage and retrieval system using index table
US6108664A (en) * 1997-10-31 2000-08-22 Oracle Corporation Object views for relational data
US6418439B1 (en) * 1997-11-12 2002-07-09 Ncr Corporation Computer system and computer implemented method for translation of information into multiple media variations
CA2232246C (en) * 1998-03-16 2004-11-16 Ibm Canada Limited-Ibm Canada Limitee Generic data centric object structure and implementation
US6119126A (en) * 1998-05-29 2000-09-12 Oracle Corporation Object-relational query builder which determines existence of structures from information loaded from the server and cached locally on the client computing system
US6397203B1 (en) * 1998-09-30 2002-05-28 International Business Machines Corporation Defining object classes to match corresponding specialized data types in a relational database
US6285997B1 (en) * 1998-11-16 2001-09-04 International Business Machines Corporation Query optimization with deferred update and autonomous sources
US6930695B1 (en) * 1998-11-30 2005-08-16 Sun Microsystems, Inc. Method and apparatus for detecting device support in a graphical user interface
US6336118B1 (en) * 1998-12-03 2002-01-01 International Business Machines Corporation Framework within a data processing system for manipulating program objects
US6637020B1 (en) 1998-12-03 2003-10-21 International Business Machines Corporation Creating applications within data processing systems by combining program components dynamically
US6505343B1 (en) * 1998-12-31 2003-01-07 Intel Corporation Document/view application development architecture applied to ActiveX technology for web based application delivery
US6978262B2 (en) * 1999-01-05 2005-12-20 Tsai Daniel E Distributed database schema
US6684246B1 (en) * 1999-02-03 2004-01-27 William H. Gates, III Method and system for tracking clients
US6670934B1 (en) 1999-02-03 2003-12-30 William H. Gates, III Method and system for distributing art
US6574635B2 (en) * 1999-03-03 2003-06-03 Siebel Systems, Inc. Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers objects and components
USRE43690E1 (en) 1999-03-22 2012-09-25 Esdr Network Solutions Llc Search engine request method, product, and apparatus
US9141717B2 (en) 1999-03-22 2015-09-22 Esdr Network Solutions Llc Methods, systems, products, and devices for processing DNS friendly identifiers
US8037168B2 (en) 1999-07-15 2011-10-11 Esdr Network Solutions Llc Method, product, and apparatus for enhancing resolution services, registration services, and search services
US6338082B1 (en) 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US7188138B1 (en) 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
US6421658B1 (en) * 1999-07-30 2002-07-16 International Business Machines Corporation Efficient implementation of typed view hierarchies for ORDBMS
US6970844B1 (en) 1999-08-27 2005-11-29 Computer Sciences Corporation Flow designer for establishing and maintaining assignment and strategy process maps
US6961708B1 (en) 1999-08-27 2005-11-01 Computer Sciences Corporation External interface for requesting data from remote systems in a generic fashion
USRE44207E1 (en) 1999-09-01 2013-05-07 Esdr Network Solutions Llc Network resource access method, product, and apparatus
JP2001084257A (ja) * 1999-09-13 2001-03-30 Hitachi Ltd 問合せ処理方法及びシステム
US6694321B1 (en) * 1999-09-23 2004-02-17 Affymetrix, Inc. System, method, and product for development and maintenance of database-related software applications
US7979508B1 (en) * 1999-09-23 2011-07-12 International Business Machines Corporation System and method for improving gateway transparency
JP4552242B2 (ja) * 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
AUPQ428599A0 (en) 1999-11-26 1999-12-23 Computer Associates Pty. Ltd. A method of amending data base contents
AUPQ428499A0 (en) * 1999-11-26 1999-12-23 Computer Associates Pty. Ltd. A method and apparatus for operating a data base
US6615203B1 (en) * 1999-12-17 2003-09-02 International Business Machines Corporation Method, computer program product, and system for pushdown analysis during query plan generation
US6526403B1 (en) * 1999-12-17 2003-02-25 International Business Machines Corporation Method, computer program product, and system for rewriting database queries in a heterogenous environment
US6434555B1 (en) * 2000-01-24 2002-08-13 Hewlett Packard Company Method for transaction recovery in three-tier applications
US6772159B1 (en) * 2000-02-24 2004-08-03 International Business Machines Corporation System and method for disconnected database access by heterogeneous clients
US6442552B1 (en) * 2000-06-30 2002-08-27 Hewlett-Packard Company Method and apparatus for implementing three tier client asynchronous transparency
GB2364590B (en) * 2000-07-07 2004-06-02 Mitsubishi Electric Inf Tech Method and apparatus for representing and searching for an object in an image
US6604105B1 (en) * 2000-09-27 2003-08-05 Adobe Systems Incorporated Processing a directed graph of objects
US6834287B1 (en) * 2001-03-14 2004-12-21 Trilogy Development Group, Inc. Classification engine for managing attribute-based data
WO2002075553A1 (en) * 2001-03-19 2002-09-26 Empirix Inc. Component/web services tracking
US6950831B2 (en) * 2001-03-23 2005-09-27 Siemens Medical Solutions Health Services Corporation Processing system for use with a user interface display
US6948133B2 (en) * 2001-03-23 2005-09-20 Siemens Medical Solutions Health Services Corporation System for dynamically configuring a user interface display
US7263514B2 (en) * 2001-05-17 2007-08-28 International Business Machines Corporation Efficient object query processing technique on object's dynamic properties via pushdown
US7428752B2 (en) * 2001-06-01 2008-09-23 Applications In Internet Time, Llc Secure data accessing system and method
US7000236B2 (en) * 2001-07-30 2006-02-14 Bellsouth Intellectual Property Corporation System and method for using web based applications to manipulate data with manipulation functions
US7441007B1 (en) 2001-07-30 2008-10-21 At&T Intellectual Property I, L.P. System and method for allowing applications to retrieve properties and configuration information from a persistent store
US7353248B1 (en) * 2001-07-30 2008-04-01 At&T Delaware Intellectual Property, Inc. Application server and method to perform hierarchical configurable data validation
US6892234B2 (en) * 2002-06-12 2005-05-10 Electronic Data Systems Corporation Multi-tiered enterprise management system and method including a presentation services unit external to the enterprise
US20050021348A1 (en) * 2002-07-19 2005-01-27 Claribel Chan Business solution management (BSM)
US20040111398A1 (en) * 2002-12-09 2004-06-10 International Business Machines Corporation Performance mechanism for presenting integrated information in a graphical user interface
US7599912B2 (en) * 2003-01-14 2009-10-06 At&T Intellectual Property I, L.P. Structured query language (SQL) query via common object request broker architecture (CORBA) interface
EP1668495A2 (en) * 2003-09-15 2006-06-14 Sap Ag Query objects
US7426522B2 (en) * 2003-09-23 2008-09-16 International Business Machines Corporation Object oriented query path expression to relational outer join translator method, system, article of manufacture, and computer program product
WO2005040964A2 (en) * 2003-10-15 2005-05-06 Sap Aktiengesellschaft Computer-aided database system and method for operating it
US20050192962A1 (en) * 2004-02-26 2005-09-01 Patricia Furrer Apparatus, system, method for enabling web-applications to access enterprise managed data
US20050251811A1 (en) * 2004-05-07 2005-11-10 International Business Machines Corporation Distributed messaging system supporting stateful
US7353219B2 (en) * 2004-05-28 2008-04-01 International Business Machines Corporation Determining validity ranges of query plans based on suboptimality
US20060074879A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Easy-to-use data context filtering
US7475016B2 (en) * 2004-12-15 2009-01-06 International Business Machines Corporation Speech segment clustering and ranking
US7739290B2 (en) * 2004-12-17 2010-06-15 Sap (Ag) System and method for object persistence
US7899834B2 (en) * 2004-12-23 2011-03-01 Sap Ag Method and apparatus for storing and maintaining structured documents
US8612468B2 (en) * 2005-03-02 2013-12-17 Red Hat, Inc. System and method for retrieving data from a relational database management system
US7603375B2 (en) * 2005-03-30 2009-10-13 Siebel Systems, Inc. System and method for generating a custom application
US7765207B2 (en) * 2005-04-29 2010-07-27 Microsoft Corporation Fast rich application view initiation
US7734619B2 (en) * 2005-05-27 2010-06-08 International Business Machines Corporation Method of presenting lineage diagrams representing query plans
US7814090B2 (en) * 2005-05-31 2010-10-12 Oracle International Corporation Query generator
US7376646B2 (en) * 2005-06-17 2008-05-20 International Business Machines Corporation Cost-based subquery correlation and decorrelation
US20070027905A1 (en) * 2005-07-29 2007-02-01 Microsoft Corporation Intelligent SQL generation for persistent object retrieval
US7774755B2 (en) * 2005-08-31 2010-08-10 Microsoft Corporation Quick-creating objects in an application
US7984107B2 (en) * 2005-09-09 2011-07-19 Microsoft Corporation Proxy assembly for simulating real assembly features on a remote device
US7415454B2 (en) 2005-11-18 2008-08-19 Microsoft Corporation Allocation performance by query optimization
US7464084B2 (en) * 2006-01-30 2008-12-09 International Business Machines Corporation Method for performing an inexact query transformation in a heterogeneous environment
US7937426B2 (en) * 2006-06-30 2011-05-03 Mircosoft Corporation Interval generation for numeric data
US8694524B1 (en) * 2006-08-28 2014-04-08 Teradata Us, Inc. Parsing a query
US8117137B2 (en) 2007-04-19 2012-02-14 Microsoft Corporation Field-programmable gate array based accelerator system
US8739131B2 (en) 2007-05-04 2014-05-27 International Business Machines Corporation Completing functional testing
US20080310707A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Virtual reality enhancement using real world data
US7966343B2 (en) * 2008-04-07 2011-06-21 Teradata Us, Inc. Accessing data in a column store database based on hardware compatible data structures
US8264505B2 (en) 2007-12-28 2012-09-11 Microsoft Corporation Augmented reality and filtering
US8301638B2 (en) 2008-09-25 2012-10-30 Microsoft Corporation Automated feature selection based on rankboost for ranking
US8131659B2 (en) 2008-09-25 2012-03-06 Microsoft Corporation Field-programmable gate array based accelerator system
US8112262B1 (en) 2008-09-30 2012-02-07 Interactive TKO, Inc. Service modeling and virtualization
US8769350B1 (en) * 2011-09-20 2014-07-01 Advent Software, Inc. Multi-writer in-memory non-copying database (MIND) system and method
US8898681B1 (en) 2013-02-22 2014-11-25 Ca, Inc. Mainframe virtualization
US9558105B2 (en) 2013-03-15 2017-01-31 Ca, Inc. Transactional boundaries for virtual model generation
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method
US10025839B2 (en) 2013-11-29 2018-07-17 Ca, Inc. Database virtualization
US9727314B2 (en) 2014-03-21 2017-08-08 Ca, Inc. Composite virtual services
US9531609B2 (en) 2014-03-23 2016-12-27 Ca, Inc. Virtual service automation
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
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
US10289867B2 (en) 2014-07-27 2019-05-14 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US9477454B2 (en) 2015-02-12 2016-10-25 Ca, Inc. Automated software deployment
US10296445B2 (en) 2015-09-13 2019-05-21 Ca, Inc. Automated system documentation generation
US10628420B2 (en) 2015-12-18 2020-04-21 Ca, Inc. Dynamic virtual service
US10154098B2 (en) 2016-01-07 2018-12-11 Ca, Inc. Transactional boundaries for software system profiling
US9886365B2 (en) 2016-01-07 2018-02-06 Ca, Inc. Transactional boundaries for software system debugging
US9983856B2 (en) 2016-01-08 2018-05-29 Ca, Inc. Transaction flow visualization
US9946639B2 (en) 2016-03-30 2018-04-17 Ca, Inc. Transactional boundaries for virtualization within a software system
US10114736B2 (en) 2016-03-30 2018-10-30 Ca, Inc. Virtual service data set generation
US10341214B2 (en) 2016-03-30 2019-07-02 Ca, Inc. Scenario coverage in test generation
US9898390B2 (en) 2016-03-30 2018-02-20 Ca, Inc. Virtual service localization
US10394583B2 (en) 2016-03-31 2019-08-27 Ca, Inc. Automated model generation for a software system
US12288233B2 (en) 2016-04-01 2025-04-29 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
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
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
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
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
US12045266B2 (en) 2016-06-10 2024-07-23 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
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
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
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
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US12118121B2 (en) 2016-06-10 2024-10-15 OneTrust, LLC Data subject access request processing systems and related methods
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
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
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
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
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10438017B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Data processing systems for processing data subject access requests
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
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification 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
US10275614B2 (en) 2016-06-10 2019-04-30 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10509894B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository 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
US10452864B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for webform crawling to map processing activities 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
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
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
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US10437412B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management systems and related methods
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
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
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems 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
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
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
US10614247B2 (en) 2016-06-10 2020-04-07 OneTrust, LLC Data processing systems for automated classification of personal information from documents and related methods
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
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
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests 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
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
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing 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
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US11210420B2 (en) 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems 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
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US10586075B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
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
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10585968B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US10204154B2 (en) 2016-06-10 2019-02-12 OneTrust, LLC Data processing systems for generating and populating a data inventory
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
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US10769301B2 (en) 2016-06-10 2020-09-08 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
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
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests 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
US10706131B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
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
US10440062B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management systems 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
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests 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
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
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
US12591828B2 (en) 2016-06-10 2026-03-31 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10776518B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Consent receipt management systems and related methods
US12381915B2 (en) 2016-06-10 2025-08-05 OneTrust, LLC Data processing systems and methods for performing assessments and monitoring of new versions of computer code for compliance
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US10776514B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US10706176B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data-processing consent refresh, re-prompt, and recapture systems and related methods
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
US10762236B2 (en) 2016-06-10 2020-09-01 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US12052289B2 (en) 2016-06-10 2024-07-30 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, 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
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
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
US10713387B2 (en) 2016-06-10 2020-07-14 OneTrust, LLC Consent conversion optimization systems 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
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository 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
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
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
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
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
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture 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
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and 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
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
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
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
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
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US10496803B2 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems 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
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US12136055B2 (en) 2016-06-10 2024-11-05 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10706379B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for automatic preparation for remediation and related methods
US10509920B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for processing data subject access requests
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
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
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and 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
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights 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
US10726158B2 (en) 2016-06-10 2020-07-28 OneTrust, LLC Consent receipt management and automated process blocking 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
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
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
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US12299065B2 (en) 2016-06-10 2025-05-13 OneTrust, LLC Data processing systems and methods for dynamically determining data processing consent configurations
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
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US20180096018A1 (en) 2016-09-30 2018-04-05 Microsoft Technology Licensing, Llc Reducing processing for comparing large metadata sets
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
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
US11144675B2 (en) 2018-09-07 2021-10-12 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
CN110795632B (zh) * 2019-10-30 2022-10-04 北京达佳互联信息技术有限公司 一种状态查询方法、装置及电子设备
EP4179435B1 (en) 2020-07-08 2024-09-04 OneTrust LLC Systems and methods for targeted data discovery
ES3055164T3 (en) 2020-07-28 2026-02-10 Onetrust Llc Systems and methods for automatically blocking the use of tracking tools
US20230289376A1 (en) 2020-08-06 2023-09-14 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
US11526624B2 (en) 2020-09-21 2022-12-13 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
US12265896B2 (en) 2020-10-05 2025-04-01 OneTrust, LLC Systems and methods for detecting prejudice bias in machine-learning models
EP4241173A1 (en) 2020-11-06 2023-09-13 OneTrust LLC Systems and methods for identifying data processing activities based on data discovery results
WO2022159901A1 (en) 2021-01-25 2022-07-28 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
US12641108B2 (en) 2021-02-10 2026-05-26 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
US11775348B2 (en) 2021-02-17 2023-10-03 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
US12671693B2 (en) 2021-03-08 2026-06-30 One Trust, 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
US12153704B2 (en) 2021-08-05 2024-11-26 OneTrust, LLC Computing platform for facilitating data exchange among computing environments
CN114037316B (zh) * 2021-11-17 2023-04-07 北京中百信信息技术股份有限公司 一种信息系统工程监理项目风险态势查询方法
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments
US12619760B2 (en) * 2023-10-23 2026-05-05 Oracle International Corporation Compositional reasoning of information flow in scripted query language

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH022459A (ja) * 1987-12-11 1990-01-08 Hewlett Packard Co <Hp> 問合わせ処理方法
JPH0561746A (ja) * 1991-03-12 1993-03-12 Internatl Business Mach Corp <Ibm> データ処理システム及び関係データベースのアクセス方法
JPH05204983A (ja) * 1992-01-30 1993-08-13 Fujitsu Ltd リレーショナルデータベース処理装置および処理方法
JPH07114566A (ja) * 1993-10-19 1995-05-02 Toshiba Corp データ構造変換システム及びその変換方法
JPH07281881A (ja) * 1994-04-07 1995-10-27 Fujitsu Ltd データ解析システム及び方法
JPH08221274A (ja) * 1995-02-17 1996-08-30 Fujitsu Ltd オブジェクト変換装置
EP0877328A2 (en) * 1997-05-09 1998-11-11 International Business Machines Corporation Database query system and method
US6122227A (en) * 1999-01-05 2000-09-19 Kuo; Chu-Rong Timer
US6134540A (en) * 1997-05-09 2000-10-17 International Business Machines Corporation System, method, and program for applying query rewrite technology to object building
US6226637B1 (en) * 1997-05-09 2001-05-01 International Business Machines Corp. System, method, and program, for object building in queries over object views

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761493A (en) * 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
US5291583A (en) * 1990-12-14 1994-03-01 Racal-Datacom, Inc. Automatic storage of persistent ASN.1 objects in a relational schema
US5555403A (en) * 1991-11-27 1996-09-10 Business Objects, S.A. Relational database access system using semantically dynamic objects
JPH07117962B2 (ja) * 1993-03-27 1995-12-18 日本電気株式会社 ネットワーク型データベースのリレーショナルアクセス方式
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
US5764973A (en) * 1994-02-08 1998-06-09 Enterworks.Com, Inc. System for generating structured query language statements and integrating legacy systems
US5649190A (en) * 1994-06-14 1997-07-15 Harris Corporation Multi-model database system for dynamic creation and maintenance of complex objects in a real time environment
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
US5754841A (en) * 1995-10-20 1998-05-19 Ncr Corporation Method and apparatus for parallel execution of user-defined functions in an object-relational database management system
US5752028A (en) * 1996-04-03 1998-05-12 Ellacott; Bruce Arthur Object-oriented query mechanism

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH022459A (ja) * 1987-12-11 1990-01-08 Hewlett Packard Co <Hp> 問合わせ処理方法
JPH0561746A (ja) * 1991-03-12 1993-03-12 Internatl Business Mach Corp <Ibm> データ処理システム及び関係データベースのアクセス方法
JPH05204983A (ja) * 1992-01-30 1993-08-13 Fujitsu Ltd リレーショナルデータベース処理装置および処理方法
JPH07114566A (ja) * 1993-10-19 1995-05-02 Toshiba Corp データ構造変換システム及びその変換方法
JPH07281881A (ja) * 1994-04-07 1995-10-27 Fujitsu Ltd データ解析システム及び方法
JPH08221274A (ja) * 1995-02-17 1996-08-30 Fujitsu Ltd オブジェクト変換装置
EP0877328A2 (en) * 1997-05-09 1998-11-11 International Business Machines Corporation Database query system and method
US6134540A (en) * 1997-05-09 2000-10-17 International Business Machines Corporation System, method, and program for applying query rewrite technology to object building
US6226637B1 (en) * 1997-05-09 2001-05-01 International Business Machines Corp. System, method, and program, for object building in queries over object views
US6122227A (en) * 1999-01-05 2000-09-19 Kuo; Chu-Rong Timer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009523289A (ja) * 2006-01-10 2009-06-18 アンツ.オルグ エルエルシー データベースと電子ドキュメントとの間での階層データの転送および表示

Also Published As

Publication number Publication date
US6122627A (en) 2000-09-19
JP2003036272A (ja) 2003-02-07
US6226637B1 (en) 2001-05-01
JP3362770B2 (ja) 2003-01-07

Similar Documents

Publication Publication Date Title
JP3362770B2 (ja) 照会処理システム、その方法及びそのプログラムを記録した記録媒体
JPH11167513A (ja) 照会システム、方法及びプログラム
US6477527B2 (en) System, method, and program for object building in queries over object views
US5905982A (en) Handling null values in SQL queries over object-oriented data
US6006214A (en) Database management system, method, and program for providing query rewrite transformations for nested set elimination in database views
JP3361783B2 (ja) オブジェクト指向照会を実行する方法および装置
KR100659889B1 (ko) 데이터 액세스 방법, 기록매체 및 컴퓨터
US6457020B1 (en) Query optimization using a multi-layered object cache
CN1761962B (zh) 将非结构化数据实时聚集为结构化数据以便关系数据库引擎进行sql处理
US7272598B2 (en) Structured indexes on results of function applications over data
US8165989B2 (en) Automated data model extension through data crawler approach
US5608904A (en) Method and apparatus for processing and optimizing queries having joins between structured data and text data
AU772754B2 (en) System and method for rewriting relational database queries
US5774692A (en) Outer quantifiers in object-oriented queries and views of database systems
US20060206468A1 (en) Rule application management in an abstract database
US20030220893A1 (en) Dynamic content generation/regeneration for a database schema abstraction
US7979412B2 (en) Object query over previous query results
AU9010198A (en) Relational database coexistence in object oriented environments
EP0877328A2 (en) Database query system and method
CA2007391A1 (en) Functional database system
Pledereder et al. DB Integrator: Open middleware for data access

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071025

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081025

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081025

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091025

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091025

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101025

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees