JPH0689219A - データベースシステム - Google Patents
データベースシステムInfo
- Publication number
- JPH0689219A JPH0689219A JP4238245A JP23824592A JPH0689219A JP H0689219 A JPH0689219 A JP H0689219A JP 4238245 A JP4238245 A JP 4238245A JP 23824592 A JP23824592 A JP 23824592A JP H0689219 A JPH0689219 A JP H0689219A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- attribute
- class
- database
- 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.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】実世界の情報構造を直接的に反映させた複雑な
構造のデータをインデックスにより迅速にアクセスする
データベースシステムを提供する。 【構成】データ間で参照を行えるデータベース1を備
え、ファイル管理部2はデータ毎にファイルのアクセス
操作に必要なデータの識別子6a〜6nと属性7a〜7
nとをインデックス8a〜8nとして付加しファイル4
nのデータの属性7nの値を検索キー9とする別のファ
イル4iのデータの識別子6iを直接検索する新たなイ
ンデックス10としてファイルのデータの識別子6iと
ファイルのデータの属性7nとを関連付けて保持し、デ
ータベース管理部3はデータの属性の値に対する別のデ
ータの識別子を求める問い合わせがあった場合に新たな
インデックス10を操作してファイルをアクセス操作す
るよう構成する。
構造のデータをインデックスにより迅速にアクセスする
データベースシステムを提供する。 【構成】データ間で参照を行えるデータベース1を備
え、ファイル管理部2はデータ毎にファイルのアクセス
操作に必要なデータの識別子6a〜6nと属性7a〜7
nとをインデックス8a〜8nとして付加しファイル4
nのデータの属性7nの値を検索キー9とする別のファ
イル4iのデータの識別子6iを直接検索する新たなイ
ンデックス10としてファイルのデータの識別子6iと
ファイルのデータの属性7nとを関連付けて保持し、デ
ータベース管理部3はデータの属性の値に対する別のデ
ータの識別子を求める問い合わせがあった場合に新たな
インデックス10を操作してファイルをアクセス操作す
るよう構成する。
Description
【0001】
【産業上の利用分野】本発明は、データベースに格納さ
れたデータをアクセスするデータベースシステムに関
し、特に、実世界の情報構造を直接的に反映させたより
複雑な構造のデータを効率よくアクセスするデータベー
スシステムに関する。
れたデータをアクセスするデータベースシステムに関
し、特に、実世界の情報構造を直接的に反映させたより
複雑な構造のデータを効率よくアクセスするデータベー
スシステムに関する。
【0002】
【従来の技術】データベースシステムとは、データベー
スに格納されたデータをアクセスするものであり、本質
的に計算機で処理される情報管理システムである。ま
た、最近のデータベースシステムは、比較的単純で規則
的なデータだけでなく、実世界の情報構造を直接的に反
映させたより複雑なデータ構造もアクセスする。このよ
うな複雑なデータ構造へのアクセスを効率良く行なう場
合には、実際にアクセスすべき二次記憶上のページを決
定するファイル管理が重要となる。特に、ファイル管理
において、データに補助的なアクセス情報を付加するイ
ンデクシング技術が大きな影響を与える。
スに格納されたデータをアクセスするものであり、本質
的に計算機で処理される情報管理システムである。ま
た、最近のデータベースシステムは、比較的単純で規則
的なデータだけでなく、実世界の情報構造を直接的に反
映させたより複雑なデータ構造もアクセスする。このよ
うな複雑なデータ構造へのアクセスを効率良く行なう場
合には、実際にアクセスすべき二次記憶上のページを決
定するファイル管理が重要となる。特に、ファイル管理
において、データに補助的なアクセス情報を付加するイ
ンデクシング技術が大きな影響を与える。
【0003】図11は従来のこの種のデータベースシス
テムの構成ブロック図である。図11において、データ
ベース1には複数のファイル(図示しない)が設けられ
各ファイルに複雑な構造のデータが格納されている。
テムの構成ブロック図である。図11において、データ
ベース1には複数のファイル(図示しない)が設けられ
各ファイルに複雑な構造のデータが格納されている。
【0004】このデータに対するユーザからの問い合わ
せQは、まず問い合わせプロセッサ11によっていくつ
かのコマンドに変換され、さらにデータベース管理部3
によってファイル操作に変換される。ファイル管理部2
は、データベース1の二次記憶上の格納構造の情報を有
し、その情報に基づいて前記ファイル操作に必要となる
二次記憶上のアクセスするページを決定する。
せQは、まず問い合わせプロセッサ11によっていくつ
かのコマンドに変換され、さらにデータベース管理部3
によってファイル操作に変換される。ファイル管理部2
は、データベース1の二次記憶上の格納構造の情報を有
し、その情報に基づいて前記ファイル操作に必要となる
二次記憶上のアクセスするページを決定する。
【0005】ファイル管理部2は、データ検索処理を高
速化するために、データベース1に格納されているデー
タの中の前記問い合わせQに対応したデータをアクセス
するための補助的なアクセス情報としてのインデックス
を有している。
速化するために、データベース1に格納されているデー
タの中の前記問い合わせQに対応したデータをアクセス
するための補助的なアクセス情報としてのインデックス
を有している。
【0006】このインデックスを用いてファイル内のデ
ータを検索する場合、例えば本の索引を使用するときの
ような方法を用いている。すなわち、本の全ページを走
査するのではなく、索引で探している単語だけを見れ
ば、どのページを読めばいいかわかる。
ータを検索する場合、例えば本の索引を使用するときの
ような方法を用いている。すなわち、本の全ページを走
査するのではなく、索引で探している単語だけを見れ
ば、どのページを読めばいいかわかる。
【0007】インデックスは(x、p)という組の集ま
りであり、ファイル中で、キーxをもつレコードへのポ
インタをpとする。このインデックスをみれば、ファイ
ル全体をアクセスする必要はなく、あるキーxを持つレ
コードがファイル内のどこにあるかわかる。
りであり、ファイル中で、キーxをもつレコードへのポ
インタをpとする。このインデックスをみれば、ファイ
ル全体をアクセスする必要はなく、あるキーxを持つレ
コードがファイル内のどこにあるかわかる。
【0008】また、従来のデータベースシステムでは、
ファイル毎にインデックスが生成され、比較的に単純で
規則的なデータの場合には、データ処理速度の向上が期
待できる。
ファイル毎にインデックスが生成され、比較的に単純で
規則的なデータの場合には、データ処理速度の向上が期
待できる。
【0009】
【発明が解決しようとする課題】しかしながら、最近良
く用いられる実世界の情報構造を直接的に反映させたよ
り複雑な構造のデータ、すなわち複数のインデックスを
操作しなければ検索できないようなデータに対する問い
合わせがあった場合には、ファイル毎にインデックスが
設けられているため、ファイル間の参照が多くなる。つ
まり、操作するインデックスが多いため、複雑な構造の
データを検索するにはかなりの時間を要することにな
り、データ処理速度が低下していた。
く用いられる実世界の情報構造を直接的に反映させたよ
り複雑な構造のデータ、すなわち複数のインデックスを
操作しなければ検索できないようなデータに対する問い
合わせがあった場合には、ファイル毎にインデックスが
設けられているため、ファイル間の参照が多くなる。つ
まり、操作するインデックスが多いため、複雑な構造の
データを検索するにはかなりの時間を要することにな
り、データ処理速度が低下していた。
【0010】本発明は、このような点に鑑みてなされた
もので、その目的とするところは、実世界の情報構造を
直接的に反映させた複雑な構造のデータをインデックス
により迅速にアクセスするデータベースシステムを提供
することにある。
もので、その目的とするところは、実世界の情報構造を
直接的に反映させた複雑な構造のデータをインデックス
により迅速にアクセスするデータベースシステムを提供
することにある。
【0011】
【課題を解決するための手段】本発明は、上記課題を解
決し目的を達成するために下記の構成とした。図1は本
発明の原理図である。複数のファイル4a〜4nを有す
ると共にファイルの夫々にデータを有しデータ5a〜5
n間で参照を行なえるデータベース1を具備し、データ
ベース1のデータ毎にファイルのアクセス操作に必要な
データの識別子6a〜6nと属性7a〜7nとをインデ
ックス8a〜8nとして付加するファイル管理部2を設
け、データに対する問い合わせがあった場合に前記ファ
イル管理部2によりデータ毎に付加されたインデックス
8a〜8nを操作することで各ファイル4a〜4nをア
クセス操作するデータベース管理部3とを備えている。
決し目的を達成するために下記の構成とした。図1は本
発明の原理図である。複数のファイル4a〜4nを有す
ると共にファイルの夫々にデータを有しデータ5a〜5
n間で参照を行なえるデータベース1を具備し、データ
ベース1のデータ毎にファイルのアクセス操作に必要な
データの識別子6a〜6nと属性7a〜7nとをインデ
ックス8a〜8nとして付加するファイル管理部2を設
け、データに対する問い合わせがあった場合に前記ファ
イル管理部2によりデータ毎に付加されたインデックス
8a〜8nを操作することで各ファイル4a〜4nをア
クセス操作するデータベース管理部3とを備えている。
【0012】前記ファイル管理部2は、あるファイル4
nのデータの属性7nの値を検索キー9とする別のファ
イル4iのデータの識別子6iを直接検索するための新
たなインデックス10として、別のファイルのデータの
識別子6iとあるファイルのデータの属性7nとを関連
付けて保持している。
nのデータの属性7nの値を検索キー9とする別のファ
イル4iのデータの識別子6iを直接検索するための新
たなインデックス10として、別のファイルのデータの
識別子6iとあるファイルのデータの属性7nとを関連
付けて保持している。
【0013】前記データベース管理部3は、利用者から
あるデータの属性の値に対する別のデータの識別子を求
める問い合わせがあった場合に前記新たなインデックス
10を操作することでファイルをアクセス操作するよう
構成する。
あるデータの属性の値に対する別のデータの識別子を求
める問い合わせがあった場合に前記新たなインデックス
10を操作することでファイルをアクセス操作するよう
構成する。
【0014】より望ましくは以下のようにするのがよ
い。すなわち、前記ファイル管理部2は、前記問い合わ
せの頻度が所定の頻度を超えた場合に、前記各ファイル
4a〜4nを用いて新たなインデックス10を生成する
よう構成する。
い。すなわち、前記ファイル管理部2は、前記問い合わ
せの頻度が所定の頻度を超えた場合に、前記各ファイル
4a〜4nを用いて新たなインデックス10を生成する
よう構成する。
【0015】また、前記検索キー9は、参照される最後
のデータ7nの属性5nの値であり、前記別のデータの
識別子は参照される最初のデータ5aの識別子6aであ
ってもよい。
のデータ7nの属性5nの値であり、前記別のデータの
識別子は参照される最初のデータ5aの識別子6aであ
ってもよい。
【0016】さらに、前記データベース1は、オブジェ
クト指向データベースであり、前記ファイルに対応する
クラスを複数用意し前記各クラスにオブジェクト識別子
を有するとともに各クラスが複数の属性を有しかつ上位
クラスの属性が下位クラスを参照する複合オブジェクト
を構成し、あるクラスの属性の値を検索キーとする別の
クラスのオブジェクト識別子を直接検索するための新た
なインデックスとして、別のクラスの識別子とあるクラ
スの属性とを保持するよう構成する。
クト指向データベースであり、前記ファイルに対応する
クラスを複数用意し前記各クラスにオブジェクト識別子
を有するとともに各クラスが複数の属性を有しかつ上位
クラスの属性が下位クラスを参照する複合オブジェクト
を構成し、あるクラスの属性の値を検索キーとする別の
クラスのオブジェクト識別子を直接検索するための新た
なインデックスとして、別のクラスの識別子とあるクラ
スの属性とを保持するよう構成する。
【0017】
【作用】上記のように構成することにより、ファイル管
理部2が、あるファイル4nのデータの属性7nの値を
検索キー9とする別のファイル4iのデータの識別子6
iを直接検索するための新たなインデックス10とし
て、別のファイルのデータの識別子6iとあるファイル
のデータの属性7nとを関連付けて保持し、データベー
ス管理部3は、あるデータの属性7nの値に対する別の
データの識別子6iを求める問い合わせがあった場合に
新たなインデックス10のファイルのデータの属性7n
から直ちに識別子6iを求めることができる。
理部2が、あるファイル4nのデータの属性7nの値を
検索キー9とする別のファイル4iのデータの識別子6
iを直接検索するための新たなインデックス10とし
て、別のファイルのデータの識別子6iとあるファイル
のデータの属性7nとを関連付けて保持し、データベー
ス管理部3は、あるデータの属性7nの値に対する別の
データの識別子6iを求める問い合わせがあった場合に
新たなインデックス10のファイルのデータの属性7n
から直ちに識別子6iを求めることができる。
【0018】よって、ファイルのアクセス操作が少なく
て済み、データ処理速度を向上できる。また、問い合わ
せの頻度が所定の頻度を超えた場合に新たなインデック
スを生成するので、実情に即したデータ処理が行える。
て済み、データ処理速度を向上できる。また、問い合わ
せの頻度が所定の頻度を超えた場合に新たなインデック
スを生成するので、実情に即したデータ処理が行える。
【0019】さらに、新たなインデックスの参照される
最後のデータ5nの属性7nの値から参照される最初の
データ5aの識別子6aを直ちに求めるので、ファイル
のアクセス回数が大幅に少なくて済む。
最後のデータ5nの属性7nの値から参照される最初の
データ5aの識別子6aを直ちに求めるので、ファイル
のアクセス回数が大幅に少なくて済む。
【0020】また、データベースがオブジェクト指向デ
ータベースである場合には以下のように動作する。図2
は本発明におけるオブジェクト指向データベースのイン
デクシングを説明する図、図3は本発明で新たに生成さ
れたインデックスを示す図、図4は従来のインデクシン
グによるファイル毎の各インデックスの内容を示す図で
ある。オブジェクト指向データベースは、ファイル、レ
コード、フィールドにそれぞれ対応するクラス、インス
タンス、属性という述語を用いる。
ータベースである場合には以下のように動作する。図2
は本発明におけるオブジェクト指向データベースのイン
デクシングを説明する図、図3は本発明で新たに生成さ
れたインデックスを示す図、図4は従来のインデクシン
グによるファイル毎の各インデックスの内容を示す図で
ある。オブジェクト指向データベースは、ファイル、レ
コード、フィールドにそれぞれ対応するクラス、インス
タンス、属性という述語を用いる。
【0021】図2においては、例えば、3つのクラス2
1,22,23で各クラスが3つの属性21a〜21
c,22a〜22c,23a〜23cを有し、各々イン
スタンスがオブジェクト識別子OID31〜33を有す
るとする。
1,22,23で各クラスが3つの属性21a〜21
c,22a〜22c,23a〜23cを有し、各々イン
スタンスがオブジェクト識別子OID31〜33を有す
るとする。
【0022】この場合に、”クラス23の属性23cの
値がjである複合オブジェクトのOID31を求めよ”
のようなaを求める問い合わせがあった場合における本
発明システムと従来システムとの比較を行なう。
値がjである複合オブジェクトのOID31を求めよ”
のようなaを求める問い合わせがあった場合における本
発明システムと従来システムとの比較を行なう。
【0023】まず、本発明では、図3に示すように属性
23c及びOID31のインデックス41が用意され
る。複合オブジェクトのクラス23の属性23cとクラ
ス21のOID31のみが一つのインデックス41に保
持され、問い合わせに答えるには、単一のインデックス
41を操作するだけで、属性23cの値jから直接にO
ID31のaをアクセスできる。
23c及びOID31のインデックス41が用意され
る。複合オブジェクトのクラス23の属性23cとクラ
ス21のOID31のみが一つのインデックス41に保
持され、問い合わせに答えるには、単一のインデックス
41を操作するだけで、属性23cの値jから直接にO
ID31のaをアクセスできる。
【0024】一方、図4に示す従来のインデクシングで
は、クラス21の属性21cに対し属性21c及びOI
D31のインデックス51を用意し、クラス22の属性
22cに対し属性22c及びOID32のインデックス
52を用意し、クラス23の属性23cに対し属性23
c及びOID33のインデックス53を用意する。
は、クラス21の属性21cに対し属性21c及びOI
D31のインデックス51を用意し、クラス22の属性
22cに対し属性22c及びOID32のインデックス
52を用意し、クラス23の属性23cに対し属性23
c及びOID33のインデックス53を用意する。
【0025】問い合わせに答えるには、まずインデック
ス53で属性23cの値jからOID33のgを求め、
次にインデックス52で属性22cの値gからOID3
2のdを求め、最後にインデックス51で属性21cの
値dからOID31のaを求める。
ス53で属性23cの値jからOID33のgを求め、
次にインデックス52で属性22cの値gからOID3
2のdを求め、最後にインデックス51で属性21cの
値dからOID31のaを求める。
【0026】このように従来システムは、問い合わせに
対して複合オブジェクトを構成するクラス分のインデッ
クスの操作が必要であるが、本発明システムは、複雑な
データ構造に対する問い合わせの場合、つまり、ファイ
ル間の参照が多い場合でも、参照関係のファイル毎のイ
ンデックスを操作する必要はなく、単一のインデックス
を操作するだけで、高い性能が期待できる。
対して複合オブジェクトを構成するクラス分のインデッ
クスの操作が必要であるが、本発明システムは、複雑な
データ構造に対する問い合わせの場合、つまり、ファイ
ル間の参照が多い場合でも、参照関係のファイル毎のイ
ンデックスを操作する必要はなく、単一のインデックス
を操作するだけで、高い性能が期待できる。
【0027】
【実施例】以下、本発明の具体的な実施例を説明する。
図5は本発明に係るデータベースシステムの実施例の構
成ブロック図、図6は実施例のインデックスの生成手順
を示すフローチャートである。
図5は本発明に係るデータベースシステムの実施例の構
成ブロック図、図6は実施例のインデックスの生成手順
を示すフローチャートである。
【0028】図5において、データベース1は、複数の
ファイル4a〜4nを有すると共にファイルの夫々にデ
ータを有しデータ5a〜5n間で参照を行なえる階層構
造をなしている。
ファイル4a〜4nを有すると共にファイルの夫々にデ
ータを有しデータ5a〜5n間で参照を行なえる階層構
造をなしている。
【0029】ファイル管理部2は、データベース1のデ
ータ毎に、ファイルのアクセス操作に必要なデータの識
別子6a〜6nと属性7a〜7nとをインデックス8a
〜8nとして付加する。
ータ毎に、ファイルのアクセス操作に必要なデータの識
別子6a〜6nと属性7a〜7nとをインデックス8a
〜8nとして付加する。
【0030】問い合わせプロセッサ11は、データに対
するユーザからの問い合わせをいくつかのコマンドに変
換するものであり、このコマンドをデータベース管理部
3に出力する。
するユーザからの問い合わせをいくつかのコマンドに変
換するものであり、このコマンドをデータベース管理部
3に出力する。
【0031】データベース管理部3は、データに対する
問い合わせがあった場合に前記ファイル管理部2により
データ毎に付加されたインデックス8a〜8nを操作す
ることで各ファイル4a〜4nをアクセス操作する。
問い合わせがあった場合に前記ファイル管理部2により
データ毎に付加されたインデックス8a〜8nを操作す
ることで各ファイル4a〜4nをアクセス操作する。
【0032】また、前記ファイル管理部2は、あるファ
イル4nのデータの属性7nの値を検索キー9とする別
のファイル4iのデータの識別子6iを直接検索するた
めの新たなインデックス10として、別のファイルのデ
ータの識別子6iとあるファイルのデータの属性7nと
を関連付けて保持するものであり、問い合わせの頻度が
所定の頻度を超えた場合に、新たなインデックス10を
生成するようになっている。
イル4nのデータの属性7nの値を検索キー9とする別
のファイル4iのデータの識別子6iを直接検索するた
めの新たなインデックス10として、別のファイルのデ
ータの識別子6iとあるファイルのデータの属性7nと
を関連付けて保持するものであり、問い合わせの頻度が
所定の頻度を超えた場合に、新たなインデックス10を
生成するようになっている。
【0033】前記データベース管理部3は、利用者から
あるデータの属性の値に対する別のデータの識別子を求
める問い合わせがあった場合に前記新たなインデックス
10を操作することでファイルをアクセス操作するよう
になっている。
あるデータの属性の値に対する別のデータの識別子を求
める問い合わせがあった場合に前記新たなインデックス
10を操作することでファイルをアクセス操作するよう
になっている。
【0034】このように構成された実施例におけるデー
タベースシステムは、オブジェクト指向データベースで
あり、このオブジェクト指向データベースは、ファイ
ル、レコード、フィールドにそれぞれ対応するクラス、
インスタンス、属性という述語を用いている。 <オブジェクト指向データベースの構成>図7は実施例
における各クラスの内容を示す図、図8は新たに生成さ
れた排気量・自動車インデックスを示す図、図9は従来
のクラス毎の各インデックスの内容を示す図である。
タベースシステムは、オブジェクト指向データベースで
あり、このオブジェクト指向データベースは、ファイ
ル、レコード、フィールドにそれぞれ対応するクラス、
インスタンス、属性という述語を用いている。 <オブジェクト指向データベースの構成>図7は実施例
における各クラスの内容を示す図、図8は新たに生成さ
れた排気量・自動車インデックスを示す図、図9は従来
のクラス毎の各インデックスの内容を示す図である。
【0035】図7において、自動車クラス21、駆動系
クラス22、エンジンクラス23の3つのクラスを用意
し、これらクラス21〜23は階層構造をなして一つの
複合オブジェクトを構成する。自動車クラス21は属性
値として、drive777などの駆動21a、1.5tなどの平均
重量21b、N社などの製造元21cを有する。駆動系
クラス22は属性値として、eng111などのエンジン22
a、マニュアルなどのトランスミッション22bを有す
る。エンジンクラス23は、4000ccなどの排気量23
a、8つなどの気筒23bを有する。
クラス22、エンジンクラス23の3つのクラスを用意
し、これらクラス21〜23は階層構造をなして一つの
複合オブジェクトを構成する。自動車クラス21は属性
値として、drive777などの駆動21a、1.5tなどの平均
重量21b、N社などの製造元21cを有する。駆動系
クラス22は属性値として、eng111などのエンジン22
a、マニュアルなどのトランスミッション22bを有す
る。エンジンクラス23は、4000ccなどの排気量23
a、8つなどの気筒23bを有する。
【0036】各インスタンスはOIDを有し、自動車ク
ラス21がautoO000などの自動車OID31、駆動系ク
ラス22がdrive000などの駆動系OID32、エンジン
クラス23がeng111などのエンジンOID33を有して
いる。
ラス21がautoO000などの自動車OID31、駆動系ク
ラス22がdrive000などの駆動系OID32、エンジン
クラス23がeng111などのエンジンOID33を有して
いる。
【0037】自動車クラス21の駆動21aは、駆動系
クラス22を参照し、駆動系クラス22のエンジン22
aはエンジンクラス23を参照するようになっている。
また、これら自動車クラス21、駆動系クラス22、エ
ンジンクラス23の中の比較的よく検索される複雑なク
ラス構造の参照クラスに対して、参照クラスの先頭であ
る自動車OID31と最後の参照クラスである排気量2
3aとのみを排気量・自動車インデックス41として保
持する(図8に示す。)。
クラス22を参照し、駆動系クラス22のエンジン22
aはエンジンクラス23を参照するようになっている。
また、これら自動車クラス21、駆動系クラス22、エ
ンジンクラス23の中の比較的よく検索される複雑なク
ラス構造の参照クラスに対して、参照クラスの先頭であ
る自動車OID31と最後の参照クラスである排気量2
3aとのみを排気量・自動車インデックス41として保
持する(図8に示す。)。
【0038】なお、実施例におけるインデクシング手法
は、例えばB+木のような良く使われるインデクシング
手法を用いて実装することができる。ノンリーフノード
は、インデックスされる属性の値とB+木の下レベルの
ノンリーフノードへのポインタを記述する。
は、例えばB+木のような良く使われるインデクシング
手法を用いて実装することができる。ノンリーフノード
は、インデックスされる属性の値とB+木の下レベルの
ノンリーフノードへのポインタを記述する。
【0039】リーフノードは、インデックスされた属性
の値、それに対応するOID数とそのOID群を格納す
る。ただし、普通のB+木とは違って、ノンリーフノー
ドに記述される属性の値とリーフノードに格納されるO
IDは別のクラスに属するものである。 <インデックスの生成手順>次に、実施例における排気
量・自動車インデックス41の生成手順について図6を
参照しながら説明する。まず、ステップ101で、検索
される属性Aと検索されるクラスCとの関係を求める。
例えば自動車、駆動、エンジン、排気量の順とする。
の値、それに対応するOID数とそのOID群を格納す
る。ただし、普通のB+木とは違って、ノンリーフノー
ドに記述される属性の値とリーフノードに格納されるO
IDは別のクラスに属するものである。 <インデックスの生成手順>次に、実施例における排気
量・自動車インデックス41の生成手順について図6を
参照しながら説明する。まず、ステップ101で、検索
される属性Aと検索されるクラスCとの関係を求める。
例えば自動車、駆動、エンジン、排気量の順とする。
【0040】次に、ステップ102で、クラスCに調べ
ていないレコードがあるか否かを判断し、レコードがあ
る場合にはステップ103で、iを1に設定する。ステ
ップ104で、iがnであるか否かを判断し、iがnで
あれば、ステップ105で、Inの値をOIDとしても
つレコードを検索する。例えばエンジンの値eng888をO
IDとしてもつレコード[eng888,1500cc,4]を探す。
ていないレコードがあるか否かを判断し、レコードがあ
る場合にはステップ103で、iを1に設定する。ステ
ップ104で、iがnであるか否かを判断し、iがnで
あれば、ステップ105で、Inの値をOIDとしても
つレコードを検索する。例えばエンジンの値eng888をO
IDとしてもつレコード[eng888,1500cc,4]を探す。
【0041】そして、ステップ106で、属性Aの値と
クラスCのレコードのOIDをインデックス41として
保持する。例えば属性排気量1500ccとクラス自動車のO
IDauto999をインデックスとして保持する。さらに、
ステップ107で、次のレコードについて調べた後、ス
テップ102に戻り、ステップ102以降の処理を繰り
返し行なう。
クラスCのレコードのOIDをインデックス41として
保持する。例えば属性排気量1500ccとクラス自動車のO
IDauto999をインデックスとして保持する。さらに、
ステップ107で、次のレコードについて調べた後、ス
テップ102に戻り、ステップ102以降の処理を繰り
返し行なう。
【0042】一方、ステップ104で、iがnでない場
合にはIiの値をOIDとしてもつレコードを探す。例
えば駆動の値drive777をOIDとしてもつレコード[dr
ive777,eng888,オートマチック]を探す。ステップ10
9で、iに1を加算してステップ104に戻り、ステッ
プ104の処理を行なう。
合にはIiの値をOIDとしてもつレコードを探す。例
えば駆動の値drive777をOIDとしてもつレコード[dr
ive777,eng888,オートマチック]を探す。ステップ10
9で、iに1を加算してステップ104に戻り、ステッ
プ104の処理を行なう。
【0043】一方、ステップ102で、クラスCに調べ
ていないレコードがない場合にはステップ110で、保
持したインデックスを出力して処理を終了する。 <実施例のインデックス41を用いたデータ処理>次
に、従来のインデックス手法と実施例のインデックス手
法を簡単な例を用いて説明する。
ていないレコードがない場合にはステップ110で、保
持したインデックスを出力して処理を終了する。 <実施例のインデックス41を用いたデータ処理>次
に、従来のインデックス手法と実施例のインデックス手
法を簡単な例を用いて説明する。
【0044】ここで、例えば”エンジンクラス23の排
気量23aの値が1500ccである複合オブジェクトの自動
車OID31を求めなさい。”のようにauto000を求め
る問い合わせが行われたとする。
気量23aの値が1500ccである複合オブジェクトの自動
車OID31を求めなさい。”のようにauto000を求め
る問い合わせが行われたとする。
【0045】この問い合わせに対して実施例におけるイ
ンデクシングと従来のインデクシングとの比較を行な
う。 (1)まず、実施例におけるインデックス手法では、図
8に示すように、排気量・自動車インデックス41とし
て排気量23a、自動車OID31が用意される。ここ
では、複合オブジェクトのエンジンクラス23の排気量
23aと自動車クラス21の自動車OID31のみが一
つのインデックス41として保持され、問い合わせに答
えるには、インデックス41で排気量23aの値1500cc
から直ちに自動車OID31のauto000を、単一のイン
デックス41を操作するだけで求めることができる。 (2)一方、従来のインデクシング手法では、図9に示
すように、自動車クラス21の属性に対しインデックス
51として駆動21a、自動車OID31を用意し、駆
動系クラス22の属性に対しインデックス52としてエ
ンジン22a、駆動系OID32を用意し、エンジンク
ラス23の属性に対しインデックス53として排気量2
3a、エンジンOID33を用意する。
ンデクシングと従来のインデクシングとの比較を行な
う。 (1)まず、実施例におけるインデックス手法では、図
8に示すように、排気量・自動車インデックス41とし
て排気量23a、自動車OID31が用意される。ここ
では、複合オブジェクトのエンジンクラス23の排気量
23aと自動車クラス21の自動車OID31のみが一
つのインデックス41として保持され、問い合わせに答
えるには、インデックス41で排気量23aの値1500cc
から直ちに自動車OID31のauto000を、単一のイン
デックス41を操作するだけで求めることができる。 (2)一方、従来のインデクシング手法では、図9に示
すように、自動車クラス21の属性に対しインデックス
51として駆動21a、自動車OID31を用意し、駆
動系クラス22の属性に対しインデックス52としてエ
ンジン22a、駆動系OID32を用意し、エンジンク
ラス23の属性に対しインデックス53として排気量2
3a、エンジンOID33を用意する。
【0046】問い合わせに答えるには、まずインデック
ス53で排気量23aの値1500ccからエンジンOID3
3のeng888を求め、次にインデックス52でエンジン2
2aの値eng888から駆動系OID32のdrive777を求
め、最後にインデックス51で駆動21aの値drive777
から自動車OID31のauto000を求める。
ス53で排気量23aの値1500ccからエンジンOID3
3のeng888を求め、次にインデックス52でエンジン2
2aの値eng888から駆動系OID32のdrive777を求
め、最後にインデックス51で駆動21aの値drive777
から自動車OID31のauto000を求める。
【0047】従来のインデックス手法では、よく検索さ
れる複合オブジェクトに対する問い合わせでは、複合オ
ブジェクトを構成するクラス数分のインデックスの操作
が必要であったが、本実施例によれば、単一のインデッ
クスを操作するのみで複雑な構造のデータをアクセスす
ることができる。
れる複合オブジェクトに対する問い合わせでは、複合オ
ブジェクトを構成するクラス数分のインデックスの操作
が必要であったが、本実施例によれば、単一のインデッ
クスを操作するのみで複雑な構造のデータをアクセスす
ることができる。
【0048】よって、ファイルのアクセス操作が少なく
て済み、データ処理速度を向上できる。なお、実施例で
は3クラス、属性2又は3として説明したが、クラス及
び属性の数はその他の数であってもよい。
て済み、データ処理速度を向上できる。なお、実施例で
は3クラス、属性2又は3として説明したが、クラス及
び属性の数はその他の数であってもよい。
【0049】さらに、問い合わせが所定の頻度を超えた
場合にはインデックス41を生成するようにしてもよ
い。この場合、例えばカウンタなどを用いて同一の問い
合わせをカウントし、所定のカウント数を超えた場合に
前記所定の頻度とするようにしてもよい。このようにす
れば、頻度の高いデータが即座に検索でき、効果が大と
なる。
場合にはインデックス41を生成するようにしてもよ
い。この場合、例えばカウンタなどを用いて同一の問い
合わせをカウントし、所定のカウント数を超えた場合に
前記所定の頻度とするようにしてもよい。このようにす
れば、頻度の高いデータが即座に検索でき、効果が大と
なる。
【0050】また、図2に示す複合オブジェクトの例に
おいて、実施例のインデクシング手法と従来のインデク
シングとを簡単に比較した結果を図10に示す。なお、
ここでは、各クラスは600000インスタンスからな
り、OID長は8B(バイト)とし、インデックスされ
る属性長は8Bとした。さらに、ページサイズは4KB
(キロバイト)とし、B+木のファンアウトは218と
して、次の3つの問い合わせQ1〜Q3に対する評価を
行った。 (Q1)属性の値がjである複合オブジェクトOID1
を求めなさい。 (Q2)属性の値がj1、j2、j3、j4、j5、j
6、j7、j8、j9、j10のどれかである複合オブ
ジェクトのOID1を求めなさい。 (Q3)属性の値がj1、j2、j3、j4、j5、j
6、j7、j8、j9、j10、j11、j12、j1
3、j14、j15、j16、j17、j18、j1
9、j20のどれかである複合オブジェクトのOID1
を求めなさい。
おいて、実施例のインデクシング手法と従来のインデク
シングとを簡単に比較した結果を図10に示す。なお、
ここでは、各クラスは600000インスタンスからな
り、OID長は8B(バイト)とし、インデックスされ
る属性長は8Bとした。さらに、ページサイズは4KB
(キロバイト)とし、B+木のファンアウトは218と
して、次の3つの問い合わせQ1〜Q3に対する評価を
行った。 (Q1)属性の値がjである複合オブジェクトOID1
を求めなさい。 (Q2)属性の値がj1、j2、j3、j4、j5、j
6、j7、j8、j9、j10のどれかである複合オブ
ジェクトのOID1を求めなさい。 (Q3)属性の値がj1、j2、j3、j4、j5、j
6、j7、j8、j9、j10、j11、j12、j1
3、j14、j15、j16、j17、j18、j1
9、j20のどれかである複合オブジェクトのOID1
を求めなさい。
【0051】図10にそれぞれの問い合わせQ1〜Q3
に対するインデックスのページアクセス回数を示す。二
次記憶のページアクセス回数は処理コストの最も大きな
要素である二次記憶のアクセスコストに比例するので、
実施例のインデクシング手法を用いると性能向上が得ら
れることがわかる。
に対するインデックスのページアクセス回数を示す。二
次記憶のページアクセス回数は処理コストの最も大きな
要素である二次記憶のアクセスコストに比例するので、
実施例のインデクシング手法を用いると性能向上が得ら
れることがわかる。
【0052】
【発明の効果】本発明によれば、ファイル管理部2が、
あるファイル4nのデータの属性7nの値を検索キー9
とする別のファイル4iのデータの識別子6iを直接検
索するための新たなインデックス10として、別のファ
イルのデータの識別子6iとあるファイルのデータの属
性7nとを関連付けて保持し、データベース管理部3
は、あるデータの属性7nの値に対する別のデータの識
別子6iを求める問い合わせがあった場合に新たなイン
デックス10のファイルのデータの属性7nから直ちに
識別子6iを求めることができる。
あるファイル4nのデータの属性7nの値を検索キー9
とする別のファイル4iのデータの識別子6iを直接検
索するための新たなインデックス10として、別のファ
イルのデータの識別子6iとあるファイルのデータの属
性7nとを関連付けて保持し、データベース管理部3
は、あるデータの属性7nの値に対する別のデータの識
別子6iを求める問い合わせがあった場合に新たなイン
デックス10のファイルのデータの属性7nから直ちに
識別子6iを求めることができる。
【0053】よって、ファイルのアクセス操作が少なく
て済み、データ処理速度を向上できる。
て済み、データ処理速度を向上できる。
【図1】本発明の原理図である。
【図2】本発明におけるオブジェクト指向データベース
のインデクシングを説明するための図である。
のインデクシングを説明するための図である。
【図3】本発明で新たに生成されたインデックスを示す
図である。
図である。
【図4】従来のインデクシングによるファイル毎の各イ
ンデックスの内容を示す図である。
ンデックスの内容を示す図である。
【図5】実施例のデータベースシステムの構成ブロック
図である。
図である。
【図6】実施例のインデックスの生成手順を示すフロー
チャートである。
チャートである。
【図7】実施例における各クラスの内容を示す図であ
る。
る。
【図8】新たに生成された排気量・自動車インデックス
を示す図である。
を示す図である。
【図9】従来のクラス毎の各インデックスの内容を示す
図である。
図である。
【図10】実施例のインデクシングと従来のインデクシ
ングとの比較を示す図である。
ングとの比較を示す図である。
【図11】従来のデータベースシステムの構成ブロック
図である。
図である。
1・・データベース 2・・ファイル管理部 3・・データベース管理部 4a〜4n・・ファイル 5a〜5n・・データ 6a〜6n・・識別子 7a〜7n・・属性 8a〜8n・・インデックス 9・・検索キー 10・・新たなインデックス 11・・問い合わせプロセッサ 21・・自動車クラス 22・・駆動系クラス 23・・エンジンクラス 31・・自動車OID 32・・駆動系OID 33・・エンジンOID 41・・排気量・自動車インデックス
Claims (4)
- 【請求項1】 複数のファイル(4a〜4n)を有する
と共にファイルの夫々にデータを有しデータ(5a〜5
n)間で参照を行なえるデータベース(1)と、 このデータベース(1)のデータ毎に、ファイルのアク
セス操作に必要なデータの識別子(6a〜6n)と属性
(7a〜7n)とをインデックス(8a〜8n)として
付加するファイル管理部(2)と、 データに対する問い合わせがあった場合に前記ファイル
管理部(2)によりデータ毎に付加されたインデックス
(8a〜8n)を操作することで各ファイル(4a〜4
n)をアクセス操作するデータベース管理部(3)とを
備え、 前記ファイル管理部(2)は、あるファイル(4n)の
データの属性(7n)の値を検索キー(9)とする別の
ファイル(4i)のデータの識別子(6i)を直接検索
するための新たなインデックス(10)として、別のフ
ァイルのデータの識別子(6i)とあるファイルのデー
タの属性(7n)とを関連付けて保持し、 前記データベース管理部(3)は、利用者からあるデー
タの属性の値に対する別のデータの識別子を求める問い
合わせがあった場合に前記新たなインデックス(10)
を操作することでファイルをアクセス操作することを特
徴とするデータベースシステム。 - 【請求項2】 前記ファイル管理部(2)は、前記問い
合わせの頻度が所定の頻度を超えた場合に、前記各ファ
イル(4a〜4n)を用いて新たなインデックス(1
0)を生成することを特徴とする請求項1記載のデータ
ベースシステム。 - 【請求項3】 前記検索キー(9)は、参照される最後
のデータ(5n)の属性(7n)の値であり、前記別の
データの識別子は参照される最初のデータ(5a)の識
別子(6a)であることを特徴とする請求項1又は請求
項2記載のデータベースシステム。 - 【請求項4】 前記データベース(1)は、オブジェク
ト指向データベースであり、前記ファイルに対応するク
ラスを複数用意し前記各クラスにオブジェクト識別子を
有するとともに各クラスが複数の属性を有しかつ上位ク
ラスの属性が下位クラスを参照する複合オブジェクトを
構成し、 あるクラスの属性の値を検索キーとする別のクラスのオ
ブジェクト識別子を直接検索するための新たなインデッ
クスとして、別のクラスの識別子とあるクラスの属性と
を保持することを特徴とする請求項1記載のデータベー
スシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4238245A JPH0689219A (ja) | 1992-09-07 | 1992-09-07 | データベースシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4238245A JPH0689219A (ja) | 1992-09-07 | 1992-09-07 | データベースシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0689219A true JPH0689219A (ja) | 1994-03-29 |
Family
ID=17027308
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4238245A Withdrawn JPH0689219A (ja) | 1992-09-07 | 1992-09-07 | データベースシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0689219A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07295865A (ja) * | 1994-04-22 | 1995-11-10 | Fujitsu Ltd | 画像データ蓄積システム |
| JPH09106368A (ja) * | 1995-10-12 | 1997-04-22 | Hitachi Ltd | データベース管理システム |
| JP2000322418A (ja) * | 1999-05-07 | 2000-11-24 | Fujitsu Ltd | データベース装置 |
-
1992
- 1992-09-07 JP JP4238245A patent/JPH0689219A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07295865A (ja) * | 1994-04-22 | 1995-11-10 | Fujitsu Ltd | 画像データ蓄積システム |
| JPH09106368A (ja) * | 1995-10-12 | 1997-04-22 | Hitachi Ltd | データベース管理システム |
| JP2000322418A (ja) * | 1999-05-07 | 2000-11-24 | Fujitsu Ltd | データベース装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6078926A (en) | Method and apparatus for performing multi-class object fetch in a database management system | |
| US5706506A (en) | Method and apparatus for managing relational data in an object cache | |
| US6694325B2 (en) | Database method implementing attribute refinement model | |
| US7257599B2 (en) | Data organization in a fast query system | |
| US7725471B2 (en) | Method and apparatus for generating and utilizing qualifiers and qualified taxonomy tables | |
| US6016497A (en) | Methods and system for storing and accessing embedded information in object-relational databases | |
| US6466931B1 (en) | Method and system for transparently caching and reusing query execution plans efficiently | |
| Bertino | An Indexing Technique for Object-Oriented Databases. | |
| US7412444B2 (en) | Efficient indexing of hierarchical relational database records | |
| JPH10320423A (ja) | データベースシステムにおいて結合質問を実行する方法及び装置 | |
| US7912869B1 (en) | Database component packet manager | |
| Lee et al. | Signature file methods for indexing object-oriented database systems | |
| US20020091705A1 (en) | Object integrated management system | |
| CN111506779B (zh) | 面向数据处理的对象版本与关联信息管理方法及系统 | |
| JPH0689219A (ja) | データベースシステム | |
| Rupley Jr | Introduction to query processing and optimization | |
| Carlis et al. | A descriptive model of physical database design problems and solutions | |
| Kawamura et al. | Parallel Database Management System: Kappa-P. | |
| KR100333682B1 (ko) | 객체-관계 데이터베이스 관리 시스템에서의 역 포인터를이용한 그루핑 연산 방법 및 그 방법에서 생성된 그룹테이블을 이용한 집계 함수 획득 방법 | |
| Van den Bercken et al. | Plug&Join: An easy-to-use generic algorithm for efficiently processing equi and non-equi joins | |
| Huang et al. | The study of indexing techniques on object oriented databases | |
| Goldstein et al. | Database management with sequence trees and tokens | |
| Shin et al. | Combining C-signature with path dictionary for query processing of nested objects in OODBS | |
| JPH02190970A (ja) | インデクスの構造およびこれを用いるサーチ処理方法 | |
| Aloia et al. | Supporting physical independence in an Object Database Server |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991130 |