JPH0736756A - オブジェクト管理方式 - Google Patents

オブジェクト管理方式

Info

Publication number
JPH0736756A
JPH0736756A JP5180153A JP18015393A JPH0736756A JP H0736756 A JPH0736756 A JP H0736756A JP 5180153 A JP5180153 A JP 5180153A JP 18015393 A JP18015393 A JP 18015393A JP H0736756 A JPH0736756 A JP H0736756A
Authority
JP
Japan
Prior art keywords
index
identifier
information
name
definition
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
JP5180153A
Other languages
English (en)
Inventor
Takeo Maruyama
剛男 丸山
Satoru Wakayama
哲 和歌山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5180153A priority Critical patent/JPH0736756A/ja
Publication of JPH0736756A publication Critical patent/JPH0736756A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 オブジェクト間の参照関係を高速にアクセス
する。 【構成】 オブジェクト検索部101は、検索対象とそ
の条件を抽出し、インデクスとオブジェクトをアクセス
して目的の検索結果を生成する。オブジェクトアクセス
制御部102は、オブジェクト識別子を管理し、該オブ
ジェクト識別子によって、オブジェクトが格納されたD
B105をアクセスする。オブジェクト参照制御部10
3は、オブジェクト間の参照関係を保持し、ユーザが任
意に付けた参照関係名称を管理する。インデクス管理部
104は、キーやインデクス識別子によってインデクス
格納部106を参照してインデクス情報を得る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、可変長構造データを持
つオブジェクトの管理方式において、オブジェクトを高
速にアクセスするためのインデクスに関し、特にオブジ
ェクト間の参照関係を高速にアクセスするオブジェクト
管理方式に関する。
【0002】
【従来の技術】従来からデータベースを高速にアクセス
する方法として、インデクス手法がある。インデクス
は、データベースで定義されたある属性の値(キー値)
と、そのキー値を持ち、データベース内に格納されてい
るデータベースレコードへのポインタ(アクセス情報)
のペアをインデクスレコードとして保持する。
【0003】検索などでデータベース内のデータをアク
セスするときに、データベース管理システム(DBM
S:Database Management Syst
em)は、アクセス条件として指定された属性がインデ
クスを持つなら、インデクスを使用した検索を選択する
ことができる。つまり選択されたインデクスから、アク
セス条件として指定されている値をキー値とするインデ
クスレコードを選択し、その選択されたインデクスレコ
ードが保持するデータベースレコードへのアクセス情報
を利用して、実際アクセスしたいデータベースレコード
を得る。
【0004】通常のインデクスでは、インデクスレコー
ドがシーケンシャルに並んでいるため、キー値に一致す
るインデクスレコードをさがすための手法が提案されて
いる。代表的なインデクスの手法として、ハッシュ法と
B−treeがある。ハッシュ法はキー値に対し、ある
演算(ハッシュ関数)を施すことで、ダイレクトにデー
タベースレコードをアクセスする手法である。通常は一
意にデータベースレコードを決定できる演算が見つけら
れないため、インデクスレコードの分類に使用される。
また分類されたインデクスレコードからデータベースレ
コードを決めるため、別のハッシュ関数を使う場合もあ
る。
【0005】一方、B−treeは、保持できるインデ
クスレコード数が決められているノードが木構造を成
し、ノードには、固定数の半分以上インデクスレコード
が保持されていることを保証するインデクスである。た
だし、ここで言うインデクスレコードは、最下層(リー
フ)ノード以外では、データベースレコードへのポイン
タでなく、ノードへのポインタを保持する。またこの
時、ポインタで指されているノード内には、そのポイン
タを持つインデクスレコードのキー値と次のインデクス
レコードが持つキー値との間の値を持つキー値のインデ
クスレコードの集合からなる。
【0006】なお、上記したインデクス手法、ハッシュ
法及びB−treeについては、アンイントロダクショ
ン・ツゥ・データベース・システムズ、頁58−72、
アディソンウェスリー出版社(An Introduc
tion to Database Systems,
pp58−72,Addison Wesley Pu
blishing Company)に記載されてい
る。
【0007】
【発明が解決しようとする課題】上記した従来のデータ
ベースにおいては、レコード間の関連はレコードでのみ
保持されていた。例えば、レコードの関連付けがユーザ
によって行われる場合であり、そのような例として関係
データベースが挙げられる。
【0008】関係データベースにおいては、データの共
用化を図るためデータが重複しないように処理され、こ
の手法は正規化と呼ばれている。そして、関係データベ
ースでは、同じ情報を持つレコードの集合をテーブルと
して扱う。正規化が行われたテーブルでは、テーブル間
の関連もテーブルとして表される。
【0009】これらのテーブルから関連を利用して必要
な情報を得るためには、もともとレコード間の関連を知
っているユーザがテーブルを指定して行う必要がある。
逆に、ユーザが指定することによってどのような関連で
も作ることができるため、自由度が高くテーブル定義時
に関連を静的に決めることが難しい。
【0010】一方、構造型データベースのように、レコ
ードの親子関係がレコード定義時に決められるが、レコ
ードの関係は親子のみであり、階層構造をとらないレコ
ードの関係が表現されない。従って、定義時に決まって
いる複数の種類のレコード関係を持つデータベースに対
し、関係をたどって必要なレコードを得るためのインデ
クスがなく、またその関係に種別がないため、あるレコ
ードから関係名称によって、その名称で関係づけられた
レコードをたどる手段がないという問題があった。
【0011】本発明の目的は、オブジェクト間の参照関
係を高速にアクセスするオブジェクト管理方式を提供す
ることにある。
【0012】本発明の他の目的は、参照関係に名称を付
与し、複数の参照関係を持つオブジェクトに対して、名
称を指定することにより、特定の参照関係を持つオブジ
ェクトを高速にアクセスするオブジェクト管理方式を提
供することにある。
【0013】
【課題を解決するための手段】前記目的を達成するため
に、請求項1記載の発明では、オブジェクト識別子で一
意に識別され、オブジェクト属性と、該オブジェクトと
参照関係にあるオブジェクトのオブジェクト識別子とを
保持したオブジェクトを管理するオブジェクト管理方式
において、オブジェクト識別子をキーとしたインデクス
であって、該インデクスは該キーと一致した第1のオブ
ジェクトの属性と、該第1のオブジェクトと参照関係に
ある第2のオブジェクトのオブジェクト識別子を保持し
ていることを特徴としている。
【0014】請求項2記載の発明では、前記インデクス
は、該インデクスが保持する情報を識別するインデクス
識別子と、前記参照関係にあるオブジェクトに関するイ
ンデクスのインデクス識別子を保持していることを特徴
としている。
【0015】請求項3記載の発明では、前記インデクス
は、前記参照関係に所定の名称を付与して保持し、前記
第1のオブジェクトから該参照関係名称で関係づけられ
たオブジェクトの集合を得ることを特徴としている。
【0016】
【作用】オブジェクトを識別するためのオブジェクト識
別子をキーとするインデクスには、オブジェクトの属性
と、そのオブジェクトと参照関係を持つオブジェクトの
識別子、あるいは該オブジェクトの属性と、参照関係を
持つ該オブジェクトに関するインデクスのインデクス識
別子が保持されている。インデクス情報は、インデクス
識別子で一意に決定され、参照関係を持つオブジェクト
がさらに参照関係を持ち、かつその参照関係に対するイ
ンデクス情報が存在するとき、そのインデクスのインデ
クス識別子を元のインデクス情報内に持つことにより、
インデクスだけを使用して参照関係をたどることができ
る。また、インデクス内に参照関係名称を保持すること
により、あるオブジェクトと特定の参照関係名称を持つ
オブジェクトを高速に得ることができる。
【0017】
【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。本発明においては、親子関係や部品関係
などあらゆる関係を単に参照関係といい、また、属性と
参照関係をもつレコードをオブジェクトという。
【0018】図1は、本発明のシステム構成図を示す。
図において、101は、ユーザなど外部からのオブジェ
クトの検索要求に対し、検索対象や検索条件を抽出し、
インデクスやオブジェクトをアクセスすることにより、
検索結果を生成するオブジェクト検索部、102は、オ
ブジェクト識別子を用いて、データベース(DB)10
5からオブジェクトを得るオブジェクトアクセス制御
部、103は、あらかじめ定義されているオブジェクト
間の参照に対し、ユーザによって任意に付けられた参照
関係の名称を管理するオブジェクト参照制御部、104
は、キーやインデクス識別子によってインデクス情報を
得るインデクス管理部、105は、検索対象となるすべ
てのオブジェクトが格納されているデータベース(D
B)、106は、インデクス情報が格納されたインデク
ス格納部である。
【0019】図2は、データベース105の定義例を示
す。本実施例では、人とその人が所属している会社、さ
らに会社が販売している製品との関係が表されている。
すなわち、201は、人の定義であり、文字列(str
ing)型の属性”名前”、202で定義されている会
社型の属性”所属”、文字列型の属性”住所”、整数
(integer)型の属性”年齢”からなる。
【0020】202は、会社の定義であり、文字列型の
属性”名前”、文字列型の属性”所在地”、203で定
義されている製品型の集合属性”販売製品”、整数型の
属性”資本金”からなる。203は、製品の定義であ
り、文字列型の属性”名前”、文字列型の属性”型名”
からなる。204及び205は、製品の中でも特に、ワ
ープロと汎用計算機に特定された部分の定義のみが記述
され、製品として共通の属性は、203の製品の定義を
引き継いでいる。
【0021】すなわち、204の定義には、整数型の属
性”値段”が記述され、205の定義には、整数型の属
性”レンタル料”が記述されている。また、図2の点線
は、オブジェクト間の参照関係を示す。ただし、実際に
は、この定義を満足する全てのオブジェクト間にユーザ
が参照名称を定義している訳ではなく、ある特定のオブ
ジェクト間で定義されている。なお、ここで記述されて
いる参照関係の名称は、図3で後述するオブジェクト間
で存在する参照関係の名称である。
【0022】図3は、図2で定義されたオブジェクトの
実際の情報例を示す。日立太郎は、H社に所属してお
り、H社ではワープロ”ウィズ”と汎用計算機”X77
7”を販売しているとする。301は、人オブジェクト
の例であり、日立太郎についての情報が保持されてい
る。文字列型及び整数型の属性は即値(日立太郎、東京
都××区ΔΔ1−2−3、38)が保持され、会社型の
属性は、会社オブジェクトのオブジェクト識別子(O
2)が保持されている。また、図2の定義には記述され
ていないが、日立太郎の情報を保持する人オブジェクト
のオブジェクト識別子(O1)も保持されている。
【0023】302は、会社オブジェクトの例であり、
H社についての情報が保持されている。人オブジェクト
301と同様に、文字列型及び整数型の属性は即値(H
社、東京都AB区9−8−7、100000000)が
保持されている。また、製品オブジェクトの集合は、各
製品オブジェクトもしくは製品オブジェクトの定義を引
き継いで定義されているワープロオブジェクト及び汎用
計算機オブジェクトのオブジェクト識別子の集合を保持
している。本実施例では、オブジェクト識別子の集合
は、O3、O4と並べて保持されている。また会社オブ
ジェクトのオブジェクト識別子O2が保持されている。
【0024】303と304は、製品オブジェクトの定
義を引き継いでいるワープロオブジェクトと汎用計算機
オブジェクトの例であり、ウィズ及びX777の情報を
保持している。製品オブジェクトの定義を引き継いでい
るので、両者ともに文字列型の属性”名前”と”型名”
の情報を持っている。また、それぞれのオブジェクト識
別子O3、O4が保持されている。
【0025】前述したように、日立太郎の情報を持つ人
オブジェクトと、H社の情報を持つ会社オブジェクトと
の間には、”本社”というユーザ任意の参照関係があ
る。同様に、H社の情報を持つ会社オブジェクトと、ウ
ィズの情報を持つワープロオブジェクトとの間には、”
OA機器”というユーザ任意の参照関係があり、H社の
情報を持つ会社オブジェクトと、X777の情報を持つ
汎用計算機オブジェクトとの間には、”計算機”という
ユーザ任意の参照関係がある。
【0026】〈実施例1〉まず、実施例1として、日立
太郎が所属する会社が販売している製品を検索するため
のインデクス例を説明する。図4は、インデクスの定義
情報を示す。インデクスは、4つのフィールド、すなわ
ちキー定義フィールド(KDF)、インデクス定義フィ
ールド(IDF)、インデクス検索フィールド(IS
F)、インデクスフィールド(IF)からなっている。
【0027】キー定義フィールド(KDF)は、システ
ム全体のキーの定義を保持し、4つの情報(401〜4
04)からなっている。401は、キー値がどのオブジ
ェクトの情報であるかを保持するキー保持オブジェクト
種別であり、0のとき、検索対象オブジェクトそのもの
の情報、Nのとき、検索対象から参照関係をN回辿った
先のオブジェクトの情報であることを示す。402は、
キー値がオブジェクト識別子か属性値かを示すキー種別
であり、0のときオブジェクトそのもののオブジェクト
識別子、1のとき属性値、2のときオブジェクトが保持
する参照関係を持つオブジェクトのオブジェクト識別子
であることを示す。
【0028】403は、キー種別402が、1または2
の時、オブジェクト定義(スキーマ)でどのように参照
されるかの記述を保持し、人オブジェクトの属性”名
前”なら、人.名前という記述が保持される。404
は、このインデクスを使用して得られるオブジェクトの
情報がスキーマでどのように参照されるかの記述を保持
する。
【0029】インデクス定義フィールド(IDF)は、
インデクスフィールド(IF)が保持するインデクス情
報の定義を保持し、4つの情報の集合からなる。すなわ
ち、405は、本フィールドとIFのフィールドの対応
付けを行うインデクス識別子、406は、IFが保持し
てる情報がどのオブジェクトの情報であるかを保持する
保持情報オブジェクト種別であり、前述したキー定義フ
ィールド(KDF)401と同様の値を持つ。407
は、保持情報が属性値かオブジェクト識別子かインデク
ス識別子かを示す情報種別であり、0のとき属性値、1
のとき参照関係のあるオブジェクトのオブジェクト識別
子、2のときインデクス識別子である。408は、保持
情報がスキーマでどのように参照されるかの記述を保持
している。
【0030】インデクス検索フィールド(ISF)は、
キー値に対応するインデクスを保持し、2つの情報の集
合からなる。つまり、キー値409とそれに対応するイ
ンデクスのインデクス識別子の集合410である。
【0031】インデクスフィールド(IF)は、本フィ
ールドを一意にし、IDFの405で保持されているイ
ンデクス識別子と同じインデクス識別子411、キー値
412、そして、インデクス識別子411と同じインデ
クス識別子を持つIDFの定義に対応するインデクス情
報群413を保持している。
【0032】図5は、図4の定義に従ったインデクスの
具体例を示す。本実施例では、キー値を、検索対象オブ
ジェクト、つまり人オブジェクトのオブジェクト識別子
とする。またインデクスが保持する情報として、本実施
例における検索で必要な情報である、人オブジェクトの
属性”名前”(KDF501の5014)、人オブジェ
クトの属性”所属”で参照される会社オブジェクトの属
性”販売製品”(KDF501の5016)の他に、そ
の検索経路(パス)で生成される人オブジェクトの属
性”所属”(KDF501の5015)と会社オブジェ
クトの属性”販売製品”(KDF502)も保持され、
人オブジェクトはKDF501に、会社オブジェクトは
502にそれぞれ保持されている。
【0033】また、KDF501において、5011の
内容である「0」は、図4のキー保持オブジェクト種別
401であり、5012の内容である「0」は、図4の
キー種別402であり、図4のスキーマ定義情報403
に相当する5013には情報が保持されず、図4の取得
情報スキーマ定義群404に相当する5014から50
16には、前述した情報が保持される。KDF502に
ついても同様である。
【0034】ISF503は、キー値である人オブジェ
クトのオブジェクト識別子(O1)とそのインデクスの
インデクス識別子(I1)だけでなく、検索パスで生成
されるインデクス、つまり、会社オブジェクトのオブジ
ェクト識別子(O2)とそのインデクスのインデクス識
別子(I2)も保持されている。ただし、本実施例では
会社オブジェクトのオブジェクト識別子をキー値としな
いので、この情報は使用されない。
【0035】IDF504及び505は、IF506及
び507の定義情報であり、IDF504は、人オブジ
ェクトの属性”名前”、人オブジェクトの属性”所
属”、人オブジェクトの属性”所属”で参照される会社
オブジェクトの属性”販売製品”を保持する。IDF5
05は、会社オブジェクトの属性”販売製品”を保持す
る。また、IDF504において、5040のI1はイ
ンデクス識別子であり、5041の「0」は、保持情報
オブジェクト識別子であり、5042の「0」は、情報
種別であり、5043の人.名前は、スキーマ定義情報
である。
【0036】また、5045の「1」は、情報種別が関
連オブジェクト識別子(具体的にはO2)であることを
表し、5047の「1」は、検索対象から参照関係を1
回辿った先のオブジェクトの情報であることを表し、5
048の「2」は、インデクス識別子(具体的にはI
2)であることを表している。そして、5041から5
043で第1のIDFが構成され、5044から504
6で第2のIDFが構成され、5047から5049で
第3のIDFが構成されている。
【0037】IF506は、インデクスフィールドであ
り、インデクス識別子にはI1が保持され、キー値には
O1が保持され、IDFの定義に対応するインデクス
「日立太郎」、O2、I2が保持されている。
【0038】つまり、IF506で求めたい値は、日立
太郎、O2、I2となり、これら各々の値がキー値O1
の何に相当するかがIDFに定義されている。例えば、
IF506の“日立太郎”は、IDF504の5401
から5403に相当し、それぞれ、対象そのもの、つま
りキー値であるオブジェクトO1がもつ値(0)であ
り、キー値であるオブジェクトO1がもつ属性値(0)
であり、スキーマ定義では、“人.名前”で参照できる
ことを示している。
【0039】同様に、IF506のO2は、IDF50
4の5404から5406に相当し、「0」、「1」、
「人.所属」で、それぞれ「対象そのもの、つまりキー
値であるオブジェクトO1が持つ値」、「キー値である
オブジェクトO1が参照しているオブジェクトのオブジ
ェクト識別子」、「“人.所属”で参照できる」ことを
示し、IF506のI2は、IDF504の5407か
ら5409に相当し、「1」、「2」、「“人.所属.
販売製品”」で、それぞれ「対象から1回参照を辿った
先のオブジェクトが保持する値」、「インデクス識別
子」、「“人.所属.販売製品”で参照できる(これ
は、人オブジェクトからみれば、属性“所属”で参照さ
れるオブジェクトが保持する属性“販売製品”で参照で
きることを意味している)」ことを表している。
【0040】また、IF507には、インデクス識別子
I2、キー値O2、ワープロオブジェクト識別子O3、
汎用計算機オブジェクトのオブジェクト識別子O4が保
持されていて、O3、O4は、IDF505の「0」、
「1」、「会社.販売製品」に相当している。
【0041】このように、1つのオブジェクト(例え
ば、人オブジェクト)に複数のインデクスを付けること
ができ、その各々のインデクスの値がIFに保持され、
その値がどのように参照されるかがIDFに保持されて
いる。
【0042】なお、本実施例では、会社オブジェクトの
インデクス情報507のインデクス識別子(I2)を保
持して間接的に、ワープロオブジェクト識別子O3と汎
用計算機オブジェクトのオブジェクト識別子O4を参照
しているが、フィールド506のI2をO3,O4に置
き換えて、IF506で直接、O3,O4を保持するよ
うにしてもよい。
【0043】図6、図7は、人オブジェクトのオブジェ
クト識別子をキー値(O1)として与え、検索結果対象
である会社オブジェクトの属性”販売製品”が保持する
オブジェクトのオブジェクト識別子(O3,O4)を得
るための処理フローチャートである。以下、図5の例を
用いて、本実施例の動作を説明する。
【0044】ステップ601において、オブジェクト検
索部101は、必要な情報をスキーマから得る。ここで
は、例として与えられる検索経路(パス)”人.所属.
販売製品”をpath Nameとする。すなわち、検
索経路(パス)とは、この例では、人オブジェクトO1
からオブジェクトO3、O4を求めるとき、どのように
参照すると求めたいデータ(オブジェクト)を得ること
ができるかを定義情報の名称で表したもので、本実施例
では、“人”が“所属”する会社が売る“販売製品”で
参照できるので、”人.所属.販売製品”が検索パス名
としてpathNameに代入される。
【0045】そして、検索対象オブジェクト(O1)か
ら検索結果オブジェクト(O3,O4)を得る間に、参
照している全てのオブジェクトの数を得るnumOfP
ath関数を発行し、hsizeへ代入する。この例の
場合では、会社オブジェクト(O2)を1つ参照するの
で、hsizeへ1が代入される。
【0046】次のpathParse関数では、指定検
索パス(この場合、”人.所属.販売製品”)を利用し
て、検索対象オブジェクト(O1)から検索結果オブジ
ェクト(O3,O4)を見つけるために、参照している
全てのオブジェクト(この場合、“人.所属”で指され
るオブジェクトO2だけ)からの全ての検索パス(つま
り、O2は会社オブジェクトなので、“会社.販売製
品”だけ)を取り出してpath[1]に設定する。p
ath[0]に指定検索パス(この場合、”人.所属.
販売製品”)を設定する。なお、hsizeが2以上で
ある場合、この処理をループして行う必要があるがここ
では省略した。
【0047】このステップの最後に、keyKind関
数で、パス名で指定されて取り出されるIFの中の値
(この処理で求めているオブジェクトO3,O4に相当
するので、関連オブジェクト識別子を表すコード1)が
返る。
【0048】ステップ602では、検索パス”人.所
属.販売製品”を保持するインデクスのKDFを得るた
めの関数KDFxを呼び(つまり、インデクス管理部1
04はインデクス格納部106を参照して)、戻り値を
KDFへ代入する。これにより、”人.所属.販売製
品”のパスを保持しているKDF501が得られる。ス
テップ603において、もし、KDFがNULLであっ
たときは、ステップ604でインデクスが存在しないの
で、インデクスによる検索は失敗となり、インデクス管
理部104は、オブジェクト検索部101にNULLを
返して終了する。
【0049】ステップ605からステップ609で、配
列h[0,0]=1、h[0,1]=2、h[0,2]
=path[0]=”人.所属.販売製品”が設定さ
れ、h[1,0]=0、h[1,1]=1、h[1,
2]=path[1]=”会社.販売製品”が設定され
る。
【0050】ステップ610では、キー値に対応するI
DFとIFを得る関数ISFxを発行し、インデクス管
理部104はインデクス格納部106を参照して、キー
値(O1)に対応するIDF(504)とIF(50
6)を得て、それぞれをIDFとIFに代入する。ステ
ップ611で、ループカウンタを設定する。ステップ6
12で、ステップ612からステップ621の処理ルー
プが2回動く。
【0051】オブジェクト検索部101は、1回目のル
ープで、IF504の値に対するIDF504の定義
[0,0,“人.名前”]、[0,1,“人.所
属”]、[1,2,“人.所属.販売製品”]を順にサ
ーチして、h[0,x]と一致する定義を検索する。す
なわち、ステップ616では、IDF[j](j=1、
つまりIDF504の5041であり“0”)とh
[0,0](=0)を比較し(一致するので、ステップ
622へ)、ステップ617では、IDF[j+1]
(j+1=2、つまりIDF504の5042であり
“0”)とh[0,1](=2)を比較し(一致しない
ので、ステップ622へ)、ステップ618では、ID
F[j+1](=0)と2とを比較し(一致しない)、
ステップ619では、IDF[j+2](j+2=3、
つまり“人.名前”)とh[0,2](=人.所属.販
売製品”)とを比較する(不一致)。
【0052】ステップ616からステップ619におけ
る、IDF504(j=4)の定義[0,0,“人.名
前”]とh[0,x]との比較は一致しないので、再
び、ステップ616からステップ619で、次のIDF
504の定義[0,1,“人.所属”]とh[0,x]
との比較を同様に行い、これも一致せず、再び、ステッ
プ616からステップ619で、IDF504(j=
7)の定義[1,2,“人.所属.販売製品”]とh
[0,x]との比較を行い、一致するので、ステップ6
20で新しいIDFとIFを設定する。
【0053】この場合、インデクス識別子I2が取り出
されるので、それに対応したIDF505とIF507
が取り出される。2回目のループ(ステップ616から
622)で、IDF505の定義[0,1,“会社.販
売製品”]とh[1,x]が比較され、一致するので、
ステップ613で、IDF505の“会社.販売製品”
に対応するIF507のインデクスO3,O4が返り、
処理が終了する。
【0054】そして、オブジェクト検索部101は、オ
ブジェクト識別子O3,O4を用いて、DB105を参
照して該当するオブジェクトを得る。ステップ614で
IDFの情報をすべて調べても配列hに一致する情報が
見つからなかったら、インデクス格納部106に対象の
情報が保持されていないので、ステップ615で発見で
きなかった旨を返して終了する。
【0055】〈実施例2〉次に、あるオブジェクトとあ
る関係名称で関係づけられたオブジェクトを捜す第2の
実施例を説明する。なお、この実施例においても、実施
例1と同じDB105を使用する。従って、定義例とデ
ータ例は、図2と図3を用いる。また、本実施例では、
オブジェクト間の参照関係を関連と呼び、ユーザが任意
に付けた参照関係の名称を関連名称と呼ぶことにする。
【0056】図8は、オブジェクト間の関連及び関連名
称を保持するインデクスの定義例を示す。前述した実施
例1と同様に4つのフィールドからなる。図8におい
て、ISFは、前述した図4の409、410と同じで
あるので省略し、関連検索のキーを定義する関連インデ
クスキー定義フィールド(RKDF)と、関連を保持す
るインデクス関連情報フィールド(IRF)の2つのフ
ィールドを示す。
【0057】関連インデクスキー定義フィールド(RK
DF)は、図4のKDFと同じ機能を有し、キー保持オ
ブジェクト種別701は図4の401に対応し、キー種
別702は図4の402に対応し、スキーマ定義情報7
03は図4の403に対応している。
【0058】インデクス関連情報フィールド(IRF)
は、インデクスを一意にするインデクス識別子704、
オブジェクト間のユーザ任意の名称である関連名称70
5、インデクス識別子群706、関連元のオブジェクト
識別子707、関連先のオブジェクト識別子708を保
持する。
【0059】図9は、インデクスの情報例を示す。RK
DF801において、キー値は、検索対象オブジェクト
のオブジェクト識別子であることを示している。IRF
802において、オブジェクトが持つ関連名称(本社、
OA機器、計算機)及びその関連元と関連先のオブジェ
クトのオブジェクト識別子(O1とO2,O2とO3,
O2とO4)を持たせている。ISF803において、
キー値と、そのキー値を持つオブジェクトが保持する関
連のインデクス情報とを対応づけている。1つのキー値
で複数の関連を持つことも可能である。
【0060】図10は、日立太郎の情報を持つ人オブジ
ェクトと、”本社”という関連名称を持つオブジェクト
を捜す処理フローチャートである。キー値keyとし
て、オブジェクト識別子O1、relationNam
eとして、”本社”が与えられている。
【0061】ステップ901では、キー値に一致したI
SFを得て、それが保持するインデクスのインデクス識
別子の集合を返す関数ISFxを呼ぶ。この例では、キ
ー値O1に一致するインデクスのインデクス識別子はI
1である。従って、idx[0]=I1となる。ステッ
プ902でカウンタの初期設定を行う。
【0062】ステップ903において、もし配列idx
が空になったら、ステップ904で一致する関連が存在
しないということでNULLを返して終了する。ステッ
プ905では、インデクス識別子に一致したIRFを得
る関数IRFxを実行する。ステップ906では、IR
Fが保持する関連名称とrelationNameを比
較して、違うならステップ907でカウンタを増やして
次のインデクスを調べる。一致すると、ステップ908
で関連元及び関連先オブジェクトのオブジェクト識別子
O1,O2を配列pairに設定し、ステップ909で
配列pairを返して終了する。
【0063】
【発明の効果】以上、説明したように、請求項1記載の
発明によれば、複雑な参照関係を持つオブジェクトに対
して、オブジェクトをアクセスするためのインデクスに
オブジェクト自身の情報だけではなく、参照関係のある
オブジェクト情報を保持しているので、オブジェクト本
体をアクセスすることなく、オブジェクト間の参照関係
を持つオブジェクトに対してアクセスすることができ、
オブジェクト間の参照関係を辿る処理を多く行う場合で
あっても、高速なアクセスが可能となる。
【0064】請求項2記載の発明によれば、インデクス
情報にインデクス識別子を持たせているので、存在する
インデクス情報を間接的にインデクス内で参照すること
ができ、インデクス情報の重複がなくなり、ディスクな
どのハードウェア資源が有効に活用される。
【0065】請求項3記載の発明によれば、参照関係に
名称を付与し、その名称で検索するためのインデクスを
設けているので、定義と独立な関連名称を命名すること
ができ、あるオブジェクトと関連名称を持つオブジェク
トの検索が可能となり、この結果、より柔軟な検索手法
を実現することができる。
【図面の簡単な説明】
【図1】本発明のシステム構成図を示す。
【図2】データベースの定義例を示す。
【図3】図2で定義されたオブジェクトの実際の情報例
を示す。
【図4】実施例1のインデクスの定義を示す。
【図5】図4の定義に従ったインデクスの具体例を示
す。
【図6】実施例1のオブジェクト検索処理フローチャー
トである。
【図7】図6の続きの処理フローチャートである。
【図8】実施例2のインデクス定義を示す。
【図9】実施例2のインデクスの具体例を示す。
【図10】実施例2のオブジェクト検索処理フローチャ
ートである。
【符号の説明】
101 オブジェクト検索部 102 オブジェクトアクセス制御部 103 オブジェクト参照制御部 104 インデクス管理部 105 データベース 106 インデクス格納部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクト識別子で一意に識別され、
    オブジェクト属性と、該オブジェクトと参照関係にある
    オブジェクトのオブジェクト識別子とを保持したオブジ
    ェクトを管理するオブジェクト管理方式において、オブ
    ジェクト識別子をキーとしたインデクスであって、該イ
    ンデクスは該キーと一致した第1のオブジェクトの属性
    と、該第1のオブジェクトと参照関係にある第2のオブ
    ジェクトのオブジェクト識別子を保持していることを特
    徴とするオブジェクト管理方式。
  2. 【請求項2】 前記インデクスは、該インデクスが保持
    する情報を識別するインデクス識別子と、前記参照関係
    にあるオブジェクトに関するインデクスのインデクス識
    別子を保持していることを特徴とする請求項1記載のオ
    ブジェクト管理方式。
  3. 【請求項3】 前記インデクスは、前記参照関係に所定
    の名称を付与して保持し、前記第1のオブジェクトから
    該参照関係名称で関係づけられたオブジェクトの集合を
    得ることを特徴とする請求項1記載のオブジェクト管理
    方式。
JP5180153A 1993-07-21 1993-07-21 オブジェクト管理方式 Pending JPH0736756A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5180153A JPH0736756A (ja) 1993-07-21 1993-07-21 オブジェクト管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5180153A JPH0736756A (ja) 1993-07-21 1993-07-21 オブジェクト管理方式

Publications (1)

Publication Number Publication Date
JPH0736756A true JPH0736756A (ja) 1995-02-07

Family

ID=16078328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5180153A Pending JPH0736756A (ja) 1993-07-21 1993-07-21 オブジェクト管理方式

Country Status (1)

Country Link
JP (1) JPH0736756A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09106368A (ja) * 1995-10-12 1997-04-22 Hitachi Ltd データベース管理システム
US5999978A (en) * 1997-10-31 1999-12-07 Sun Microsystems, Inc. Distributed system and method for controlling access to network resources and event notifications
JP2001056810A (ja) * 1999-06-07 2001-02-27 Kawasaki Steel Systems R & D Corp データベースアクセスシステム
JP2002259181A (ja) * 2001-03-02 2002-09-13 Jisedai Joho Hoso System Kenkyusho:Kk オブジェクトの内容構造管理方法、オブジェクトの内容構造表示方法、オブジェクトの内容構造編集方法およびその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US8465940B2 (en) 2006-12-14 2013-06-18 Nippon Kayaku Kabushiki Kaisha Method for electrochemically measuring 1,5-anhydroglucitol in whole blood
JP2016534456A (ja) * 2013-08-29 2016-11-04 華為技術有限公司Huawei Technologies Co.,Ltd. データを記憶する方法及び装置
JP2018026158A (ja) * 2017-10-05 2018-02-15 華為技術有限公司Huawei Technologies Co.,Ltd. データを記憶する方法及び装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09106368A (ja) * 1995-10-12 1997-04-22 Hitachi Ltd データベース管理システム
US5999978A (en) * 1997-10-31 1999-12-07 Sun Microsystems, Inc. Distributed system and method for controlling access to network resources and event notifications
JP2001056810A (ja) * 1999-06-07 2001-02-27 Kawasaki Steel Systems R & D Corp データベースアクセスシステム
JP2002259181A (ja) * 2001-03-02 2002-09-13 Jisedai Joho Hoso System Kenkyusho:Kk オブジェクトの内容構造管理方法、オブジェクトの内容構造表示方法、オブジェクトの内容構造編集方法およびその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US8465940B2 (en) 2006-12-14 2013-06-18 Nippon Kayaku Kabushiki Kaisha Method for electrochemically measuring 1,5-anhydroglucitol in whole blood
JP2016534456A (ja) * 2013-08-29 2016-11-04 華為技術有限公司Huawei Technologies Co.,Ltd. データを記憶する方法及び装置
US10331642B2 (en) 2013-08-29 2019-06-25 Huawei Technologies Co., Ltd. Data storage method and apparatus
JP2018026158A (ja) * 2017-10-05 2018-02-15 華為技術有限公司Huawei Technologies Co.,Ltd. データを記憶する方法及び装置

Similar Documents

Publication Publication Date Title
US8949455B2 (en) Path-caching mechanism to improve performance of path-related operations in a repository
US6980976B2 (en) Combined database index of unstructured and structured columns
US6772172B2 (en) Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database
JP5373846B2 (ja) リレーショナルシステムにおける階層的に編成された情報にアクセスするための階層的インデックス付け
US6035303A (en) Object management system for digital libraries
US7734657B2 (en) Containment hierarchy in a database system
US7409401B2 (en) Method and system for supporting multivalue attributes in a database system
US7047253B1 (en) Mechanisms for storing content and properties of hierarchically organized resources
US6484181B2 (en) Method and system for handling foreign key update in an object-oriented database environment
US8103658B2 (en) Index backbone join
JP3914662B2 (ja) データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体
US20040015486A1 (en) System and method for storing and retrieving data
US7613715B2 (en) Map and data location provider
WO2018097846A1 (en) Edge store designs for graph databases
US20200073863A1 (en) System and method for facilitating efficient indexing in a database system
US20060136439A1 (en) Method and system for modifying schema definitions
Zhou et al. Top-down XML keyword query processing
US7627547B2 (en) Processing path-based database operations
JPH0736756A (ja) オブジェクト管理方式
US20060230020A1 (en) Improving Efficiency in processing queries directed to static data sets
US20050102276A1 (en) Method and apparatus for case insensitive searching of ralational databases
US20100205197A1 (en) Two-valued logic database management system with support for missing information
US9569507B2 (en) Virtual directory server to process directory requests when information on an object is split across multiple data sources
JPH0644309A (ja) データベース管理方式
Tang et al. Top-Down XML Keyword Query Processing