JPH11161537A - オブジェクト指向データベース及び記録媒体 - Google Patents

オブジェクト指向データベース及び記録媒体

Info

Publication number
JPH11161537A
JPH11161537A JP9324558A JP32455897A JPH11161537A JP H11161537 A JPH11161537 A JP H11161537A JP 9324558 A JP9324558 A JP 9324558A JP 32455897 A JP32455897 A JP 32455897A JP H11161537 A JPH11161537 A JP H11161537A
Authority
JP
Japan
Prior art keywords
database
information
directory
server
computer
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
JP9324558A
Other languages
English (en)
Inventor
Tateji Tanaka
立二 田中
Toshikazu Kawamura
敏和 川村
Tatsuji Wakizono
竜次 脇園
Takehiko Tsuchiya
武彦 土屋
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9324558A priority Critical patent/JPH11161537A/ja
Publication of JPH11161537A publication Critical patent/JPH11161537A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 分散環境化においても単一の計算機システム
の何れにおいても、両者に同一のデータベース操作機能
を提供する。 【解決手段】 オブジェクトを用いて個々のデータを扱
い、このオブジェクトの集合であるオブジェクト集合2
32を基本としてデータ構造が定義されるオブジェクト
指向データベースに適用されるものである。このデータ
ベースシステムにおいては、複数のデータベース23が
設けられ、各データベースにオブジェクト集合232が
格納されている。また、ディレクトリ部22に、複数の
データベースそれぞれの識別情報2131に対応して各
データベースの記録位置情報2134が格納されてい
る。そして、サーバ部21により、ディレクトリ部の情
報に基づいて複数のデータベースが管理される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はオブジェクト指向
データベース及び記録媒体、特にネットワークで結合さ
れた計算機間上で複雑なデータ構造を扱うのに適したオ
ブジェクト指向データベース及び記録媒体に関するもの
である。
【0002】
【従来の技術】従来のデータベースは階層型、あるいは
関係型と呼ばれるデータベース管理方式を用いたもので
ある。従来の方式は比較的単純な構造の大量のデータを
扱う事務処理分野を中心に利用されている。これらの中
でも表形式で表せるデータ構造を扱い、表相互の関係操
作によるデータの検索・操作を行う関係型データベース
管理システムが広く利用されている。
【0003】階層型あるいは関係型のデータベース管理
方式をCAD、CASE、画像処理、マルチメディア処
理等の分野に適用する場合には以下に示す問題があり、
このためデータベースを構築するのが難しく、しかも処
理効率の面からもデータベース化するのが必ずしも得策
であるとは限らない場合が多い。
【0004】1. 個々のデータ要素のデータ構造が複
雑でありデータベース管理システムの提供するデータ定
義形式で直接的に表現できない。 2. データ相互が複雑に関係し合うデータの定義及び
操作指定が複雑であり、しかも全データを対象に検索・
比較を行うため処理効率が悪い。
【0005】3. データの定義・操作機能を提供する
データベース言語がそれ自体独立した体系となっており
人間との対話形式の実行を主な利用方法としている。こ
のためデータベース処理と計算処理等のプログラムとを
結合した処理体系を構築するのが難しい。
【0006】これらの問題を解決するものとしてオブジ
ェクト指向データベースが提唱され開発・利用されはじ
めている。オブジェクト指向データベースはC++、S
malltalk、Java等の既存のオブジェクト指
向プログラミング言語を基本としてデータベース管理機
能を付加したものが多い。
【0007】関係型データベースの場合には扱うデータ
の構造が2次元の表でモデル化される単純なものであっ
た。これに対してオブジェクト指向データベースでは以
下に示す通り、オブジェクト指向プログラミング言語と
同じレベルの複雑なデータ構造を定義する事が可能であ
る。 ・ 使用者定義のデータ型 使用者が既知のデータ型を用いて新しいデータ型を定義
し、システムが提供している整数、文字列等の基本型と
同様に利用する事が可能である。 ・ 任意の階層構造を持つデータ構造 システムが提供している基本型と使用者定義のデータ型
より構成される構造体として新しいデータ型を定義する
事が可能である。また、構造体の要素として既定義の構
造体を利用することが可能である。 ・ データ型およびデータ構造に対応した処理手続き ・ 派生型 基本型及びユーザ定義型の配列、参照など元の型から派
生する型の定義と利用が可能である。 ・ 派生クラス 継承関係による新しいデータ構造(クラス)の定義と利
用が可能である。
【0008】この様な機能を提供するオブジェクト指向
データベースはその構成が複雑なため、ネットワーク接
続等により複数台の計算機にまたがって利用するのでな
く、単一の計算機システムで利用できる様にしたものが
多かった。また、データベースを異なる計算機に分散で
きる場合でも分散された複数データベースに亙る操作を
提供するものは無い。
【0009】
【発明が解決しようとする課題】このように従来のオブ
ジェクト指向データベースは分散環境化では扱いが困難
である。したがって、分散環境化で単一の計算機システ
ムで利用した場合と同等の機能と同一のデータベース操
作言語による操作を実現し、ユーザの操作性を向上させ
る分散データベース管理方式のオブジェクト指向データ
ベースが従来から要望されている。
【0010】本発明は、このような実情を考慮してなさ
れたもので、分散環境化においても単一の計算機システ
ムの何れにおいても、両者に同一のデータベース操作機
能、即ち、データ定義、検索および操作機能手段を提供
し、これらを同一のデータベース操作言語で利用できる
ようにしたオブジェクト指向データベース及び記録媒体
を提供することを目的とする。
【0011】
【課題を解決するための手段】上記課題を解決するため
に、請求項1に対応する発明は、オブジェクトを用いて
個々のデータを扱い、このオブジェクトの集合であるオ
ブジェクト集合を基本としてデータ構造が定義されるオ
ブジェクト指向データベースについて適用されるもので
ある。本発明のオブジェクト指向データベースは、1以
上のクライアント計算機及び1以上のサーバ計算機がネ
ットワーク接続されてなる分散システムに対応するもの
である。
【0012】このようなシステムにおいてサーバ計算機
には、オブジェクト集合を格納する複数のデータベース
が設けられている。また、ディレクトリ部が設けられ、
複数のデータベースそれぞれの識別情報に対応して各デ
ータベースのサーバ計算機内における位置情報が格納さ
れている。
【0013】したがって、サーバ計算機のサーバ部で
は、ディレクトリ部の情報に基づいて複数のデータベー
スを管理することができ、複数のデータベースを有する
分散システムに対応することが可能となる。
【0014】一方、クライアント計算機には、キャッシ
ュ部が設けられ、データベース並びにディレクトリ部の
一部あるいは全部の情報をコピー可能に構成されてい
る。また、クライアント計算機のクライアント部では、
このキャッシュ部のコピー情報に対してデータの検索又
は操作を行うとともに、キャッシュ部に検索又は操作の
対象がないときには、その対象情報をサーバ部に要求す
る。
【0015】このように、クライアント計算機側で、デ
ータ検索や操作を行うことができるため、複数のデータ
ベースを有する場合でも、両者に同一のデータベース操
作機能、即ち、データ定義、検索および操作機能を提供
できる。
【0016】また、請求項2に対応する発明は、請求項
1に対応する発明において、ネットワークに統合ディレ
クトリ計算機が接続されている。この統合ディレクトリ
計算機には、統合ディレクトリ部が設けられ、複数のデ
ータベースそれぞれの識別情報に対応して各データベー
スが格納されたサーバ計算機の特定情報が格納されてい
る。
【0017】また、統合ディレクトリ計算機の統合ディ
レクトリサーバ部により、統合ディレクトリ部の情報が
管理されると共に、クライアント部からの検索又は操作
の対象情報の要求があったときには、統合ディレクトリ
部の情報に基づいてその対象となるデータベースが格納
されるサーバ計算機が特定され、当該サーバ計算機にク
ライアント部からの要求が引き渡される。
【0018】また、キャッシュ部に検索又は操作の対象
がないときには、クライアント部により、その対象情報
が統合ディレクトリサーバ部を介して要求される。した
がって、分散環境化においても単一の計算機システムの
何れにおいても、両者に同一のデータベース操作機能、
即ち、データ定義、検索および操作機能手段を提供し、
これらを同一のデータベース操作言語で利用できる。
【0019】また、請求項3に対応する発明は、請求項
1又は2に対応する発明において、ディレクトリ部は、
自己が管理対象とする各データベースについての状態情
報を保持し、サーバ部は状態情報に基づいてクライアン
ト部の要求によるデータベースへのアクセスを制御す
る。
【0020】したがって、これにより複数のデータベー
ス対する同時の参照,検索又は操作が可能となる。さら
に、請求項4に対応する発明は、請求項1〜3に対応す
る発明において、オブジェクト集合の少なくとも1つの
オブジェクトに、異なるデータベースに格納され、かつ
オブジェクト集合に関連あるオブジェクトの位置を示す
関連情報を格納する。
【0021】したがって、異なるデータベースのデータ
相互の関係づけを行うことが可能となる。さらにまた、
請求項5に対応する発明は、請求項1〜4に対応する発
明において、データベースに対する操作が、C++等の
オブジェクト指向プログラミング言語の構文規則に従っ
て行われる。
【0022】一方、請求項6に対応する発明は、オブジ
ェクトを用いて個々のデータを扱い、このオブジェクト
の集合であるオブジェクト集合を基本としてデータ構造
が定義されるとともに、1以上のクライアント計算機及
び1以上のサーバ計算機がネットワーク接続されてなる
オブジェクト指向データベースを実現させるクライアン
ト計算機及びサーバ計算機上のプログラムを記録した記
録媒体であって、サーバ計算機上のプログラムはサーバ
計算機に、オブジェクト集合を格納する複数のデータベ
ースそれぞれの識別情報に対応し、各データベースのサ
ーバ計算機内における位置情報を格納するディレクトリ
部を参照することにより、複数のデータベースを管理す
るサーバ処理機能を実現させるプログラムであり、クラ
イアント計算機上のプログラムはクライアント計算機
に、データベース並びにディレクトリ部の一部あるいは
全部の情報をキャッシュ部にコピーすると共に、このキ
ャッシュ部のコピー情報に対してデータの検索又は操作
を行い、キャッシュ部に検索又は操作の対象がないとき
には、その対象情報をサーバ部に要求するクライアント
処理機能を実現させるプログラムであるコンピュータ読
取り可能な記録媒体である。
【0023】本発明はこのような手段を設けたので、請
求項1に対応する発明のオブジェクト指向データベース
を計算機システムに実現させることができる。また、請
求項7に対応する発明は、請求項6に対応する発明にお
いて、ネットワークに統合ディレクトリ計算機が接続さ
れた場合の当該統合ディレクトリ計算機上のプログラム
を記録した記録媒体であって、統合ディレクトリ計算機
上のプログラムは統合ディレクトリ計算機に、複数のデ
ータベースそれぞれの識別情報に対応して各データベー
スが格納されるサーバ計算機の特定情報を格納する統合
ディレクトリ部の情報を管理すると共に、クライアント
部からの検索又は操作の対象情報の要求があったときに
は、統合ディレクトリ部の情報に基づいてその対象とな
るデータベースが格納されるサーバ計算機を特定し、当
該サーバ計算機にクライアント部からの要求を引き渡す
統合ディレクトリサーバ処理機能を実現させるプログラ
ムであり、クライアント計算機上のプログラムはクライ
アント処理機能に、検索又は操作の対象がないときに
は、その対象情報を統合ディレクトリサーバ部を介して
要求する機能も実現させるコンピュータ読取り可能な記
録媒体である。
【0024】本発明はこのような手段を設けたので、請
求項2に対応する発明のオブジェクト指向データベース
を計算機システムに実現させることができる。次に、請
求項8に対応する発明は、オブジェクトを用いて個々の
データを扱い、このオブジェクトの集合であるオブジェ
クト集合を基本としてデータ構造が定義されるオブジェ
クト指向データベースに適用されるものである。
【0025】このデータベースシステムにおいては、複
数のデータベースが設けられ、各データベースにオブジ
ェクト集合が格納されている。また、ディレクトリ部
に、複数のデータベースそれぞれの識別情報に対応して
各データベースの記録位置情報が格納されている。
【0026】そして、サーバ部により、ディレクトリ部
の情報に基づいて複数のデータベースが管理される。し
たがって、複数データベースをオブジェクト指向データ
ベースにおいても容易に扱うことができ、本発明を利用
すれば、複数のサーバからなる分散システムも容易に実
現することも可能となる。
【0027】さらに、請求項9に対応する発明は、オブ
ジェクトを用いて個々のデータを扱い、このオブジェク
トの集合であるオブジェクト集合を基本としてデータ構
造が定義されるオブジェクト指向データベースを実現さ
せるプログラムを記録した記録媒体であって、プログラ
ムはコンピュータに、オブジェクト集合を格納する複数
のデータベースそれぞれの識別情報に対応し、各データ
ベースの記録位置情報を格納するディレクトリ部を参照
することにより、複数のデータベースを管理するサーバ
処理機能を実現させるプログラムであるコンピュータ読
取り可能な記録媒体である。本発明はこのような手段を
設けたので、請求項2に対応する発明のオブジェクト指
向データベースを計算機システムに実現させることがで
きる。
【0028】
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。 (発明の第1の実施の形態)図1は本発明の第1の実施
の形態に係るオブジェクト指向データベースの一例を示
す全体図である。
【0029】同図に示すオブジェクト指向データベース
は、複数のクライアント計算機1とサーバ計算機2がネ
ットワーク3で接続され構成されている。なお、複数の
クライアント計算機1は、クライアント計算機#1,#
2,...,#nからなっているが、本明細書において
は、以下同様な要素からなる構成が複数存在するときに
は、#1,#2,..のように順番に番号を付し、クラ
イアント計算機1、あるいはクライアント計算機1(#
2)等のように表現する。
【0030】このオブジェクト指向データベースは、ク
ライアント計算機1に置かれた複数のユーザプログラム
11(#1,#2,..)及びクライアント部12(#
1,#2,..)と、サーバ計算機2に置かれたサーバ
部21、ディレクトリ22及び複数のデータベース23
(#1,#2,..)とにより構成されている。すなわ
ちこのオブジェクト指向データベースは、複数のデータ
ベース23からなるデータベースについての分散システ
ムである。以下、本発明のオブジェクト指向データベー
スを単に分散データベースシステムともいう。
【0031】図2は図1の全体構成の中でのクライアン
ト計算機とサーバ計算機の内部の詳細構成例を示すブロ
ック図である。ユーザプログラム11は、クライアント
部12に対して各種要求を出力することでデータベース
の操作を可能とするものである。ユーザプログラム11
からクライアント部12への要求入力はデータベース操
作要求111、スキーマ操作要求112、オブジェクト
操作要求113である。
【0032】ここで、オブジェクト操作というのは、個
々のデータを検索し、また、追加、削除する操作であ
る。この操作は、サーバ計算機2のデータベース23内
のオブジェクト集合232に対するものである。
【0033】また、スキーマ操作というのは、新しいデ
ータをデータベース23内に定義したり、その定義内容
を変更、削除する操作である。この操作は、オブジェク
トが入るフィールドに対するものである。
【0034】さらに、データベース操作というのは、新
たなデータベース23を作ったり、そのデータベースを
追加、削除、移動等する操作である。この操作には、デ
ィレクトリ22の変更も含まれている。
【0035】上記それぞれの要求に対し、クライアント
部12及びサーバ計算機2のサーバ部21は、ディレク
トリ22及びデータベース23に対して処理を行い、そ
の結果をユーザプログラム11に応答として返すように
なっている。
【0036】クライアント部12は、クライアント処理
部121、通信管理部122、ディレクトリ処理情報1
23、データベースキャッシュ124及びページ管理テ
ーブル125により構成される。
【0037】一方、サーバ部21は、通信処理部21
2、サーバ処理部211、ディレクトリ管理情報21
3、1つ以上のページ管理テーブル215(#1,#
2,..)により構成される。
【0038】ディレクトリ22は、データベース23を
管理すべくそのリンク関係についての情報を保存するも
のである。さらに、データベース23は、クラス定義情
報を保持するスキーマ231(#1,#2,..)及び
クラスのインスタンスであるオブジェクトの集まりであ
るオブジェクト集合232(#1,#2,..)により
構成されている。スキーマ231は、オブジェクトの定
義(型)であり、このスキーマ231に各オブジェクト
を管理する仕組みを持たせている。
【0039】図3は図2におけるサーバ計算機のディレ
クトリとデータベースの構成例を示す図である。上記し
たように、ディレクトリ22は、各データベース23を
管理し、さらに各データベース23内のスキーマ231
は、実データの集合体でもあるオブジェクト集合232
を管理する。
【0040】このためデレクトリ22は、個々のデータ
ベース23を識別するためにサーバ処理部211で一意
に付加される記号であるDBID(Database
Identifier)221、データベース23のオ
ープン、クローズ状態を示す状態情報222、アクセス
権限等を保持する管理情報223、及びサーバ計算機内
でデータベースの置かれるファイル名224から構成さ
れる。すなわちDBID221が指定されたとき、状態
情報222及び管理情報223の内容にからそのアクセ
ス許可が許可される場合には、ファイル名224に規定
されるデータベース23にアクセスされることになる。
【0041】個々のデータベース23は、図2に示すよ
うにスキーマ231とオブジェクト集合232により構
成されているが、図3を用いてより具体的に説明する
と、スキーマ231は複数のスキーマ2311から構成
され、オブジェクト集合232(#1,#2,..)も
複数のオブジェクト集合2321(#11,#1
2,..、#21,#22,..)からなっている。こ
の各スキーマ2311には、オブジェクト集合2321
が1対1で対応している。なお、オブジェクト集合23
21は、それぞれの実データを保持する1以上のオブジ
ェクトからなる。
【0042】またデータベース23は固定または可変長
のページに分割されており、スキーマ231及びオブジ
ェクト集合2321は、それぞれこの分割されたページ
上に配置される。
【0043】次に、クライアント部のディレクトリ処理
情報とデータベースキャッシュについて説明する。図4
は図2におけるクライアント部のディレクトリ処理情報
とデータベースキャッシュの構成例を示す図である。な
お、本実施形態において図3と図4の内容は対応してい
る。
【0044】データベースキャッシュ124は、要求に
対する応答をサーバ計算機2から受け取ったクライアン
ト処理部121がその受取情報をデータベース23の構
成と対応させて格納する部分である。すなわち、クライ
アント計算機1においてオブジェクト操作等の各種操作
に関する処理を行うための情報記憶部である。
【0045】また、デレクトリ処理情報123は、デー
タベースキャッシュ124に対応した管理情報である。
このデレクトリ処理情報123は、サーバ計算機2のD
BID221及び状態情報222と同様なDBID12
31及び状態情報1232と、データベースキャッシュ
124内での当該データベースの先頭ページを示すデー
タベースキャッシュページ参照1234とにより構成さ
れる。
【0046】一方、データベースキャッシュ124の内
部は、上記データベース23と同様のページ単位に分割
されて管理されている。このシステムでは、例えばサー
バ計算機2から情報が呼び出され、このデータベースキ
ャッシュ124においてその格納された呼び出し情報等
が操作され、その結果を最終的にサーバ計算機2側に戻
すことによってデータベースに対する種々の操作が実現
される。
【0047】したがって、データベースキャッシュ12
4には、対応するデータベース23と同じスキーマ12
41と、当該データベースのオブジェクト集合232の
一部、すなわちユーザプログラム11によりデータベー
ス23上でアクセスされたページ(オブジェクト集合2
321)に対応するオブジェクト集合12421のみが
ページ上に置かれる。なお、あるスキーマ1241(も
しくはスキーマ231)に対応し、データベースキャッ
シュ124上に呼び出されたオブジェクト集合1242
1の集まりが、図2で示すオブジェクト集合1242で
ある。
【0048】図4の例では、データベース23(#
1),23(#2)の各スキーマ231(#1a),2
31(#2a)に対応してスキーマ1241(#1
a),1241(#2a)がデータベースキャッシュ1
24に置かれている。また、データベース23(#1)
のオブジェクト集合232(#1)の各ページ(図3の
オブジェクト集合2321(#11,#12,#1
3))のうち、オブジェクト集合2321(#11,#
12)に対応するオブジェクト集合12421(#11
a,#12a)がデータベースキャッシュ124内にオ
ブジェクト集合1242(#1a)として置かれてい
る。また、同様にデータベース23(#2)に対応する
オブジェクト集合12421(#21a)がオブジェク
ト集合1242(#2a)として置かれている。
【0049】図5はクライアント部のページ処理テーブ
ルの構成例を示す図である。ページ処理テーブル125
は、クライアント計算機1のユーザプログラム11がア
クセスしているスキーマ231、オブジェクトに対応す
るページ(オブジェクト集合2321)に関してデータ
ベースキャッシュ124内での処理状況を管理する。こ
のページ処理テーブル125は、DBアドレス125
1、キャッシュアドレス1252、ページ保護1253
および書き込み1254からなる処理情報1255によ
り構成される。
【0050】DBアドレス1251は、当該ページのD
BID、ページ番号にからなる。キャッシュアドレス1
252は、データベースキャッシュ124内の当該ペー
ジのアドレスである。ページ保護1253は、当該ペー
ジの複数ユーザからの同時アクセスに対する共有・排他
を示すもので、当該ユーザプログラムが当該ページに対
してアクセスを禁止する禁止、読み出しのみ可能な読み
出し可、読み出しおよび書き込み可能な書き込み可、の
何れかの値を持つ。ページ書き込み1254は、当該ペ
ージに書き込みがあったか否かを示す,書き込み無し、
書き込み有り、の何れかの値を持つ。
【0051】図6はサーバ部のディレクトリ管理情報と
ページ管理テーブルの構成例を示す図である。ページ管
理テーブル215は、複数のクライアントからのアクセ
ス状況を管理することでサーバ部21によるディレクト
リ管理処理を効率化を図るために設けられたものであ
る。また、デレクトリ管理情報213はこのページ管理
テーブル215自体を管理するものである。
【0052】デレクトリ管理情報213は、デレクトリ
22の中の必要な情報を持つものであり、DBID21
31、状態情報2132、管理情報2133、ページ管
理テーブル参照2134により構成される。DBID2
131、状態情報2132、管理情報2133は、ディ
レクトリ22上のDBID221、状態情報222、管
理情報223と同じ情報であり、ページ管理テーブル参
照2134は、DBIDに対応するページ管理テーブル
215上の所定位置を参照するための情報である。
【0053】ページ管理テーブル215は、サーバ計算
機2のデータベース23毎あるいはデータベース全体に
対して持つ。図6はデータベース毎に持つ場合の構成を
示している。
【0054】個々のページ管理テーブル215(#1,
#2,..)は、DBアドレス2151、キャッシュア
ドレス2152及び排他管理情報2157により構成さ
れる。また排他管理情報2157は、排他モード215
3、占有状態2154、占有クライアント2155及び
持ちクライアント2156からなる。
【0055】DBアドレス2151、キャッシュアドレ
ス2152は、クライアント部12のページ管理テーブ
ル125のDBアドレス1251、キャッシュアドレス
1252と同じである。
【0056】排他モード2153は当該ページが読み出
しのみ可、読み出し書き込み共可の何れであるかを示す
読み出し可、書き込み可の値を持つ。占有状態2154
は当該ページがあるクライアント部12に既にアクセス
されているか否かを示す、未占有、占有済みの何れかの
値を持つ。占有クライアント2155は当該ページをア
クセスしているクライアント部12を識別するものであ
り、クライアント計算機名とそのプロセス名により構成
される。待ちクライアント2156は当該ページのアク
セスするために待っているクライアントのリストであ
り、クライアント名とプロセス名の対のリストで構成さ
れる。
【0057】次に、このように構成された本発明の実施
の形態に係るオブジェクト指向データベースの動作につ
いて説明する。すなわち、ベースデータベース操作、ス
キーマ操作、オブジェクト操作、複数のデータベースに
対する同時参照・検索・操作、及び異なるデータベース
のオブジェクト相互の関連づけについて順次説明する。 [データベース操作]ユーザプログラム11からのデー
タベース操作要求111に対してはクライアント部12
のクライアント処理部121及び通信管理部122、サ
ーバ部21の通信管理部212及びサーバ処理部211
を介してディレクトリ22の内容が検索される。この時
以下の通り処理が行われる。
【0058】1) まず、クライアント処理部121に
より、デレクトリ処理情報123が検索される。このと
き、当該データベース23の項目がデレクトリ処理情報
123内にある場合は既にユーザープログラム11で操
作が行われているものであるので、要求に応じてその旨
の返答が返される。
【0059】2) ディレクトリ処理情報123に当該
データベース23の項目が無い場合、通信管理部122
を介してクライアント処理部121によりサーバ処理部
211へデータベース操作要求が通知される。
【0060】サーバ処理部211によりデレクトリ管理
情報213が検索される。ここで、当該データベース2
3の項目が存在する場合は、既に他のクライアント(ユ
ーザプログラム、クライアント部)にアクセスされてい
る場合である。
【0061】このときには、ディレクトリ管理情報21
3の管理情報2133に基づき要求の受け付け可否が決
められる。要求を受け付ける場合には、サーバ処理部2
11により通信管理部212を介してクライアント処理
部121に当該データベース項目が送付される。送付さ
れたデータベース項目はクライアント処理部121によ
りディレクトリ処理情報123に追加され要求元に返答
が返される。要求が受け付けられない場合はその旨が要
求元に返答される。
【0062】3) ディレクトリ管理情報に当該データ
ベースの項目が無い場合には、サーバ処理部211によ
りディレクトリ22が検索され、クライアントからの要
求に応じた処理が行われる。要求が受け付けられ、デー
タベースに関する操作が行われる場合はサーバ処理部2
11により当該データベース項目がディレクトリ管理情
報213に追加される。さらに通信管理部212を介し
てクライアント処理部121に当該データベース項目が
送付される。送付されたデータベース項目は、クライア
ント処理部121によりディレクトリ処理情報123に
追加され要求元に返答が返される。要求が受け付けられ
ない場合はその旨が要求元に返答される。
【0063】4) ディレクトリ処理情報123、ディ
レクトリ管理情報213に変更のあった場合、当該処理
が正しく終了した時点でそれぞれ、デイレクト管理情報
213、ディレクトリ22に書き戻される。これによ
り、データベース23に対する操作が実行されたことに
なる。 [スキーマ操作]ユーザプログラム11からのスキーマ
操作要求112に対してはクラアント部12のクライア
ント処理部121および通信管理部122、サーバ部2
1の通信管理部212およびサーバ処理部211を介し
て当該データベース23のスキーマ231が検索され
る。このときに以下の通り処理が行われる。
【0064】1) まず、クライアント処理部121に
よりデレクトリ処理情報123のデータベースキャッシ
ュ参照1233が調べられ当該スキーマ231がデータ
ベースキャッシュ124に読み込まれているか否かが判
断される。当該スキーマが読み込まれている場合には要
求されたスキーマ操作が行われる。スキーマ操作の結
果、当該スキーマの内容に変化があればスキーマ124
1のあるぺージが変更のあったことがぺージ処理テーブ
ル125の当該ぺージの処理情報1255(ぺージ書き
込み1254)に記録される。
【0065】2) データベースキャッシュ124に該
当スキーマが読み込まれていない場合には、通信管理部
122を介しクライアント処理部121によってサーバ
処理部211に当該スキーマの転送が依頼される。
【0066】当該スキーマが転送されてきた場合には、
データベースキャッシュ124内のページアドレスがク
ライアント処理部121により決定されデータベースキ
ャッシュ124に読み込まれる。クライアント処理部1
21により、この時のページ処理テーブル125の当該
ページ項目が追加され、DBアドレス1251およびキ
ャッシュアドレス1252、処理情報1255が設定さ
れる。それ以降の処理は[スキーマ操作]1).と同様
である。
【0067】3) 一方、上記したスキーマ転送の依頼
があったとき、サーバ処理部211により当該データベ
ース23のスキーマ231が検索される。スキーマ23
1が無い場合にはその旨がクライアント処理部121に
通知される。
【0068】スキーマ231がある場合、ページ管理テ
ーブル215が参照され当該スキーマ231が要求元と
は異なる他のクライアントからアクセスされているかが
調べられる。
【0069】他のクライアントでアクセスされている場
合には、ページ管理テーブル215の排他管理情報21
57に従い要求クライアントに当該スキーマ231をア
クセスさせるか否かが決定される。アクセスが受け入れ
られた場合はクライアント処理部121にスキーマ23
1の存在するページが転送される。アクセスが受け入れ
られない場合には待ちクライアント2156に加えられ
る。
【0070】他のクライアントにアクセスされていない
場合は、当該スキーマ23のあるページに対応したペー
ジ項目がページ管理テーブル215に追加されクライア
ント処理部121に当該ページが転送される。この場
合、排他管理情報2157の占有クライアント2155
に要求元のクライアントが設定される。
【0071】4) データベースキャッシュ124のス
キーマ1241は必要な処理が終わった時点でその内容
に変更があれば、当該データベース23に書き戻され
る。こうして、スキーマ231の操作が実現される。 [オブジェクト操作]ユーザプログラム11からのオブ
ジェクト操作要求113に対してはクライアント部12
のクライアント処理部121及び通信管理部122、サ
ーバ部21の通信管理部212及びサーバ処理部211
を介して当該データベース23のオブジェクト集合23
2,2321が検索される。このときの処理は操作対象
がスキーマ231からオブジェクト集合2321となる
だけで他は[スキーマ操作要求]の場合と同じである。 [複数のデータベースに対する同時参照・検索・操作]
次に、複数のデータベース23を同時に参照・検索・操
作する動作について説明する。
【0072】この動作を実現するためには、異なるデー
タベース23を逐次オープンする手段と、当該スキーマ
・当該オブジェクト集合、当該オブジェクトが、どのデ
ータベース23に属するか識別するための手段があれば
よい。
【0073】このうちデータベース23に対する種々の
操作手段はユーザプログラム11及びサーバ処理部21
1に与えられるものであり、上記各構成動作と共通する
ものである。また、異なるデータベース23に逐次アク
セスし、オープンすることが可能になるのは、全てのデ
ータベース22が1つのディレクトリ22に管理され、
かつ当該ディレクトリ22において状態情報222及び
管理情報223の内容に応じたアクセスについての権限
が決まることによる。つまり、サーバ処理部211は、
このアクセスについての権限をもとにして複数のデータ
ベース23に対する同時の参照・検索・操作を可能とす
る。
【0074】一方、オブジェクトがどのデータベース2
3に属するか識別するための手段は、ディレクトリ22
を用いた各スキーマの検索により実現してもよいが、こ
のような識別手段をディレクトリ22又は、ディレクト
リ管理情報213及びページ管理テーブル215等に設
けるようにしてもよい。
【0075】したがって、本実施形態の分散データベー
スシステムにおいて、データベース操作要求、スキーマ
操作要求、オブジェクト操作要求をそれぞれ以下の順序
で指定することにより、複数のデータベース23を同時
に参照・検索・操作することが可能となる。
【0076】1) データベース操作 1.異なる複数のデータベースを逐次オープンする。 2.オープンされたデータベースは同時にアクセス可能
とする。
【0077】このとき、任意のユーザプログラム11か
ら任意のデータベース23に対して同時に次の以下の処
理を要求することが可能となっている。 ・データベースの作成、削除 ・データベースの検索 ・データベースのオープン、クローズ ・トランザクションの開始、終了、廃棄 2) スキーマ操作 データベース23を指定したのち、当該データベース2
3の中のスキーマ231を指定し操作を行う。
【0078】このとき、それぞれのデータベース23で
用いるクラスに関して以下の処理を要求することが可能
となっている。 ・クラス定義作成、初期化、削除 ・クラスの検索 ・クラス定義の変更 3) オブジェクト操作 データベース23を指定し、当該データベース23の中
のスキーマ231を指定したのち、当該スキーマ231
の中のオブジェクト集合2321あるいはオブジェクト
を指定し操作を行う。
【0079】このとき、それぞれのクラスのオブジェク
ト集合2321および個々のオブジェクトに関して以下
の処理を要求することが可能となっている。 ・オブジェクトおよびオブジェクト集合の作成、削除 ・オブジェクトおよびオブジェクト集合の検索 ・オブジェクト集合の否定、代入、比較、集合演算
(和、差、積) ・オブジェクトおよびオブジェクト集合の値の読み出
し、変更 [異なるデータベースのオブジェクト相互の関連づけ]
この分散データベースシステムにおいては、異なるデー
タベース23のオブジェクト相互の関連づけを可能とし
ている。
【0080】このために、本実施形態のオブジェクト指
向データベースは次のようになっている。 1) あるデータベース23のクラス定義においてその
メンバ内の他のデータベース23のオブジェクトへの参
照を定義するメンバを置く事を可能とする。その形式は
クラスの定義されているデータベース内の他のクラスの
オブジェクトへの参照と同じ形式とする。
【0081】2) 任意のユーザプログラム11から複
数のデータベース23に対し、上記した[複数のデータ
ベースに対する同時参照・検索・操作]と同様な同時操
作を可能とする。その形式はユーザプログラム11から
単一のデータベース23を操作する場合の指定形式と同
じであり、上述した通りである。
【0082】図7はデータベース23(#1)のクラス
Personのオブジェクトがデータベース23(#
2)のクラスFriendのオブジェクトを参照する様
子を示す図である。
【0083】図8は個々のオブジェクトのメンバにおけ
るオブジェクト参照のデータ構成例を示す図である。オ
ブジェクト参照23211は、当該データベース23を
識別するためのDBID232111、そのデータベー
ス23内で参照したいオブジェクトの置かれたページ番
号232112、及びページ内のオブジェクトの位置を
示すページ内アドレス232113から構成される。
【0084】このようにオブジェクト集合2321内に
そのメンバとしてオブジェクト参照23211が設けら
れ、このオブジェクト参照23211を用いて他のデー
タベース23のオブジェクトを参照することが可能とな
る。こうして、異なるデータベース23のオブジェクト
相互の関連づけが行われる。
【0085】上述したように、本発明の実施の形態に係
るオブジェクト指向データベースは、複数のデータベー
ス23を有する場合であっても、これをディレクトリ2
2にうより管理することによって、単一サーバ計算機の
単一データベースの場合と同様のデータベース操作、ス
キーマ操作、オブジェクト操作体系を提供することがで
きる。
【0086】さらに、クライアント部12に、ディレク
トリ処理情報123及びデータベースキャッシュ124
を設け、操作対象となる情報をサーバ計算機2からコピ
ーして、データベースキャッシュ124に対する情報操
作をした後に、変更内容をデータベースに戻すようにし
たので、複数クライアント計算機1からのデータベース
への同時アクセスを容易に実現することができる。
【0087】また、各データベース23がディレクトリ
22で管理されるので、複数データベース23にわたる
データベース操作、スキーマ操作も可能である。さら
に、オブジェクト集合2321内にオブジェクト参照2
3211を設けて関連あるデータベース23の位置を指
し示すようにしたので、データベース23間の関連づけ
と容易に図ることができる。
【0088】なお、本実施形態では、単一サーバ計算機
2の場合を説明したが、上記各構成を有することから、
単一サーバ計算機から複数サーバ計算機での分散データ
ベースへの移行も既存のユーザプログラム、データベー
スの変更を行うことなく可能である。この点については
第2の実施形態において細述する。 (発明の第2の実施の形態)第1の実施形態では、1つ
のサーバ計算機2の中に複数のデータベース23が設け
られる場合を説明したが、本実施形態では、ネットワー
ク上に第1実施形態と同様なサーバ計算機2を複数接続
し、クライアント側からは、これらの複数のサーバ計算
機2からなるデータベース全体にアクセス可能とする分
散型のデータベースシステムを提供する。
【0089】図9は本発明の第2の実施の形態に係るオ
ブジェクト指向データベースの一例を示す全体図であ
り、図1と同一部分には同一符号を付して説明を省略
し、ここでは異なる部分についてのみ述べる。
【0090】このオブジェクト指向データベースは、複
数のクライアント計算機1と、複数のサーバ計算機2
(#1,#2,..)と、統合ディレクトリサーバ計算
機4とがネットワーク3で接続されてなる分散データベ
ースシステムである。このシステムでは、データベース
23を格納するサーバ計算機2自体が複数設けられる分
散システムとなっている。
【0091】この分散データベースシステムは、クライ
アント計算機1に置かれた複数のユーザプログラム11
及びクライアント部12と、統合デレクトリサーバ計算
機4に置かれた統合ディレクトリサーバ部41および統
合ディレクトリ42と、サーバ計算機2に置かれたサー
バ部21およびディレクトリ22及び複数のデータベー
ス23により構成される。
【0092】図10は図9の全体構成におけるクライア
ント計算機、サーバ計算機及び統合ディレクトリサーバ
計算機4の内部の詳細構成例を示すブロック図であり、
図2と同一部分には同一符号を付して説明を省略する。
【0093】すなわち本実施形態のオブジェクト指向デ
ータベースは、クライアント計算機1のクライアント部
12とサーバ計算機2のサーバ部21の通信に統合ディ
レクトリ計算機4の統合ディレクトリサーバ部41との
通信が加わる以外は、第1の実施形態と同様に構成され
ている。
【0094】図11は統合ディレクトリの構成例を示す
図である。統合ディレクトリ42は、各データベース2
3と各サーバ計算機2の対応づけを行うことで、データ
ベース検索23を可能とするためのディレクトリであ
る。この統合ディレクトリ42は、DBID421、管
理情報422、状態情報423、ファイル名424、及
びサーバ計算機名425から構成され、DBID42
1、管理情報422、状態情報423、ファイル名42
4は、各サーバ計算機2内のDBID、管理情報、状態
情報、ファイル名と同様の内容である。
【0095】サーバ計算機名425は、それぞれのデー
タベース23がどのサーバ計算機2にあるかを示すもの
である。なお、各サーバ計算機2ではその計算機内のデ
ータベース23に関する情報のみを保持するが、統合デ
ィレクトリ42は、全サーバ計算機2のデータベース2
3についての情報を保持する点で異なる。
【0096】統合ディレクトリサーバ部41は、各クラ
イアント部12からの要求に応じてデータベース23及
びそのデータベース23を格納するサーバ計算機2を検
索し、また、適宜のタイミングで統合ディレクトリ42
の内容を書き換えるものである。
【0097】次に、このように構成された本発明の実施
の形態に係るオブジェクト指向データベースの動作につ
いて説明する。 [一般的な動作]クライアント部12からの各要求をサ
ーバ側に行う必要がある場合には、まず、統合ディレク
トリサーバ部41に対し、データベースについての検索
や操作の要求が行われ、統合ディレクトリサーバ部41
が統合ディレクトリ42を検索する。これにより、要求
対象となるデータベース23を保持するサーバ計算機2
が特定される。そして、上記各要求が特定されたサーバ
計算機2に引き渡され、以下、第1の実施形態と同様に
処理が実行される。なお、サーバ計算機2の特定後は、
クライアント部12は、当該サーバ計算機2に対して直
接アクセスを行う。
【0098】また、データベース23に対する書き込み
等が行われる場合には、サーバ計算機2内のディレクト
リ22のみならず、統合ディレクトリ42の内容も修正
される。なお、具体的な各動作内容は、基本的には第1
の実施形態と同様である。
【0099】以下に、本実施形態において新たに加わる
動作について説明する。 [データベース操作]まず、本実施形態のオブジェクト
指向データベースでは、データベース操作要求111に
対するサーバ部21のサーバ処理部211におけるディ
レクトリ22に関する処理が異なっている。
【0100】図12にデータベース操作要求時のディレ
クトリに関する処理の流れを示す図である。まず、ユー
ザプログラム11からのデータベース操作要求111に
対してクライアント部12のディレクトリ処理情報12
3に当該データベースの項目がある場合には第1の実施
形態と動作と同様である。
【0101】当該データベースの項目が無い場合にはク
ライアント部12から統合ディレクトリサーバ部41へ
要求が送られる。統合デレクトリサーバ部41により統
合ディレクトリ42に対して要求された操作が行され、
その結果がデータベースのサーバ部21へ送られる。
【0102】サーバ部21のサーバ処理部部211によ
り自計算機2のデレクトリ22およびデータベース23
に対して要求された操作が行われ、必要に応じてデレク
トリ管理情報213、ページ管理テーブル215が設定
され、要求元のクライアント部12に結果が送られる。
【0103】クライアント部12により必要に応じてデ
レクトリ処理情報123、ページ処理テーブル125、
データベースキャッシュ124が設定され、結果がユー
ザプログラム11に送付される。
【0104】具体的には、データベース作成・削除の場
合には以下の処理を行う。 1) 統合ディレクトリサーバ計算機4において統合デ
ィレクトリ42に当該データベース23の項目の追加・
削除を行う。
【0105】2) 該当するサーバ計算機2のサーバ処
理部211でディレクトリ22に当該データベース23
の項目の追加・削除を行い、当該データベース23の作
成・削除を行う。
【0106】また、データベースオープンの場合には以
下の処理を行う。 1) 統合ディレクトリサーバ計算機4の統合ディレク
トリ42から当該データベースを検索する。
【0107】2) 該当するサーバ計算機2のサーバ処
理部211でディレクトリ22内の当該データベース項
目の状態情報222を変更する。ディレクトリ管理情報
213に当該データベースの項目を追加する。
【0108】3) クライアント部12ではデレクトリ
処理情報123の当該データベースの項目を追加する。 [サーバ計算機の追加]本実施形態の分散データベース
管理方法を用いればサーバ計算機2を追加することも可
能である。
【0109】新たなサーバ計算機2を付加する場合に
は、通信管理部212を統合デレクトリサーバ計算機4
と通信できるように設定し、そのサーバ計算機2のディ
レクトリ22の内容を統合ディレクトリ42に複写する
とともに、サーバ計算機名425を設定する。
【0110】このようにすることで、ユーザプログラム
11、サーバ計算機2のディレクトリ22、データベー
ス23の内容を変更することなく、第1の実施形態のオ
ブジェクト指向データベースにおけるサーバ計算機2を
本実施形態の分散システムに組み込むことが可能とな
る。また、第1の実施形態の複数のサーバ計算機2を組
み合わせて本実施形態の分散データベース管理システム
に移行させることができる。 [異なるデータベースのオブジェクト相互の関連づけ]
オブジェクト参照値の代入時は図8の形式でデータベー
スキャッシュ124上の当該オブジェクトのメンバ値と
して設定される。データベースキャッシュ124上のオ
ブジェクトはトランザク終了処理等のデータベース操作
要求時にデータベースの当該オブジェクトに書き込まれ
る。
【0111】オブジェクト参照値から他データベース2
3のオブジェクトをアクセスする時には目的のオブジェ
クトでデータベースキャッシュ124にある場合は、そ
のオブジェクトをアクセスする。無い場合にはクライア
ント処理部121、サーバ処理部211を介して目的デ
ータベース23の目的オブジェクトをデータベースキャ
ッシュ124に読み込み、それをアクセスする。
【0112】なお、目的のデータベース23が他のサー
バ計算機上にある場合には、計算機名が必要となるが、
その計算機名は、統合デレクトリサーバ計算機4に問い
合わせるようにしてもよいし、また、オブジェクト参照
23211に計算機名についての項目を設けてもよい。 [異なるサーバ計算機間でデータベースの移動・複写]
本実施形態の分散データベースシステムにおいて異なる
サーバ計算機2(#1,#2,...)間でデータベー
ス23の移動を行うには以下の順序で処理を行う。
【0113】1) 統合ディレクトリサーバ計算機4
は、移動元データベースが存在し、移動先データベース
が存在しないことを確認する。 2) 移動元のサーバ処理部211はデレクトリ22の
当該データベース項目と当該データベースの全内容を移
動先サーバ処理部211へ送信する。移動先サーバ処理
部211の処理が完了したことを確認後、デレクトリ2
2の当該データベース項目と当該データベース23を削
除する。
【0114】3) 移動先のサーバ処理部211は受信
した当該データベース項目をディレクトリ22に追加
し、新たにデータベース23を作成し受信した当該デー
タベースの内容をその内容とする。
【0115】4) 統合ディレクトリサーバ計算機4は
統合デレクトリ41の内容をデータベース移動後の内容
に合わせて変更する。 なお、複写については、2)において移動元のデレクト
リを変更しない事、当該データベースを削除しない事す
る点を除いて、移動と同じである。
【0116】また、このような移動複写を一括して行う
機能の実行を任意のユーザプログラム11からの指定で
きるようにしてもよい。 [データベース/クラス相互の統合・演算]本実施形態
の分散データベースシステムにおいて、データベース相
互の統合・演算は、特に図示しないが、集合演算機能、
クラス同士演算機能、継承関係の作成・削除・変更機
能、及びオブジェクトの作成・変更機能が付加されるこ
とで実現される。
【0117】集合演算機能は、データベース23に含ま
れるスキーマ231即ち全クラス定義とそれに対応する
オブジェクト集合232に対する集合演算を行う機能で
ある。
【0118】クラス同士演算機能は、クラス定義の構成
要素となるメンバ定義に関するクラス同士の演算を機能
である。継承関係の作成・削除・変更機能は、クラス同
士の継承関係の作成・削除・変更を行う機能である。
【0119】オブジェクトの作成・変更機能は、上記各
機能において作成・変更されたクラスに対応するオブジ
ェクトの作成・変更を行う機能である。このような各機
能が付加された分散データベースシステムにおいては、
データベースやクラス相互の統合・演算は以下のように
処理される。
【0120】1) 指定されたスキーマ操作の結果作成
される新しいクラス定義をデータベースキャッシュ12
4に作成する。 2) 新しいクラス定義に対応するオブジェクトを作成
し、そのメンバの初期値として元のクラスのオブジェク
トの対応するメンバの値を設定する。これを元のクラス
のオブジェクトに対して行う。
【0121】3) データベースキャッシュ124で新
しく作成されたスキーマ、オブジェクト集合を当該デー
タベース23に書き込む。クラス同士の継承関係の変更
及びその他の機能に関しては、クラスに対応するスキー
マ、オブジェクト集合をデータベースキャッシュ124
に読み込み、その上で指定された処理を行い、結果を当
該データベースに書き込む。
【0122】上述したように、本発明の実施の形態に係
るオブジェクト指向データベースは、第1の実施形態と
同様な構成を設けた他、サーバ計算機2を複数とし、統
合ディレクトリサーバ計算機4の統合デレクトリ41に
より、各データベース23がどのサーバ計算機4に格納
されるかを管理するようにしたので、第1の実施形態と
同様な効果が得られる他、オブジェクト指向データベー
ス管理システムにおいて複数のサーバ計算機に分散され
ておかれたデータベースに対して、単一サーバ計算機の
データベースと同様のデータベース操作、スキーマ操
作、オブジェクト操作体系を提供することができる。
【0123】これにより複雑な構造や相互の関係を表現
することのできるオブジェクト指向データベースにあっ
ても、分散処理機能とその操作体系を提供することがで
きる。したがって、従来のオブジェクト指向データベー
スを分散計算機環境で自由に扱え、また更に複数データ
ベースにわたるデータベース操作、スキーマ操作を可能
としたデータベース管理方式を提供することが可能とな
る。
【0124】また、本実施形態の分散データベースシス
テムは、第1の実施形態のシステムに、統合ディレクト
リサーバ計算機4を付加することで実現させたので、単
一サーバ計算機から複数サーバ計算機での分散データベ
ースへの移行を既存のユーザプログラム、データベース
の変更無しに行うことができる。
【0125】なお、各実施形態のオブジェクト指向デー
タベースでは、プログラミング言語C++の構文規則に
従ったデータベース操作体系の形でデータベース管理を
行うようにしてもよい。この場合、ユーザプログラム1
1からのデータベース23に対するデータベース操作要
求、スキーマ操作要求、オブジェクト操作要求が、プロ
グラミング言語C++の言語に従った形で与えられる。
【0126】
【実施例】本発明の第2の実施形態のオブジェクト指向
データベースにおける実施例を以下に説明する。本実施
例のオブジェクト指向データベースでは、データベース
操作、スキーマ操作、オブジェクト操作を複数の分散サ
ーバ計算機構成おいても単一のサーバ計算機の場合と同
様に行うためのデータベース操作体系を、プログラミン
グ言語C++の構文規則に従い行う。
【0127】本実施例のオブジェクト指向データベース
の全体的構成は第2の実施形態の場合と同様である。ま
た、本実施例ではデータベース操作言語の親言語として
C++言語を用いる。即ちスキーマのクラス定義はC+
+言語のクラス定義文を用いて行う。本実施例の提供す
るデータベース定義及び操作機能は図13、図14、図
15に示す通りである。これらはC++言語の拡張機能
とデータベース管理システムが用意した既定義クラスを
用いた利用方法を提供する。
【0128】図13は本発明に係る実施例のオブジェク
ト指向データベースにおけるクラス定義の例を示す図で
ある。図14は本実施例におけるデータベース操作及び
スキーマ操作の操作体系を示す図である。
【0129】図15は本実施例におけるオブジェクト操
作に対する操作体系を示す図である。これらのデータベ
ース定義及び操作の指示は以下の順序で行う。但し一旦
データベース及びクラス作成した後は2)以降の指定を
行う。
【0130】1) データベース作成、削除、検索、移
動、複写 2) データベース処理開始 3) トランサクション開始処理 4) 各種処理 ・ データベース演算 ・ クラス作成、削除、検索、クラス継承操作、クラス
演算 ・ オブジェクト集合作成、削除、検索 ・ オブジェクト操作 −オブジェクト生成・削除 −集合要素追加・除去 −牽引作成・除去 −集合検索 −集合操作 −オブジェクトアクセス 5) トランサクション処理終了または処理廃棄 6) データベース処理終了 本実施例のオブジェクト指向データベースは、具体的に
は以下のように動作する。本実施例の作用を図13、図
14をもとに説明する。なお、図15のオブジェクト操
作に関しては一般的なデータベース管理システムと同様
であり、ここでは説明を省略する。
【0131】図13はクラス定義を示している。データ
構造定義はC++言語のクラス定義を用いて行う。図1
3に示す通りデータベースが異なる場合には同じクラス
名であってもクラス定義が異なっていても良い。他デー
タベースのオブジェクト参照は当該クラス(データ型)
へのポインタの形式で表現する。
【0132】図14はデータベース操作要求およびスキ
ーマ操作要求とその記述例を示している。データベース
作成はデータベースを新しく作成するものである。また
データベース削除は指定されたデータベースを削除する
ものである。データベース検索は指定されたデータベー
スが有るか否かを調べるものである。データベースの移
動・複写は指定したサーバ計算機にデータベースを移動
・複写するものである。
【0133】データベースオープンは指定されたデータ
ベースに対してそれ以降のトランザクション処理および
各種操作を行える様にするものである。データベースク
ローズはデータベースの処理を終了する。
【0134】トランザクション処理は複数のユーザプロ
グラムが並行して同時に各種操作を行う事を可能にする
ためのものである。トランザクション処理開始からトラ
ンザクション処理終了の間に行われたスキーマ操作、オ
ブジェクト操作に関して排他処理を行い、その間に行わ
れたスキーマ更新、オブジェクト更新をトランザクショ
ン処理終了時に一括してデータベースに反映させる。
【0135】トランザクション処理廃棄はトランザクシ
ョン処理開始からトランザクション処理廃棄の間に行わ
れたスキーマ操作、オブジェクト操作に関する排他処理
を行い、その間に行われたスキーマ更新、オブジェクト
更新をトランザクション処理廃棄時に一括して廃棄しデ
ータベースには反映させない。
【0136】データベース演算は2つのデータベースの
間で以下の演算を行う。 ・ それぞれのデータベースのクラス名が異なる場合は
クラス単位での和・積・差演算および代入処理が行われ
る。
【0137】・ 新しく定義されるクラス定義にそれぞ
れのデータベースのクラスが同じものがある場合には後
述のクラス演算が行われる。クラス作成は指定されたデ
ータベースに新しくクラスを作成するものであり、その
クラス定義情報の設定はクラス設定により行う。またク
ラス削除は指定されたクラスを削除するものである。ク
ラス検索は指定されたクラスが当該データベース内に定
義されているか否かを調べるものである。クラス継承操
作は既存の2つのクラスに対して継承関係(基底クラ
ス、導出クラス)の設定、解消を行うものである。それ
ぞれのクラスにオブジェクト集合が作成されている場合
には対応するオブジェクト集合の個々のオブジェクトに
対してもクラス継承の変更が反映される。
【0138】クラス演算は2つのクラスの間で以下の演
算を行う。 ・ それぞれのクラスのメンバに対してメンバの和・積
・差を行う例えば図13のクラス定義で、Person
(1)とPerson(2)のクラス和はPerson
(3)のクラス定義となる。
【0139】・ それぞれのデータベースのクラスに対
応したオブジェクト集合が元のクラスのオブジェクト集
合から作られる。 ・ クラスの代入はクラス定義情報の設定とそのオブジ
ェクト集合の設定がなされる。
【0140】本実施例によれば、複雑なデータ構造を扱
うオブジェクト指向データベースにおいても、複数のサ
ーバ計算機にデータベースを分散させることができ、単
一のデータベースと同様のC++言語による操作体系を
提供することができる。これによりユーザにとって高度
かつ複雑な分散データベース操作を簡潔な記述形式でプ
ログラミングできることになり、容易に高度な機能を使
いこなすことが可能になる。また更に複数データベース
にわたるデータベース操作、スキーマ操作ができる。
【0141】なお、本発明は、上記各実施形態・実施例
に限定されるものでなく、その要旨を逸脱しない範囲で
種々に変形することが可能である。また、実施形態・実
施例に記載した手法は、計算機(コンピュータ)に実行
させることができるプログラム(ソフトウエア手段)と
して、例えば磁気ディスク(フロッピーディスク、ハー
ドディスク等)、光ディスク(CD−ROM、DVD
等)、半導体メモリ等の記憶媒体に格納し、また通信媒
体により伝送して頒布することもできる。なお、媒体側
に格納されるプログラムには、計算機に実行させるソフ
トウエア手段(実行プログラムのみならずテーブルやデ
ータ構造も含む)を計算機内に構成させる設定プログラ
ムをも含むものである。本装置を実現する計算機は、記
憶媒体に記録されたプログラムを読み込み、また場合に
より設定プログラムによりソフトウエア手段を構築し、
このソフトウエア手段によって動作が制御されることに
より上述した処理を実行する。
【0142】
【発明の効果】以上詳記したように本発明によれば、分
散環境化においても単一の計算機システムの何れにおい
ても、両者に同一のデータベース操作機能、即ち、デー
タ定義、検索および操作機能手段を提供し、これらを同
一のデータベース操作言語で利用できるようにしたオブ
ジェクト指向データベース及び記録媒体を提供すること
ができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るオブジェクト
指向データベースの一例を示す全体図。
【図2】図1の全体構成の中でのクライアント計算機と
サーバ計算機の内部の詳細構成例を示すブロック図。
【図3】図2におけるサーバ計算機のディレクトリとデ
ータベースの構成例を示す図。
【図4】図2におけるクライアント部のディレクトリ処
理情報とデータベースキャッシュの構成例を示す図。
【図5】クライアント部のページ処理テーブルの構成例
を示す図。
【図6】サーバ部のディレクトリ管理情報とページ管理
テーブルの構成例を示す図。
【図7】データベース(#1)のクラスPersonの
オブジェクト(#2)がデータベースのクラスFrie
ndのオブジェクトを参照する様子を示す図。
【図8】個々のオブジェクトのメンバにおけるオブジェ
クト参照のデータ構成例を示す図。
【図9】本発明の第2の実施の形態に係るオブジェクト
指向データベースの一例を示す全体図。
【図10】図9の全体構成におけるクライアント計算
機、サーバ計算機及び統合ディレクトリサーバ計算機4
の内部の詳細構成例を示すブロック図。
【図11】統合ディレクトリの構成例を示す図。
【図12】データベース操作要求時のディレクトリに関
する処理の流れを示す図。
【図13】本発明に係る実施例におけるプログラミング
言語C++を基準言語とするデータベース操作体系のク
ラス定義の例を示す図。
【図14】同実施例におけるデータベース操作及びスキ
ーマ操作の操作体系を示す図。
【図15】同実施例におけるオブジェクト操作に対する
操作体系を示す図。
【符号の説明】
1…クライアント計算機 2…サーバ計算機 3…ネットワーク 4…統合ディレクトリサーバ計算機 11…ユーザプログラム 12…クライアント部 21…サーバ部 22…ディレクトリ 23…データベース 41…統合ディレクトリサーバ部 42…統合ディレクトリ 111…データベース操作要求 112…スキーマ操作要求 113…オブジェクト操作要求 121…クライアント処理部 122…通信管理部(クライアント部) 123…ディレクトリ処理情報 124…データベースキャッシュ 125…ページ処理テーブル 211…サーバ処理部 212…通信管理部(サーバ部) 213…ディレクトリ管理情報 215…ページ管理テーブル 231…スキーマ(データベース) 232…オブジェクト集合(データベース) 1241…スキーマ(データベースキャッシュ) 1242…オブジェクト集合(データベースキャッシ
ュ)
フロントページの続き (72)発明者 土屋 武彦 東京都府中市東芝町1番地 株式会社東芝 府中工場内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクトを用いて個々のデータを扱
    い、このオブジェクトの集合であるオブジェクト集合を
    基本としてデータ構造が定義されるとともに、1以上の
    クライアント計算機及び1以上のサーバ計算機がネット
    ワーク接続されてなるオブジェクト指向データベースで
    あって、 前記サーバ計算機は、 前記オブジェクト集合を格納する複数のデータベース
    と、 前記複数のデータベースそれぞれの識別情報に対応して
    各データベースのサーバ計算機内における位置情報を格
    納するディレクトリ部と、 前記ディレクトリ部の情報に基づいて前記複数のデータ
    ベースを管理するサーバ部とを備え、 前記クライアント計算機は、 前記データベース並びにディレクトリ部の一部あるいは
    全部の情報をコピー可能に構成されたキャッシュ部と、 このキャッシュ部のコピー情報に対してデータの検索又
    は操作を行うとともに、キャッシュ部に検索又は操作の
    対象がないときには、その対象情報を前記サーバ部に要
    求するクライアント部とを備えたことを特徴とするオブ
    ジェクト指向データベース。
  2. 【請求項2】 前記ネットワークに統合ディレクトリ計
    算機が接続されており、 前記統合ディレクトリ計算機は、 前記複数のデータベースそれぞれの識別情報に対応して
    各データベースが格納されるサーバ計算機の特定情報を
    格納する統合ディレクトリ部と、 前記統合ディレクトリ部の情報を管理すると共に、前記
    クライアント部からの検索又は操作の対象情報の要求が
    あったときには、前記統合ディレクトリ部の情報に基づ
    いてその対象となるデータベースが格納されるサーバ計
    算機を特定し、当該サーバ計算機に前記クライアント部
    からの要求を引き渡す統合ディレクトリサーバ部とを備
    え、 前記クライアント部は、前記検索又は操作の対象がない
    ときには、その対象情報を前記統合ディレクトリサーバ
    部を介して要求することを特徴とする請求項1記載のオ
    ブジェクト指向データベース。
  3. 【請求項3】 前記ディレクトリ部は、自己が管理対象
    とする各データベースについての状態情報を保持し、 前記サーバ部は前記状態情報に基づいて前記クライアン
    ト部の要求によるデータベースへのアクセスを制御し、
    これにより複数のデータベース対する同時の参照,検索
    又は操作を可能とすることを特徴とする請求項1又は2
    記載のオブジェクト指向データベース。
  4. 【請求項4】 前記オブジェクト集合の少なくとも1つ
    のオブジェクトに、異なるデータベースに格納され、か
    つ前記オブジェクト集合に関連あるオブジェクトの位置
    を示す関連情報を格納することにより、異なるデータベ
    ースのデータ相互の関係づけを可能とすることを特徴と
    する請求項1乃至3のうち何れか1項記載のオブジェク
    ト指向データベース。
  5. 【請求項5】 前記データベースに対する操作を、C+
    +等のオブジェクト指向プログラミング言語の構文規則
    に従って行うことを特徴とする請求項1乃至4のうち何
    れか1項記載のオブジェクト指向データベース。
  6. 【請求項6】 オブジェクトを用いて個々のデータを扱
    い、このオブジェクトの集合であるオブジェクト集合を
    基本としてデータ構造が定義されるとともに、1以上の
    クライアント計算機及び1以上のサーバ計算機がネット
    ワーク接続されてなるオブジェクト指向データベースを
    実現させる前記クライアント計算機及び前記サーバ計算
    機上のプログラムを記録した記録媒体であって、 前記サーバ計算機上のプログラムは前記サーバ計算機
    に、 前記オブジェクト集合を格納する複数のデータベースそ
    れぞれの識別情報に対応し、各データベースのサーバ計
    算機内における位置情報を格納するディレクトリ部を参
    照することにより、前記複数のデータベースを管理する
    サーバ処理機能を実現させるプログラムであり、 前記クライアント計算機上のプログラムは前記クライア
    ント計算機に、 前記データベース並びにディレクトリ部の一部あるいは
    全部の情報をキャッシュ部にコピーすると共に、このキ
    ャッシュ部のコピー情報に対してデータの検索又は操作
    を行い、キャッシュ部に検索又は操作の対象がないとき
    には、その対象情報を前記サーバ部に要求するクライア
    ント処理機能を実現させるプログラムであることを特徴
    とするコンピュータ読取り可能な記録媒体。
  7. 【請求項7】 前記ネットワークに統合ディレクトリ計
    算機が接続された場合の当該統合ディレクトリ計算機上
    のプログラムを記録した記録媒体であって、 前記統合ディレクトリ計算機上のプログラムは前記統合
    ディレクトリ計算機に、 前記複数のデータベースそれぞれの識別情報に対応して
    各データベースが格納されるサーバ計算機の特定情報を
    格納する統合ディレクトリ部の情報を管理すると共に、
    前記クライアント部からの検索又は操作の対象情報の要
    求があったときには、前記統合ディレクトリ部の情報に
    基づいてその対象となるデータベースが格納されるサー
    バ計算機を特定し、当該サーバ計算機に前記クライアン
    ト部からの要求を引き渡す統合ディレクトリサーバ処理
    機能を実現させるプログラムであり、 前記クライアント計算機上のプログラムは前記クライア
    ント処理機能に、 前記検索又は操作の対象がないときには、その対象情報
    を前記統合ディレクトリサーバ部を介して要求する機能
    も実現させることを特徴とするコンピュータ読取り可能
    な請求項6記載の記録媒体。
  8. 【請求項8】 オブジェクトを用いて個々のデータを扱
    い、このオブジェクトの集合であるオブジェクト集合を
    基本としてデータ構造が定義されるオブジェクト指向デ
    ータベースにあって、 前記オブジェクト集合を格納する複数のデータベース
    と、 前記複数のデータベースそれぞれの識別情報に対応して
    各データベースの記録位置情報を格納するディレクトリ
    部と、 前記ディレクトリ部の情報に基づいて前記複数のデータ
    ベースを管理するサーバ部とを備えたことを特徴とする
    オブジェクト指向データベース。
  9. 【請求項9】 オブジェクトを用いて個々のデータを扱
    い、このオブジェクトの集合であるオブジェクト集合を
    基本としてデータ構造が定義されるオブジェクト指向デ
    ータベースを実現させるプログラムを記録した記録媒体
    であって、 前記プログラムはコンピュータに、 前記オブジェクト集合を格納する複数のデータベースそ
    れぞれの識別情報に対応し、各データベースの記録位置
    情報を格納するディレクトリ部を参照することにより、
    前記複数のデータベースを管理するサーバ処理機能を実
    現させるプログラムであることを特徴とするコンピュー
    タ読取り可能な記録媒体。
JP9324558A 1997-11-26 1997-11-26 オブジェクト指向データベース及び記録媒体 Pending JPH11161537A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9324558A JPH11161537A (ja) 1997-11-26 1997-11-26 オブジェクト指向データベース及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9324558A JPH11161537A (ja) 1997-11-26 1997-11-26 オブジェクト指向データベース及び記録媒体

Publications (1)

Publication Number Publication Date
JPH11161537A true JPH11161537A (ja) 1999-06-18

Family

ID=18167163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9324558A Pending JPH11161537A (ja) 1997-11-26 1997-11-26 オブジェクト指向データベース及び記録媒体

Country Status (1)

Country Link
JP (1) JPH11161537A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234889A (ja) * 2004-02-19 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> リソース情報検索方法および装置
JP2006209316A (ja) * 2005-01-26 2006-08-10 Nec Corp データベースアクセス管理システム、管理方法及びそのプログラム
JP2009271716A (ja) * 2008-05-07 2009-11-19 Obic Business Consultants Ltd 情報処理システム、情報端末装置、情報処理方法、およびプログラム
JP2014164648A (ja) * 2013-02-27 2014-09-08 Fujitsu Frontech Ltd 情報処理装置、データベース特定方法、およびデータベース特定プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234889A (ja) * 2004-02-19 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> リソース情報検索方法および装置
JP2006209316A (ja) * 2005-01-26 2006-08-10 Nec Corp データベースアクセス管理システム、管理方法及びそのプログラム
JP2009271716A (ja) * 2008-05-07 2009-11-19 Obic Business Consultants Ltd 情報処理システム、情報端末装置、情報処理方法、およびプログラム
JP2014164648A (ja) * 2013-02-27 2014-09-08 Fujitsu Frontech Ltd 情報処理装置、データベース特定方法、およびデータベース特定プログラム

Similar Documents

Publication Publication Date Title
KR101041319B1 (ko) 하드웨어/소프트웨어 인터페이스 시스템에 의해 관리가능한정보 단위의 피어 대 피어 동기화를 위해 충돌 처리를제공하는 시스템 및 방법
US10936547B2 (en) Filesystem replication using a minimal filesystem metadata changelog
JP3939923B2 (ja) 論理的ハイパーリンクを備えた知識供給装置
US7483882B1 (en) Dynamic management of multiple persistent data stores
JP5589205B2 (ja) 計算機システム及びデータ管理方法
CN104160381B (zh) 多租户环境中租户特定数据集的管理方法及其系统
US7836018B2 (en) Simultaneously accessing file objects through web services and file services
US7801850B2 (en) System of and method for transparent management of data objects in containers across distributed heterogenous resources
US6449607B1 (en) Disk storage with modifiable data management function
CN109952564A (zh) 数据库系统中测试数据的形成与操纵
JPH07219832A (ja) 概要カタログ
JP4039800B2 (ja) データ管理方法、オブジェクト統合管理システム
US11907251B2 (en) Method and system for implementing distributed lobs
JP2001101042A (ja) データ管理システム及びデータ管理方法
JP2006031608A (ja) 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
JPH11161537A (ja) オブジェクト指向データベース及び記録媒体
US11892992B2 (en) Unique identification management
CN112115115B (zh) 基于数据仓库的文件移动方法、设备和存储介质
US7752232B2 (en) Data processing apparatus, data processing system, data processing method, and recording medium
JP2001273279A (ja) 電子ファイリングシステムおよび文書作成方法
JP2003044469A (ja) 文書ファイル管理システム
JPH03161864A (ja) 文書管理処理装置
JP2001195292A (ja) 電子ファイリングシステムおよび文書作成方法
JPH11110265A (ja) 情報処理装置
JP2008537233A (ja) コンテンツの記憶装置を管理する方法および装置