JP2001222460A - Rdbシステム及び記録媒体 - Google Patents

Rdbシステム及び記録媒体

Info

Publication number
JP2001222460A
JP2001222460A JP2000029310A JP2000029310A JP2001222460A JP 2001222460 A JP2001222460 A JP 2001222460A JP 2000029310 A JP2000029310 A JP 2000029310A JP 2000029310 A JP2000029310 A JP 2000029310A JP 2001222460 A JP2001222460 A JP 2001222460A
Authority
JP
Japan
Prior art keywords
instance
class
management table
rdb
attribute
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
JP2000029310A
Other languages
English (en)
Other versions
JP3895898B2 (ja
Inventor
Tsunaki Hamamoto
綱樹 濱本
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 JP2000029310A priority Critical patent/JP3895898B2/ja
Publication of JP2001222460A publication Critical patent/JP2001222460A/ja
Application granted granted Critical
Publication of JP3895898B2 publication Critical patent/JP3895898B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 RDB上にオブジェクト指向的な構造を
もたせてRDBを有効活用することにある。 【解決手段】 RDB3をもったRDBシステムであっ
て、前記RDB上、他クラスの属性を自クラスの属性と
して扱えるような継承関係を規定する継承関係管理テー
ブル21aと、前記自クラスが属性として前記他クラス
を含むようなHas−s関係を規定するHas−s関係管理テー
ブル21bと、前記各クラスに基づく実態を表すインス
タンスを一意に発行するインスタンスIDを管理するイ
ンスタンスID管理テーブル21cとを設け、前記RD
BをORDB(オブジェクト指向リレーショナル・デー
タベース)的に使用するシステムである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、RDB(リレーシ
ョナルデータベース)をオブジェクト指向的に使用する
RDBシステム及び記録媒体に関する。
【0002】
【従来の技術】従来、各ユーザにおいては、図23に示
すような管理システム51からCPU内蔵のデータ処理
本体部52に対し、OSを初め、ORDBに関する制御
情報を送出し、オブジェクト指向であるORDB53を
制御するORDBシステムと、図24に示すようにRD
BソフトをもつCPU内蔵のデータ処理本体部54がR
DB55を制御するRDBシステムとが用いられている
が、市場の普及状況を見る限り、RDBシステムが多く
出回っている。なお、管理システム51を持たないデー
タ処理本体部52とORDB53とから成るORDBシ
ステムも用いられている。
【0003】そこで、ORDBをもつユーザの見地から
考えたとき、一般ユーザによるRDBへのアクセス頻度
が高いことから、管理システム51ないしデータ処理本
体部52としては、ORDBに関する制御情報等を用い
てRDBを使用したいという要望が多い。
【0004】そこで、以上のような要望を満たすため
に、管理システム51ないしデータ処理本体部52は、
ORDBシステムを全面的にRDB用ソフトやRDB5
4に交換することが考えられるが、それではシステムの
稼動を中止させたり、プログラム作成作業に多くの時間
を要したり、さらにコスト増となる問題がある。
【0005】そこで、一般的な方法としては、新たに管
理テーブルを設け、ORDB用ソフトによる制御情報に
基づいて管理テーブルがRDB用に変換し、オブジェク
ト指向的に構造をもたせてRDBを使用することが考え
られる。
【0006】
【発明が解決しようとする課題】ところで、以上述べた
ように新たに管理テーブルを設け、ORDBシステムを
用いてRDBを使用することは可能であるが、これはあ
くまでも1つの考え方であって、実際にはオブジェクト
指向的な構造の場合には継承関係やHas−a関係の検
索など、非常に変換上の難しい問題があり、また性能劣
化という問題が出てくる。
【0007】本発明は上記事情に鑑みてなされたもの
で、RDB上にオブジェクト指向的な構造をもたせてO
RDB的に使用し、また極力性能劣化を起こさずにRD
Bにオブジェクト指向的な構造をもたせるRDBシステ
ムを提供することにある。
【0008】また、本発明の他の目的は、インスタンス
を容易に生成するプログラムを記録した記録媒体を提供
することにある。
【0009】
【課題を解決するための手段】(1) 上記課題を解決
するために、本発明に係るRDBシステムは、RDBを
もったRDBシステムにおいて、他クラスの属性を自ク
ラスの属性として扱えるような継承関係を規定する継承
関係管理テーブルと、前記自クラスが属性として前記他
クラスを含むようなHas−s関係を規定するHas−s関係管
理テーブルと、前記各クラスに基づく実態を表すインス
タンスを一意に発行するインスタンスIDを管理するイ
ンスタンスID管理テーブルとを前記RDB上に設ける
ことにより、ORDBに関する制御情報を用いて、RD
BをORDB的に使用することが可能となる。
【0010】なお、前記インスタンスが何れの属性に接
続されているかを表す親ポインタ属性を追加することに
より、接続された親のインスタンスを検索する速度を向
上させることが可能となる。
【0011】(2) 前記継承関係管理テーブル、前記
Has−s関係管理テーブルおよび前記インスタンスID管
理テーブルを有し、コンピュータを動作させるためのイ
ンスタンス生成用プログラムを記録したコンピュータ読
取可能な記録媒体において、前記インスタンス生成用プ
ログラムは、インスタンスの生成指示に基づいて前記継
承関係管理テーブルをアクセスし、子クラスが継承して
いるテーブルの有無を確認するクラス継承テーブル有無
確認機能と、この確認機能に基づいて継承するテーブル
有りのとき、子クラスが継承関係に有るか否かを判断す
る継承関係有無判断機能と、この判断機能によって継承
関係が有れば、前記継承関係管理テーブルに規定される
親および子クラスのインスタンスを生成し、インスタン
ス番号を発行するインスタンスID生成機能と、この生
成されたインスタンスIDおよびクラス名を前記インス
タンスID管理テーブルに登録するインタンス登録機能
とを有する記録媒体である。
【0012】以上のようにコンピュータが記録媒体に記
録されるインスタンス生成用プログラムを読取って実行
すれば、ORDBの継承関係のインスタンスを容易に生
成可能となる。
【0013】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。
【0014】図1は本発明に係るRDBシステムの一実
施の形態を示すハードウエア構成図である。
【0015】このRDBシステムは、所要とする制御指
示を入力するキーボード,マウス等のデータ入力手段1
と、ORDBに関する処理プログラム,その他必要な固
定データ等を記憶するプログラム記憶手段2と、RDB
3と、データ入力手段1からの制御指示を受け、ORD
B処理用プログラムに従ってRDB3に対して必要な処
理を実行し、その処理結果を表示手段4に表示するCP
Uで構成されたデータ処理本体部5と、後記するインス
タンスを生成するためのインスタンス生成用プログラム
を記録する記録媒体6とで構成されている。
【0016】なお、これらプログラム記憶手段2および
記録媒体6は別体として説明したが、同一の記憶媒体に
格納する構成であってもよい。
【0017】このプログラム記憶手段2および記憶媒体
6としては、一般的には磁気ディスクやCD−ROMが
用いられるが、それ以外にも例えば磁気テープ、DVD
−ROM、フロッピーディスク、MO、CD−R、メモ
リカードなどを用いてもよい。
【0018】前記RDB3上には後記するようにデータ
処理本体部5からORDBに関する制御情報を受けて当
該RDBを使用するためのオブジェクト指向的な構造を
もつ変換テーブル21が設けられている。
【0019】図2はDB管理システムを用いた場合のR
DBシステムの他の実施形態を示すハードウエア構成図
である。なお、同図において図1と同一部分には同一符
号を付してその詳しい説明を省略する。
【0020】このDB管理システムは、RDB3および
CPUで構成されたデータ処理本体部5からなるRDB
システムに対し、ORDBに関する制御情報を送出し、
特にRDB3をオブジェクト指向的に使用する管理シス
テム12が設けられている。この管理システム12には
後記するオブジェクト指向的な構造をもつ変換用テーブ
ル21が搭載されている。
【0021】以上のようにRDB3をオブジェクト指向
的な構造を持たせるに際し、図1および図2に示す種々
のシステムにより実現可能である。
【0022】ところで、以上のような各種のシステムに
おいて、ORDBに関する制御情報を用いてRDBを使
用するに際し、ORDBとRDBには次のような相違点
が挙げられる。
【0023】(1) 継承関係 (2) Has−a関係 (3) インスタンスIDの管理 (4) 集合型インスタンスの管理 (5) 親ポインタ属性 従って、ORDBの制御情報を用いて、RDBをORD
Bの構造に見せかけるためには、以上の相違点を考慮し
た変換用テーブル21を作成する必要がある。
【0024】(1) 継承関係について 継承関係とは、他のクラスの属性を自分のクラスの属性
として扱えることをいう。今、図3に示すようにORD
Bの構造でクラスを宣言している場合、子クラスBは親
クラスAの属性を持つことを意味し、換言すれば、子ク
ラスBはより大きい親クラスAの属性を受け継いだも
の,つまり継承関係にあると考えることができる。
【0025】この図3はORDBの特徴であるが、RD
B3には存在しない機能である。そこで、ORDBシス
テムが図4の上段のようなクラスを宣言している場合、
RDB3、データ処理本体部5または管理システム12
などに下段に示す継承関係管理テーブル21aを作成し
用意する。
【0026】この図4に示す下段の継承関係管理テーブ
ル21aは、クラスAはクラスBと継承関係にあるが、
この継承関係にあるクラスBは「子クラス(1)」であ
ること、またクラスBはクラスAと継承関係にあり、こ
の継承関係にあるクラスAは「親クラス(0)」である
ことを表している。従って、データ処理本体部5がデー
タ構造を見る場合、継承関係管理テーブル21aをアク
セスし、継承関係であることを確認することにより、R
DB3上で継承関係を実現することが可能となる。
【0027】(2) Has−a関係について このHas−a関係とは、クラスが属性として他のクラスを
持つことをいう。今、ORDBシステムが図5に示すよ
うなクラスを宣言している場合、クラスBはクラスAの
属性を持つことができる。これは、クラスBは属性B2
にてクラスAという要素を含むことを意味する。
【0028】この図5はORDBの特徴であるが、RD
Bには存在しない機能である。そこで、図6の上段のよ
うにクラスを宣言している場合、RDB3,データ処理
本体部5,8または管理システム12上に図6の下段に
示すHas−a関係管理テーブル21bを作成し用意する。
なお、このHas−a関係管理テーブル21bはクラスBの
みについてHas−a関係を記述しているが、他の多数のク
ラス例えばクラスAについても記述されている。
【0029】この図6の下段テーブル21bでは、クラ
ス名Bは属性B2としてクラスAを持っていることを表
している。従って、データ処理本体部5がデータ構造を
見る場合、Has−a関係管理テーブル21bをアクセス
し、Has−a関係であることを確認することにより、RD
B3上でHas−a関係を実現することが可能である。
【0030】(3) インスタンスIDの管理について このインスタンスとは、各クラスの中身ないし実態を意
味し、クラスのより具体的な内容であると言える。通
常,ORDBでは、生成したインスタンスをORDB上
に一意の番号(インスタンスID)で管理する機能をも
っているので、ORDBを用いたORDBシステムの場
合には、インスタンスIDを用いて処理する場合がある
ので、RDB3を使用する場合には、インスタンスID
についても考慮する必要がある。
【0031】ところで、RDB3上でインスタンスID
を管理する場合、RDB上の順番号発行機能を用いて、
インスタンス生成時にRDB3上で一意の番号を発行す
るようにする。すなわち、図7左側に記述するORDB
のクラステーブルに対し、この順番号発行機能により発
行される番号は同図右側のように作成されるテーブルの
My−id属性に設定する。これにより、生成されたインス
タンス毎にIDを割り当てることができる。
【0032】しかし、図7の右側に示すテーブルだけで
は、インスタンスIDだけの指定を受けて何らかの操作
を行おうとした場合、どのクラスのインスタンスなのか
判断することが難しい。
【0033】そこで、図8に示すようなインスタンスI
D管理テーブル21bを作成し、発行された番号が何れ
のクラスに属するかが分かるようにする。つまり、発行
されたインスタンスID「0000001」はAクラス
であること、また継承関係で作成されるインスタンスに
ついても、生成された各テーブルのインスタンスIDを
例えば「0000002」のように同じIDとすること
により、同一のインスタンスと見なすようにする。
【0034】(4) 集合型インスタンスの管理につい
て 一般に、ORDBシステムにおいては、1つの属性に複
数のインスタンスを関連付けできる機能をもっている。
例えばある人が複数の車両を保有する場合、図9に示す
ようにある人AのインスタンスID「00001」に車
AのインスタンスID「00011」と車Bのインスタ
ンスID「00012」とを関連付けされて管理するこ
とが可能となっている。
【0035】一方、RDB3においては、属性に他クラ
スのインスタンスを設定することもできないし、1つの
属性に複数の属性値も設定できないので、インスタンス
間の関連付けもできない。
【0036】ゆえに、ORDBに関する制御情報を用い
て、RDB3を使用するに際し、インスタンス間を関連
付けるために、既にORDBが所有する図9に示すイン
スタンスIDに対し、図10に示すような中間インスタ
ンス管理テーブルを作成することにより、集合型インス
タンスの管理を行う必要がある。
【0037】ところで、以上のような場合、RDB上に
おいて1つの中間インスタンス管理テーブルだけを用い
て、全てのインスタンスを管理することになり、インス
タンスの検索や生成などの性能に影響が出てくる。
【0038】そこで、図10に示すテーブルに代えて図
11に示す命名規則「−親クラス−属性名」を付けた中
間インスタンス管理テーブル12dを作成し、1つの管
理テーブル12dにて1つの集合型構造の関係を規定す
ることにより、インスタンスの分散および性能劣化を防
ぐことができる。
【0039】よって、以上のような中間インスタンス管
理テーブル12dを用意すれば、RDB上で1つの属性
に複数の属性を接続できる。
【0040】従って、以上述べたような管理テーブル1
2a〜12dを用意することにより、RDB3上にOR
DBの構造を構築できる。
【0041】(5) 親ポインタ属性について この親ポインタ属性とは、インスタンスがどの属性に接
続されているかを簡単に分かるようにするための属性を
いう。この属性は、RDB3上にORDBのオブジェク
ト指向的な構造を構築する場合、必ずしも必要としない
が、性能面を考慮した場合に必要となる。
【0042】そこで、図12の上段左側の親テーブルA
に対し、同じく上段右側の子テーブルBで属性の命名規
則や接続される親テーブルと属性名とが分かるようにす
るためには、下段左側の記述に対し、下段右側に示すよ
うに作成する必要がある。すなわち、子テーブルBは、
整数型の命名規則をもち、親テーブルAの属性AAをも
つことを意味する。従って、下段左側の親テーブルAの
属性AAの「integer」=Bを意味する。
【0043】但し、集合属性でないHas−a属性の場
合であっても、1つのインスタンスは複数のインスタン
スに接続されているので、中間インスタンス管理テーブ
ル12dを設け、管理する必要がある。インスタンス相
互の関係は、図13に示すようになる。
【0044】なお、親ポインタ属性が無い場合と有る場
合とがあるが、その親ポインタ属性の有無に応じて図1
4に示す如くアクセスするテーブル数が異なる。親ポイ
ンタが無い場合には、どのテーブルに接続されているか
Has−a関係管理テーブル(図6参照)でヒットした
全ての親テーブルを検索する必要があるが、親ポインタ
属性がある場合には、親ポインタ属性に値が設定されて
いるか確認するだけで、どのテーブルに接続されている
かが分かり、仮に接続されていても、親ポインタ属性の
名前からテーブル名が検索でき、データ構造によっては
無い場合に比べてテーブルへのアクセス数を大幅に減ら
すことができる。
【0045】次に、インスタンス生成を含む各種の処理
例について説明する。但し、各種の処理に際しては、該
当処理用プログラムが図1および図2に示す記録媒体6
に記録され、データ処理本体部5がそのプログラムを読
取って必要な処理を実行することになる。
【0046】なお、以下に述べる各種の処理は、図15
に示すサンプル構造を用いた場合について説明する。
【0047】(a) インスタンスの生成処理について
(図16参照) 継承関係を含むインスタンスの生成処理は、データ入力
手段1からクラスBを指定し、インスタンスの生成を指
示すると、データ処理本体部5,8,管理システム12
は、図4に示す継承関係管理テーブル21aをアクセス
し、クラスBが継承されているテーブル21aの有無を
調べ、継承関係を調べる(S1〜S3:クラス継承テー
ブル有無確認機能)。
【0048】ステップS3において、継承関係が有れ
ば、クラスAおよびクラスBに対するインスタンスを生
成する。この生成されたクラスAとクラスBのインスタ
ンスに対し、DBMS(データベース・マネジメント・
システム)の順番号発行機能を用いて、クラスA,Bに
同じインスタンス番号を一意に発行する(S4〜S6:
インスタンス生成機能)。
【0049】そして、生成されたインスタンスIDとク
ラス名とを図8に示すインスタンスID管理テーブル2
1cに登録する(S7:インスタンス登録機能)。
【0050】従って、以上のようなインスタンスの生成
処理では、あるクラスのインスタンス生成指示に基づ
き、継承関係管理テーブル21aからあるクラスが継承
されているテーブルを検索し、この検索によって取得さ
れたテーブルのクラスに対してインスタンスを生成する
が、これら生成されたインスタンスにはすべて同一のイ
ンスタンスIDを設定することにより、複数のテーブル
のインスタンスを同一のインスタンスと見なすことが可
能となる。これによって、同じインスタンスIDをもつ
インスタンスは同一インスタンスとみなすことができ、
RDB上でORDBの継承関係のインスタンスと同じ機
能を果たすことができる。
【0051】(b) インスタンスの検索について(図
17参照) インスタンスの検索処理は、データ入力手段1からクラ
スBのインスタンスの検索を指示すると(S11)、デ
ータ処理本体部5,管理システム12は、クラスBのイ
ンスタンスはヒットされたか,つまり検索されたかを否
かを判断し(S12)、検索された場合にはその検索さ
れたクラスBのインスタンスからインスタンスIDを取
出し、このインスタンスIDに基づいて図8に示すイン
スタンスID管理テーブル21cを検索し、クラスBと
同じインスタンスIDを持つ他のクラスがあるか否かを
調べる(S13,S14)。他のクラスがあれば、当該
インスタンスID管理テーブル21cから新たに取出し
た他のクラスのインスタンスIDをキーにクラスAを検
索し、ヒットしたインスタンスの属性値を取得する(S
15)。同じくクラスBでヒットしたインスタンスの属
性値を取得する(S16)。
【0052】従って、以上のようなインスタンスの検索
処理によれば、承継関係のインスタンスの下位テーブル
を指定して検索を指示すると、その指定されたテーブル
のインスタンスを検索し、ヒットしたインスタンスのイ
ンスタンスIDをキーとし、図8に示すインスタンスI
D管理テーブル21cを検索する。そして、ヒットした
インスタンスのインスタンスIDとテーブル名とを取得
することにより、継承関係にある全てのテーブル名とイ
ンスタンスIDとを取得でき、継承関係にある全てのテ
ーブルのインスタンスを取得できる。これによって、O
RDBにおいて下位クラスを指定し検索した場合、承継
の上位クラスの情報も取得できることと同じ効果を得る
ことができる。
【0053】(c) インスタンスの削除について(図
18参照) インスタンスの削除処理は、データ入力手段1からイン
スタンスIDを指定し、クラスBのインスタンスの削除
を指示する(S21)。データ処理本体部5,管理シス
テム12は、指定されたインスタンスIDのクラス名B
を図8のインスタンスID管理テーブル21cから検索
する(S22)。
【0054】ここで、インスタンスIDのクラス名Bが
検索されたか否かを判断し(S23)、該当クラス名B
が検索された場合、BのインスタンスのクラスCに対す
る属性に値が設定されているかを確認する(S24)。
クラスCの属性に値が設定されている場合には、クラス
BとクラスCの中間インスタンス管理テーブル21dの
対象インスタンスを削除する(S25,S26)。
【0055】同様に、BのインスタンスのクラスDに対
する属性に値が設定されているかを確認する(S2
7)。クラスDの属性に値が設定されている場合には、
クラスBとクラスDの中間インスタンス管理テーブル2
1dの対象インスタンスを削除する(S28,S2
9)。
【0056】しかる後、検索されたインスタンスIDか
らインスタンスIDとクラス名を取得し(S30)、対
象クラスのインスタンスを削除する。さらに、図8に示
すインスタンスID管理テーブル21cから対応するク
ラスA,Bのインスタンスを削除する(S31)。
【0057】従って、以上のように実施の形態によれ
ば、インスタンスIDのみを指定しインスタンスの削除
指示を行うと、指定されたインスタンスIDをキーと
し、図8に示すインスタンスID管理テーブル21cを
検索する。この検索されたインスタンスからテーブル名
を取得する。このとき、承継関係にあるすべてのテーブ
ル名を取得できる。そして、この取得したテーブルにHa
s−a属性がある場合、このHas−a属性に値が設定されて
いるか否かを確認し、値が設定されている場合には中間
インスタンス管理テーブル21dのインスタンスを削除
する。承継関係管理テーブル21aから取得したテーブ
ルをインスタンスIDをキーとして検索し、この検索さ
れたインスタンスを削除する。これによりインスタンス
IDを指定して削除した場合、承継関係にある全てのテ
ーブルのインスタンスの削除とHas−a関係で接続される
インスタンスの切り離しを行うことから、ORDBの削
除と同じ効果が得られる。
【0058】よって、インスタンスID管理テーブル2
1cにアクセスすることにより、指定したインスタンス
IDの他に継承関係のインスタンスを削除できる。
【0059】(4) インスタンスの接続について(図
19参照) データ入力手段1から接続すべきクラスBとクラスCの
インスタンスIDを指定し、インスタンスの接続を指示
すると(S41)、データ処理本体部5は、図6に示す
Has−a関係管理テーブル21bからクラスBとクラスC
とがHas−a関係にあるか否かを調べる(S42)。ここ
で、Has−a関係にあれば(S43)、クラスCのインス
タンスIDをクラスBのインスタンスの対象属性の値と
し(S44)、BとCとの中間インスタンス管理テーブ
ル21dに設定する(S45)。
【0060】さらに、クラスCのクラスBに対する親ポ
インタ属性に中間インスタンス管理テーブル21dのイ
ンスタンスIDを設定する(S46)。
【0061】従って、以上のような実施の形態によれ
ば、2つのテーブルと2つのインスタンスIDとを指定
し接続指示を行うと、図6に示すHas−a関係管理テーブ
ル21bを検索し、2つのテーブルがHas−a関係にある
かを確認する。Has−a関係にあれば、親インスタンスの
対象属性に子インスタンスのインスタンスIDを設定
し、図11に示す中間インスタンス管理テーブル21d
に親と子のインスタンスを登録し、子インスタンスの親
ポインタ属性に中間インスタンス管理テーブル21dの
インスタンスIDを登録する。これにより、ORDBの
インスタンスの接続と同じ効果を得ることができる。
【0062】よって、このインスタンスの接続処理は、
Has−a関係管理テーブル21bにアクセスすることによ
り、指定されたクラスがHas−a関係に有ることが分か
り、インスタンスの接続を実行できる。
【0063】(5) 集合型インスタンスの接続につい
て(図20参照) データ入力手段1から接続すべきクラスBとクラスDと
のインスタンスIDを指定し、インスタンスの接続を指
示すると(S51)、データ処理本体部5は、図6に示
すHas−a関係管理テーブル21bからクラスBとクラス
Dとが集合型のHas−a関係にあるか否かを調べる(S5
2)。ここで、Has−a関係にあれば(S53)、クラス
DのインスタンスIDをクラスBのインスタンスの対象
属性の値とし(S54)、BとDとの中間インスタンス
管理テーブル21dに設定する(S55)。
【0064】さらに、クラスDのクラスBに対する親ポ
インタ属性に中間インスタンス管理テーブル21dのイ
ンスタンスIDを設定する(S46)。
【0065】従って、この実施の形態によれば、2つの
テーブルと2つのインスタンスIDとを指定し接続指示
を行うと、図6に示すHas−a関係管理テーブル21bを
検索し、2つのテーブルがHas−a関係にあるかを確認す
る。Has−a関係にあれば、中間インスタンス管理テーブ
ル21dに親テーブルと子テーブルのインスタンスID
を登録し、親テーブルの属性と子テーブルの親ポインタ
属性に中間インスタンス管理テーブル21dのインスタ
ンスIDを登録する。新たに親インスタンスIDに接続
したい場合、同一の中間インスタンス管理テーブル21
dにインスタンスIDを登録することにより、1つのイ
ンスタンスに複数のインスタンスが接続されるように見
せることが出来る。これにより、ORDBの集合型イン
スタンスの接続と同じ効果が得られる。つまり、集合型
インスタンスの接続処理は、Has−a関係管理テーブル2
1bと中間インスタンス管理テーブル21dとを用い
て、集合型インスタンスの接続を実行できる。
【0066】(6) 集合型インスタンスの検索につい
て(図21参照) 集合型インスタンスの検索処理は、データ入力手段1か
らクラスBのインスタンスIDを指定し、集合型Has−a
クラスのインスタンスの検索を指示すると(S61)、
データ処理本体部5は、クラスBのインスタンスのクラ
スDに対する属性に値が設定されているかを調べる(S
62)。ここで、値が設定されていれば(S63)、ク
ラスBとクラスDとの中間クラスを指定されたインスタ
ンスIDをキーに検索する(S64)。中間クラスのイ
ンスタンスが検索された場合(S65)、検索された中
間クラスのインスタンスからクラスDのインスタンスI
Dを取得するとともに、この取得された中間インスタン
ス管理テーブル21dのインスタンスIDをキーにクラ
スDを調べる(S66,S67)。クラスDのインスタ
ンスが検索された場合(S68)、当該クラスDのイン
スタンスの属性値を取得する(S69)。
【0067】従って、以上のような実施の形態によれ
ば、指定されたインスタンスの集合型属性に値が設定さ
れているかどうかを確認する。設定されていない場合に
は接続されていないので、ここで終了する。設定されて
いる場合には、設定されている値をキーに中間インスタ
ンス管理テーブル21dを検索する。このとき、中間イ
ンスタンス管理テーブル21dの名前は、命名規則によ
って管理テーブルアクセスすることなく指定できる。中
間インスタンス管理テーブル21dから検索されたイン
スタンスから子インスタンスIDを取得し、子テーブル
を検索し、接続先のインスタンスを取得できる。これに
より、ORDBの集合型インスタンスの検索と同じ結果
が得られる。このとき、インスタンスID管理テーブル
21cはデータベース上で1つではなく、Has−a関係ご
とに1つずつもっているので、検索性能にそれほど影響
しない。よって、このインスタンス検索処理にあって
は、中間インスタンス管理テーブル21dを検索するこ
とにより、インスタンスに接続された複数のインスタン
スを検索できる。
【0068】(7) 親インスタンスの検索について
(図22参照) 親インスタンスの検索処理は、データ入力手段1からク
ラスCのインスタンスIDを指定し、親インスタンスの
検索を指示すると(S71)、データ処理本体部5は、
クラスCのインスタンスの親ポインタに値が設定されて
いるかを調べる(S72)。ここで、値が設定されてい
る場合(S73)、クラスBとクラスDとの中間クラス
を指定されたインスタンスIDをキーに検索する(S7
4)。中間クラスのインスタンスが検索された場合(S
75)、検索された中間クラスのインスタンスから親テ
ーブルのインスタンスIDを取得するとともに、この取
得された中間インスタンス管理テーブル21dのインス
タンスIDをキーにクラスBを調べる(S76,S7
7)。クラスBのインスタンスが検索された場合(S7
8)、その検索されたクラスBのインスタンスの属性値
を取得する(S79)。
【0069】従って、以上のような実施の形態によれ
ば、指定したインスタンスの親インスタンスを検索する
場合、通常ならば承継関係管理テーブル21aやHas−a
関係管理テーブル21bを検索することによりデータ構
造を確認した後、指定されたインスタンスIDをキーに
各テーブルを検索する必要があるが、図12にあるよう
に親ポインタ属性を設けることにより、その属性値に値
が設定されているか否かから判断する。親ポインタ属性
がない場合は、Has−a関係管理テーブル21bなどを検
索し、対象テーブルを検索する必要があるので、大幅な
性能劣化が考えられる。一方、親ポインタに値が設定さ
れている場合、親ポインタ属性名から中間インスタンス
管理テーブル12dを特定でき、接続されている親のイ
ンスタンスを探すことが容易となる。
【0070】なお、本発明はその要旨を逸脱しない範囲
で種々変形して実施できる。
【0071】
【発明の効果】以上説明したように本発明によれば、R
DB上にオブジェクト指向的な構造をもたせてORDB
的に使用でき、またRDBにオブジェクト指向的な構造
をもたせつつ性能劣化を回避することができるRDBシ
ステムを提供できる。
【0072】また、本発明は、インスタンスを容易に生
成するプログラムを記録した記録媒体を提供できる。
【図面の簡単な説明】
【図1】 本発明に係るRDBシステムの一実施の形態
を示す構成図。
【図2】 DB管理システムを用いた本発明に係るRD
Bシステムの他の実施形態を示す構成図。
【図3】 ORDBの構造によってクラスを宣言してい
る図。
【図4】 承継関係管理テーブルのデータ配列図。
【図5】 ORDBの構造によってクラスを宣言してい
る図。
【図6】 Has−a関係管理テーブルのデータ配列図。
【図7】 各クラスに対するインスタンスIDを生成す
るための説明図。
【図8】 インスタンスID管理テーブルのデータ配列
図。
【図9】 1つの属性に複数のインスタンスのデータ配
列図。
【図10】 中間インスタンス管理テーブルの説明図。
【図11】 命名規則を付けた中間インスタンス管理テ
ーブルのデータ配列図。
【図12】 親ポインタ属性を説明する図。
【図13】 インスタンス相互の関係を示す図。
【図14】 親ポインタ属性有りの場合と無しの場合と
における必要テーブルの説明図。
【図15】 動作説明のためのサンプル図。
【図16】 インスタンスの生成処理を説明するフロー
チャート。
【図17】 インスタンスの検索処理を説明するフロー
チャート。
【図18】 インスタンスの削除処理を説明するフロー
チャート。
【図19】 インスタンスの接続処理を説明するフロー
チャート。
【図20】 集合型インスタンスの接続処理を説明する
フローチャート。
【図21】 集合型インスタンスの検索処理を説明する
フローチャート。
【図22】 親インスタンスの検索処理を説明するフロ
ーチャート。
【図23】 従来のORDBシステムの構成図。
【図24】 従来のRDBシステムの構成図。
【符号の説明】
3…RDB 5,11…データ処理本体部 6…記録媒体 12…管理システム 21…管理テーブル 21a…継承関係管理テーブル 21b…Has−a関係管理テーブル 21c…インスタンスID管理テーブル 21d…中間インスタンス管理テーブル

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 RDB(リレーショナル・データベー
    ス)をもったRDBシステムにおいて、 前記RDB上、他クラスの属性を自クラスの属性として
    扱えるような継承関係を規定する継承関係管理テーブル
    と、前記自クラスが属性として前記他クラスを含むよう
    なHas−a関係を規定するHas−a関係管理テーブルと、前
    記各クラスに基づく実態を表すインスタンスを一意に発
    行するインスタンスIDを管理するインスタンスID管
    理テーブルとを設け、前記各テーブルをアクセスし、オ
    ブジェクト指向的な構造を用いてRDBを使用すること
    を特徴とするRDBシステム。
  2. 【請求項2】 請求項1に記載するRDBシステムにお
    いて、 前記インスタンスが何れの属性に接続されているかを表
    す親ポインタを追加したことを特徴とするRDBシステ
    ム。
  3. 【請求項3】 前記継承関係管理テーブル、前記Has−a
    関係管理テーブルおよび前記インスタンスID管理テー
    ブルを有し、コンピュータを動作させるためのインスタ
    ンス生成用プログラムを記録したコンピュータ読取可能
    な記録媒体において、 前記インスタンス生成用プログラムは、 インスタンスの生成指示に基づいて前記継承関係管理テ
    ーブルをアクセスし、子クラスが継承しているテーブル
    の有無を確認するクラス継承テーブル有無確認機能と、
    前記継承関係管理テーブルに規定される親および子クラ
    スのインスタンスを生成し、インスタンス番号を発行す
    るインスタンスID生成機能と、この生成されたインス
    タンスIDおよびクラス名を前記インスタンスID管理
    テーブルに登録するインタンス登録機能とを有すること
    を特徴とする記録媒体。
JP2000029310A 2000-02-07 2000-02-07 Rdbシステム Expired - Fee Related JP3895898B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000029310A JP3895898B2 (ja) 2000-02-07 2000-02-07 Rdbシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000029310A JP3895898B2 (ja) 2000-02-07 2000-02-07 Rdbシステム

Publications (2)

Publication Number Publication Date
JP2001222460A true JP2001222460A (ja) 2001-08-17
JP3895898B2 JP3895898B2 (ja) 2007-03-22

Family

ID=18554588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000029310A Expired - Fee Related JP3895898B2 (ja) 2000-02-07 2000-02-07 Rdbシステム

Country Status (1)

Country Link
JP (1) JP3895898B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339353A (zh) * 2021-12-31 2022-04-12 晶晨半导体科技(北京)有限公司 音视频同步方法和装置及电子设备和计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339353A (zh) * 2021-12-31 2022-04-12 晶晨半导体科技(北京)有限公司 音视频同步方法和装置及电子设备和计算机可读存储介质
CN114339353B (zh) * 2021-12-31 2023-09-29 晶晨半导体科技(北京)有限公司 音视频同步方法和装置及电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
JP3895898B2 (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
US6460043B1 (en) Method and apparatus for operating on data with a conceptual data manipulation language
US6772172B2 (en) Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database
US20050154745A1 (en) Method and system for supporting multivalue attributes in a database system
US20050027724A1 (en) Data processing apparatus and method
US6301581B1 (en) Method and system for managing access to a plurality of data objects
US6985906B2 (en) Method and system for multidimensional database management
JP3752945B2 (ja) ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体
CN111506779A (zh) 面向数据处理的对象版本与关联信息管理方法及系统
JP2001222460A (ja) Rdbシステム及び記録媒体
JPH0736756A (ja) オブジェクト管理方式
JP2003022351A (ja) 人事情報管理システム、プログラムおよび人事情報管理方法
JPH0644309A (ja) データベース管理方式
JP2000222434A (ja) 結合検索方法
JP3980326B2 (ja) データ管理方法およびコンピュータ読み取り可能な記録媒体
JP2008234429A (ja) 部分ライブラリ構築装置、プログラムおよび部分ライブラリ構築方法
JP4228267B2 (ja) 集合属性検索システム、集合属性検索方法および集合属性検索プログラム
JP6801195B2 (ja) 検索処理方法、検索処理装置及び検索処理プログラム
JPS6136654B2 (ja)
JP2000242538A (ja) ディレクトリ検索システム、ディレクトリ検索方法およびディレクトリ検索用プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2000148555A (ja) オブジェクトモデルとリレーショナルモデルとの間でのマッピング方法
JP2000207402A (ja) 情報検索システム,情報検索方法および情報検索用プログラム記録媒体
JP2658097B2 (ja) 二次ファイル作成方式
JP2004259066A (ja) データソース統合プログラム及びシステム並びに方法
JP2000207454A (ja) 出来高実績収集装置及び出来高実績収集方法
JPH0283638A (ja) データベースのレコード管理方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061215

LAPS Cancellation because of no payment of annual fees