JP2002328935A - オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置 - Google Patents

オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置

Info

Publication number
JP2002328935A
JP2002328935A JP2001136443A JP2001136443A JP2002328935A JP 2002328935 A JP2002328935 A JP 2002328935A JP 2001136443 A JP2001136443 A JP 2001136443A JP 2001136443 A JP2001136443 A JP 2001136443A JP 2002328935 A JP2002328935 A JP 2002328935A
Authority
JP
Japan
Prior art keywords
tuple
variable
schema
program
assignment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001136443A
Other languages
English (en)
Inventor
Hideatsu Hosogai
英篤 細貝
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001136443A priority Critical patent/JP2002328935A/ja
Priority to US10/113,601 priority patent/US20020165865A1/en
Publication of JP2002328935A publication Critical patent/JP2002328935A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Landscapes

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

Abstract

(57)【要約】 【課題】 操作結果のスキーマが動的に変化するような
データ操作を行うことを可能とする。 【解決手段】 オブジェクト指向データベースのデータ
を操作するデータ操作装置に、クラスの階層構造におい
て、定義情報格納部6にあらゆるタプル型のクラスの上
位クラスにスキーマが不定なタプルを定義する定義情報
を格納する。代入部3は、変数が、この定義情報に基づ
いて定義されたタプルを用いて宣言されている場合、そ
の変数に任意のスキーマを持つタプルを代入する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースに格
納されたデータを操作する情報処理に関する。
【0002】
【従来の技術】データベースの検索において、その検索
結果のスキーマが予め決まっている場合、例えば、SQ
L(Structured Query Language )のselect文のような
構文を用いることができる。なお、スキーマとは、デー
タの構造をいい、どのような型のデータがいくつ組み合
わされているか等を示す。取得した検索結果を後続する
処理で同一変数を用いて利用することは、検索結果のス
キーマとその検索結果の代入先のスキーマとが同一であ
る場合に限り可能である。このことは、メソッド(手続
き)を実行することで検索結果を獲得する場合にも当て
はまる。
【0003】そのために、例えば、複数回検索を行う場
合であって、各検索の結果のタプルのスキーマが異なる
場合、プログラム開発者等は予め各検索結果のスキーマ
を把握し、それぞれの検索結果のスキーマと同じスキー
マを持つタプルを定義する必要がある。なお、タプル
は、配列のような列データ型をいう。以下、図9を用い
て検索結果のスキーマとタプルの定義について説明す
る。図9に示すように、第1の検索結果のスキーマが、
データ型A及びデータ型Bの組み合わせのスキーマ[A,
B] であり、第2の検索結果のスキーマがデータ型A、
データ型B及びデータ型Cの組み合わせのスキーマ[A,
B,C] であると仮定する。この場合、プログラム開発者
等は、第1の検索結果のスキーマ[A,B] と同じスキーマ
を持つタプルT1及び第2の検索結果のスキーマ[A,B,
C] と同じスキーマを持つタプルT2を定義する必要が
ある。
【0004】また、各検索結果を復帰値とするメソッド
を定義する場合、プログラム開発者は、さらに各検索結
果のスキーマと同じスキーマを持つタプルを復帰値とす
るメソッドを持つクラスを定義する必要がある。図10
を用いてスキーマが異なるタプルを復帰値とするメソッ
ドを持つクラスの定義について説明する。図10におい
て、タプルT1及びタプルT2のスキーマは互いに異な
るスキーマを持つ。この場合、プログラム開発者等は、
タプルT1を復帰値とするメソッドm1()及びタプルT2
を復帰値とするメソッドm2()を持つクラスA1を定義す
る必要がある。
【0005】また、プログラム開発者等は、各検索結果
を受ける変数も、検索結果のスキーマと同一のスキーマ
を持つタプル変数として宣言する必要がある。この変数
の宣言において、プログラム開発者等は、検索結果のス
キーマと同じスキーマを持つタプルをまず定義し、その
タプルを用いて変数を宣言する。以下、図11を用いて
タプル変数の宣言について説明する。先に説明した図9
において、各検索結果と同じスキーマを持つタプルT1
及びT2を定義した。図11において、図9で定義され
たタプルT1を用いて変数t1が宣言され、タプルT2
を用いて変数t2が宣言されていることがわかる。
【0006】このようにして変数又はメソッドの復帰値
のスキーマを定義する。そして、検索結果のスキーマ
と、検索結果の代入先となるタプル変数又はメソッドの
復帰値のスキーマに基づいて代入の可否を判定し、判定
の結果、検索結果を変数に代入することができる場合、
後続する処理を行うことができる。ここで、代入の可否
の判定は、タプル変数又は復帰値のスキーマの属性数と
検索結果のスキーマの属性数が一致するか否か、及び変
数又は復帰値のスキーマの属性の順番に対応する検索結
果のスキーマの各属性のデータ型が代入可能な関係にあ
るか否か、に基づいて行われる。
【0007】
【発明が解決しようとする課題】上述のように、従来技
術によれば、リレーショナルデータベース及びオブジェ
クト指向データベースにおいて、実行したい検索の検索
結果のタプルのスキーマを予め決定しておき、その決定
に基づいて検索結果を用いる処理を記述していた。この
決定によって検索結果のスキーマは固定的となるため、
検索結果のスキーマが動的に変化するような検索処理を
行うことができないという問題があった。延いては、プ
ログラム開発者等にとって、プログラム開発上の制約と
なるという問題があった。
【0008】また、予め検索結果のスキーマを把握する
ために、プログラム開発者等は、プログラムの開発段階
において検索結果のスキーマと同じスキーマを持つタプ
ルを定義する必要がある。このタプルの定義は、特に検
索結果のスキーマのパターンが多岐にわたる場合、プロ
グラムを実装する際の負担となるという問題があった。
【0009】本発明は、特に、オブジェクト指向データ
ベースのプログラムに開発において、上記問題を解決す
ることを目的とする。
【0010】
【課題を解決するための手段】本発明の1態様によれ
ば、データベースに格納されたデータを操作するデータ
操作装置において、スキーマが不定なタプルを定義する
定義情報を格納する定義情報格納手段と、タプル変数を
管理する変数管理手段と、変数管理手段によって管理さ
れるタプル変数が定義情報によって定義されたタプルで
ある場合、その変数に任意のスキーマを持つタプルを代
入する代入手段とを備える。以下、スキーマが不定なタ
プルをスキーマ可変タプルという。
【0011】スキーマが不定なタプルを定義することに
より、この定義されたタプルを用いて宣言された変数
に、任意のスキーマを持つタプルを代入することを可能
とする。これにより、プログラム開発者にかかるタプル
の定義に起因するプログラム開発時の負担を低減するこ
とが可能となる。なお、上記のスキーマ可変タプルは、
オブジェクト指向データベースのクラスの階層構造にお
いて、あらゆるタプル型のクラスの上位クラスに定義す
ることとしてもよい。
【0012】上記構成において、代入手段は、さらに、
スキーマ可変タプルの変数にタプルを代入する際に、変
数の型情報として代入元となるタプルのクラス情報を設
定する。設定された型情報は、型情報を格納する型情報
格納手段に格納される。ここで、型情報とは、タプルの
型を示す情報、つまり、どのような情報がどのような順
番で幾つ用いられるかを示す情報である。型情報を設定
することにより、スキーマ可変タプルの変数にタプルを
代入した後に、その変数を代入元として、変数宣言時に
スキーマが決定されている他のタプル変数(通常のタプ
ル変数)に代入する際に、代入の可否判断を行うことが
できるようになる。
【0013】さらに、上記構成において、データ操作装
置は、代入手段によって設定された型情報をリセットし
て初期状態に戻すリセット手段を更に備えることにして
も良い。これにより、スキーマ可変タプルの変数にタプ
ルを代入した後に、代入元のタプルと異なるスキーマを
持つ別のタプルを代入することが可能となる。
【0014】また、上記構成において、変数管理手段
は、メソッドの復帰値のタプルを管理し、代入手段は、
メソッドがスキーマ可変タプルの復帰値を持つ場合、任
意のスキーマを持つタプルをメソッドの復帰値とするこ
ととしてもよい。
【0015】メソッドの復帰値をスキーマ可変タプルと
することにより、メソッドの復帰値のスキーマが可変と
なる。これにより、メソッドの復帰値のスキーマを動的
に変更させるようなプログラムを作成することが可能と
なる。
【0016】また、本発明の別の態様の方法では、オブ
ジェクト指向データベースのデータ操作方法において、
スキーマが不定なタプルを定義する定義情報を格納手段
に格納し、格納手段に格納された定義情報に基づいて定
義されたタプル型の変数に任意のスキーマを持つタプル
を代入することを備える。この方法によっても、前述し
た態様の装置と同様の作用・効果が得られる。
【0017】なお、上述した本発明の各構成により行わ
れる機能と同様の制御をコンピュータに行わせるプログ
ラムをコンピュータにロードし、そのコンピュータにそ
のプログラムを実行させることによっても、前述した課
題を解決することができる。また、上述のプログラムの
ロードは、上述のプログラムを記録した記録媒体からそ
のプログラムをコンピュータに読み出させることによっ
て行うこととしても良い。また、上述プログラムを表現
する、搬送波に具現化されたコンピュータ・データ・シ
グナルをコンピュータによって受信し、その受信したシ
グナルによって表現されたプログラムをコンピュータに
ロードすることとしてもよい。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。各図面において同じ装置等には同
じ参照番号を付す。
【0019】図1は、本発明の実施形態に係わるオブジ
ェクト指向データベースのデータ操作装置の構造図であ
る、図1に示すように、データ操作装置1は、変数管理
部2、代入部3、リセット部4、データ操作部5、定義
情報格納部6、変数管理情報格納部7、型情報格納部
8、入力部9及び出力部10を備える。また、データ操
作装置1は、操作対象となるオブジェクト指向データベ
ース11に直接に、又はネットワーク(不図示)を介し
て間接に接続されている。
【0020】定義情報格納手段6は、スキーマが不定な
タプルを定義する定義情報を格納する。このスキーマ可
変タプルを定義することが、本発明の特徴の1つであ
る。以下、このようなスキーマが不定なタプルをスキー
マ可変タプルという。なお、オブジェクト指向データベ
ースにおいて、クラスに階層構造を定義することができ
る。このようなオブジェクト指向データベースのクラス
の階層構造において、あらゆるタプル型のクラスの上位
クラスにスキーマ可変タプルを定義することとしてもよ
い。
【0021】変数管理部2は、タプル変数を管理し、タ
プル変数のスキーマを示す変数管理情報を変数管理情報
格納部7に格納する。なお、タプル変数が、スキーマ可
変タプルの変数である場合、変数管理情報は、そのタプ
ル変数のスキーマを示す代わりにスキーマが可変である
ことを示すことになる。変数管理情報格納部7に格納さ
れた変数管理情報に基づいて、代入部3は、代入先がス
キーマ可変タプルの変数であるか通常のタプル変数、つ
まり変数宣言時にスキーマが決定されているタプル変数
であるのか判定することができる。
【0022】代入部3は、上述のスキーマ可変タプルの
変数にタプルを代入する場合、その変数にまだ型情報が
設定されていない場合、代入元のタプルのクラス情報を
その変数の型情報として設定し、設定された型情報を型
情報格納部8に格納する。また、スキーマ可変タプルの
変数に代入を行った後であるため、既にその変数に型情
報が設定されている場合、代入部3は、型情報格納部8
に格納されている代入先となる変数の型情報及び代入元
となるタプルのスキーマに基づいて、その変数にタプル
を代入できるか否か判定し、代入可能であると判定した
場合、変数にタプルを代入する。
【0023】このように、スキーマ可変タプルの変数
は、変数を定義する際にはスキーマが決定されず、その
変数にタプル(値)を代入する際にスキーマが決定され
る。これにより、スキーマ可変タプルの変数にタプルを
代入した後に、その変数を通常のタプル変数に代入する
際に、代入の可否判断を行うことができるようになる。
【0024】リセット部4は、型情報格納部8に格納さ
れた型情報をリセットして初期状態、つまり、型情報が
設定されていないに戻す。これにより、スキーマ可変タ
プルの変数にタプルを代入した後であっても、再びその
変数に任意のスキーマを持つタプルを代入することが可
能となる。
【0025】データ操作部5は、オブジェクト指向デー
タベース11に格納されたデータを操作する。このデー
タ操作部5の機能は従来と同様であるため説明を省略す
る。入力部9及び出力部10は、データ操作装置1とユ
ーザ又は他の装置との間でそれぞれ、データや指示等の
入力及びデータ操作結果及び問い合わせ等の出力に用い
られる。
【0026】また、変数管理部2は、メソッドの復帰値
を管理し、代入部3は、メソッドの復帰値がスキーマ可
変タプルである場合、任意のスキーマを持つタプルをメ
ソッドの復帰値とすることとしてもよい。メソッドの復
帰値をスキーマ可変タプルとすることにより、メソッド
の復帰値のスキーマが可変となる。これにより、メソッ
ドの復帰値のスキーマを動的に変更させるようなプログ
ラムを設計することが可能となる。
【0027】上記のデータ操作装置1において、従来と
異なる変数の宣言及び代入にかかわる処理ロジックを採
用する。まず、図2を用いてスキーマ可変タプルの変数
の宣言及びスキーマ可変タプルの変数へのタプルの代入
について説明する。
【0028】まず、スキーマ可変タプルをあらゆるタプ
ル型のクラスの上位クラスに定義する定義情報を定義情
報格納部5に格納する(不図示)。ユーザ等の入力によ
り、スキーマ可変タプルの変数tが宣言されると(ステ
ップS1)、変数管理部2は、変数管理情報格納部7に
変数tがスキーマ可変タプルであることを示す変数管理
情報を格納する(ステップS2)。
【0029】代入部3が、変数tにオブジェクト指向デ
ータベース11を検索した結果等を代入する場合(ステ
ップS3)、まず、代入部3は、変数管理情報格納部7
に格納された変数tの変数管理情報を参照することによ
り変数tのタプルを判定する。ここでは、代入部3は、
変数tはスキーマ可変タプルであると判定する。続い
て、代入部3は、代入元、ここでは得られた検索結果
が、タプルであるか否か判定する(ステップS4)。代
入部3が代入元はタプルではないと判定した場合(ステ
ップS4:No)、代入エラーとなり、データ操作装置
1は処理を中止する。
【0030】代入部3が代入元はタプルであると判定し
た場合(ステップS4:Yes)、代入部3は、さら
に、型情報格納部8に格納された型情報を参照すること
により、代入先となるスキーマ可変タプルの変数tにク
ラス情報が設定されているか否か判定する(ステップS
5)。上述のように、スキーマ可変タプルの変数は、タ
プルが代入される前は型情報を持たないが、一度タプル
が代入されると、リセット部4によって設定された型情
報が初期状態に戻されるまで、その代入元のタプルのク
ラス情報が型情報として設定されてしまうからである。
ここで、型情報とは、タプルについてどのような情報
(属性)がどのような順番で幾つ用いられるかを示す情
報である。
【0031】代入部3が、代入先となるスキーマ可変タ
プルの変数tにクラス情報が設定されていないと判定し
た場合(ステップS5:No)、代入部3は変数tに任
意のスキーマを持つタプルを代入することができる。代
入部3は、変数tに代入元のタプルを代入し、代入元の
タプルのクラス情報を変数tの型情報として設定する
(ステップS6)。代入部3は、変数tに設定した型情
報を型情報格納部8に格納する。
【0032】代入部3が、変数tにクラス情報が設定さ
れていると判定した場合(ステップS5:Yes)、代
入部3は、変数tに代入元のタプルを代入することが可
能であるか否か判定する(ステップS7)。型情報格納
部8に格納されている変数tの型情報がリセット部4に
よって初期化された場合、又は、変数tの型情報が代入
元のタプルのスキーマと代入可能な関係にある場合、代
入部3は、変数tに代入元のタプルを代入することが可
能であると判定する(ステップS7:Yes)。前者の
場合、代入部3は、ステップS6と同様の処理を行う。
後者の場合、代入部3は、従来と同様の代入処理を行
う。つまり、変数tの型情報の属性数と代入元のタプル
の属性数が一致するか否か、及び変数tの型情報の属性
の順番に対応する代入元のタプルの各属性のデータ型が
代入可能な関係にあるか否か、に基づいて判定する。
【0033】ステップS7の判定の結果、代入部3が変
数tに代入元のタプルを代入することができないと判定
した場合(ステップS7:No)、代入エラーとなり、
データ操作装置1は、処理を中断する。
【0034】次に、図3を用いて、タプルが代入された
後のスキーマ可変タプルの変数を代入元として通常のタ
プル変数に代入を行う場合について説明する。代入部3
が、スキーマ可変タプルの変数を代入元として通常のタ
プル変数に代入する場合 (ステップS10)、代入部
3は、代入先の変数が通常のタプル変数であるか否か判
定する(ステップS11)。代入部3は、タプル変数の
スキーマを示す変数管理情報を格納する変数管理情報格
納部7を参照することによりこの判定を行う。代入部3
が代入先の変数が通常のタプル変数でないと判定した場
合(ステップS11:No)、代入エラーとなり、デー
タ操作装置1は処理を中止する。
【0035】代入部3が代入先の変数が通常のタプル変
数であると判定した場合(ステップS11:Yes)、
代入部3は、さらに、代入先のタプル変数のスキーマ
が、代入元のスキーマ可変タプルの変数tに設定された
型と代入可能な関係にあるか否か判定する(ステップS
12)。代入部3は、型情報格納部8に格納された変数
tの型情報を参照することによりこの判定を行う。判定
方法は従来と同様である。代入部3が代入可能であると
判定した場合(ステップS12:Yes)、代入部3は
代入を行う。この代入処理も従来と同様であるため説明
を省略する。代入部3が代入できないと判定した場合
(ステップS12:No)、代入エラーとなり、データ
操作装置1は処理を中止する。このように、先にスキー
マ可変タプルの変数tにタプルを代入する際に型情報を
設定しているため、通常のタプル変数にスキーマ可変タ
プルの変数に代入されたタプルを代入することも可能で
ある。
【0036】以下、図4を用いてスキーマ可変タプルに
関する代入処理について説明する。まず、図4の(1)
において、スキーマT1を持つタプルの変数t1及びt
2、並びにスキーマT2を持つタプル変数t3を定義す
る。これら変数t1、t2及びt3は、スキーマが予め
決定されている通常のタプル変数である。
【0037】続いて、図4の(2)において、スキーマ
可変タプルの変数tを宣言する。この宣言は、図2のス
テップS2に相当する。さらに、(1)及び(2)での
宣言の後に検索等を行った結果、変数t1、t2及びt
3にタプル(値)が代入されたと仮定する(不図示)。
【0038】図4の(3)において、スキーマ可変タプ
ルの変数tにタプルt1を代入するよう指示している。
代入先tがスキーマ可変タプルであり、代入元t1は通
常のタプル型であるため、この代入は成立する。この代
入の際、スキーマ可変タプルの変数tの型情報として代
入元t1のクラス情報が代入される。これにより、変数
tのスキーマはT1となる。この処理は、図2のステッ
プS3からステップS6までに相当する。
【0039】さらに、図4の(4)において、通常のタ
プルt2にスキーマ可変タプルの変数tを代入するよう
指示している。先の(3)において、代入元tのスキー
マはT1となっている。代入先t2のスキーマは先の
(1)で定義された通りT1である。代入元tと代入先
t2の型情報が一致するため代入可能である。従って、
この代入は成立する。この処理は、図3のステップS1
0からステップS12のYesの場合までに相当する。
【0040】図4の(3)において説明したように、ス
キーマ可変タプルの変数を代入先とする代入において、
一度代入が成立すると代入元の型情報がスキーマ可変タ
プルの変数の型情報として設定される。しかし、必要に
応じて、例えば、変数に代入されているタプル(値)が
不要となった際等において、設定された型情報をリセッ
トすることができるようにしてもよい。設定された型情
報をリセットすることによりスキーマ可変タプルの変数
の型情報を初期状態に戻してから、先に代入されたタプ
ルと異なるスキーマを持つタプルでもスキーマ可変タプ
ルの変数に代入できるようにする。図4の(5)におい
て、先に代入された型情報をリセットした後にスキーマ
可変タプルの変数tにタプルt3を代入するよう指示し
ている。図4の(3)においてスキーマ可変タプルの変
数tの型情報として代入元t1のクラス情報が代入され
ているが、型情報が初期状態に戻っているため、図4の
(5)の代入は成立する。この処理は、図2のステップ
S4からステップS5のYesを経てステップS7のY
esまでに相当する。
【0041】以下、図5を用いてスキーマ可変タプルを
用いて検索を行う場合について説明する。なお、検索を
行うと仮定して説明をするが、データ操作処理を検索に
限定する趣旨ではない。
【0042】図5の(1)において、スキーマ可変タプ
ルの変数の集合ts1及びts2を宣言する。変数管理
部2は、変数ts1及びts2がスキーマ可変タプルで
あることを示す変数管理情報を変数管理情報格納部7に
格納する。これにより、変数ts1及びts2にあらゆ
るスキーマを持つタプルを代入することが可能となる。
【0043】続いて、図5の(2)に示すような、Xと
いう型の属性ix、Yという型の属性iy等・・・・を
持つクラスAAについて、データ操作部5は、ある条件
に基づいてクラスAAの全インスタンスを検索する。図
5の(3)において、代入部3は、検索結果として得ら
れた属性ix及び属性iyの値の組をスキーマに持つタ
プルの集合を変数ts1に代入する。代入部3は、検索
結果のクラス情報を変数ts1の型情報として設定し、
設定された型情報を型情報格納部8に格納する。これに
より、変数ts1のスキーマは[X,Y] となる。
【0044】次に、図5の(4)に示すような、Aとい
う型の属性ia、Bという型の属性ib及びCという型
の属性icという3つの属性を持つクラスBBについ
て、データ操作部5は、ある条件に基づいてクラスBB
の全インスタンスを検索する。図5の(5)において、
代入部3は、図5の(3)と同様にして、検索結果とし
て得られた属性iaの値をスキーマに持つタプルの集合
を変数ts2に代入し、変数ts2の型情報を設定す
る。これにより、変数ts2のスキーマは[A] となる。
このように、スキーマ可変タプルの変数は、任意のスキ
ーマを持つタプルを受けることが可能である。
【0045】従来、検索結果を受ける変数を宣言する際
に、検索結果のスキーマを予め決定し、決定したスキー
マを持つ変数を宣言する必要があった。そしてこの決定
によって検索結果のスキーマは固定的となるため、検索
結果のスキーマが動的に変化するような検索処理を行う
ことができないという問題があった。しかし、上述のよ
うに、本実施形態によれば、スキーマ可変タプルの変数
には任意のスキーマを持つタプルを代入することが可能
であるため、スキーマ可変タプルの変数を用いて検索結
果を受けるようにすれば、予め検索結果のスキーマを取
得することが不要となる。延いては、プログラム開発者
等にとってプログラム開発上の制約を低減することが可
能となる。
【0046】また、オブジェクト指向データベースにお
いて、データ操作時にクラス中にメソッドを定義し、こ
のクラスの中で検索等を行うことが可能である。クラス
を定義する際に、あるメソッドの復帰値としてスキーマ
可変タプルを用いることとしても良い。以下、図6を用
いてメソッドの復帰値としてスキーマ可変タプルを用い
る場合について説明する。なお、メソッドは検索を行う
ための手続きであると仮定して説明をするが、データ操
作処理を検索に限定する趣旨ではない。
【0047】図6の(1)において、クラスCC中に復
帰値としてスキーマ可変タプルの変数を持つメソッドm3
()を定義する。変数管理部2は、メソッドm3()の復帰値
がスキーマ可変タプルであることを示す変数管理情報を
変数管理情報格納部7に格納する。ここで、m3(i) 中の
iは、パラメータを意味する。
【0048】図6の(2)において、メソッドm3()のソ
ースを定義する。図6の(2)に示す例によればメソッ
ドm3()は、パラメータiがi1である場合、クラスAA
を検索して属性im及び属性inの値の組をスキーマに
持つタプルの集合を取得する。つまり、メソッドm3()の
復帰値のスキーマは[M,N] となる。一方、パラメータi
がi2である場合、クラスAAを検索して属性ip、属
性iq及び属性irの値の組をスキーマに持つタプルの
集合を取得する。つまり、メソッドm3()の復帰値のスキ
ーマは[P,Q,R] となる。なお、図6中のクラスAAは、
図5で説明したクラスAAと同じであると仮定する。
【0049】続いて、図6の(3)において、スキーマ
可変タプルの変数の集合tsを宣言し、メソッドm3()の
復帰値を変数の集合tsに代入する。パラメータiがi
1又はi2である場合のメソッドm3()の復帰値のスキー
マは、それぞれ[M,N] 又は[P,Q,R] となる。このよう
に、図6の(1)においてメソッドm3()の復帰値をスキ
ーマ可変タプルとしているため、メソッドm3()はパラメ
ータiに対応してスキーマが異なるタプルを復帰値とす
ることができる。
【0050】上述のようにして、スキーマ可変タプルを
復帰値として持つメソッドを定義し、さらにそのような
メソッドを持つクラスを定義することができる。従っ
て、データベース中のデータを演算した結果に基づいて
パラメータの値が決定される場合であっても、パラメー
タによって復帰値のスキーマが異なるような動的なデー
タ操作を行うことが可能となる。また、これにより、プ
ログラム開発における制約が低減されることとなるた
め、プログラム開発の効率を向上させることが可能とな
る。
【0051】上述において説明した各サーバ及び各端末
は、図7に示すようなコンピュータ(情報処理装置)を
用いて構成することができる。図7のコンピュータ20
は、CPU21、メモリ22、入力装置23、出力装置
24、外部記憶装置25、媒体駆動装置26、及びネッ
トワーク接続装置27を備え、それらはバス28により
互いに接続されている。
【0052】メモリ22は、例えば、ROM(Read Onl
y Memory)、RAM(Random Access Memory)等を含
み、処理に用いられるプログラムとデータを格納する。
CPU21は、メモリ22を利用してプログラムを実行
することにより、データ操作装置1を構成する各部の機
能を実現する。
【0053】上述のデータ操作装置1を構成する変数管
理部2、代入部3、リセット部4及びデータ操作部5
は、それぞれメモリ22の特定のプログラムコードセグ
メントにプログラムとして格納される。また、データ操
作装置1を構成する各格納部は、外部記憶装置25又は
メモリ22に格納される。入力装置23は、データ操作
装置1の入力部9を実現する。入力装置23として、例
えば、キーボード、ポインティングデバイス、タッチパ
ネル等であり、ユーザからの指示や情報の入力に用いら
れる。出力装置24は、データ操作装置1の出力部10
を実現する、出力装置24として、例えば、ディスプレ
イやプリンタ等であり、コンピュータ20の利用者への
問い合わせ、処理結果等の出力に用いられる。
【0054】外部記憶装置25は、例えば、磁気ディス
ク装置、光ディスク装置、光磁気ディスク装置等であ
る。この外部記憶装置25に上述のプログラムとデータ
を保存しておき、必要に応じて、それらをメモリ22に
ロードして使用することもできる。
【0055】媒体駆動装置26は、可搬記録媒体29を
駆動し、その記録内容にアクセスする。可搬記録媒体2
9としては、メモリカード、メモリスティック、フロッ
ピー(登録商標)ディスク、CD−ROM (Compact
Disc Read Only Memory)、光ディスク、光磁気ディス
ク、DVD(Digital Versatile Disk)等、任意のコン
ピュータで読み取り可能な記録媒体が用いられる。この
可搬記録 媒体29に上述のプログラムとデータを格納
しておき、必要に応じて、それらをメモリ22にロード
して使用することもできる。
【0056】ネットワーク接続装置27は、LAN、W
AN等の任意のネットワーク(回線)を介して外部の装
置を通信し、通信に伴なうデータ変換を行う。また、必
要に応じて、上述のプログラムとデータを外部の装置か
ら受け取り、それらをメモリ22にロードして使用する
こともできる。
【0057】図8は、図7のコンピュータ20にプログ
ラムとデータを供給することのできるコンピュータで読
み取り可能な記録媒体、伝送媒体及び信号を示してい
る。本発明は、コンピュータにより使用されたときに、
上述の本発明の実施形態の各構成によって実現される機
能と同様の機能をコンピュータに行わせるためのプログ
ラムとして構成することができる。また、本発明は、上
述のプログラムを記録するコンピュータで読み出し可能
な記録媒体29として構成することもできる。
【0058】上述のプログラムを、コンピュータで読み
取り可能な記録媒体29に予め記憶させておき、図8に
示すようにしてその記録媒体29からそのプログラムを
コンピュータ20に読み出させてそのコンピュータ20
のメモリ22や外部記憶装置25に一旦格納させ、その
コンピュータ20の有するCPU21にこの格納された
プログラムを読み出させて実行させる。
【0059】また、プログラム(データ)提供者30が
備えるデータベースからコンピュータ20に上述のプロ
グラムをダウンロードする際に回線(ネットワーク)3
1(伝送媒体)を介して伝送されるコンピュータ・デー
タ・シグナル自体も、上述した本発明の実施形態におい
て説明したデータ操作装置1に相当する機能を汎用的な
コンピュータで行なわせることのできるものである。
【0060】以上、本発明の実施形態について説明した
が、本発明は上述した実施形態に限定されるものではな
く、他の様々な変更が可能である。 (付記1) オブジェクト指向データベースのデータ操
作をコンピュータに行なわせるプログラムであって、ス
キーマが不定なタプルを定義する定義情報を格納手段に
格納し、前記定義情報に基づいて定義されたタプルを用
いて宣言された変数に任意のスキーマを持つタプルを代
入する、ことを前記コンピュータに実行させるプログラ
ム。 (付記2)前記変数に前記タプルを代入する際に、前記
変数の型情報として前記タプルの型情報を設定する、こ
とをさらに前記コンピュータに実行させる付記1に記載
のプログラム。 (付記3) 前記変数の前記設定された型情報をリセッ
トして初期状態に戻す、ことを更に前記コンピュータに
実行させる付記2に記載のプログラム。 (付記4) オブジェクト指向データベースのデータ操
作をコンピュータに行なわせるプログラムであって、ス
キーマが不定なタプルを定義する定義情報を格納手段に
格納し、メソッドが前記定義情報に基づいて定義された
タプルを復帰値とする場合、任意のスキーマを持つタプ
ルを前記メソッドの前記復帰値とする、ことを前記コン
ピュータに実行させるプログラム。 (付記5) オブジェクト指向データベースのデータを
操作するデータ操作装置であって、スキーマが不定なタ
プルを定義する定義情報を格納する定義情報格納手段
と、変数を管理する変数管理手段と、前記変数管理手段
によって管理される前記変数が前記定義情報によって定
義されたタプルである場合、前記変数に任意のスキーマ
を持つタプルを代入する代入手段と、を備えることを特
徴とするデータ操作装置。 (付記6) オブジェクト指向データベースのデータ操
作を操作するデータ操作方法であって、スキーマが不定
なタプルを定義する定義情報を格納手段に格納し、前記
定義情報に基づいて定義されたタプルを用いて宣言され
た変数に任意のスキーマを持つタプルを代入する、こと
を含むことを特徴とするデータ操作方法。 (付記7) オブジェクト指向データベースのデータ操
作をコンピュータに行なわせるプログラムを記録した記
録媒体であって、スキーマが不定なタプルを定義する定
義情報を格納手段に格納し、前記定義情報に基づいて定
義されたタプルを用いて宣言された変数に任意のスキー
マを持つのタプルを代入する、ことを前記コンピュータ
に実行させるプログラムを記録した記録媒体。
【0061】なお、前記スキーマが不定なタプルは、前
記オブジェクト指向データベースのクラスの階層構造に
おいて、あらゆるタプル型のクラスの上位クラスに定義
されることとしてもよい。
【0062】なお、前記変数に代入されるタプルは、前
記オブジェクト指向データベースからデータを検索した
結果であることとしてもよい。なお、前記メソッドの復
帰値は、前記オブジェクト指向データベースからデータ
を検索した結果を受けることとしてもよい。
【0063】
【発明の効果】以上詳細に説明したように、本発明は、
スキーマが決定されないタプルを作成し、そのタプルを
用いて変数を宣言することにより、操作結果のスキーマ
が動的に変化するようなデータ操作を行うことを可能と
する。延いては、プログラム開発時等にプログラム開発
者にかかる負担を低減することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態に係わるデータ操作装置の構
成図である。
【図2】スキーマ可変タプルの変数を宣言し、変数へタ
プルを代入する処理を示すフローチャートである。
【図3】スキーマ可変タプルの変数にタプルを代入した
後に、代入後の変数を他の変数へ代入する処置を示すフ
ローチャートである。
【図4】スキーマ可変タプルの変数へタプルを代入する
処理を説明する図である。
【図5】スキーマ可変タプルを用いて検索を行う場合を
説明する図である。
【図6】メソッドの復帰値としてスキーマ可変タプルを
用いる場合を説明する図である。
【図7】コンピュータの構成図である。
【図8】プログラムやデータのコンピュータへのローデ
ィングを説明する図である。
【図9】検索結果のスキーマとタプルの定義を説明する
図である。
【図10】異なるスキーマを持つタプルを復帰値とする
メソッドを持つクラスの定義を説明する図である。
【図11】タプル変数の宣言を説明する図である。
【符号の説明】
1 データ操作装置 2 変数管理部 3 代入部 4 リセット部 5 データ操作部 6 定義情報格納部 7 変数管理情報格納部 8 型情報格納部 9 入力部 10 出力部 11 オブジェクト指向データベース 20 コンピュータ 21 CPU 22 メモリ 23 入力装置 24 出力装置 25 外部記憶装置 26 媒体駆動装置 27 ネットワーク接続装置 28 バス 29 可搬記録媒体 30 プログラム(データ)提供者 31 回線(ネットワーク) T1、T2 タプル t 、t1、t2、ts1、ts2 変数 A 、B、C、X、Y、Z データ型 A1、AA、BB、CC クラス

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクト指向データベースのデータ
    操作をコンピュータに行なわせるプログラムであって、 スキーマが不定なタプルを定義する定義情報を格納手段
    に格納し、 前記定義情報に基づいて定義されたタプルを用いて宣言
    された変数に任意のスキーマを持つタプルを代入する、 ことを前記コンピュータに実行させるプログラム。
  2. 【請求項2】 前記変数に前記タプルを代入する際に、
    前記変数の型情報として前記タプルのクラス情報を設定
    する、 ことをさらに前記コンピュータに実行させる請求項1に
    記載のプログラム。
  3. 【請求項3】 前記変数の前記設定された型情報をリセ
    ットして初期状態に戻す、 ことを更に前記コンピュータに実行させる請求項2に記
    載のプログラム。
  4. 【請求項4】 オブジェクト指向データベースのデータ
    操作をコンピュータに行なわせるプログラムであって、 スキーマが不定なタプルを定義する定義情報を格納手段
    に格納し、 メソッドが前記定義情報に基づいて定義されたタプルを
    復帰値とする場合、任意のスキーマを持つタプルを前記
    メソッドの前記復帰値とする、 ことを前記コンピュータに実行させるプログラム。
  5. 【請求項5】 オブジェクト指向データベースのデータ
    を操作するデータ操作装置であって、 スキーマが不定なタプルを定義する定義情報を格納する
    定義情報格納手段と、変数を管理する変数管理手段と、 前記変数管理手段によって管理される前記変数が前記定
    義情報によって定義されたタプルである場合、前記変数
    に任意のスキーマを持つタプルを代入する代入手段と、 を備えることを特徴とするデータ操作装置。
JP2001136443A 2001-05-07 2001-05-07 オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置 Pending JP2002328935A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001136443A JP2002328935A (ja) 2001-05-07 2001-05-07 オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置
US10/113,601 US20020165865A1 (en) 2001-05-07 2002-03-29 Data operating device for providing schema with freedom in data operation of object-oriented database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001136443A JP2002328935A (ja) 2001-05-07 2001-05-07 オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置

Publications (1)

Publication Number Publication Date
JP2002328935A true JP2002328935A (ja) 2002-11-15

Family

ID=18983719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001136443A Pending JP2002328935A (ja) 2001-05-07 2001-05-07 オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置

Country Status (2)

Country Link
US (1) US20020165865A1 (ja)
JP (1) JP2002328935A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490093B2 (en) * 2003-08-25 2009-02-10 Oracle International Corporation Generating a schema-specific load structure to load data into a relational database based on determining whether the schema-specific load structure already exists
US9092523B2 (en) 2005-02-28 2015-07-28 Search Engine Technologies, Llc Methods of and systems for searching by incorporating user-entered information
US7831629B2 (en) * 2006-01-06 2010-11-09 Microsoft Corporation Method for building data encapsulation layers for highly variable schema
US7634499B2 (en) * 2007-01-06 2009-12-15 Objectivity, Inc. Method, system and computer-readable media for repairing data record corruption
GB2476754A (en) * 2008-09-15 2011-07-06 Erik Thomsen Extracting semantics from data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
JP3910221B2 (ja) * 1993-12-28 2007-04-25 株式会社日立製作所 オブジェクト指向データベース管理システム及び方法
US5893108A (en) * 1994-12-29 1999-04-06 International Business Machines Corporation System, method, and computer program product for efficiently translating relational tuples to object-oriented objects
US5812394A (en) * 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5974418A (en) * 1996-10-16 1999-10-26 Blinn; Arnold Database schema independence
US6003038A (en) * 1997-03-31 1999-12-14 Sun Microsystems, Inc. Object-oriented processor architecture and operating method
US6385618B1 (en) * 1997-12-22 2002-05-07 Sun Microsystems, Inc. Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool
US6356913B1 (en) * 1999-06-09 2002-03-12 Avaya Technology Corp. Generic (database-independent) and dynamically-modifiable schema
US6535884B1 (en) * 2000-07-11 2003-03-18 Xerox Corporation System, method and article of manufacture for providing an attribute system with primitive support of dynamic and evolvable roles in support of fluid and integrative application development
US20030018745A1 (en) * 2001-06-20 2003-01-23 Mcgowan Jim System and method for creating and distributing virtual cable systems

Also Published As

Publication number Publication date
US20020165865A1 (en) 2002-11-07

Similar Documents

Publication Publication Date Title
US4833594A (en) Method of tailoring an operating system
US6138269A (en) Determining the actual class of an object at run time
US20040003388A1 (en) Preparation of a software configuration using an XML type programming language
US20030208509A1 (en) Data management apparatus storing uncomplex data and data elements of complex data in different tables in data storing system
US8429150B2 (en) Distributed query compilation and evaluation system and method
CN107766526B (zh) 数据库访问方法、装置及系统
JPH076111A (ja) 修正可能な機能をサーバーで実行する方法
US7860894B2 (en) Template driven type and mode conversion
JP2005011362A (ja) モジュラオブジェクトシリアライゼーションアーキテクチャ
JP2927180B2 (ja) 情報処理プログラムのデバッグ方法およびそのためのデバッガ
US20070028212A1 (en) Extending expression-based syntax for creating object instances
US20150356131A1 (en) Accessing an external table in parallel to execute a query
US6195791B1 (en) Object mechanism and method for coupling together processes to define a desired processing environment in an object oriented framework
US6829761B1 (en) Method and apparatus for managing shared memory in a run-time environment
CN113918602A (zh) 一种数据缓存方法、装置和电子设备
US20240119053A1 (en) Fingerprints for database queries
JP2002328935A (ja) オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置
US5987580A (en) Serially reusable execution memory
JP2003248635A (ja) ネットワーク管理プロトコールにおける管理情報ベースのデータベースアクセス方法及びシステム
US20050285869A1 (en) Cross-platform runtime code generation for bit block transfer functions
US7065743B2 (en) Apparatus and method for caching analyzed program information
JPH10240546A (ja) 実行時プログラム翻訳方法
JPH11259299A (ja) 構造化文書作成支援方法、構造化文書作成支援システム、プログラムを格納する記憶媒体、記憶装置及びオブジェクト指向構造化文書作成支援システム
CN112699148A (zh) 刷新缓存的方法、装置、设备及存储介质
JP3489153B2 (ja) ファイルシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090623