JPH07200381A - オブジェクト拡張方式 - Google Patents
オブジェクト拡張方式Info
- Publication number
- JPH07200381A JPH07200381A JP5338052A JP33805293A JPH07200381A JP H07200381 A JPH07200381 A JP H07200381A JP 5338052 A JP5338052 A JP 5338052A JP 33805293 A JP33805293 A JP 33805293A JP H07200381 A JPH07200381 A JP H07200381A
- Authority
- JP
- Japan
- Prior art keywords
- definition
- information
- type
- attribute
- relation
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/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/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Abstract
キーマ定義情報と独立に、オブジェクトへの属性、関
連、手続きの変更を行えるようにする。 【構成】 データベース107はオブジェクト及び該オ
ブジェクトの変更情報を保持する部品オブジェクトを格
納し、部品オブジェクト管理部102とオブジェクト管
理部103が管理する。ディクショナリ108は、オブ
ジェクトの定義情報と該定義情報の変更情報を保持する
部品オブジェクトを格納し、ディクショナリ管理部10
4が管理する。ビュー管理部101は、ユーザの要求に
より、各管理部102、103、104を介して、定義
変更後のオブジェクトの定義情報及びオブジェクトを動
的に生成するビューを管理する。更新履歴管理部105
は部品オブジェクトからオブジェクトの変更履歴を抽出
し、ジャーナル106に出力する。
Description
タベースシステムに係わり、特にオブジェクトの定義の
変更に伴うオブジェクトの変更に好適なオブジェクト拡
張方式に関する。
タの定義の集合であるスキーマを変更すれば、変更前の
データに影響を及ぼす。これは、データ構造が変更され
てしまうからである。このデータ構造の変更をいつ行う
かが問題となる。オブジェクト指向データベースでも同
様の問題がある。対策方法として、即時更新(Immedia
te-update)と遅延更新(deferred-update)がある。
対して、影響を受けるオブジェクトをスキーマ更新時に
同時に影響を受けるすべてのオブジェクトを変更してし
まう方法である。この方法は、オブジェクトが大量に存
在するとき、スキーマ変更に伴う変更作業量が大きい。
一方、遅延更新は、スキーマ更新後、その更新に影響を
受けるオブジェクトがアクセスされた時に変更を反映す
る作業を行う方法である。属性追加/挿入はNULLデータ
をいれ、オブジェクトを更新する。後者は、スキーマ更
新の処理速度は前者より早いが、アクセスされないオブ
ジェクトは、古いスキーマの構造のまま存在することに
なるため、アクセス時にどの定義構造の状態なのかを判
定した上で該当する定義情報に従って変更を行わなくて
はならない。即時更新及び遅延更新については、例え
ば、Wom Kim:Introduction toObject-oriented D
atabases,MIT press,pp.50−52に記載されて
いる。
のオブジェクトの更新方法についてしか論じられていな
い。しかし、実際に問題となるのはスキーマ変更処理で
ある。通常オブジェクトを操作するときは、その定義で
あるスキーマに共有ロック(shared Lock)をかけて、
スキーマ情報を参照していることを示し、他のプロセス
がスキーマ更新を行えないようにしている。これは、デ
ータベースの整合性を保証するために必要な事である。
したがって、そのオブジェクトを操作しているプロセス
が存在するかぎり、そのスキーマを変更することができ
ない。
キーマ変更とオブジェクト操作の同時操作について、ス
キーマ変更の実行可能条件が厳しく、スキーマ変更時
に、オブジェクトの操作ができないという点について配
慮されていない。
つオブジェクトを格納するオブジェクト指向データベー
スにおいて、スキーマ定義情報と独立に、オブジェクト
への属性、関連、手続きの変更を行えるようにすること
にある。
に、本発明は、属性と関連と手続きを持つオブジェク
ト、該オブジェクトの構造を定めた定義情報を持つ定義
オブジェクトを有するオブジェクト指向データベースシ
ステムにおいて、前記定義オブジェクトの変更に伴う属
性、関連、手続きの各変更情報を部品オブジェクトとし
て定義オブジェクトに保持し、前記定義オブジェクトの
変更で新たにオブジェクトに付加されるデータを各オブ
ジェクトに部品オブジェクトとして保持するものであ
る。
手続きの各変更情報を部品オブジェクトとして定義オブ
ジェクトに保持することで、スキーマ定義を変更するこ
となく、オブジェクトに属性、関連、手続きの追加、削
除、定義変更などの操作が行えるようになる。定義変更
で新たにオブジェクトに付加されるデータは、定義オブ
ジェクトと同様、各オブジェクトに部品オブジェクトと
して保持される。定義オブジェクトと定義オブジェクト
が保持する部品オブジェクトによって、定義変更後の定
義オブジェクトを仮想的に生成する。また、仮想的に生
成された定義オブジェクトに対応するオブジェクトは、
同様にオブジェクトと、オブジェクトが保持する部品オ
ブジェクトによって仮想的に生成するため、ユーザはそ
の仮想的に生成された定義オブジェクト及びオブジェク
トだけが見えているので、変更前と同じ操作でオブジェ
クトが操作できる。
使用して詳述する。
プを持つデータで示される属性、オブジェクト間の関係
を保持する関連、オブジェクトの振る舞いを決める手続
きからなる。属性はタイプ内で一意で、属性名で識別す
る。関連は、スキーマ内で一意で、関連名で識別する。
手続きは、タイプ内で一意で、セレクタ名とパラメタタ
イプの順序で識別する。これら属性、関連、手続きをオ
ブジェクトの特性と呼ぶ。オブジェクトの属性には、オ
ブジェクトのタイプを記述する(つまりオブジェクトそ
のものを保持、参照する)ことができる。実際は、オブ
ジェクトを一意に決めるために、システムでオブジェク
ト識別子を使用しているため、オブジェクト識別子を属
性のデータとして保持する。当該オブジェクトタイプ属
性と関連の区別は、利用者にゆだねる。関連は、関連元
タイプと関連先タイプの該関連元と該関連先にどんな関
連があるかを規定する。該関連に定義された全該関連元
タイプに属するオブジェクトと全該関連先タイプに属す
るオブジェクト間に存在する。また関連には、属性を保
持することができる。
オブジェクトのタイプと呼ぶ。タイプの集合をスキーマ
と呼ぶ。タイプの定義情報をメタ定義情報と呼ぶ。該ス
キーマおよび該メタ定義情報には、部品オブジェクトの
タイプおよび該部品オブジェクトタイプのメタ定義情報
も含まれる。
除、更新は、該オブジェクトのタイプ(定義)変更を要
する。このとき、該変更情報およびデータを部品オブジ
ェクトとして、該オブジェクトのシステム情報として保
持される。部品オブジェクトもオブジェクトの一種とし
てタイプを持ち、データベース(DB)に保持される。
本実施例では、タイプ変更のうち、更新は削除と追加に
置き換えられる。また追加は、常に最終位置に行われ
る。
を示す。ビュー管理部101は、ユーザ定義のオブジェ
クトをユーザがみたい構造(ビュー)に変換し、ユーザ
に提供したりユーザからコマンド、データなどを受け取
る部分である。部品オブジェクト管理部102は、デー
タベース(DB)107上に、既に定義してあるオブジ
ェクトに新たな定義に基づく特性が規定された場合に保
持する部品オブジェクトを管理する部分である。オブジ
ェクト管理部103は、DB107上の既に定義されて
いるオブジェクトを管理する部分である。ディクショナ
リ管理部104は、ディクショナリ108上の、既に定
義されているオブジェクトのタイプ情報を管理する部分
である。更新履歴管理部105は、部品オブジェクト管
理部102を介してDB107上の部品オブジェクトか
ら取り出した更新履歴情報を管理し、ジャーナル106
に出力する部分である。データベース(DB)107
は、オブジェクトおよび部品オブジェクトを保持し、デ
ィクショナリ108は、タイプ(定義)情報を保持す
る。
れらのメタ定義情報は、後述する図6の情報等のひな形
で、ディクショナリ108に保存され、ディクショナリ
管理部104で管理される。
207〜209が属性のメタ定義情報、210〜214
が手続きのメタ定義情報、215〜224が関連のメタ
定義情報、225〜227が関連の組み合わせとなるオ
ブジェクトを持つ関連対のメタ定義情報、228〜23
3が属性の定義変更情報を保持する部品属性オブジェク
トのメタ定義情報、234〜240が手続きの変更情報
を保持する部品手続きオブジェクトのメタ定義情報、2
41〜242が、オブジェクトが保持する関連を参照す
るための関連管理オブジェクトのメタ定義情報、243
がオブジェクトの構成変更を伴う属性変更で付加される
データを保持する構成変更オブジェクトのである。ここ
で、[]は該定義のタイプ、arrayOf[]は、埋めこみ
配列、enumOf[]は、列挙型、unionOf[]は、共用型
をあらわす。また、oidはオブジェクト識別子、binary
Codeは、可変長バイナリコードを示す。ここでは、タ
イプ定義で使用できるシステム提供のタイプとして整数
(int)と文字列(string)を提供する。また、各タイ
プ情報は、すべてオブジェクトとして扱えるようになっ
ているため、オブジェクト識別子を保持する。
で、201は、本タイプ定義の版を管理するためのバー
ジョン番号、202は、タイプを一意に決定するタイプ
名称、203は、タイプが持つ属性数、204は、タイ
プが持つ属性で、属性数202個の属性を持つ。205
は、タイプが持つ手続数、206は、タイプが持つ手続
きで手続数204個の手続きを持つ。つまり、属性は2
07〜209の属性メタ定義情報に基づく属性オブジェ
クトを持ち、手続きは210〜214の手続きメタ定義
情報に基づく手続きオブジェクトを持つことを示す。
207は、保持されているタイプ内で一意な属性名、2
08は、該属性のデータタイプで本実施例では整数と文
字列のみ使用できる。209は、該属性のデータのデー
タ長でバイト数を保持する。よって、整数時は4、文字
列時はユーザ指定数で任意である。
で、210は、手続きの名称となるセレクタ名、211
は、手続きが保持するパラメタの数、212は、パラメ
タ数211個のパラメタのタイプ定義の集合、213
は、手続きがかえす戻り値のタイプ、214は、手続き
の本体である実行コードである。
215は、関連を一意に決定する関連名、216は、関
連の種別で、1対1、1対多、多対1、多対多の4種類
がある。217は、関連元タイプ数、218は関連元タ
イプ数217個の関連元タイプのタイプ情報、219
は、関連先タイプ数、220は、関連先タイプ数219
個の関連先タイプのタイプ情報、221は、関連の意味
情報で、本実施例では、何もない(NULL)、つまり単
に参照しているだけの関係と部品関連(Parts)があ
る。222は、関連が保持する属性数、223は、関連
属性数222個の属性情報、224は、実際関連を持つ
オブジェクトの対を保持する関連群である。
オブジェクトを持つ関連対のメタ定義情報で、225
は、関連元となるオブジェクトのオブジェクト識別子、
226は、関連元オブジェクト226から該関連を持つ
関連先のオブジェクト群のオブジェクト識別子群、22
7は、関連のメタ定義内の関連属性223で定義された
属性データを関連属性数222個分保持する。
持する部品属性オブジェクトのメタ定義情報で、228
は、定義の版を管理するためのバージョン番号、229
は、該部品属性オブジェクト生成時の属性の操作を示す
操作コード、230は、タイプ定義中の属性の何番目が
更新されたかを示す更新位置、231〜233は、操作
コード229がappend(追加)時にのみ存在する。23
1は、追加された属性の属性名、232は、追加された
属性のデータタイプ、233は、追加された属性のデー
タ長である。
保持する部品手続きオブジェクトのメタ定義情報で、2
34は、定義の版を管理するためのバージョン番号、2
35は、部品オブジェクト生成時の手続きの操作を示す
操作コード、236は、セレクタ名、237は、パラメ
タ数、238は、パラメタ数237個のパラメタタイプ
群、239〜240は、操作コード235がappend時の
み存在する。239は、戻り値のタイプ、240は、実
行コードである。
連を管理する関連管理のメタ定義情報で、241は、既
に関連定義されていて該オブジェクトが持つ関連の関連
名、242は、実際の関連元オブジェクト(該オブジェ
クト自身)と関連を持つ関連先のオブジェクト群を保持
する関連対オブジェクトの集合である。
に付加される属性データを保持する構成変更情報のメタ
定義情報で、属性データ群を保持する。
定義オブジェクトと関連定義オブジェクトの一例であ
る。これらの情報は、関連対オブジェクト306を除い
てディクショナリ108に格納され、ディクショナリ管
理部104で管理される。
オブジェクト識別子T1を持つpersonタイプ定義30
1、属性に型名、メモリサイズ、OS名を持ち、オブジ
ェクト識別子T2を持つcomputerタイプ定義302、属
性に型名、メガクロック数を持ち、オブジェクト識別子
T3を持つprocessorタイプ定義303がある。タイプ
定義オブジェクトの破線部は、前半が各定義オブジェク
トのオブジェクト識別子、後半は、属性定義更新時に生
成される部品属性オブジェクトである。手続き定義更新
時に生成される部品手続きオブジェクトのオブジェクト
識別子を保持する。図6の例では、computerタイプが、
オブジェクト識別子P1の属性部品オブジェクトとオブ
ジェクト識別子P3の手続き部品オブジェクトを持って
いる。各部品オブジェクトについては、図7に示す。
サ、computerタイプとprocessorタイプに1:1で部品
関連を持つプロセッサ関連304がある。実際に関連定
義オブジェクト304で定義された関連を持つ関連定義
オブジェクトの破線部は、各定義オブジェクトのオブジ
ェクト識別子である。また関連対集合オブジェクト30
5及び関連対オブジェクト306から、関連名“プロセ
ッサ”の関連は、オブジェクト識別子O2を持つオブジ
ェクトとオブジェクト識別子O3を持つオブジェクトの
間に成り立っていることがわかる。ただし、関連対集合
オブジェクトは、定義情報を保持するディクショナリ1
08に保持されるが、関連対オブジェクトは、オブジェ
クトが保持されるDB107に保持する。これは、オブ
ジェクトの関連を管理する関連管理オブジェクトからも
参照されるためである。図6では、関連対オブジェクト
との対応が分かりやすいように、関連対オブジェクトも
示したものである。
オブジェクトの例である。これは、図6の定義のcomput
erタイプの属性に、“ハードディスクサイズ”を追加
し、“OS名”を削除し、手続き“onUnix”を追加し
た場合である。この部品オブジェクトはDB107に格
納され、部品オブジェクト管理部102で管理される。
クト識別子P1を持ち、computerタイプに、属性名“ハ
ードディスクサイズ”を追加し、属性“OS名”を削除
する情報を保持する。部品属性オブジェクト402は、
オブジェクト識別子P2を持ち、属性名“所有月数”を
追加する情報を保持する。この属性は、後の説明で表れ
る関連の属性の定義情報である。
ェクト識別子P3を持ち、computerタイプにセレクタ名
“onUnix”でパラメタなし、戻り値論理タイプ(boole
an)を追加する情報を保持する。ただし、図7では、実
行コードは「………」で記載し内部詳細コードは省略し
た。
ジェクト例である。破線部はオブジェクトが持つシステ
ム情報で、前半部はタイプのオブジェクト識別子、その
タイプのバージョン番号、自分のオブジェクト識別子
を、後半部は、構成変更オブジェクトのオブジェクト識
別子、関連管理オブジェクトのオブジェクト識別子を保
持する。このオブジェクトはDB107に格納され、オ
ブジェクト管理部103で管理される。
名前が日立太郎、18才、オブジェクト502は、comp
uterタイプで、型名がHT3010、メモリサイズが3
2(メガバイト)、OS名がDOS/V、オブジェクト
503は、processorタイプで、型名がi386SX、
25メガクロック、オブジェクト504は、processor
タイプで、型名がi486DX2、66メガクロックで
あることを示す。オブジェクト502は、オブジェクト
識別子PP1の構成変更オブジェクト505とオブジェ
クト識別子rc1の関連管理オブジェクト506を保持
する。
クト識別子PP1をもち、部品属性オブジェクト402
で追加された属性“ハードディスクサイズ”の属性値
“500”を保持する。ここで、値“500”は単なる
例示である。
オブジェクト502が持つ関連“プロセッサ”が、保持
する関連元オブジェクト(computerオブジェクト502
自身)と関連先オブジェクト群を保持する関連対オブジ
ェクト306(図6)を保持する。図6では、関連対オ
ブジェクト306は、関連元オブジェクトO2、関連先
オブジェクトO3を持つ。これにより、オブジェクト5
02とオブジェクト503がプロセッサ関連を持つこと
がわかる。
ト、関連対集合オブジェクト、関連管理オブジェクト、
関連対オブジェクトの例を示す。本例では、図6及び図
8で示したオブジェクト502とオブジェクト503が
持つプロセッサ関連の定義を名称、“プロセッサズ”、
関連種別、1:nに変更し、新たにpersonタイプとcomp
uterタイプ間に”所有者”関連とその逆関連として”所
有物”関連を定義する。また、“プロセッサズ”関連を
新たにオブジェクト502とオブジェクト504には
り、オブジェクト501とオブジェクト502に所有者
(及び所有物)関連を張る。これらの情報のうち、関連
定義オブジェクトがディレクトリ108に格納される情
報であり、それ以外はDB107に格納される情報であ
る。
“所有物”で1:nで関連元タイプperson、関連先タイ
プcomputerで、関連の属性定義402(図7)を持ち、
関連対集合オブジェクト605を持つ事を示す。関連定
義オブジェクト602は、関連名“所有者”で1:nで
関連元タイプcomputer、関連先タイプpersonで、関連の
属性定義402を持ち、関連対集合オブジェクト606
を持つ事を示す。関連定義オブジェクト601と関連定
義オブジェクト602は、関連と逆関連の関係になる。
関連定義オブジェクト603は、関連名“プロセッサ
ズ”で1:nで関連元タイプcomputer、関連先タイプpr
ocessorで、部品関連関連の属性定義402を持ち、関
連対集合オブジェクト604を持つ事を示す。これは、
関連定義オブジェクト304(図6)の関連名と関連の
種別が変更されたものである。ゆえに、オブジェクト識
別子が同じR1になっている。
オブジェクト506が変更されたものである。関連名
“プロセッサ”がプロセッサズに変更され、新たに追加
された関連の関連名“所有者”と関連対オブジェクト6
11が追加される。また、関連管理オブジェクト608
に、新たに追加された関連の関連名“所有物”と関連対
オブジェクト610を持つ。関連管理オブジェクト60
8は、オブジェクト501の関連管理オブジェクトとし
て保持されるよう変更される。つまり破線部後半の2番
目に関連管理オブジェクトを保持する。
されたオブジェクト502とオブジェクト504の関連
が付加するため、関連先オブジェクトにオブジェクト5
04が付加される。また関連対オブジェクト610で、
オブジェクト501とオブジェクト502の関連が示さ
れ、関連対オブジェクト611で、オブジェクト502
とオブジェクト501の関連が示される。
ェクトの属性/関連/手続きの変更処理フローを示す。
いずれの場合も、処理は基本的にオブジェクト管理部1
03が中心となって行い、必要に応じてスキーマ情報処
理ディクショナリ管理部104、部品オブジェクト処理
を部品オブジェクト管理部102に依頼し、必要なデー
タをもらってDB107の内容に反映させる。
ユーザは本処理を要求するとき、ビュー管理部101を
介してオブジェクト管理部103に、オブジェクト識別
子、定義変更時のバージョン番号、変更要求コード(追
加、削除、更新)、変更属性情報として、属性名、属性
タイプ、タイプサイズ、属性値を渡す。指定する属性
名、タイプ、タイプサイズ、属性値は正しい指定がされ
ていることが保証されている。また、全てのオブジェク
トの生成、更新、削除時に、ジャーナル生成し出力して
いる。図10で、ステップ701〜704がディクショ
ナリ管理部104の処理、709〜715が部品オブジ
ェクト管理部102の処理、それ以外はオブジェクト管
理部103の処理である。
つまりオブジェクト識別子で示されたオブジェクトのタ
イプ定義オブジェクトとその属性定義オブジェクトをデ
ィクショナリ108から取り出す。ステップ702で、
変更要求コードが更新で、指定された属性名が存在する
かどうかを調べる。もし、存在するなら、ステップ70
3で、指定されたスキーマデータタイプがスキーマ情報
と同じかどうかを調べる。もし、同じデータタイプな
ら、ステップ704で、直接、DB107のオブジェク
トの属性値を変更して終了する。ステップ702で、ス
キーマ内に属性名が存在しないとき、ステップ705
で、要求コードを追加に変更する。ステップ706で、
要求コードが更新の時、ステップ707で、前属性の削
除と、指定された属性の追加を保持する部品属性オブジ
ェクトを生成する。ステップ708で、要求コードが削
除なら、ステップ709で、削除用部品属性オブジェク
トを生成し、ステップ708でそうでないなら、ステッ
プ710で、追加用部品属性オブジェクトを生成する。
ステップ711で、部品属性オブジェクトを指定したオ
ブジェクトが同じバージョン番号で保持しているかどう
かを調べ、もしもっているなら、ステップ712で、本
処理で生成した部品属性オブジェクトが持つ情報を、D
B107の既存部品属性オブジェクトに追加する。ステ
ップ711で持っていないなら、ステップ713で、指
定したオブジェクトに、本処理で生成した部品属性オブ
ジェクトをタイプ定義オブジェクトに登録する。ステッ
プ714で、属性追加処理が発生したかどうかを調べ
る。追加があれば、ステップ715で、構成変更オブジ
ェクトを生成し、DB107のオブジェクトに登録して
終了する。
ーザは本処理を要求する時、ビュー管理部101を介し
オブジェクト管理部103に関連名、関連の意味、関連
種別、関連元オブジェクト、関連元オブジェクトを指定
する。指定する関連情報は正しい指定がされていること
が保証されている。なお、追加の場合、ステップ804
〜809を、削除の場合ステップ802〜803を実行
する。全てのオブジェクトの生成、更新、削除時に、ジ
ャーナルを作成し出力する。図10で、ステップ801
〜804のディクショナリ管理部104の処理、それ以
外がオブジェクト管理部103の処理である。
関連名で関連定義オブジェクトを取り出す。ステップ8
02で、スキーマ内に関連名が存在するかどうかを調べ
る。もし存在するなら、ステップ803で、ディクショ
ナリ108の既存の関連定義オブジェクトを削除する。
ただし、関連対集合オブジェクトは、そのままにしてお
く。ステップ804で、指定されたパラメタに従って、
関連定義オブジェクトを生成する。このとき、ステップ
803で削除した関連定義オブジェクトが持っている関
連対集合オブジェクトを保持させる。ステップ805
で、DB107より関連定義オブジェクトが保持する関
連対集合オブジェクトから関連対オブジェクトを順番に
取り出す。ステップ806で、全てとりだされるまで以
下の処理を繰り返す。ステップ807で、関連元オブジ
ェクトが指定オブジェクトと一致した場合、ステップ8
08で、取り出した関連対オブジェクトの関連先オブジ
ェクト群に、指定された関連先オブジェクトを追加す
る。関連元オブジェクトが一致しない場合、次の関連対
オブジェクトを取り出す。もし全て取り出されてしまっ
たら、関連対オブジェクトを生成し、関連対集合オブジ
ェクトに登録する。
る。ユーザは本処理を要求する時、ビュー管理部101
を介してオブジェクト管理部103にオブジェクト識別
子、変更要求コード(追加、削除、更新)、セレクタ
名、パラメタ群(タイプ、値)、実行コードを指定す
る。全オブジェクトの生成、更新、削除に対してジャー
ナルを出力する。図12で、ステップ901〜903、
905、906がディクショナリ管理部104の処理、
ステップ907以降が部品オブジェクト管理部102の
処理、それ以外がオブジェクト103の処理である。
す。ステップ902で、変更要求コードが更新で、指定
オブジェクトのタイプ情報にセレクタ名が存在するかど
うかを調べる。もし存在するなら、ステップ903で、
パラメタの数、並びおよび各々のタイプが同じかどうか
を調べる。もし、同じならステップ904で、実行コー
ドを書き換えて終了する。ステップ903で、もし違う
なら、ステップ905で、変更要求コードを追加に変更
する。ステップ902で、存在しないなら、ステップ9
06で、変更要求コードを追加に変更する。ステップ9
07で、変更要求コードが更新なら、ステップ908
で、前手続きを削除し、指定された手続きを追加する部
品手続きオブジェクトを生成する。ステップ909で、
変更要求コードが削除かどうか調べる。そうでないな
ら、ステップ910で、追加用部品オブジェクトを生成
する。ステップ909でそうなら、ステップ911で、
削除用部品オブジェクトを生成する。ステップ912
で、指定したオブジェクトが部品手続きオブジェクトを
持っているかどうかを調べる。もし持っているなら、ス
テップ913で、生成した手続情報を既存部品手続きオ
ブジェクトに追加する。ステップ912で、もし持って
いないなら、ステップ914で、生成した部品手続きオ
ブジェクトを登録する。
構成時に反映する処理フローを示す。ユーザは、ビュー
管理部101を介してオブジェクト管理部103にタイ
プ定義オブジェクトのオブジェクト識別子を指定する。
図13で、ステップ1001、1004、1008がデ
ィクショナリ管理部104の処理、それ以外はオブジェ
クト管理部103の処理である。
クトを取得する。ステップ1002で、部品属性オブジ
ェクトの情報がなくなるまで以下の処理を行う。ステッ
プ1003で、部品属性オブジェクトがもつ変更情報の
すべてに対して処理が終了したかを調べる。まだなら、
ステップ1004で、部品オブジェクト管理部102よ
り属性変更情報を取得し、その情報を元にスキーマのタ
イプ定義オブジェクトが持つ属性情報を変更する。ステ
ップ1005で、変更後のタイプ情報に基づいて、該タ
イプに属する全オブジェクトを変更する。このとき、構
成変更オブジェクトが持つ属性データを使用する。ステ
ップ1006で、手続き変更情報を持つ部品手続きオブ
ジェクトがあるかどうか調べる。もしあるなら、ステッ
プ1007で部品手続きオブジェクトが持つ変更情報の
すべてに対して処理が終了したかどうかを調べる。まだ
なら、ステップ1008で部品オブジェクト管理部10
2より部品手続きオブジェクトを取得し、その情報を元
にスキーマのタイプ定義オブジェクトの手続き情報を変
更する。
は、スキーマ定義に対する属性の並びの順を設定する定
義例である。computerタイプの属性は、バージョン番号
で指定された変更までの定義に対して、型名、メモリサ
イズ、ハードディスクの順にくらべてアクセスされるこ
とを示している。
る処理フローを示す。本処理はビュー管理部101が行
うが、スキーマ情報の処理はディクショナリ管理部10
4に、部品オブジェクトの処理は部品オブジェクト管理
部102に依頼する。図14で、ステップ1203がデ
ィクショナリ管理部104の処理、ステップ1202、
1208、1209が部品オブジェクト管理部102の
処理である。また、ステップ1207はオブジェクト管
理部103からのデータ転送となる。
るかどうかを調べる。存在しなくなるまで処理を行う。
もし存在するなら、ステップ1202で、ビュー定義か
らタイプ名を取得する。ステップ1203で、ステップ
1202で取得したタイプ名を元にタイプ定義オブジェ
クトを取得する。ステップ1204で、指定バージョン
までの定義で、ビュー定義内に属性名が存在するかどう
かを調べる。存在しなくなったら、ステップ1201に
戻る。もし存在するなら、ステップ1205で、指定バ
ージョンまでの定義で、スキーマ内に指定した名称があ
るかどうかを調べる。もし存在するなら、ステップ12
06で、指定バージョンまでの部品属性オブジェクトで
削除されていないかどうかを調べる。もし削除されてい
ないなら、ステップ1207で、転送されたオブジェク
トから属性値を取り出し、ユーザ領域に転送する。ステ
ップ1205で、もし存在しないなら、ステップ120
8で、指定バージョンまでの部品属性オブジェクトに名
称が追加属性名として存在するかどうかを調べる。もし
存在するなら、ステップ1209で、部品属性オブジェ
クトの追加属性の属性値を持つオブジェクトの構成変更
オブジェクトの属性値をユーザ領域に転送する。ステッ
プ1208で、もし存在しないなら、ステップ1210
で、属性名が存在しない旨をエラーで通知する。NULL
データをユーザ領域に転送する。
オブジェクトが保持する属性、関連、手続きの各定義変
更情報を保持する部品オブジェクトと該オブジェクトの
構成変更情報を保持する部品オブジェクトに旧バージョ
ン定義オブジェクト及び旧バージョンオブジェクトとの
差分情報を保持し、該オブジェクトの定義情報の変更及
び該オブジェクト自身の変更後であっても、旧バージョ
ンの該オブジェクトの定義情報及び該オブジェクト自身
を導出できるようにしてもよい。
義オブジェクトの更新情報を保持する部品オブジェクト
から、該定義オブジェクトの新バージョンオブジェクト
として該定義オブジェクトに、オブジェクトと該オブジ
ェクトの部品オブジェクトから、新バージョンのオブジ
ェクトとして、該オブジェクトに統合するようにしても
よい。
スキーマ定義を変更することなく、オブジェクトに属
性、関連、手続きの追加、削除、定義変更が行える。ま
た、ユーザ領域に通常のオブジェクトと同じ様にアクセ
スできるため、データ操作が簡単に行えるようになる。
さらに、部品オブジェクトそのものが、定義及びデータ
の変更歴として利用できるため、スキーマ変更に伴う定
義及びデータの変更分の差分更新情報を新たに取る必要
がない。
報、手続き定義情報である。
報である。
定義情報である。
定義情報である。
トの例である。
オブジェクトの例である。
である。
合オブジェクト、関連管理オブジェクト、関連対オブジ
ェクトの例である。
する処理フロー図である。
る。
Claims (10)
- 【請求項1】 属性と関連と手続きを持つオブジェク
ト、該オブジェクトの構造を定めた定義情報を持つ定義
オブジェクトを有するオブジェクト指向データベースシ
ステムにおいて、 前記定義オブジェクトの変更に伴う属性、関連、手続き
の各変更情報を部品オブジェクトとして定義オブジェク
トに保持し、 前記定義オブジェクトの変更で新たにオブジェクトに付
加されるデータを各オブジェクトに部品オブジェクトと
して保持することを特徴とするオブジェクト拡張方式。 - 【請求項2】 請求項1記載のオブジェクト拡張方式に
おいて、定義オブジェクトの変更情報を保持する部品オ
ブジェクトを識別するための部品オブジェクト識別子群
を保持する領域を定義オブジェクトに、またオブジェク
トの構成変更情報を保持する部品オブジェクトを識別す
るための部品オブジェクト識別子群を保持する領域を該
オブジェクトに保持することを特徴とするオブジェクト
拡張方式。 - 【請求項3】 請求項1および2記載のオブジェクト拡
張方式において、定義オブジェクトの変更情報を保持す
る部品オブジェクト群から定義オブジェクトの変更履歴
を、オブジェクトの構成変更情報を保持する部品オブジ
ェクトから該オブジェクト自身の変更履歴として保持す
ることを特徴とするオブジェクト拡張方式。 - 【請求項4】 請求項1乃至3記載のオブジェクト拡張
方式において、定義オブジェクトの変更情報を保持する
部品オブジェクト生成時に、定義オブジェクトの更新ジ
ャーナルを、オブジェクトの構成変更情報を保持する部
品オブジェクト生成時に、オブジェクトの更新ジャーナ
ルを生成することを特徴とするオブジェクト拡張方式。 - 【請求項5】 請求項1乃至4記載のオブジェクト拡張
方式において、定義オブジェクトと該定義オブジェクト
が保持する部品オブジェクトから、新バージョンの定義
オブジェクトを、オブジェクトと該オブジェクトが保持
する部品オブジェクトから、新バージョンのオブジェク
トを生成することを特徴とするオブジェクト拡張方式。 - 【請求項6】 請求項1乃至5記載のオブジェクト拡張
方式において、属性の定義変更情報を持つ部品オブジェ
クトに、バージョン番号、変更種別(追加/削除)、変
更位置、属性名称、データタイプ、データ長を保持する
ことを特徴とするオブジェクト拡張方式。 - 【請求項7】 請求項1乃至5記載のオブジェクト拡張
方式において、手続の定義変更情報を持つ部品オブジェ
クトに、バージョン番号、変更種別(追加/削除)、セ
レクタ名、パラメタ数、パラメタタイプ、戻り値のタイ
プ、実行コード情報を保持することを特徴とするオブジ
ェクト拡張方式。 - 【請求項8】 請求項1乃至5記載のオブジェクト拡張
方式において、関連定義オブジェクトに、関連名、関連
種別、関連元タイプ数及びタイプ情報群、関連先タイプ
数及びタイプ情報群、関連意味情報、関連が保持する属
性情報群、関連元オブジェクト及び関連先オブジェクト
群及び関連の属性データ群を持つ関連対オブジェクトの
集合を保持することを特徴とするオブジェクト拡張方
式。 - 【請求項9】 請求項1乃至8記載のオブジェクト拡張
方式において、該オブジェクトに関連名、関連対オブジ
ェクト群を保持する関連管理オブジェクト群を保持する
ことを特徴とするオブジェクト拡張方式。 - 【請求項10】 請求項1乃至9記載のオブジェクト拡
張方式において、定義オブジェクトと定義変更情報を持
つ部品オブジェクトから、定義変更後の定義オブジェク
トを、オブジェクトと該オブジェクトの構成変更情報を
保持する部品オブジェクトから、定義変更後のオブジェ
クトを動的にビューとして生成することを特徴とするオ
ブジェクト拡張方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33805293A JP3910221B2 (ja) | 1993-12-28 | 1993-12-28 | オブジェクト指向データベース管理システム及び方法 |
US08/362,873 US5710920A (en) | 1993-12-28 | 1994-12-23 | Object extending method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33805293A JP3910221B2 (ja) | 1993-12-28 | 1993-12-28 | オブジェクト指向データベース管理システム及び方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004242778A Division JP2005032271A (ja) | 2004-08-23 | 2004-08-23 | オブジェクト指向データベース管理システム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07200381A true JPH07200381A (ja) | 1995-08-04 |
JP3910221B2 JP3910221B2 (ja) | 2007-04-25 |
Family
ID=18314465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33805293A Expired - Fee Related JP3910221B2 (ja) | 1993-12-28 | 1993-12-28 | オブジェクト指向データベース管理システム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5710920A (ja) |
JP (1) | JP3910221B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999004351A2 (en) * | 1997-07-21 | 1999-01-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Schema change within a data-base |
US5991765A (en) * | 1997-05-06 | 1999-11-23 | Birdstep Technology As | System and method for storing and manipulating data in an information handling system |
JP2002502075A (ja) * | 1998-01-28 | 2002-01-22 | ユニシス コーポレイシヨン | データベースのスキーマをオブジェクト指向リポジトリ内のその表現と同期化する方法 |
KR100472807B1 (ko) * | 1996-02-09 | 2005-05-16 | 선 마이크로시스템즈 인코퍼레이티드 | 데이터베이스객체처리명령어들을삽입하기위하여데이터베이스액세스방법들을자동적으로수정하기위한시스템및그방법 |
US8214330B2 (en) | 2009-02-02 | 2012-07-03 | Ricoh Company, Limited | Information processing apparatus, information processing method, and computer program product |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3427918B2 (ja) * | 1996-07-02 | 2003-07-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム開発支援システム及び支援方法 |
US6182279B1 (en) | 1997-08-12 | 2001-01-30 | International Business Machines Corporation | Method and apparatus for storing templates in a component system |
US6093215A (en) * | 1997-08-12 | 2000-07-25 | International Business Machines Corporation | Method and apparatus for building templates in a component system |
US6195794B1 (en) | 1997-08-12 | 2001-02-27 | International Business Machines Corporation | Method and apparatus for distributing templates in a component system |
US5978579A (en) * | 1997-08-12 | 1999-11-02 | International Business Machines Corporation | Architecture for customizable component system |
US5970252A (en) * | 1997-08-12 | 1999-10-19 | International Business Machines Corporation | Method and apparatus for loading components in a component system |
US6049807A (en) * | 1997-09-03 | 2000-04-11 | International Business Machines Corporation | Technique for maintaining object integrity during modification of a persistent store of objects |
US6857123B1 (en) * | 1998-12-18 | 2005-02-15 | International Business Machines Corporation | Method and apparatus for a Meta Data Service in a data processing system |
US6880126B1 (en) | 1999-08-03 | 2005-04-12 | International Business Machines Corporation | Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data |
US6779177B1 (en) | 1999-10-28 | 2004-08-17 | International Business Machines Corporation | Mechanism for cross channel multi-server multi-protocol multi-data model thin clients |
US7181686B1 (en) | 1999-10-29 | 2007-02-20 | International Business Machines Corporation | Selecting screens in a GUI using events generated by a set of view controllers |
US6862686B1 (en) | 1999-10-29 | 2005-03-01 | International Business Machines Corporation | Method and apparatus in a data processing system for the separation of role-based permissions specification from its corresponding implementation of its semantic behavior |
US20020087341A1 (en) * | 2000-03-31 | 2002-07-04 | Jochen Kappel | Customer care and billing system |
US7082609B2 (en) * | 2000-03-31 | 2006-07-25 | Schlumbergersema Telekom Gmbh & Co. Kg | Meta application system and method |
US6697797B1 (en) | 2000-04-28 | 2004-02-24 | Micro Data Base Systems, Inc. | Method and apparatus for tracking data in a database, employing last-known location registers |
US6898783B1 (en) * | 2000-08-03 | 2005-05-24 | International Business Machines Corporation | Object oriented based methodology for modeling business functionality for enabling implementation in a web based environment |
US6684388B1 (en) | 2000-08-22 | 2004-01-27 | International Business Machines Corporation | Method for generating platform independent, language specific computer code |
US7171455B1 (en) | 2000-08-22 | 2007-01-30 | International Business Machines Corporation | Object oriented based, business class methodology for generating quasi-static web pages at periodic intervals |
US6853994B1 (en) * | 2000-08-30 | 2005-02-08 | International Business Machines Corporation | Object oriented based, business class methodology for performing data metric analysis |
US6983486B1 (en) * | 2000-11-14 | 2006-01-03 | Mcafee, Inc. | Method and apparatus for establishing security scanner attributes in a computer system |
US9361593B2 (en) * | 2001-03-30 | 2016-06-07 | Oracle America, Inc. | System and method for using business services |
JP2002328935A (ja) * | 2001-05-07 | 2002-11-15 | Fujitsu Ltd | オブジェクト指向データベースのデータ操作においてスキーマに自由度を持たせるプログラム及びデータ操作装置 |
US6976244B2 (en) * | 2002-01-09 | 2005-12-13 | International Business Machines Corporation | Method, system, and product for storage of attribute data in an object oriented environment |
JP2006146615A (ja) * | 2004-11-19 | 2006-06-08 | Fujitsu Ltd | オブジェクト関連情報管理プログラム、管理方法、および管理装置。 |
US7437080B2 (en) * | 2005-02-03 | 2008-10-14 | Stratalight Communications, Inc. | Optical transmission system having optimized filter wavelength offsets |
JP4533187B2 (ja) * | 2005-03-01 | 2010-09-01 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
US7840603B2 (en) * | 2005-11-14 | 2010-11-23 | International Business Machines Corporation | Method and apparatus for database change management |
US8355317B1 (en) * | 2007-10-31 | 2013-01-15 | World Wide Packets, Inc. | Transaction-based coordination of data object modification for primary and backup control circuitry |
US10705802B2 (en) * | 2013-03-20 | 2020-07-07 | Microsoft Technology Licensing, Llc | Extensible and queryable strong types |
US11204940B2 (en) * | 2018-11-16 | 2021-12-21 | International Business Machines Corporation | Data replication conflict processing after structural changes to a database |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914568A (en) * | 1986-10-24 | 1990-04-03 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
US5327559A (en) * | 1990-10-23 | 1994-07-05 | International Business Machines Corporation | Remote and batch processing in an object oriented programming system |
US5432940A (en) * | 1992-11-02 | 1995-07-11 | Borland International, Inc. | System and methods for improved computer-based training |
US5353401A (en) * | 1992-11-06 | 1994-10-04 | Ricoh Company, Ltd. | Automatic interface layout generator for database systems |
US5590330A (en) * | 1994-12-13 | 1996-12-31 | International Business Machines Corporation | Method and system for providing a testing facility in a program development tool |
US5561752A (en) * | 1994-12-22 | 1996-10-01 | Apple Computer, Inc. | Multipass graphics rendering method and apparatus with re-traverse flag |
-
1993
- 1993-12-28 JP JP33805293A patent/JP3910221B2/ja not_active Expired - Fee Related
-
1994
- 1994-12-23 US US08/362,873 patent/US5710920A/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100472807B1 (ko) * | 1996-02-09 | 2005-05-16 | 선 마이크로시스템즈 인코퍼레이티드 | 데이터베이스객체처리명령어들을삽입하기위하여데이터베이스액세스방법들을자동적으로수정하기위한시스템및그방법 |
US5991765A (en) * | 1997-05-06 | 1999-11-23 | Birdstep Technology As | System and method for storing and manipulating data in an information handling system |
WO1999004351A2 (en) * | 1997-07-21 | 1999-01-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Schema change within a data-base |
WO1999004351A3 (en) * | 1997-07-21 | 1999-04-08 | Ericsson Telefon Ab L M | Schema change within a data-base |
JP2002502075A (ja) * | 1998-01-28 | 2002-01-22 | ユニシス コーポレイシヨン | データベースのスキーマをオブジェクト指向リポジトリ内のその表現と同期化する方法 |
US8214330B2 (en) | 2009-02-02 | 2012-07-03 | Ricoh Company, Limited | Information processing apparatus, information processing method, and computer program product |
Also Published As
Publication number | Publication date |
---|---|
US5710920A (en) | 1998-01-20 |
JP3910221B2 (ja) | 2007-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07200381A (ja) | オブジェクト拡張方式 | |
JP7170701B2 (ja) | 高速コピー可能データベースを効率的に実装するための方法及び機器 | |
US8738663B2 (en) | Rule-based transformation of metadata | |
US6356912B1 (en) | Compensation for different connection and cursor characteristics among heterogeneous database management systems | |
JP3563692B2 (ja) | データベースのスキーマをオブジェクト指向リポジトリ内のその表現と同期化する方法 | |
US7165075B2 (en) | Object graph faulting and trimming in an object-relational database system | |
US6711582B2 (en) | Method and system for implementing persistent object services on a relational database | |
US8166009B2 (en) | Method and apparatus for optimistic locking using SQL select, update, delete, and insert statements | |
US20090077044A1 (en) | Versioning in an integration platform | |
JPH0652531B2 (ja) | リレーシヨナル・データベース管理システム | |
US7020659B2 (en) | System and method for managing bi-directional relationships between objects | |
US20030233632A1 (en) | Automatically generated client application source code using database table definitions | |
US6453324B1 (en) | Method for maintaining a version history of objects in a repository | |
US7426521B2 (en) | Property and object validation in a database system | |
JP4580390B2 (ja) | ハードウェア/ソフトウェアインターフェイスシステムによって管理可能な情報単位の拡張および継承のためのシステムおよび方法 | |
US7409408B2 (en) | Using ViewTypes for accessing instance data structured by a base model | |
JP2005032271A (ja) | オブジェクト指向データベース管理システム及び方法 | |
KR102267768B1 (ko) | 디지털 상품 관리 시스템의 데이터베이스 프로그래밍 방법 | |
JPH1040089A (ja) | データ移行プログラム生成方式 | |
JPH09305449A (ja) | データベース管理システム | |
JP2004062735A (ja) | ディレクトリ情報への更新情報生成システム、更新情報生成プログラム | |
JPH10283392A (ja) | プラント設計支援データベースシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040622 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100202 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |