JP2003150642A - 情報管理装置 - Google Patents

情報管理装置

Info

Publication number
JP2003150642A
JP2003150642A JP2001349326A JP2001349326A JP2003150642A JP 2003150642 A JP2003150642 A JP 2003150642A JP 2001349326 A JP2001349326 A JP 2001349326A JP 2001349326 A JP2001349326 A JP 2001349326A JP 2003150642 A JP2003150642 A JP 2003150642A
Authority
JP
Japan
Prior art keywords
data
index
information
unit
storage unit
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
JP2001349326A
Other languages
English (en)
Other versions
JP3662533B2 (ja
Inventor
Masahiko Shimoda
雅彦 下田
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.)
RIOSU CORP KK
Original Assignee
RIOSU CORP KK
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 RIOSU CORP KK filed Critical RIOSU CORP KK
Priority to JP2001349326A priority Critical patent/JP3662533B2/ja
Publication of JP2003150642A publication Critical patent/JP2003150642A/ja
Application granted granted Critical
Publication of JP3662533B2 publication Critical patent/JP3662533B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 各テーブルに共通したインデックス付け
を、単一のオブジェクト指定により可能ならしめる情報
管理装置を提供する。 【解決手段】階層構造データを、その各構成データが記
憶されている記憶位置を含むデータ特定データに関連付
けて記憶するデータ記憶手段と、これからインデックス
付けを行う子孫データに対する先祖データのデータ特定
データたる先祖特定データと、該先祖特定データにより
特定される先祖データから該インデックス付けを行う子
孫データの親データまでの階層差と、を受け付けるイン
デックス定義情報受付手段と、該先祖特定データに従っ
て該先祖データを該データ記憶手段において特定し、該
受け付けられた階層差が0でなければ該特定された先祖
データから該階層差の分の下位の子孫データまで該子特
定データに従って辿り該下位の子孫データの子データの
少なくとも一部の内容にインデックス付けを行う、イン
デックス付け手段と、を備えてなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報管理装置に関
し、より詳細には、先祖データから下位に位置する子孫
データへと辿ることができるよう親データにその子デー
タを特定する子特定データが関係付けられた階層構造デ
ータにインデックス付けを行う情報管理装置に関する。
【0002】
【従来の技術】データベースの検索を高速に行うため、
キーになる項目にインデックス付けを行うことが従来か
ら行われている。図15は、インデックス付けの一例を
概念的に示すもので、いわゆるB−Tree(厳密に
は、昔のB-Treeが改良されたものでB+-Treeと呼ばれる
こともある。)と呼ばれるツリー構造のインデックスを
示している。ここでは社員番号1012番から9890
番までの社員に関する情報(例えば、氏名及び入社年月
日)を記憶したデータベースの社員番号をキーとしてイ
ンデックス付けを行ったもののインデックスを概念的に
示している。この図中の「PNO」とは、データベース
を記憶した記憶領域を所定の固定サイズのブロックに分
割したそれぞれのブロックに付された番号であり、これ
をページ番号という。また、図中の「OID」(オブジ
ェクトIDの略)とは、システムの使用者が操作(例え
ば、挿入、削除、更新等)することができる記憶領域内
における最小単位のデータたるオブジェクトが記録され
ている記憶領域内のページのページ番号と、該ページに
おいて該オブジェクトが記録されている順番(最初のも
のには「0」が付される。)と、によって構成され、例
えば、ページ番号が27ページであり該当するオブジェ
クトが27ページの中で4番目に記録されている場合で
あればオブジェクトID(27,3)(順番は最初のも
のに「0」を付与するので、4番目のものには「3」が
付与される。)になる。
【0003】図15中、最も下のレベルがツリーの
「葉」と呼ばれるもので、その中には複数のエントリが
記録されている。ここではエントリは、インデックスの
キーである社員番号の値(例えば、1012、112
0、1183・・・・、1915、1920、2018
・・・・、8450、8680、8730・・・・、9
890)と、それぞれの社員番号の値(インデックスの
キーの値)を持っているオブジェクトのOID(オブジ
ェクトID)と、を有している。また、葉の中のエント
リは、キーの値によってソートされている。エントリが
多くて1つの葉に収まらない場合は新しい葉が作られ、
図15中、左の葉の中のエントリのキー値が右の葉のも
のより小さくなるように分配される。この時、1つ上の
レベルに作成された「節」に、左の葉のキーの最大値よ
りも大きく右の葉のキーの最小値以下である境界値と、
左右の葉に対応するページ番号と、が記録される(ツリ
ーの1つの節または葉は、データベースの1つのページ
に対応する。)。葉の数が増え、1つ上のレベルの節に
境界値、ページ番号が収まらなくなった時は、同じレベ
ルに新しい節が作られる。このとき、さらに1つ上のレ
ベルに節が作られ、境界値と左右の節に対応するページ
番号が記録される。これを繰り返すことで、ツリーのレ
ベルは増えて行く。
【0004】このように形成されたインデックスを使用
して条件検索を行う時は、ツリーの最も上のレベルの節
(この最も上のレベルの節に対応する(該節を記録して
いる)ページをインデックスルートページまたはルート
ページという。)から、検索する条件値と各節に記録さ
れているキーの値とを大小比較しながらツリーを下方向
に辿り、条件を満たす葉の中のエントリを探し出す。そ
して条件を満たすエントリを見つければ、その中にはキ
ー値を実際に持っているオブジェクトのOID(オブジ
ェクトID)が記録されているので、そのOID(オブ
ジェクトID)が示すオブジェクトを取り出すことで検
索条件を満たすオブジェクトを取り出すことができる。
このようにインデックスを使用して条件検索を行う場
合、インデックスがないときであれば必要となる、条件
値と全てのオブジェクトが有する値との比較を行う必要
がないので、高速に条件検索を行うことができる。
【0005】図16に、このようにインデックス付け
(図15に示すようなインデックスを形成すること)が
されたデータベースを概念的に示した。図16は、中央
部分のデータベースサーバよりも上方に利用者にとって
のデータ構造(例えば、コンピュータの画面に表示され
るデータ)を示し、データベースサーバよりも下方にデ
ータベースファイルの内部構造を示した。ここではある
会社の社員それぞれについて、社員番号と氏名と入社年
月日とを記憶したデータベースが構築されており、利用
者は、その内容を図16のデータベースサーバよりも上
方に示すような表(社員テーブル)の形式で出力させ利
用することができるようになっている。データベースフ
ァイルの内部構造においては、まず、データベースの記
憶領域が所定の固定サイズのブロックに分割され、その
分割された各ブロックをページと呼び、各ページには
0、1、・・・、30、31、32、33、34、・・
・のようにページ番号が付されている。そして、ページ
番号30(ページ30)には、「社員テーブル」という
名称に加え、その社員テーブルに収容されるデータ(具
体的には、各社員の社員番号、氏名、入社年月日)が記
憶されているページ番号である32、33が記憶されて
いる。加えて、ページ32及びページ33には、各社員
の具体的データ(社員番号、氏名、入社年月日)が1の
オブジェクトを構成して記憶されている。また、ページ
34等には、図15に示したようなインデックスが記憶
されており、該インデックスのキーに関して検索をする
場合には、前述したように、インデックスルートページ
に記憶されているツリーの最も上のレベルの節から、検
索する条件値と各節に記録されているキーの値とを大小
比較しながらツリーを下方向に辿り、条件を満たす葉の
中のエントリを探し出し、そして条件を満たすエントリ
が有するOID(オブジェクトID)が示すオブジェク
トを取り出すことで検索を行う。
【0006】ところで、図16に示したデータベース
に、各社員が所属する部署名を併記すると図17(a)
のようになる。しかしこのとき、部署名や部署番号を変
更するような場合には変更に係る社員それぞれの欄を変
更する必要があることや、ある部署(例えば、総務部)
に属する社員の情報を取り出したいような場合には図1
7(a)の部署番号または部署名の項目をキーとしてイ
ンデックス付けを行う必要があること等から、多くの場
合、図17(b)のようなテーブルを作成することが行
われている。
【0007】
【発明が解決しようとする課題】ここで図17(b)の
ようなテーブルを作成した場合、社員全員の中から所定
の入社日の者の情報を取り出したい場合には、入社日を
キーとしてインデックス付けを行わなければならない。
しかしながら、インデックス付けを行う従来の情報管理
装置では、インデックス付けを行うオブジェクトの指定
は、インデックス付けのキーとなる項目を持つオブジェ
クトが直接格納された1のテーブルに属するオブジェク
ト全部といった指定ができるものしかなかった。従っ
て、図17(b)のテーブルは、図18に示すように3
の社員テーブル((総務部)社員テーブル、(営業部)
社員テーブル、(製造部)社員テーブル)を格納してな
るから、該3の社員テーブルそれぞれに属するオブジェ
クトにインデックス付け(図18に示すように、総務部
社員入社日インデックス、営業部社員入社日インデック
ス、製造部社員入社日インデックス)を行う必要がある
(前記したように、インデックス付けのキーとなる項目
たる入社日を持つオブジェクトが直接格納されたテーブ
ルは、ここでは(総務部)社員テーブル、(営業部)社
員テーブル、(製造部)社員テーブルである。)。
【0008】このように各テーブルそれぞれに属するオ
ブジェクトにインデックス付けを行うことは、インデッ
クス付けを行うオブジェクトの指定を煩雑にし(実際の
情報管理装置に見られるように複雑な情報を管理する場
合、多数のテーブルが存することから、かかる指定はた
いへん煩雑になる。)、該指定を誤ることもある。そし
て、全体について検索する場合には、付された各インデ
ックスの全てを検索する必要があることから、検索時間
を増加させる問題もあった。そこで、本発明では、各テ
ーブルに共通したインデックス付けを、単一のオブジェ
クト指定により可能ならしめる情報管理装置を提供する
ことを目的とする。
【0009】
【課題を解決するための手段】本発明の情報管理装置
(以下、「本装置」という。)は、先祖データから下位
に位置する子孫データへと辿ることができるよう親デー
タにその子データを特定する子特定データが関係付けら
れた階層構造データにインデックス付けを行う情報管理
装置であって、該階層構造データを、その各構成データ
が記憶されている記憶位置を含むデータ特定データに関
連付けて記憶するデータ記憶手段と、これからインデッ
クス付けを行う子孫データに対する先祖データのデータ
特定データたる先祖特定データと、該先祖特定データに
より特定される先祖データから該インデックス付けを行
う子孫データの親データまでの階層差と、を受け付ける
インデックス定義情報受付手段と、該先祖特定データに
従って該先祖データを該データ記憶手段において特定
し、該受け付けられた階層差が0でなければ該特定され
た先祖データから該階層差の分の下位の子孫データまで
該子特定データに従って辿り該下位の子孫データの子デ
ータの少なくとも一部の内容にインデックス付けを行
う、インデックス付け手段と、を備えてなる、情報管理
装置である。なお、「階層構造」とは、全てのデータが
包含関係により関係付けられている構造である。また、
包含関係における含む側を親、含まれる側を子とした時
に、親、親の親、さらにその親など親を辿ることだけで
たどり着くことのできる関係を「先祖」、そして、子、
子の子、さらにその子など、子を辿ることだけで辿り着
くことのできる関係を「子孫」と呼ぶ。そして「階層
差」とは、階層構造データにおける含む側と含まれる
側、即ち親と子の間に1生じると考えられる、データ間
の関係を表す相対的な数値である。
【0010】こうすることで、インデックス定義情報受
付手段が、これからインデックス付けを行う子孫データ
に対する先祖データのデータ特定データたる先祖特定デ
ータ(該先祖データがデータ記憶手段において記憶され
ている記憶位置を含む。)と、該先祖特定データにより
特定される先祖データから該インデックス付けを行う子
孫データの親データまでの階層差と、を受け付ける。そ
して、インデックス付け手段が、該先祖特定データに従
って該先祖データを該データ記憶手段において特定し
(データ記憶手段は、該階層構造データを、その各構成
データが記憶されている記憶位置を含むデータ特定デー
タに関連付けて記憶しているので、インデックス付け手
段は、記憶位置を含むデータ特定データたる先祖特定デ
ータによって該先祖データを該データ記憶手段において
特定することができる。)、該受け付けられた階層差が
0でなければ該特定された先祖データから該階層差の分
の下位の子孫データまで該子特定データに従って辿り該
下位の子孫データの子データの少なくとも一部の内容に
インデックス付けを行う。従って、ある先祖データが有
する子孫データのうち、指定された階層差の分だけ該先
祖データから下位に位置する子孫データの子データに含
まれる内容にインデックス付けを行うことができる。こ
のためある共通した先祖データを有し、該先祖データか
ら同じ階層差分だけ下位に位置する子孫データの子デー
タに含まれる内容にインデックスを付ける場合では、本
装置によれば、それぞれの子孫データをインデックス付
けのオブジェクトが収容されているとしていちいち指定
する必要がなく、該共通した先祖データとそこからの階
層差とを指定することで全ての子孫データに共通したイ
ンデックス付けを行うことができる。即ち、本装置は、
該共通した先祖データとそこからの階層差とを指定する
という単一のオブジェクト指定により、複数または単数
を問わず該先祖データから該階層差だけ下位の子孫デー
タの子データ全てにインデックス付けを行うことができ
る。
【0011】前記インデックス定義情報受付手段が、前
記少なくとも一部の内容を特定するインデックス対象項
目特定データをさらに受け付け、前記インデックス付け
手段が、該受け付けられたインデックス対象項目特定デ
ータによって特定されるものにインデックス付けを行う
ものであってもよい。本装置がインデックス付けを行う
子孫データは複数の項目を含んでいる場合があり、かか
る場合であれば該子孫データのいずれの項目にインデッ
クス付けを行うかを指定してやる必要がある。そこで、
本装置においては、インデックス定義情報受付手段が、
前記少なくとも一部の内容(インデックス付けを行う項
目)を特定するインデックス対象項目特定データをさら
に受け付け、前記インデックス付け手段が、該受け付け
られたインデックス対象項目特定データによって特定さ
れるものにインデックス付けを行うようにすれば、イン
デックス付けを行う子孫データが複数の項目を含んでい
てもいずれの項目にインデックス付けを行うかを指定
し、円滑にインデックス付けを行うことができる。
【0012】これから生成されるインデックスを特定す
るインデックス特定データを取得するインデックス特定
データ取得手段と、前記インデックス付け手段が、前記
受け付けられた階層差が0であれば前記特定された先祖
データのデータ特定データと階層差が0であることを示
す階層差データと該インデックス特定データ取得手段に
より該取得されたインデックス特定データとを関連付け
てインデックス管理情報として記憶させ、一方、前記受
け付けられた階層差が0でなければ前記特定された先祖
データと前記階層差の分の下位の子孫データとの両デー
タ及び該両データの間に存する中間データの各々のデー
タについて該各々のデータのデータ特定データと、前記
階層差の分の下位の子孫データから該各々のデータまで
の階層差をあらわす階層差データと、該インデックス特
定データ取得手段により該取得されたインデックス特定
データと、を関連付けてインデックス管理情報として記
憶させるインデックス管理情報記憶手段と、を、さらに
備えてなるもの(以下、「インデックス管理情報記憶の
本装置」という。)であってもよい。
【0013】こうすることで前記下位の子孫データの子
データの少なくとも一部の内容にインデックス付けを行
う際(インデックス付けの前後を問わない)にインデッ
クス付け手段が新しく付けられるまたは新しく付けられ
たインデックスの内容をインデックス管理情報としてイ
ンデックス管理情報記憶手段に記憶させることができ
る。ここにインデックス管理情報は、前記受け付けられ
た階層差が0であれば前記特定された先祖データのデー
タ特定データと階層差が0であることを示す階層差デー
タと該インデックス特定データ取得手段により該取得さ
れたインデックス特定データとを関連付けたものであ
り、一方、前記受け付けられた階層差が0でなければ前
記特定された先祖データと前記階層差の分の下位の子孫
データとの両データ及び該両データの間に存する中間デ
ータの各々のデータについて該各々のデータのデータ特
定データと、前記階層差の分の下位の子孫データから該
各々のデータまでの階層差をあらわす階層差データと、
該インデックス特定データ取得手段により該取得された
インデックス特定データと、を関連付けたものである。
このようなインデックス管理情報がインデックス管理情
報記憶手段に記憶されることで、インデックスに管理さ
れた全てのデータに関して、インデックス特定データ取
得手段により該取得されたインデックス特定データ(即
ち、インデックスそれぞれを一義に特定するためのデー
タ)と、そのインデックス特定データによって特定され
るインデックスの管理対象となるデータの前記データ記
憶手段における記憶位置を含むデータ特定データと、そ
のインデックス特定データによって特定されるインデッ
クスの中でインデックスの前記階層差の分の下位の子孫
データ(即ち、該インデックスの最下の階層に位置する
データ)から該各々のデータまでの階層差をあらわす階
層差データと、の情報を得ることができるので、各イン
デックスそれぞれについてどの階層のデータがどこに記
憶されているかを知ることができる。これら各インデッ
クスそれぞれについてどの階層のデータがどこに記憶さ
れているかを知ることで、前記階層構造データにオブジ
ェクトを追加する等のようにインデックスの管理に影響
を与え得ることを行う際にインデックスの管理を変更す
る必要があるか否かそしてその必要がある際に迅速かつ
確実に行うことができる。
【0014】インデックス管理情報記憶の本装置の場
合、前記階層構造データに追加する新規データと、前記
階層構造データにおいて該新規データを子データとして
格納すべき親データのデータ特定データである格納先特
定データと、該新規データがさらに子データを格納する
か否かを示す種別データと、を受け付ける追加情報受付
手段と、該格納先特定データに示される親データの子デ
ータとして該新規データを記憶し、該記憶された新規デ
ータのデータ特定データを追加位置データとして取得す
る新規データ書き込み手段と、該格納先特定データと合
致するデータ特定データを有する前記インデックス管理
情報を前記インデックス管理情報記憶手段から読み出
し、該読み出されたインデックス管理情報に含まれる階
層差データが0か否か判断するインデックス管理判断手
段と、該インデックス管理判断手段によって階層差デー
タが0と判断された場合に該読み出されたインデックス
管理情報に含まれる前記インデックス特定データが示す
インデックスに、該記録した新規データに含まれる少な
くとも一部の内容にインデックス付けするインデックス
挿入手段と、該インデックス管理判断手段によって階層
差データが0でなくかつ該種別データが該新規データが
さらに子データを格納することを示すものであればデー
タ特定データとして該追加位置データと前記階層差デー
タとして該階層差データから1減じたものと該読み出し
た情報に含まれるインデックス特定データとを関連付け
て前記インデックス管理情報として前記インデックス管
理情報記憶手段に記憶させるインデックス管理情報追加
手段と、をさらに備えるものであってもよい。
【0015】こうすることで追加情報受付手段が、前記
階層構造データに追加する新規データと、前記階層構造
データにおいて該新規データを子データとして格納すべ
き親データのデータ特定データである格納先特定データ
と、該新規データがさらに子データを格納するか否かを
示す種別データと、を受け付ける。そして、新規データ
書き込み手段が、該格納先特定データに示される親デー
タの子データとして該新規データを記憶し、該記憶され
た新規データのデータ特定データ(前記データ記憶手段
における新規データの記憶位置を含むデータ)を追加位
置データとして取得する。さらに、インデックス管理判
断手段が、該格納先特定データと合致するデータ特定デ
ータを有する前記インデックス管理情報を前記インデッ
クス管理情報記憶手段から読み出し(該格納先特定デー
タと合致するデータ特定データを有する前記インデック
ス管理情報が前記インデックス管理情報記憶手段に記憶
されていれば、該新規データはインデックス管理の対象
であることがわかる。)、該読み出されたインデックス
管理情報に含まれる階層差データが0か否か判断する。
【0016】そして、該インデックス管理判断手段によ
って階層差データが0と判断された場合(即ち、前記新
規データが、インデックスのキー項目に該当するものと
判断される。)には、インデックス挿入手段が該読み出
されたインデックス管理情報に含まれる前記インデック
ス特定データが示すインデックスに、該記録した新規デ
ータに含まれる少なくとも一部の内容をインデックス付
けする。また、インデックス管理情報追加手段は、該イ
ンデックス管理判断手段によって階層差データが0でな
く(これによりインデックスのキー項目に該当するもの
が該記録した新規データに含まれていないことがわか
る。)かつ該種別データが該新規データがさらに子デー
タを格納することを示すもの(その後、該記録した新規
データに子孫データが付け加えられて、最終的には、該
記録した新規データの子孫データにインデックスのキー
項目に該当するものが含まれる可能性があると判断され
る。なお、このようにさらに子データを格納することが
できるデータをテーブルデータまたはテーブルとい
う。)であれば、データ特定データとして該追加位置デ
ータと前記階層差データとして該階層差データから1減
じたものと該読み出した情報に含まれるインデックス特
定データとを関連付けて前記インデックス管理情報とし
て前記インデックス管理情報記憶手段に記憶させる。こ
のためインデックスのキー項目に該当するものが該記録
した新規データに含まれておらず、かつ該記録した新規
データに、インデックスのキー項目に該当するものが含
まれる可能性がある子孫データが付け加えられる可能性
があるものは、該追加位置データと前記階層差データと
して該階層差データから1減じたもの(該記録した新規
データは、格納した親データの階層の1つ下の階層にな
る。)と該読み出した情報に含まれるインデックス特定
データとを関連付けて前記インデックス管理情報として
前記インデックス管理情報記憶手段に記憶させるので、
どの階層でどこのインデックスに属す可能性があるデー
タがどこに記憶されているかを記憶し、階層構造データ
にオブジェクトを追加する等のようにインデックスの管
理に影響を与え得ることを行う際にインデックスの管理
を変更する必要があるか否かそしてその必要がある際に
迅速かつ確実に行うことができる。
【0017】本装置は、所定のプログラムをコンピュー
タに実行させることで実現させることができ、さらに、
かかるプログラムはコンピュータ読み取り可能な記憶媒
体に記録することができる。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。しかしながら、これらによって本
発明は何ら制限されるものではない。
【0019】図1は、一実施形態の本システム101の
ハードウエア構成を示す概略ブロック図である。図1を
参照して、一実施形態の本システム101のハードウエ
ア構成について説明する。本システム101は、ある会
社の社員情報を管理する情報管理システム(情報管理装
置)であり、他の端末から要求を受けてデータの追加や
検索等を行うデータベースサーバーとして機能する。本
実施形態では、本システム101は、プログラムを内蔵
させたコンピュータとそれに接続されたキーボード11
3、モニタ115及び大容量のハードディスク119と
を含んでなる。本システム101は、演算処理を行うC
PU110a、CPU110aの作業領域等となるRA
M110b、制御プログラム等を記録するROM110
c、情報を入力するためのキーボード113と、情報等
を表示するためのモニタ115と、情報等を記憶するた
めの大容量のハードディスク119と、キーボード11
3、モニタ115及びハードディスク119と情報のや
り取りを行うためのインターフェイス110dと、を有
する。なお、ここでは制御プログラム等はROM110
cに記憶されているが、ハードディスク119に記憶す
るようにしてよいことは言うまでもない。また、ここで
はLAN(Local Area Network)1
17を経由して、本システム101は、他の情報端末か
ら自由にアクセスされることができるようになってい
る。もっとも本システム101が他の情報端末から自由
にアクセスされるために用いる通信回線は、ここで用い
たLAN等に限定されるものではなく、本システム10
1が他の情報端末との間でデータ授受を行うことができ
るものであればいかなるものが用いられてもよく、例え
ば、電話回線やインターネット通信網等のような通信回
線を用いてよいことは言うまでもない。
【0020】図2に、図1のハードウエアと主としてR
OM110cに記録されるプログラムにより実現される
本システム101の機能ブロック図を示す。本システム
101は、機能的には、大まかには要求受信部201と
インデックス定義部301とオブジェクト格納部401
とインデックス検索部501と閲覧部601とデータ記
憶部701とによって構成されている。なお、図1に示
した大容量のハードディスク119がデータ記憶部70
1を構成しており、図1に示したキーボード113及び
モニタ115は図2中示していないが、それぞれ本シス
テム101に情報を入力することや本システム101の
情報を表示することを自由に行うことができるようにな
っている。なお、要求受信部201は、図示しない他の
情報端末から本システム101のいずれの機能を選択す
るかをLAN117を経由して受け付け該選択された機
能を発揮するように本システム101を機能させるもの
であり、具体的には、該選択された機能に従ってインデ
ックス定義部301、オブジェクト格納部401、イン
デックス検索部501及び閲覧部601のいずれかを起
動させる起動信号をこれらに発するものである。そし
て、インデックス定義部301は、データ記憶部701
に記憶され又はこれから記憶されるデータを迅速に検索
するため該記憶されるデータにインデックス付け(イン
デックス作成)をどのように行うかを入力するものであ
る。さらに、オブジェクト格納部401は、新しいデー
タをデータ記憶部701に記憶させるものである。ま
た、インデックス検索部501は、データ記憶部701
に記憶されているデータを検索し出力するものである。
そして、閲覧部601は、図示しない他の情報端末がL
AN117を経由してデータ記憶部701に記憶されて
いるデータを自由に閲覧することができる(これによっ
て、データが記憶されている後述のオブジェクトIDを
知ることができる。)ように該図示しない他の情報端末
とデータ記憶部701との間でデータの授受を行わしめ
るものである。なお、データ記憶部701は、社員情報
等のデータやインデックス付け(インデックス作成)に
関するデータ等を記憶するものである。
【0021】そして、データ記憶部701ではB−Tr
ee又はR−Treeのいずれかの構造を有するインデ
ックス付け(インデックス作成)がなされたデータ構造
を有するデータベースが形成される。なお、B−Tre
e又はR−Treeのいずれかの構造を有するインデッ
クス定義がなされたデータ構造については、既知の技術
(例えば、「B−Tree」については、日経BP社発
行の「日経BPデジタル大辞典2000−2001年
版」693頁に掲載されている。また、「R−Tre
e」については、(1)著者:Antonin Guttman,表題:R-
Trees: A Dynamic Index Structure for Spatial Searc
hing.学会会議名と、その議事録(論文誌)における上
記論文の掲載ページ:Proceedings of the ACM SIGMOD
Conference 1984: pp.47-57、(2)著者:Norbert Beckma
nn, Hans-Peter Kriegel, Ralf Schneider,Bernhard Se
eger,表題:The R*-Tree: An Efficient and Robust A
ccessMethod for Points and Rectangles.学会会議名
と、その議事録(論文誌)における上記論文の掲載ペー
ジ:Proceedings of the ACM SIGMOD Conference 1990:
pp.322-331、(3)著者:Marcel Kornacker, Douglas Ban
ks,表題:High-Concurrency Locking in R-Trees.学会
会議名と、その議事録(論文誌)における上記論文の掲
載ページ:Proceedings of the VLDB Conference 1995:
pp.134-145、等に記載されている。)であるのでここ
では説明を省略する。
【0022】まず、要求受信部201について説明す
る。図3は、要求受信部201を詳細に示した機能ブロ
ック図である。図3を参照して、要求受信部201につ
いて説明する。要求受信部201は、本システム101
のいずれの機能を選択するかを決するものであり、要求
信号受信部203と起動信号送信部205とを含んでい
る。第1に、本システム101が起動された状態におい
て、LAN117を経由して図示しない他の情報端末か
ら本システム101がアクセスされると、それを要求信
号受信部203が認識し、本システム101の起動画面
を表示する信号を該図示しない他の情報端末に要求信号
受信部203は送信する。この起動画面には、「1、イ
ンデックス付け(インデックス作成)」、「2、オブジ
ェクト追加」、「3、検索」、「4、閲覧」の4項目が
表示されるようになっており、該図示しない他の情報端
末の使用者が該図示しない他の情報端末を介して(無
論、LAN117を経由する。)「1」、「2」、
「3」、「4」のいずれかの信号を要求受信部201に
入力することで本システム101の所望の機能を発揮さ
せることができるようになっている。即ち、該図示しな
い他の情報通信端末の使用者が、「1」、「2」、
「3」、「4」のいずれかの信号を入力するとそれを要
求受信部201の要求信号受信部203が受信し、さら
にその受信した信号を要求信号受信部203が(要求受
信部201の)起動信号送信部205へ送信する。かか
る「1」、「2」、「3」、「4」のいずれかの信号を
要求信号受信部203から受信した起動信号送信部20
5は、受信した信号の種類を認識し、それが「1」であ
ればインデックス定義部301(インデックス定義情報
受信部311)に起動信号を発し、それが「2」であれ
ばオブジェクト格納部401(オブジェクト情報受信部
411)に起動信号を発し、それが「3」であればイン
デックス検索部501(検索情報受信部511)に起動
信号を発し、それが「4」であれば閲覧部601に起動
信号を発する。なお、ここでは前記図示しない他の情報
端末の使用者が該図示しない他の情報端末を介して
「1」、「2」、「3」、「4」のいずれかの信号を要
求受信部201に入力することで本システム101の所
望の機能を選択し発揮させるようになっているが、本シ
ステム101がいずれの機能が選択されたかを認識でき
ればいかなる信号が要求受信部201に入力されるもの
であって良いことは言うまでもない。更に、本システム
101は、ここでは本発明に関係する「1、インデック
ス付け(インデックス作成)」、「2、オブジェクト追
加」、「3、検索」、「4、閲覧」の4の機能を有して
いるが、これ以外の機能を有するものであってよいこと
は言うまでもない。
【0023】まず、閲覧部601について説明する。起
動信号送信部205から起動信号を受信した閲覧部60
1は、前記図示しない他の情報端末がLAN117を経
由してデータ記憶部701に記憶されているデータを自
由に閲覧することができるように前記図示しない他の情
報端末とデータ記憶部701との間で自由にデータの授
受を行うことができるようにデータ授受の仲介を行う
(図2を参照されたい)。このように閲覧部601が前
記図示しない他の情報端末にデータ記憶部701の記憶
内容を自由に閲覧させることによって、前記図示しない
他の情報端末の使用者は、データ記憶部701に記憶さ
れている内容とその記憶されている位置を知ることがで
きる。なお、本システム101においては、データ記憶
部701における記憶位置を示す概念として「オブジェ
クトID」を用いる。「オブジェクトID」は、システ
ムの使用者が操作(例えば、挿入、削除、更新等)する
ことができる記憶領域内における最小単位のデータたる
オブジェクトが記録されている記憶領域内のページの番
号(ページ番号)と、該ページにおいて該オブジェクト
が記録されている順番(最初のものには「0」が付され
る。)と、によって構成され、例えば、ページ番号が2
7ページであり該当するオブジェクトが27ページの中
で4番目に記録されている場合であればオブジェクトI
D(27,3)(順番は最初のものに「0」を付与する
ので、4番目のものには「3」が付与される。)にな
る。また、ここにいう「ページ」とは、データ記憶部7
01における記憶領域を、所定の固定サイズのブロック
に分割したそれぞれのブロックをいう。このようなオブ
ジェクトIDを用いることで、記憶領域の先頭に対する
データの記録位置が一義に定まるため、データの入出力
を迅速かつ確実に行うことができる。
【0024】次いで、インデックス定義部301につい
て説明する。図4は、インデックス定義部301の詳細
な機能ブロック図である。図4を参照して、インデック
ス定義部301について説明する。インデックス定義部
301は、機能的には、インデックス定義情報受信部3
11とインデックス番号生成部313とインデックス作
成部315とインデックス情報書き込み部317とイン
デックス管理対象情報書き込み部319とオブジェクト
情報読み出し部321とインデックス情報記憶部323
と階層差記憶部325とオブジェクトID記憶部327
とインデックスへのエントリ挿入部329とを有してな
る。
【0025】まず、ここでは部署を示すテーブル(以
下、「部署テーブル」という。)と、それぞれの部に所
属する社員のテーブル(以下、「社員テーブル」とい
う。)と、がそれぞれデータ記憶部701(データ記憶
手段)における記憶領域の別の位置に既に記憶されてい
るものとする。また、データ記憶部701における記憶
領域には、前記した部署テーブル及び社員テーブルに加
え、いくつかのシステムテーブルが記憶されている。シ
ステムテーブルとは、データベースを管理するための情
報を格納しておくテーブルであり、データベース作成時
にデータベースサーバーが作成し、データベースサーバ
だけが使用するものである。データベースを管理するた
めの情報とは、利用者が作成したテーブル(部署テーブ
ルと社員テーブル)に格納されるオブジェクトのフォー
マット情報や、インデックス情報などデータベースの構
造に関する情報である。システムテーブルの中で本発明
に関係するのは、インデックス自身の情報(インデック
ス名やインデックスデータを記録しているページ番号な
ど)を格納するための「SYS_INDICES」と、
インデックスとその管理対象となるオブジェクトとの関
係情報を格納するための「SYS_INDEXEDOB
JS」の2つだけであるため、その他のシステムテーブ
ルについては説明を省略する。
【0026】データ記憶部701における記憶領域にお
いて、記録されている部署テーブルと社員テーブルとを
模式的に示せば図5のようになる。図5に示されたペー
ジ30には部署テーブルが記録されている。即ち、ペー
ジ30の最初(即ち、オブジェクトID(30,0))
には部署テーブルが記録されており、その記録内容は、
部署テーブルに格納されているオブジェクトが記録され
ているページのページ番号(32)である。そして、ペ
ージ32には、3つの部署に対応して、各部署の情報と
所属する社員の情報を持つ社員テーブルが記録されてい
る。それぞれの記録内容は、部署番号「100」である
「総務部」に所属する社員のデータ(「総務部」の社員
テーブルに格納されているオブジェクト)はページ33に
記録されており、部署番号「200」である「営業部」に
所属する社員のデータ(「営業部」の社員テーブルに格
納されているオブジェクト)はページ35に記録されてお
り、そして部署番号「300」である「製造部」に所属す
る社員のデータ(「製造部」の社員テーブルに格納され
ているオブジェクト)はページ37に記録されていること
を示している。さらに、このページ32の各部署の社員テ
ーブルに対応して、ページ33、35、37にはそれぞれ「総
務部」、「営業部」、「製造部」に所属する社員のデー
タが記録されている。即ち、「総務部」に所属する社員
のデータはページ33に記録されており、具体的に総務部
に所属する社員は、「社員番号:5638、氏名:渡部
一郎、入社日:1982年4月1日」、「社員番号:2
326、氏名:山崎太郎、入社日:1983年4月1
日」及び「社員番号:1892、氏名:上田次郎、入社
日:1990年3月5日」の3人であることがわかる。
同様に、「営業部」に所属する社員のデータはページ35
に記録されており、具体的に営業部に所属する社員は、
「社員番号:2391、氏名:川崎英男、入社日:19
87年7月1日」、「社員番号:7938、氏名:山田
三郎、入社日:1988年8月9日」、「社員番号:5
234、氏名:大田良男、入社日:1990年2月5
日」及び「社員番号:4212、氏名:多原幸男、入社
日:1993年10月5日」の4人であることがわか
る。最後に、「製造部」に所属する社員のデータはペー
ジ37に記録されており、具体的に製造部に所属する社員
は、「社員番号:1039、氏名:石田一子、入社日:
1980年9月1日」及び「社員番号:3929、氏
名:笠原英俊、入社日:1987年4月1日」の2人で
あることがわかる。
【0027】データ記憶部701における記憶領域にお
いて、記録されているシステムテーブル「SYS_IN
DICES」と「SYS_INDEXEDOBJS」と
を模式的に示せば図13のようになる。図13に示され
たページ6には、「SYS_INDICES」と「SY
S_INDEXEDOBJS」が記録されている。ここ
では、他のシステムテーブル(本発明とは直接関係ない
ので説明は省略する。)に続いて、それぞれ7番目、8
番目に記録されているものとする。即ち、ページ6の7
番目(即ち、オブジェクトID(6,6))には「SY
S_INDICES」が記録されており、その記録内容
は、「SYS_INDICES」に格納されるオブジェ
クトが記録されるページのページ番号(14)である。
また、ページ6の8番目(即ち、オブジェクトID
(6,7))には「SYS_INDEXEDOBJS」
が記録されており、その記録内容は、「SYS_IND
EXEDOBJS」に格納されるオブジェクトが記録さ
れるページのページ番号(16)である。そして、ペー
ジ14には、ページ6の「SYS_INDICES」に
格納される「インデックスの情報」が記録される。ま
た、ページ16には、ページ6の「SYS_INDEX
EDOBJS」に格納される「インデックスとその管理
対象となるオブジェクトとの関係情報」が記録される。
しかし、現時点ではインデックスは1つも定義されてい
ないものとし、この場合はページ14、ページ16は空
の状態となっている。
【0028】以上説明した状態において、起動信号送信
部205から起動信号を受信したインデックス定義情報
受信部311(インデックス定義情報受付手段)は、L
AN117を経由して直接データを送受信することがで
きる状態になり、まず、インデックス定義情報の入力フ
ォーマットをLAN117を経由して前記図示しない他
の情報端末に送信し入力を促す。インデックス定義情報
の入力フォーマットには、インデックス名、保有元テー
ブルのオブジェクトID(先祖特定データ)、B−Tr
ee/R−Treeの別、階層差(先祖特定データによ
り特定される先祖データからインデックス付けを行う子
孫データの親データまでの階層差)及びキーに対応する
項目(インデックス対象項目特定データ)の5項目が存
しており、該入力フォーマットを受信した前記図示しな
い他の情報端末は、これらの項目に該当するデータを受
け付けた後、受け付けたデータをインデックス定義情報
受信部311へ送信する。この前記図示しない他の情報
端末からインデックス定義情報受信部311へ送信され
たインデックス定義情報の一例を表1に示す。なお、表
1の項目のうち、インデックス名はこれからインデック
ス付け(インデックス作成)を行おうとするインデック
スを示す名称であり任意に設定することができ、保有元
テーブルのオブジェクトIDは、次に示す(1)または
(2)の条件を満たすオブジェクトの中から、インデッ
クスを定義する時の「階層差」の基準として任意に選ん
だオブジェクトのオブジェクトIDである。即ち、
(1)インデックス付けを行うオブジェクトが格納され
ている全てのテーブルの共通の先祖であるテーブルオブ
ジェクト、(2)1つのテーブルのみに格納されている
オブジェクトにインデックス付けを行う時はそのテーブ
ル自身であるオブジェクト、である。そして、ここで
は、保有元テーブルのオブジェクトIDは、図5に示し
たように部署テーブルのオブジェクトIDたる(30,
0)とされている。また、B−Tree/R−Tree
の別はこれからインデックス付け(インデックス作成)
を行おうとするインデックスの構造をB−TreeとR
−Treeとのいずれにするかを決するものであり(こ
こではB−Treeが指定されている。)、階層差は、
指定した保有元テーブル(ここでは部署テーブル(3
0,0))に対してインデックス付けを行うオブジェク
トが格納されたテーブル(ここでは社員テーブル(3
2,0)、(32,1)、(32,2))が幾つ階層が
下になるかを示しており、キーに対応する項目は、イン
デックス付けを行うオブジェクト(ここではページ3
3、35及び37に記録されているもの)の、インデッ
クスのキーに対応する項目の名前(ここでは入社日)で
ある。また、これらのうち保有元テーブルのオブジェク
トID、階層差及びキーに対応する項目等のように、デ
ータ記憶部701における記憶データを参照しつつ決す
べきものは、必要に応じ閲覧部601を通じて前記図示
しない他の情報端末がデータ記憶部701の記憶内容を
閲覧して決定される。
【0029】(表1) インデックス定義情報の一例 ・インデックス名:入社日インデックス ・保有元テーブルのオブジェクトID:(30,0) ・B−Tree/R−Treeの別:B−Tree ・階層差:1 ・キーに対応する項目:入社日
【0030】表1に示したようなインデックス定義情報
を受信したインデックス定義情報受信部311(インデ
ックス定義情報受付手段)は、該受信したインデックス
定義情報全てをインデックス情報記憶部323へ送信し
インデックス情報記憶部323に記憶させ、そして該受
信したインデックス定義情報に含まれる保有元テーブル
のオブジェクトID(ここでは(30,0))を抽出し
オブジェクトID記憶部327へ送信しオブジェクトI
D記憶部327に記憶させ、さらにインデックス番号生
成部313へ起動信号を発しインデックス番号生成部3
13を起動させる。
【0031】インデックス定義情報受信部311から起
動信号を受信したインデックス番号生成部313(イン
デックス特定データ取得手段)は、インデックス番号
(インデックス特定データ)を決定し、該決定したイン
デックス番号をインデックス情報記憶部323に送信
し、そして既にインデックス情報記憶部323が記憶し
ているインデックス定義情報に加え、該決定したインデ
ックス番号をインデックス情報記憶部323に記憶させ
る。なお、インデックス番号生成部313がインデック
ス番号を決定する方法は、次の如きである。即ち、後述
するように、インデックス定義情報を含む情報はインデ
ックス情報書き込み部317によってデータ記憶部70
1の記憶領域に記録されているシステムテーブル「SY
S_INDICES」に格納されるので、インデックス
番号生成部313は、この「SYS_INDICES」
に格納されている情報に付されたインデックス番号を検
索しこのインデックス番号のうち最大値に1を加えてイ
ンデックス番号を決定する(「SYS_INDICE
S」に格納されている情報がなければインデックス番号
として「1」を決定する。なお、ここでは「1」を決定
したものとして、後の説明を行う。)。これによって新
しく作成されるインデックスにはこれまで付けられてい
なかったインデックス番号が付与されることになり、結
果として、全てのインデックスとインデックス番号とは
互いに一対一の対応関係を持つことになる。その後、イ
ンデックス番号生成部313はインデックス作成部31
5に起動信号を発し、インデックス作成部315を起動
させる。
【0032】インデックス番号生成部313から起動信
号を受信したインデックス作成部315は、インデック
スデータを記録するためのインデックスルートページ
を、データ記憶部701の記憶領域(データ記憶部70
1が有する記憶領域全部をいう。)のうち現在記憶され
ている部分の後に続くように作成する(従って、図5に
示すような内容がデータ記憶部701の記憶領域の末尾
に記憶されていれば、インデックスルートページはペー
ジ番号「38」に作成される。)。なお、ここにいう
「インデックスルートページ」とは、B−Tree又は
R−Treeのツリー構造の根(最も上のレベルに位置
する節)に該当する部分の情報を記録するページをい
い、さらに、インデックスルートページの作成とは、具
体的には、データベースファイルを1ページのサイズだ
け拡張し、その拡張した領域をインデックスを構成する
ページとして初期化する(エントリ数が0であるインデ
ックスページとする)ことをいう。そして、インデック
ス作成部315は、作成したインデックスルートページ
のページ番号(ここでは「38」)をインデックス情報
記憶部323に送信し、そして既にインデックス情報記
憶部323が記憶しているインデックス定義情報とイン
デックス番号に加え、インデックスルートページのペー
ジ番号をインデックス情報記憶部323に記憶させる。
この時点におけるインデックス情報記憶部323に記憶
されている内容を模式的に表2に示す。その後、インデ
ックス作成部315は、インデックス情報書き込み部3
17に起動信号を発し、インデックス情報書き込み部3
17を起動させる。
【0033】(表2) インデックス情報記憶部323
に記憶されている内容の一例 ・インデックス名:入社日インデックス ・保有元テーブルのオブジェクトID:(30,0) ・B−Tree/R−Treeの別:B−Tree ・階層差:1 ・キーに対応する項目:入社日 ・インデックス番号:1 ・インデックスルートページ番号:38
【0034】インデックス作成部315から起動信号を
受信したインデックス情報書き込み部317は、インデ
ックス情報記憶部323に記憶されている情報(上記し
た表2に示す情報)をインデックス情報記憶部323か
ら読み出し取得し、該取得した情報(表2)をデータ記
憶部701のシステムテーブル「SYS_INDICE
S」に書き込む。そして、インデックス情報書き込み部
317は、該取得した情報(表2)に含まれる「階層
差」(ここでは「1」)を階層差記憶部325に送信し
階層差記憶部325に記憶させる。さらに、インデック
ス情報書き込み部317は、インデックス管理対象情報
書き込み部319に起動信号を発し、インデックス管理
対象情報書き込み部319を起動させる。
【0035】インデックス情報書き込み部317から起
動信号を受信したインデックス管理対象情報書き込み部
319は、オブジェクトID記憶部327が記憶してい
るテーブルのオブジェクトID(ここではインデックス
定義情報受信部311から受信し記憶したものであり、
保有元テーブルのオブジェクトIDたる(30,0))
と、インデックス情報記憶部323が記憶しているイン
デックス番号(ここでは「1」)を読み出し取得したイ
ンデックス番号(ここでは「1」)と、階層差記憶部3
25が記憶している階層差(ここでは「1」)を読み出
し取得した階層差(ここでは「1」)と、を有する情報
(インデックス管理情報)を作成すると共に、該作成さ
れた情報をデータ記憶部701のシステムテーブル「S
YS_INDEXEDOBJS」に書き込む。具体的に
は、表3に示した情報をインデックス管理対象情報書き
込み部319はシステムテーブル「SYS_INDEX
EDOBJS」に書き込む。
【0036】(表3) 「SYS_INDEXEDOB
JS」への書き込み例 ・テーブルのオブジェクトID:(30,0) ・インデックス番号:1 ・階層差:1
【0037】「SYS_INDEXEDOBJS」に前
記情報(表3)を書き込んだインデックス管理対象情報
書き込み部319は、該書き込んだ情報に含まれている
階層差が「0」か否か判断し、「0」であればインデッ
クスへのエントリ挿入部329へ起動信号を発しインデ
ックスへのエントリ挿入部329を起動させ、「0」で
なければ(0より大きい値であれば)オブジェクト情報
読み出し部321へ起動信号を発しオブジェクト情報読
み出し部321を起動させる。なお、ここでは階層差
「1」であり「0」でないので(0より大きい値である
ので)、インデックス管理対象情報書き込み部319は
オブジェクト情報読み出し部321へ起動信号を発しオ
ブジェクト情報読み出し部321を起動させる。
【0038】階層差が「0」でありインデックス管理対
象情報書き込み部319から起動信号を受信したインデ
ックスへのエントリ挿入部329は、まずオブジェクト
ID記憶部327が記憶しているテーブルのオブジェク
トID(前記した例では保有元テーブルのオブジェクト
IDたる(30,0)をオブジェクトID記憶部327
が記憶しているが、これは表2に示すように、階層差
「1」であるので、前記した例では階層差が「0」と判
断されることはない。)を読み出し取得し、該取得した
テーブルのオブジェクトIDが指すテーブル(以下、
「処理対象テーブル」という。)に格納されている(含
まれる)全てのオブジェクトについて、それぞれに対応
するエントリ(該オブジェクトのオブジェクトIDと
「キーに対応する項目」の値との組)をインデックスに
挿入する。なお、インデックスへのエントリ挿入部32
9は、処理対象テーブルをデータ記憶部701にアクセ
スして読み出し、該読み出した処理対象テーブルに格納
されている(含まれている)オブジェクトに含まれる
「キーに対応する項目」に相当する値を用いて該エント
リを作成することができる。なお、該エントリをインデ
ックスに挿入する方法は、一般的なB−Tree又はR
−Treeの構築動作に従って行うことができるので、
ここでは説明を省略する(また、該エントリをインデッ
クスに挿入する際に必要となるインデックスに関する情
報は、インデックスへのエントリ挿入部329がインデ
ックス情報記憶部323へ適宜アクセスして読み出し取
得すればよい。)。
【0039】階層差が「0」でなくインデックス管理対
象情報書き込み部319から起動信号を受信したオブジ
ェクト情報読み出し部321は、まず階層差記憶部32
5にアクセスし階層差記憶部325が記憶している階層
差の値から1を減じた数を階層差として階層差記憶部3
25に上書きして記憶させる(即ち、これによって階層
差記憶部325が記憶している階層差が「1」減少す
る。従って、上記した例では階層差記憶部325に階層
差「1」が記憶されているので、それから1を減じた数
「0」が階層差として階層差記憶部325に上書きされ
記憶される。)。次いで、オブジェクト情報読み出し部
321は、オブジェクトID記憶部327が記憶してい
るテーブルのオブジェクトID(ここでは保有元テーブ
ルのオブジェクトID(30,0))を読み出し取得
し、該取得したテーブルのオブジェクトID(ここでは
(30,0))が指すテーブル(以下、「処理対象テー
ブル」という。)に格納されている全てのオブジェクト
を1つずつ順次読み出す。そして、それぞれのオブジェ
クトに記録されている「種別」(そのオブジェクトがテ
ーブルオブジェクトであるか否か)の内容を判定し、テ
ーブルオブジェクトでは無い場合は処理対象テーブルに
格納されている次のオブジェクトを読み出す。テーブル
オブジェクトである場合は次の処理(以下、「処理B」
という。)を行う。即ち、処理Bにおいて、オブジェク
ト情報読み出し部321は、処理対象テーブルに格納さ
れているこれから処理しようとするテーブルオブジェク
トのオブジェクトIDをオブジェクトID記憶部327
に記憶させる(このことは、これから処理しようとする
テーブルオブジェクトが「処理対象テーブル」になるこ
とを示す。)。なお、このとき必要となる該これから処
理しようとするテーブルオブジェクトのオブジェクトI
Dは、オブジェクト情報読み出し部321がオブジェク
トID記憶部327に記憶されているオブジェクトID
に該当するテーブルを読み出すことで、そのテーブルに
格納されているオブジェクトのページ番号(子特定デー
タ)を取得し、そのページ番号のページに記録されてい
るオブジェクトを読み込んでゆくことで、該テーブルに
格納されているオブジェクトのオブジェクトID及びそ
の内容を取得できる(例えば、図5の例では、オブジェ
クトID記憶部327に記憶されているオブジェクトI
Dたる(30,0)に該当するテーブル「部署テーブル
(30,0)」を読み出すことで、そのテーブル「部署
テーブル(30,0)」に格納されているオブジェクト
のページ番号(32)を取得し、そのページ番号(3
2)のページに記録されているオブジェクトを読み込ん
でゆくことで、該テーブル「部署テーブル(30,
0)」に格納されているオブジェクトのオブジェクトI
D(32,0)、(32,1)、(32,2)及びその
内容を取得することができる。)。その後、オブジェク
ト情報読み出し部321は、インデックス管理対象情報
書き込み部319に起動信号を発し、インデックス管理
対象情報書き込み部319を起動させる。
【0040】オブジェクト情報読み出し部321から起
動信号を受信したインデックス管理対象情報書き込み部
319は、オブジェクトID記憶部327が記憶してい
るこれから処理しようとするテーブルオブジェクトのオ
ブジェクトID(オブジェクト情報読み出し部321に
よって記憶させられたものであり、例えば、(32,
0))と、インデックス情報記憶部323が記憶してい
るインデックス番号(ここでは「1」)を読み出し取得
したインデックス番号(ここでは「1」)と、階層差記
憶部325が記憶している階層差(ここでは「0」)を
読み出し取得した階層差(ここでは「0」)と、を有す
る情報(インデックス管理情報)を作成すると共に、該
作成された情報をデータ記憶部701のシステムテーブ
ル「SYS_INDEXEDOBJS」に書き込む。
「SYS_INDEXEDOBJS」に前記情報(オブ
ジェクト)を書き込んだインデックス管理対象情報書き
込み部319は、該書き込んだ情報に含まれている階層
差が「0」か否か判断し、「0」であればインデックス
へのエントリ挿入部329へ起動信号を発しインデック
スへのエントリ挿入部329を起動させ、「0」でなけ
れば(0より大きい値であれば)オブジェクト情報読み
出し部321へ起動信号を発しオブジェクト情報読み出
し部321を起動させる。なお、ここで階層差が「0」
であり起動されたインデックスへのエントリ挿入部32
9は、既に前回説明した階層差が「0」でありインデッ
クス管理対象情報書き込み部319から起動信号を受信
したインデックスへのエントリ挿入部329の動作と同
様の動作を行う。このとき前回と異なるのは、オブジェ
クトID記憶部327が記憶しているオブジェクトID
が1階層下のもの(例えば、(32,0))に置換され
ている点である。また、ここで階層差が「0」でなく起
動されたオブジェクト情報読み出し部321は、既に前
回説明した階層差が「0」でなくインデックス管理対象
情報書き込み部319から起動信号を受信したオブジェ
クト情報読み出し部321の動作と同様の動作を行う。
このとき前回と異なるのは、階層差記憶部325が記憶
している階層差の値が前回よりも1を減じた数となって
いることと、オブジェクトID記憶部327が記憶して
いるオブジェクトIDが1階層下のもの(例えば、(3
2,0))に置換されていること、の2点である。
【0041】以上が処理Bであり、かかる処理Bは、処
理Bが開始される際にオブジェクトID記憶部327が
記憶しているオブジェクトID(ここでは(30,
0))が指すテーブル(処理対象テーブル)に従属して
いる(格納されている)全てのテーブルオブジェクト
(ここでは(32,0)、(32,1)及び(32,
2))について行われる。全ての処理Bが完了した後、
オブジェクト情報読み出し部321は階層差記憶部32
5にアクセスし階層差記憶部325が記憶している階層
差の値に1を加えた数を階層差として階層差記憶部32
5に上書きして記憶させる。以上でインデックス定義部
301の動作が終了する。なお、ここではインデックス
管理対象情報書き込み部319とオブジェクト情報読み
出し部321と階層差記憶部325とオブジェクトID
記憶部327とインデックスへのエントリ挿入部329
とを含んで、インデックス付け手段が構成されている。
また、データ記憶部701(システムテーブル「SYS
_INDEXEDOBJS」)が、インデックス管理情
報記憶手段を構成している。
【0042】上記した動作のうち、階層差が「0」でな
くインデックス管理対象情報書き込み部319から起動
信号を受信したオブジェクト情報読み出し部321の動
作(処理Bを含む)について、以下、具体的に説明をし
ておく。まず、オブジェクト情報読み出し部321は、
階層差記憶部325にアクセスし階層差記憶部325が
記憶している階層差(ここでは「1」)の値から1を減
じた数(即ち、「0」)を階層差として階層差記憶部3
25に上書きして記憶させる。そしてオブジェクト情報
読み出し部321は、オブジェクトID記憶部327が
記憶しているテーブルのオブジェクトID(ここでは
(30,0))を読み出し取得し、該取得したテーブル
のオブジェクトID(ここでは(30,0))が指すテ
ーブル(処理対象テーブル)に従属している(格納され
ている)全てのテーブルオブジェクト(ここでは(総務
部)社員テーブル、(営業部)社員テーブル及び(製造
部)社員テーブル)について次の処理(処理B)を行
う。即ち、オブジェクト情報読み出し部321は、処理
対象テーブルたる部署テーブル(オブジェクトID:
(30,0))に従属している(格納されている)全て
のテーブルオブジェクトのうちこれから処理しようとす
るテーブルオブジェクトのオブジェクトID((32,
0)、(32,1)及び(32,2)のいずれか)をオ
ブジェクトID記憶部327に記憶させる。なお、この
とき必要となる該これから処理しようとするテーブルオ
ブジェクトのオブジェクトIDは、オブジェクト情報読
み出し部321がデータ記憶部701にアクセスし、オ
ブジェクトID記憶部327から読み出し取得したテー
ブルのオブジェクトID(30,0)に該当するテーブ
ル(部署テーブル)から読み出し取得される(例えば、
図5の例では、オブジェクトID記憶部327から読み
出し取得したテーブルのオブジェクトID(30,0)
に該当するテーブルは部署テーブルであり、この部署テ
ーブル(30,0)を読み出すことで、そのテーブル
「部署テーブル(30,0)」に格納されているオブジ
ェクトのページ番号(32)を取得し、そのページ番号
(32)のページに記録されているオブジェクトを読み
込んでゆくことで、該テーブル「部署テーブル(30,
0)」に格納されているオブジェクトのオブジェクトI
D(32,0)、(32,1)、(32,2)及びその
内容を取得することができる。その後、オブジェクト情
報読み出し部321は、インデックス管理対象情報書き
込み部319に起動信号を発し、インデックス管理対象
情報書き込み部319を起動させる。
【0043】オブジェクト情報読み出し部321から起
動信号を受信したインデックス管理対象情報書き込み部
319は、オブジェクトID記憶部327が記憶してい
るこれから処理しようとするテーブルオブジェクトのオ
ブジェクトID(例えば、(総務部)社員テーブルのオ
ブジェクトIDたる(32,0))と、インデックス情
報記憶部323が記憶しているインデックス番号(ここ
では「1」)を読み出し取得したインデックス番号(こ
こでは「1」)と、階層差記憶部325が記憶している
階層差(ここでは「0」)を読み出し取得した階層差
(ここでは「0」)と、を有する情報(オブジェクト)
を作成すると共に、該作成された情報をデータ記憶部7
01のシステムテーブル「SYS_INDEXEDOB
JS」に書き込む。「SYS_INDEXEDOBJ
S」に前記情報(オブジェクト)を書き込んだインデッ
クス管理対象情報書き込み部319は、該書き込んだ情
報に含まれている階層差が「0」か否か判断し、「0」
であればインデックスへのエントリ挿入部329へ起動
信号を発しインデックスへのエントリ挿入部329を起
動させ、「0」でなければ(0より大きい値であれば)
オブジェクト情報読み出し部321へ起動信号を発しオ
ブジェクト情報読み出し部321を起動させる。以下、
同様にして、(総務部)社員テーブルのオブジェクトI
D(32,0)以外のもの((営業部)社員テーブルの
オブジェクトID(32,1)と(製造部)社員テーブ
ルのオブジェクトID(32,2))についても処理す
る。このように(総務部)社員テーブル、(営業部)社
員テーブル及び(製造部)社員テーブルのそれぞれを処
理対象テーブルとしたときに、インデックス管理対象情
報書き込み部319が「SYS_INDEXEDOBJ
S」に書き込む情報(上述した表3のような情報)は表
4のようなものになる。
【0044】(表4) 各社員テーブルを処理対象テー
ブルとしたときの「SYS_INDEXEDOBJS」
への書き込み例 「(総務部)社員テーブル」を処理したとき ・テーブルのオブジェクトID:(32,0) ・インデックス番号:1 ・階層差:0 「(営業部)社員テーブル」を処理したとき ・テーブルのオブジェクトID:(32,1) ・インデックス番号:1 ・階層差:0 「(製造部)社員テーブル」を処理したとき ・テーブルのオブジェクトID:(32,2) ・インデックス番号:1 ・階層差:0
【0045】なお、表4から明らかなように、(総務
部)社員テーブル、(営業部)社員テーブル及び(製造
部)社員テーブルのそれぞれを処理対象テーブルとした
ときには、階層差が「0」であるので、インデックス管
理対象情報書き込み部319は、インデックスへのエン
トリ挿入部329へ起動信号を発しインデックスへのエ
ントリ挿入部329を起動させ、各テーブル((総務
部)社員テーブル、(営業部)社員テーブル、(製造
部)社員テーブル)に収容されている全オブジェクト
(各部に所属する全ての社員の情報、即ち、図5の例で
は、ページ33、35、37に記憶されている情報)に
ついて、オブジェクトIDと項目「入社日」の値の組が
インデックスに挿入される。
【0046】以上のように、インデックス定義部301
によって、データ記憶部701のシステムテーブル「S
YS_INDICES」と「SYS_INDEXEDO
BJS」とには、具体的には、表5のような情報が記憶
される。また、データ記憶部701における記憶領域に
おいて、記録されている「SYS_INDICES」と
「SYS_INDEXEDOBJS」とを模式的に示せ
ば図14のようになる。図14に示されたページ6の7
番目(即ち、オブジェクトID(6,6))には「SY
S_INDICES」が記録されており、ページ6の8
番目(即ち、オブジェクトID(6,7))には「SY
S_INDEXEDOBJS」が記録されている。そし
て、ページ14の1番目(即ち、オブジェクトID(1
4,0))には、「SYS_INDICES」に格納さ
れている「インデックスの情報」が記録されている。そ
の記録内容は、インデックス名「入社日インデック
ス」、保有元テーブルのオブジェクトID「(30,
0)」のインデックスは、種別が「B−Tree」であ
り、保有元テーブルから「1」階層下のテーブルに格納
されるオブジェクトの項目「入社日」の値を管理対象と
し、インデックス番号は「1」で、インデックスルート
ページのページ番号は「38」であることを示してい
る。さらに、ページ16には、インデックスとその管理
対象となるオブジェクトとの関係情報が記録されてい
る。具体的には、以下の(1)〜(4)の関係情報が、
それぞれオブジェクトID(16,0)、(16,
1)、(16,2)、(16,3)として記録されてい
る。即ち、(1)インデックス番号「1」のインデック
スは、オブジェクトIDが「(30,0)」のテーブル
の「1」階層下のテーブルに格納されるオブジェクトを
管理対象とする、(2)インデックス番号「1」のイン
デックスは、オブジェクトIDが「(32,0)」のテ
ーブルの「0」階層下のテーブル(即ち、オブジェクト
IDが「(32,0)」のテーブル)に格納されるオブ
ジェクトを管理対象とする、(3)インデックス番号
「1」のインデックスは、オブジェクトIDが「(3
2,1)」のテーブルの「0」階層下のテーブル(即
ち、オブジェクトIDが「(32,1)」のテーブル)
に格納されるオブジェクトを管理対象とする、(4)イ
ンデックス番号「1」のインデックスは、オブジェクト
IDが「(32,2)」のテーブルの「0」階層下のテ
ーブル(即ち、オブジェクトIDが「(32,2)」の
テーブル)に格納されるオブジェクトを管理対象とす
る、という以上4つの関係情報である。ただし、図14
中のページ16の4つの関係情報は、「テーブルのオブ
ジェクトID」、「インデックス番号」、「階層差」の
順にデータが記録されている。
【0047】(表5)「SYS_INDICES」と
「SYS_INDEXEDOBJS」との記憶内容 (a)「SYS_INDICES」 ・インデックス名:入社日インデックス ・保有元テーブルのオブジェクトID:(30,0) ・B−Tree/R−Treeの別:B−Tree ・階層差:1 ・キーに対応する項目:入社日 ・インデックス番号:1 ・インデックスルートページ番号:38 (b)「SYS_INDEXEDOBJS」 ・テーブルのオブジェクトID:(30,0) ・インデックス番号:1 ・階層差:1 ・テーブルのオブジェクトID:(32,0) ・インデックス番号:1 ・階層差:0 ・テーブルのオブジェクトID:(32,1) ・インデックス番号:1 ・階層差:0 ・テーブルのオブジェクトID:(32,2) ・インデックス番号:1 ・階層差:0
【0048】さらに、オブジェクト格納部401につい
て説明する。図6は、オブジェクト格納部401の詳細
な機能ブロック図である。図6を参照して、オブジェク
ト格納部401について説明する。オブジェクト格納部
401は、機能的には、オブジェクト情報受信部411
とテーブルオブジェクト読み出し部413とオブジェク
ト作成・格納部415とインデックス管理対象情報読み
出し部417とインデックス管理対象情報書き込み部4
19とオブジェクト情報記憶部421とページ番号記憶
部423とオブジェクトID記憶部425とインデック
ス情報記憶部427と階層差記憶部429とインデック
ス情報読み出し部431とインデックスへのエントリ挿
入部433とを有して構成されている。
【0049】起動信号送信部205から起動信号を受信
したオブジェクト情報受信部411(追加情報受付手
段)は、LAN117を経由して直接データを送受信す
ることができる状態になり、まず、オブジェクト情報
(新しく追加する情報)の入力フォーマットをLAN1
17を経由して前記図示しない他の情報端末に送信し入
力を促す。オブジェクト情報の入力フォーマットには、
種別、項目のデータ、格納先となるテーブルのオブジェ
クトIDの3項目が存しており、該入力フォーマットを
受信した前記図示しない他の情報端末は、これらの項目
に該当するデータを受け付けた後、受け付けたデータを
オブジェクト情報受信部411へ送信する。この前記図
示しない他の情報端末からオブジェクト情報受信部41
1へ送信されるオブジェクト情報の一例を表6及び表7
に示す。なお、表6では、図5に示された「部署テーブ
ル」(オブジェクトID(30,0))に、新たに「企
画部」の情報を収納するための情報を示す。また、総務
部に新しく配属された者の情報を収納するための情報を
表7に示す。
【0050】 (表6) オブジェクト情報受信部411へ送信されるオブジェクト情報の一 例 ・種別:テーブルオブジェクト ・項目のデータ:部署番号:400 部署名:企画部 ・格納先となるテーブルのオブジェクトID:(30,0)
【0051】 (表7) オブジェクト情報受信部411へ送信されるオブジェクト情報の一 例 ・種別:テーブルオブジェクトではない ・項目のデータ:社員番号:7095 氏名:笠原次郎 入社日:1993.4.1 ・格納先となるテーブルのオブジェクトID:(32,0)
【0052】表6及び表7に示されているように、オブ
ジェクト情報は、種別(新規に追加作成するオブジェク
トがテーブルオブジェクトであるか否か、つまり新規に
追加されるデータがさらに子データを格納するか否かを
示すものであり、本発明にいう種別データである。)、
項目のデータ(オブジェクトの全ての項目のデータであ
り、階層構造データに追加する新規データである。)、
格納先となるテーブルのオブジェクトID(新規に追加
作成するオブジェクトの格納先となるテーブルのオブジ
ェクトID、即ち、新規データたる該項目のデータを子
データとして格納すべき親データのデータ特定データで
ある格納先特定データである。)を含んで構成されてい
る。なお、これらのうち格納先となるテーブルのオブジ
ェクトID等のように、データ記憶部701における記
憶データを参照しつつ決すべきものは、必要に応じ閲覧
部601を通じて前記図示しない他の情報端末がデータ
記憶部701の記憶内容を閲覧して決定される。このよ
うなオブジェクト情報を受信したオブジェクト情報受信
部411(追加情報受付手段)は、該受信したオブジェ
クト情報をオブジェクト情報記憶部421へ送信しオブ
ジェクト情報記憶部421に記憶させ、その後、テーブ
ルオブジェクト読み出し部413に起動信号を送信しテ
ーブルオブジェクト読み出し部413を起動させる。
【0053】オブジェクト情報受信部411から起動信
号を受信したテーブルオブジェクト読み出し部413
は、オブジェクト情報記憶部421にアクセスしオブジ
ェクト情報記憶部421が記憶している「格納先となる
テーブルのオブジェクトID」を取得する。そして、テ
ーブルオブジェクト読み出し部413は、オブジェクト
情報記憶部421から取得した「格納先となるテーブル
のオブジェクトID」に該当するオブジェクトIDに記
憶されているテーブルオブジェクト(新たに作成するオ
ブジェクトの格納先となる)をデータ記憶部701のオ
ブジェクトIDに記録されているページから読み出し取
得する。さらに、テーブルオブジェクト読み出し部41
3は、該読み出し取得したテーブルオブジェクトから新
しいオブジェクトを記憶すべきページのページ番号を取
得し、ページ番号記憶部423に送信しページ番号記憶
部423に記憶させる。そして、テーブルオブジェクト
読み出し部413は、オブジェクト作成・格納部415
に起動信号を送信しオブジェクト作成・格納部415を
起動させる。具体的に説明すれば、表6に示すようなオ
ブジェクト情報をオブジェクト情報記憶部421が記憶
していたとすると、テーブルオブジェクト読み出し部4
13は、オブジェクト情報記憶部421が記憶している
「格納先となるテーブルのオブジェクトID」たる(3
0,0)を取得し、そして「格納先となるテーブルのオ
ブジェクトID」(30,0)に該当するオブジェクト
IDに記憶されているテーブルオブジェクトをデータ記
憶部701のオブジェクトIDに記録されているページ
(30)から読み出し取得し、該読み出し取得したテー
ブルオブジェクトに含まれる新しいオブジェクトを記録
すべきページのページ番号(32)を取得する。さら
に、テーブルオブジェクト読み出し部413は、この取
得した新しいオブジェクト(新しい企画部の情報)を記
憶すべきページのページ番号たる「32」をページ番号
記憶部423に送信しページ番号記憶部423に記憶さ
せ、オブジェクト作成・格納部415に起動信号を送信
しオブジェクト作成・格納部415を起動させる。
【0054】テーブルオブジェクト読み出し部413か
ら起動信号を受信したオブジェクト作成・格納部415
は、オブジェクト情報記憶部421にアクセスしオブジ
ェクト情報記憶部421に記憶されている内容(種別、
項目のデータ)を読み出し取得して該取得した内容に従
ってオブジェクトを作成する。そして、オブジェクト作
成・格納部415は、ページ番号記憶部423にアクセ
スしページ番号記憶部423が記憶しているページ番号
を読み出し取得し、該取得したページ番号に該当するデ
ータ記憶部701のページに該作成したオブジェクトを
書き込み記憶させる。このデータ記憶部701のページ
番号記憶部423が記憶しているページ番号に該当する
ページに該作成したオブジェクトが書き込まれ記憶され
たとき、オブジェクト作成・格納部415は、該作成し
たオブジェクトが書き込まれ記憶されたデータ記憶部7
01のオブジェクトID(追加位置データ)を検出し取
得し、さらに該検出し取得したオブジェクトIDをオブ
ジェクトID記憶部425に送信しオブジェクトID記
憶部425に記憶させる。そして、オブジェクト作成・
格納部415は、インデックス管理対象情報読み出し部
417に起動信号を送信しインデックス管理対象情報読
み出し部417を起動させる。以上のように、ここでは
テーブルオブジェクト読み出し部413とオブジェクト
作成・格納部415とページ番号記憶部423とを含ん
で新規データ書き込み手段が構成されている。
【0055】具体的に説明すれば、表6に示すようなオ
ブジェクト情報をオブジェクト情報記憶部421が記憶
していたとすると、オブジェクト作成・格納部415
は、オブジェクト情報記憶部421にアクセスしオブジ
ェクト情報記憶部421に記憶されている内容(表6に
示されている「種別」及び「項目のデータ」。即ち、
「種別」:テーブルオブジェクト、「項目のデータ」:
部署番号:400、部署名:企画部)を読み出し取得し
て該取得した内容に従ってオブジェクトを作成する
((「種別」:テーブルオブジェクト、「項目のデー
タ」:部署番号:400、部署名:企画部)をデータ記
憶部701の後述するページに書き込み記憶させるのに
適したかたちのデータに加工する。)。そして、オブジ
ェクト作成・格納部415は、ページ番号記憶部423
にアクセスしページ番号記憶部423が記憶しているペ
ージ番号「32」を読み出し取得し、該取得したページ
番号「32」に該当するデータ記憶部701のページに
該作成したオブジェクトを書き込み記憶させる。このデ
ータ記憶部701のページ番号「32」に該当するペー
ジに該作成したオブジェクトが書き込まれ記憶されたと
き、オブジェクト作成・格納部415は、該作成したオ
ブジェクトが書き込まれ記憶されたデータ記憶部701
のオブジェクトID(例えば、(32,3))を検出し
取得し、さらに該検出し取得したオブジェクトID(3
2,3)をオブジェクトID記憶部425に送信しオブ
ジェクトID記憶部425に記憶させ、インデックス管
理対象情報読み出し部417に起動信号を送信しインデ
ックス管理対象情報読み出し部417を起動させる。
【0056】また、表7に示すようなオブジェクト情報
をオブジェクト情報記憶部421が記憶していたとする
と、オブジェクト作成・格納部415は、オブジェクト
情報記憶部421にアクセスしオブジェクト情報記憶部
421に記憶されている内容(表7に示されている「種
別」及び「項目のデータ」。即ち、「種別」:テーブル
オブジェクトではない、「項目のデータ」:社員番号:
7095、氏名:笠原次郎、入社日:1993.4.
1)を読み出し取得して該取得した内容に従ってオブジ
ェクトを作成する((「種別」:テーブルオブジェクト
ではない、「項目のデータ」:社員番号:7095、氏
名:笠原次郎、入社日:1993.4.1)をデータ記
憶部701の後述するページに書き込み記憶させるのに
適したかたちのデータに加工する。)。そして、オブジ
ェクト作成・格納部415は、ページ番号記憶部423
にアクセスしページ番号記憶部423が記憶しているペ
ージ番号「33」に該当するデータ記憶部701のペー
ジに該作成したオブジェクトを書き込み記憶させる。こ
のデータ記憶部701のページ番号「33」に該当する
ページに該作成したオブジェクトが書き込まれ記憶され
たとき、オブジェクト作成・格納部415は、該作成し
たオブジェクトが書き込まれ記憶されたデータ記憶部7
01のオブジェクトID(例えば、(33,3)))を
検出し取得し、さらに該検出し取得したオブジェクトI
D(33,3)をオブジェクトID記憶部425に送信
しオブジェクトID記憶部425に記憶させ、インデッ
クス管理対象情報読み出し部417に起動信号を送信し
インデックス管理対象情報読み出し部417を起動させ
る。
【0057】オブジェクト作成・格納部415から起動
信号を受信したインデックス管理対象情報読み出し部4
17は、オブジェクト情報記憶部421にアクセスしオ
ブジェクト情報記憶部421が記憶しているオブジェク
ト情報(例えば、表6のような情報)に含まれる「格納
先となるテーブルのオブジェクトID」(格納先特定デ
ータ)を読み出し取得する。次いで、インデックス管理
対象情報読み出し部417は、データ記憶部701にア
クセスし該読み出し取得した「格納先となるテーブルの
オブジェクトID」(格納先特定データ)に該当(合
致)するデータ記憶部701のシステムテーブル「SY
S_INDEXEDOBJS」(インデックス管理情報
記憶手段)を検索する。この検索は、「SYS_IND
EXEDOBJS」に記憶されているオブジェクトの項
目「テーブルのオブジェクトID」の値が、該読み出し
取得した「格納先となるテーブルのオブジェクトID」
と同一のものを探すことをいう。ここでインデックス管
理対象情報読み出し部417が、前記検索にて「SYS
_INDEXEDOBJS」に該当するオブジェクトを
見つけることができない場合には、インデックス管理対
象情報読み出し部417はこのオブジェクト情報がイン
デックス管理の対象になっていないと判断しオブジェク
ト格納部401の処理を終了する。一方、インデックス
管理対象情報読み出し部417が、前記検索にて「SY
S_INDEXEDOBJS」に該当するオブジェクト
を見つけることができた場合には、インデックス管理対
象情報読み出し部417はこのオブジェクト情報がイン
デックス管理の対象になっていると判断し以下述べる単
位処理を、前記検索にて「SYS_INDEXEDOB
JS」に該当すると見いだしたオブジェクト(インデッ
クス管理情報)それぞれについて実施(前記検索にて
「SYS_INDEXEDOBJS」に該当すると見い
だしたオブジェクトと同じ数だけ該単位処理を行う)
し、その後、オブジェクト格納部401の処理を終了す
る。
【0058】前記単位処理とは、以下説明する処理をい
う。インデックス管理対象情報読み出し部417が、前
記検索にて見つけた「SYS_INDEXEDOBJ
S」に存するオブジェクト(以下、「該当オブジェク
ト」という。)に含まれる「階層差」を階層差記憶部4
29に送信し階層差記憶部429に記憶させると共に、
該当オブジェクトに含まれる「インデックス番号」をイ
ンデックス情報記憶部427に送信しインデックス情報
記憶部427に記憶させる。そして、インデックス管理
対象情報読み出し部417が、階層差記憶部429にア
クセスし階層差記憶部429が記憶している「階層差」
を読み出し取得し該取得した「階層差」が「0」か否か
判断し、「階層差」が「0」と判断した場合にはインデ
ックス情報読み出し部431に起動信号を送信しインデ
ックス情報読み出し部431を起動させ、「階層差」が
「0」と判断しない場合(「階層差」が0よりも大きい
場合)にはさらにオブジェクト情報記憶部421にアク
セスしオブジェクト情報記憶部421が記憶しているオ
ブジェクト情報(表6のような情報)の「種別」(種別
データ)を読み出しそれが「テーブルオブジェクト」で
あるときには(新規データがさらに子データを格納する
ことを示すものであるときには)階層差記憶部429が
記憶している「階層差」の値から1減じた値を階層差記
憶部429に記憶させ、そしてインデックス管理対象情
報書き込み部419に起動信号を送信しインデックス管
理対象情報書き込み部419を起動させる。オブジェク
ト情報記憶部421が記憶しているオブジェクト情報の
「種別」が「テーブルオブジェクトではない」であると
きには、単位処理を終了する。以上のように、ここでは
インデックス管理対象情報読み出し部417と階層差記
憶部429とを含んで、インデックス管理判断手段が構
成されている。
【0059】具体的に説明すれば、インデックス管理対
象情報読み出し部417が、前記検索(「SYS_IN
DEXEDOBJS」に格納されているオブジェクトの
項目「テーブルのオブジェクトID」の値が、該読み出
し取得した「格納先となるテーブルのオブジェクトI
D」と同一のものを探すことであるので、「格納先とな
るテーブルのオブジェクトID」が表6に示す(30,
0)であり、「SYS_INDEXEDOBJS」に記
憶されているオブジェクトが表5の(b)のようなもの
であれば、インデックス管理対象情報読み出し部417
は、該当オブジェクトとして「・テーブルのオブジェク
トID:(30,0) ・インデックス番号:1 ・階
層差:1」を見いだす。)にて見つけた「該当オブジェ
クト」に含まれる「階層差」たる「1」を階層差記憶部
429に送信し階層差記憶部429に記憶させると共
に、該当オブジェクトに含まれる「インデックス番号」
たる「1」をインデックス情報記憶部427に送信しイ
ンデックス情報記憶部427に記憶させる。そして、イ
ンデックス管理対象情報読み出し部417が、階層差記
憶部429にアクセスし階層差記憶部429が記憶して
いる「階層差」たる「1」を読み出し取得し該取得した
「階層差」たる「1」が「0」か否か判断しここでは
「階層差」が「0」と判断しないのでさらにオブジェク
ト情報記憶部421にアクセスしオブジェクト情報記憶
部421が記憶しているオブジェクト情報(表6の情
報)の「種別」たる「テーブルオブジェクト」を読み出
しここではそれが「テーブルオブジェクト」であるので
階層差記憶部429が記憶している「階層差」たる
「1」の値から1減じた値である「0」を階層差記憶部
429に記憶させ、そしてインデックス管理対象情報書
き込み部419に起動信号を送信しインデックス管理対
象情報書き込み部419を起動させる。
【0060】インデックス管理対象情報読み出し部41
7が「階層差」が「0」と判断した場合に発する起動信
号を受信したインデックス情報読み出し部431は、イ
ンデックス情報記憶部427にアクセスしインデックス
情報記憶部427が記憶している「インデックス番号」
(インデックス特定データ)を読み出し取得し、該読み
出し取得した「インデックス番号」によりデータ記憶部
701の「SYS_INDICES」を検索する。この
検索によって、該当すると判断されたオブジェクトの全
ての項目の値をインデックス情報読み出し部431は読
み出し取得してインデックス情報記憶部427に送信し
インデックス情報記憶部427に記憶させる。その後、
インデックス情報読み出し部431は、インデックスへ
のエントリ挿入部433に起動信号を送信しインデック
スへのエントリ挿入部433を起動させる。具体的に説
明すれば、インデックス情報読み出し部431は、イン
デックス情報記憶部427にアクセスしインデックス情
報記憶部427が記憶している「インデックス番号」た
る「1」を読み出し取得し、該読み出し取得した「イン
デックス番号」たる「1」によりデータ記憶部701の
「SYS_INDICES」を検索(「SYS_IND
ICES」の各オブジェクトに含まれる「インデックス
番号」が、該読み出し取得した「インデックス番号」に
合致するものを探すことをいう。)する。この検索によ
って、該当すると判断されたオブジェクト(ここでは
「SYS_INDICES」には表5(a)に示すよう
に1のオブジェクトが記憶されており、その「インデッ
クス番号」たる「1」は、前記読み出し取得した「イン
デックス番号」たる「1」に合致するので、該1のオブ
ジェクトが該当する。)の全ての項目の値をインデック
ス情報読み出し部431は読み出し取得してインデック
ス情報記憶部427に送信しインデックス情報記憶部4
27に記憶させる(表8にインデックス情報記憶部42
7が記憶する情報を模式的に示す。)。その後、インデ
ックス情報読み出し部431は、インデックスへのエン
トリ挿入部433に起動信号を送信しインデックスへの
エントリ挿入部433を起動させる。
【0061】(表8)インデックス情報記憶部427の
記憶内容 ・インデックス名:入社日インデックス ・保有元テーブルのオブジェクトID:(30,0) ・B−Tree/R−Treeの別:B−Tree ・階層差:1 ・キーに対応する項目:入社日 ・インデックス番号:1 ・インデックスルートページ番号:38
【0062】インデックス情報読み出し部431から起
動信号を受信したインデックスへのエントリ挿入部43
3は、オブジェクトID記憶部425に記憶されている
オブジェクトIDと、オブジェクト情報記憶部421に
記憶されているオブジェクト情報に含まれる「キーに対
応する項目」に対応するデータ(値)と、をインデック
スへ挿入する。なお、「キーに対応する項目」は、イン
デックスへのエントリ挿入部433が、インデックス情
報記憶部427にアクセスしてそれが記憶している表8
に示すデータから読み出し取得する。この「キーに対応
する項目」を取得したインデックスへのエントリ挿入部
433は、オブジェクト情報記憶部421にアクセスし
オブジェクト情報記憶部421に記憶されているオブジ
ェクト情報に含まれる「キーに対応する項目」に対応す
るデータ(値)を読み出し取得する。また、インデック
スへの挿入は、一般的なB−Tree又はR−Tree
の構築動作に従って行うことができるので、ここでは説
明を省略する(インデックスへの挿入を行う際に必要と
なるインデックスに関する情報は、インデックス情報記
憶部427に記憶されている(表8のような情報が記憶
されている。)ので、インデックスへのエントリ挿入部
433は適宜インデックス情報記憶部427にアクセス
することでかかる情報を得ることができる。)。具体的
に説明すれば、インデックスへのエントリ挿入部433
は、オブジェクトID記憶部425に記憶されているオ
ブジェクトIDたる(33,3)と、オブジェクト情報
記憶部421に記憶されているオブジェクト情報に含ま
れる「キーに対応する項目」たる「入社日」に対応する
データ(値)(例えば、表7のようなデータがオブジェ
クト情報記憶部421に記憶されていれば「1993.
4.1」)と、をインデックスへ挿入する。なお、オブ
ジェクトID記憶部425に記憶されているオブジェク
トIDたる(33,3)は、表7に示したオブジェクト
を格納する際であり、もし表6に示したオブジェクトを
格納する場合であれば(32,3)となる。以上のよう
に、ここではインデックス情報読み出し部431とイン
デックスへのエントリ挿入部433とを含んでインデッ
クス挿入手段が構成されている。
【0063】インデックス管理対象情報読み出し部41
7から起動信号を受信したインデックス管理対象情報書
き込み部419(インデックス管理情報追加手段)は、
オブジェクトID記憶部425にアクセスしオブジェク
トID記憶部425に記憶されているオブジェクトID
(追加位置データ)を読み出し取得し、インデックス情
報記憶部427にアクセスしインデックス情報記憶部4
27に記憶されているインデックス番号(インデックス
特定データ)を読み出し取得し、階層差記憶部429に
アクセスし階層差記憶部429に記憶されている階層差
(1減じたもの)を読み出し取得し、そしてこれら読み
出し取得したオブジェクトID、インデックス番号及び
階層差の情報を含むオブジェクトを作成し、該オブジェ
クトをデータ記憶部701の「SYS_INDEXED
OBJS」(インデックス管理情報記憶手段)に書き込
み記憶させる。具体的に説明すれば、インデックス管理
対象情報書き込み部419は、オブジェクトID記憶部
425にアクセスしオブジェクトID記憶部425に記
憶されているオブジェクトIDたる(32,3)を読み
出し取得し、インデックス情報記憶部427にアクセス
しインデックス情報記憶部427に記憶されているイン
デックス番号たる「1」を読み出し取得し、階層差記憶
部429にアクセスし階層差記憶部429に記憶されて
いる階層差たる「0」を読み出し取得し、そしてこれら
読み出し取得したオブジェクトID、インデックス番号
及び階層差の情報を含むオブジェクトを作成し、該オブ
ジェクトをデータ記憶部701の「SYS_INDEX
EDOBJS」に書き込み記憶させる。この後のデータ
記憶部701の「SYS_INDEXEDOBJS」の
記憶内容を表9に示す。表9と表5(b)とを比較する
と、表9ではオブジェクト「・テーブルのオブジェクト
ID:(32,3)、・インデックス番号:1、・階層
差:0」が付け加えられたことがわかる。
【0064】(表9)「SYS_INDEXEDOBJ
S」の記憶内容 ・テーブルのオブジェクトID:(30,0) ・インデックス番号:1 ・階層差:1 ・テーブルのオブジェクトID:(32,0) ・インデックス番号:1 ・階層差:0 ・テーブルのオブジェクトID:(32,1) ・インデックス番号:1 ・階層差:0 ・テーブルのオブジェクトID:(32,2) ・インデックス番号:1 ・階層差:0 ・テーブルのオブジェクトID:(32,3) ・インデックス番号:1 ・階層差:0
【0065】さらに、インデックス検索部501につい
て説明する。図7は、インデックス検索部501の詳細
な機能ブロック図である。図7を参照して、インデック
ス検索部501について説明する。インデックス検索部
501は、機能的には、検索情報受信部511とインデ
ックス情報読み出し部513とインデックス検索処理部
515とオブジェクトデータ読み出し部517とオブジ
ェクトデータ送信部519と検索情報記憶部521とイ
ンデックス情報記憶部523と検索結果記憶部525と
を有して構成されている。
【0066】起動信号送信部205から起動信号を受信
した検索情報受信部511は、LAN117を経由して
直接データを送受信することができる状態になり、ま
ず、検索情報(検索をどのように行うかに関する情報)
の入力フォーマットをLAN117を経由して前記図示
しない他の情報端末に送信し入力を促す。検索情報の入
力フォーマットには、インデックス名(検索に使用する
インデックスの名称)、保有元テーブルのオブジェクト
ID及び検索条件(比較演算の種別と条件値とによって
構成される。)の3項目を含む。該入力フォーマットを
受信した前記図示しない他の情報端末は、これらの項目
に該当するデータを受け付けた後、受け付けたデータを
検索情報受信部511へ送信する。この前記図示しない
他の情報端末から検索情報受信部511へ送信される検
索情報の一例を表10に示す。なお、表10では、イン
デックス定義部301の動作を説明する際に用いた「入
社日インデックス」を用いて、入社日が「1985.
4.1」である社員情報を検索するための検索情報を示
している。また、これらのうち「インデックス名」や
「保有元テーブルのオブジェクトID」等のように、デ
ータ記憶部701における記憶データを参照しつつ決す
べきものは、必要に応じ閲覧部601を通じて前記図示
しない他の情報端末がデータ記憶部701の記憶内容を
閲覧して決定される。
【0067】(表10)検索情報の一例 ・インデックス名:「入社日インデックス」 ・保有元テーブルのオブジェクトID:(30,0) ・検索条件:「1985.4.1」に等しい
【0068】表10に示したような検索情報を受信した
検索情報受信部511は、該受信した検索情報全てを検
索情報記憶部521へ送信し検索情報記憶部521に記
憶させ、さらにインデックス情報読み出し部513へ起
動信号を発しインデックス情報読み出し部513を起動
させる。
【0069】検索情報受信部511から起動信号を受信
したインデックス情報読み出し部513は、検索情報記
憶部521にアクセスし検索情報記憶部521が記憶し
ている検索情報から「インデックス名」と「保有元テー
ブルのオブジェクトID」とを読み出し取得する。そし
て、インデックス情報読み出し部513は、データ記憶
部701にアクセスし該読み出し取得した「インデック
ス名」及び「保有元テーブルのオブジェクトID」を用
いてデータ記憶部701の「SYS_INDICES」
(既に説明した表5(a)に示すようなデータが記憶さ
れている。)を検索し、これら「インデックス名」と
「保有元テーブルのオブジェクトID」との両方に合致
するオブジェクトに含まれる全ての項目の値を読み出し
取得する。さらに、インデックス情報読み出し部513
は、該読み出し取得したオブジェクトに含まれる全ての
項目の値をインデックス情報記憶部523に送信しイン
デックス情報記憶部523に記憶させる。その後、イン
デックス情報読み出し部513は、インデックス検索処
理部515へ起動信号を発しインデックス検索処理部5
15を起動させる。具体的に説明すれば、表10に示し
た検索情報に含まれる「インデックス名」たる「入社日
インデックス」及び「保有元テーブルのオブジェクトI
D」たる(30,0)を用いてデータ記憶部701の
「SYS_INDICES」(既に説明した表5(a)
に示すようなデータが記憶されている。)を検索し、こ
れら「インデックス名」たる「入社日インデックス」及
び「保有元テーブルのオブジェクトID」たる(30,
0)との両方に合致するオブジェクトに含まれる全ての
項目の値を読み出し取得する。該読み出し取得したオブ
ジェクトに含まれる全ての項目の値(一例)を表11に
示す。なお、前述のように、インデックス情報読み出し
部513は、表11に示したような該読み出し取得した
オブジェクトに含まれる全ての項目の値をインデックス
情報記憶部523に送信しインデックス情報記憶部52
3に記憶させ、インデックス検索処理部515へ起動信
号を発する。
【0070】(表11)検索情報による「SYS_IN
DICES」の検索結果 ・インデックス名:入社日インデックス ・保有元テーブルのオブジェクトID:(30,0) ・B−Tree/R−Treeの別:B−Tree ・階層差:1 ・キーに対応する項目:入社日 ・インデックス番号:1 ・インデックスルートページ番号:38
【0071】インデックス情報読み出し部513から起
動信号を受信したインデックス検索処理部515は、イ
ンデックス情報記憶部523に記憶されている情報(表
11に示したような情報)と検索情報記憶部521に記
憶されている情報(表10に示したような情報)とを用
いて、該当するインデックスを使用した検索処理(デー
タ記憶部701に関する検索)を行う。なお、かかるイ
ンデックスを使用した検索処理は、一般的なB−Tre
e又はR−Treeの既知の動作方法によって行うこと
ができるので、ここでは説明を省略する。また、ここで
行う検索処理(B−Tree又はR−Treeのいずれ
についても)においては、前記検索情報に合致する1又
は2以上のオブジェクトのオブジェクトIDをインデッ
クス検索処理部515が取得し、さらにインデックス検
索処理部515が該取得したオブジェクトIDを検索結
果記憶部525へ送信し検索結果記憶部525に記憶さ
せる。その後、インデックス検索処理部515は、オブ
ジェクトデータ読み出し部517へ起動信号を発しオブ
ジェクトデータ読み出し部517を起動させる。
【0072】インデックス検索処理部515から起動信
号を受信したオブジェクトデータ読み出し部517は、
検索結果記憶部525にアクセスし検索結果記憶部52
5が記憶しているオブジェクトID(前記検索情報に合
致する1又は2以上のオブジェクトのオブジェクトI
D)を読み出し取得し、該読み出し取得したオブジェク
トIDに従ってデータ記憶部701にアクセスし該オブ
ジェクトIDに該当するオブジェクトに関するデータを
読み出し取得する。そして、オブジェクトデータ読み出
し部517は、該読み出し取得したオブジェクトに関す
るデータをオブジェクトデータ送信部519へ送信し、
それを受けてオブジェクトデータ送信部519は、受信
したオブジェクトに関するデータをLAN117を経由
して前記図示しない他の情報端末(前記検索情報を送信
した情報端末)に送信する(これによって前記図示しな
い他の情報端末(前記検索情報を送信した情報端末)
は、該データを表示することができる。)。このような
オブジェクトデータ読み出し部517によるオブジェク
トに関するデータ読み出しと、オブジェクトデータ送信
部519によるオブジェクトに関するデータの送信と、
は、検索結果記憶部525に記憶されているオブジェク
トID全てについて行われる。
【0073】次いで、本システム101の動作について
説明する。図8は、要求受信部201の動作を示すフロ
ーチャートである。図8を参照して、要求受信部201
の動作について説明する。まず、要求受信部201の要
求信号受信部203が、LAN117を経由して図示し
ない他の情報端末からアクセスされたか否か判断し(s
251)、アクセスされたと判断した場合(YES)本
システム101の起動画面を表示する信号を該図示しな
い他の情報端末に要求信号受信部203は送信し(s2
52)、アクセスされたと判断しない場合(NO)再び
s251へ戻る。なお、前述のように、この起動画面に
は、「1、インデックス付け」、「2、オブジェクト追
加」、「3、検索」、「4、閲覧」の4項目が表示され
るようになっており、該図示しない他の情報端末の使用
者が該図示しない他の情報端末を介して(無論、LAN
117を経由する。)「1」、「2」、「3」、「4」
のいずれかの信号を要求受信部201に入力することで
本システム101の所望の機能を発揮させることができ
るようになっているので、要求信号受信部203は、該
図示しない他の情報通信端末の使用者が、「1」、
「2」、「3」、「4」のいずれかの信号を入力するこ
とを待つ(s253)。該図示しない他の情報端末の使
用者から該図示しない他の情報端末を介して「1」、
「2」、「3」、「4」の信号が要求信号受信部203
に入力されたと要求信号受信部203が判断すると(Y
ES)、その入力された信号を要求信号受信部203が
(要求受信部201の)起動信号送信部205へ送信し
(s254)、該図示しない他の情報端末の使用者から
該図示しない他の情報端末を介して「1」、「2」、
「3」、「4」の信号が要求信号受信部203に入力さ
れたと要求信号受信部203が判断しないと(NO)再
びs253へ戻る。s254にて「1」、「2」、
「3」、「4」のいずれかの信号を要求信号受信部20
3から受信した起動信号送信部205は、受信した信号
の種類を認識し、その種類に応じた起動信号を発する
(s255)。なお、この種類に応じた起動信号とは、
前述したように、要求信号受信部203から起動信号送
信部205が受信した信号が、「1」であればインデッ
クス定義部301(インデックス定義情報受信部31
1)に起動信号を発し、「2」であればオブジェクト格
納部401(オブジェクト情報受信部411)に起動信
号を発し、「3」であればインデックス検索部501
(検索情報受信部511)に起動信号を発し、「4」で
あれば閲覧部601に起動信号を発することをいう。そ
の後、作業終了か否か判断し(s256)、作業終了と
判断すれば(YES)作業を終了し(END)、作業終
了と判断しなければ再びs251へ戻る。
【0074】図9は、インデックス定義部301の動作
を示すフローチャートである。図9を参照して、インデ
ックス定義部301の動作について説明する。まず、イ
ンデックス定義情報受信部311(インデックス定義情
報受付手段)が、起動信号送信部205から起動信号を
受信したか否か判断し(s351)、起動信号を受信し
たと判断した場合(YES)インデックス定義情報受信
部311は、インデックス定義情報の入力フォーマット
をLAN117を経由して前記図示しない他の情報端末
に送信し(s352)入力を促し、起動信号を受信した
と判断しない場合(NO)には再びs351へ戻る。本
システム101の動作ではないが、該入力フォーマット
を受信した前記図示しない他の情報端末は、これらの項
目に該当するデータを前記図示しない他の情報端末の使
用者から受け付けた後、受け付けたデータをインデック
ス定義情報受信部311へ送信する。s352の後、前
述のようにして前記図示しない他の情報端末から送信さ
れたインデックス定義情報をインデックス定義情報受信
部311は受信し、さらにインデックス定義情報受信部
311は該受信したインデックス定義情報全てをインデ
ックス情報記憶部323へ送信しインデックス情報記憶
部323に記憶させる(s353)。なお、インデック
ス定義情報は、前述したように、インデックス名、保有
元テーブルのオブジェクトID(先祖特定データ)、B
−Tree/R−Treeの別(インデックスの種類選
択)、階層差(先祖特定データにより特定される先祖デ
ータ(保有元テーブル)からインデックス付けを行う子
孫データの親データまでの階層差)及びキーに対応する
項目(インデックス対象項目特定データ)の5項目が含
まれており、これらのうち保有元テーブルのオブジェク
トID、階層差及びキーに対応する項目等のように、デ
ータ記憶部701における記憶データを参照しつつ決す
べきものは、必要に応じ閲覧部601を通じて前記図示
しない他の情報端末がデータ記憶部701の記憶内容を
閲覧して決定される。s353の後、インデックス定義
情報受信部311は、s353において受信したインデ
ックス定義情報に含まれる保有元テーブルのオブジェク
トID(ここでは(30,0))を抽出しオブジェクト
ID記憶部327へ送信しオブジェクトID記憶部32
7に記憶させ(s354)、さらにインデックス番号生
成部313へ起動信号を発し(s355)インデックス
番号生成部313を起動させる。
【0075】s355においてインデックス定義情報受
信部311から発せられた起動信号を受信したインデッ
クス番号生成部313(インデックス特定データ取得手
段)は、インデックス番号(インデックス特定データ)
を決定し、該決定したインデックス番号をインデックス
情報記憶部323に送信し、そして既にインデックス情
報記憶部323が記憶しているインデックス定義情報
(s353においてインデックス情報記憶部323に送
信される。)に加え、該決定したインデックス番号をイ
ンデックス情報記憶部323に記憶させる(s35
6)。なお、インデックス番号生成部313がインデッ
クス番号を決定する方法は、前述のように、「SYS_
INDICES」に格納されている情報(オブジェク
ト)に付されたインデックス番号を検索しこのインデッ
クス番号のうち最大値に1を加えてインデックス番号を
決定する(「SYS_INDICES」に格納されてい
る情報(オブジェクト)がなければインデックス番号と
して「1」を決定する。なお、ここでは「1」を決定し
たものとして、後の説明を行う。)。その後、インデッ
クス番号生成部313はインデックス作成部315に起
動信号を発し(s357)、インデックス作成部315
を起動させる。
【0076】インデックス番号生成部313からs35
7にて発せられた起動信号を受信したインデックス作成
部315は、データ記憶部701の記憶領域にインデッ
クスデータを記録するためのインデックスルートページ
を作成し、該作成したインデックスルートページのペー
ジ番号(ここでは「38」)をインデックス情報記憶部
323に送信し、そして既にインデックス情報記憶部3
23が記憶しているインデックス定義情報とインデック
ス番号に加え、インデックスルートページのページ番号
をインデックス情報記憶部323に記憶させる(s35
8)。なお、ここにいうインデックスルートページの作
成とは、具体的には、データベースファイルを1ページ
のサイズだけ拡張し、その拡張した領域をインデックス
を構成するページとして初期化する(エントリ数が0で
あるインデックスページとする)ことをいう。また、イ
ンデックスルートページは、データ記憶部701の記憶
領域のうち記憶末尾に続くように作成される(ここでは
インデックスルートページがページ番号「38」に作成
されたものとした。)。その後、インデックス作成部3
15は、インデックス情報書き込み部317に起動信号
を発し(s359)、インデックス情報書き込み部31
7を起動させる。
【0077】インデックス作成部315からs359に
て発せられた起動信号を受信したインデックス情報書き
込み部317は、インデックス情報記憶部323に記憶
されている情報(上記した表2に示す情報)をインデッ
クス情報記憶部323から読み出し取得し、該取得した
情報(表2)をデータ記憶部701の「SYS_IND
ICES」に書き込む(s360)。そして、インデッ
クス情報書き込み部317は、該取得した情報(表2)
に含まれる「階層差」(ここでは「1」)を階層差記憶
部325に書き込む(s361)。さらに、インデック
ス情報書き込み部317は、インデックス管理対象情報
書き込み部319に起動信号を発し(s362)、イン
デックス管理対象情報書き込み部319を起動させる。
【0078】インデックス情報書き込み部317からs
362にて発せられた起動信号を受信したインデックス
管理対象情報書き込み部319は、オブジェクトID記
憶部327が記憶しているテーブルのオブジェクトID
(インデックス定義情報受信部311から受信(s35
4)し記憶したものであり、ここでは保有元テーブルの
オブジェクトIDたる(30,0))と、インデックス
情報記憶部323が記憶しているインデックス番号(こ
こでは「1」)を読み出し取得したインデックス番号
(ここでは「1」)と、階層差記憶部325が記憶して
いる階層差(ここでは「1」)を読み出し取得した階層
差(ここでは「1」)と、を有する情報を作成すると共
に、該作成された情報をデータ記憶部701のシステム
テーブル「SYS_INDEXEDOBJS」(インデ
ックス管理情報記憶手段)に書き込む(s363)。s
363にて「SYS_INDEXEDOBJS」に前記
情報を書き込んだインデックス管理対象情報書き込み部
319は、該書き込んだ情報に含まれている階層差が
「0」か否か判断し(s364)、「0」であれば(Y
ES)インデックスへのエントリ挿入部329へ起動信
号を発し(s365)インデックスへのエントリ挿入部
329を起動させ、「0」でなければ(0より大きい値
であれば)(NO)オブジェクト情報読み出し部321
へ起動信号を発し(s366)オブジェクト情報読み出
し部321を起動させ、後述の処理Aを行う。
【0079】s364において階層差が「0」と判断さ
れインデックス管理対象情報書き込み部319からs3
65にて発せられた起動信号を受信したインデックスへ
のエントリ挿入部329は、まずオブジェクトID記憶
部327が記憶しているテーブルのオブジェクトID
(前記した例では保有元テーブルのオブジェクトIDた
る(30,0)をオブジェクトID記憶部327が記憶
しているが、これは表2に示すように、階層差「1」で
あるので、前記した例では階層差が「0」と判断される
ことはない。)を読み出し取得し、該取得したテーブル
のオブジェクトIDが指すテーブル(処理対象テーブ
ル)に格納されている(含まれる)全てのオブジェクト
について、それぞれに対応するエントリ(該オブジェク
トのオブジェクトIDと「キーに対応する項目」の値と
の組)をインデックスに挿入する(s367)。なお、
インデックスへのエントリ挿入部329は、処理対象テ
ーブルをデータ記憶部701にアクセスして読み出し、
該読み出した処理対象テーブルに格納されている(含ま
れている)オブジェクトに含まれる「キーに対応する項
目」に相当する値を用いて該エントリを作成することが
できる。なお、該エントリをインデックスに挿入する方
法は、一般的なB−Tree又はR−Treeの構築動
作に従って行うことができるので、ここでは説明を省略
する(また、該エントリをインデックスに挿入する際に
必要となるインデックスに関する情報は、インデックス
へのエントリ挿入部329がインデックス情報記憶部3
23へ適宜アクセスして読み出し取得すればよい。)。
【0080】s366において発せられた起動信号を受
信したオブジェクト情報読み出し部321等が行う処理
Aについて説明する。図10は、処理Aの詳細を示すフ
ローチャートである。図10を参照して、処理Aについ
て説明する。まずオブジェクト情報読み出し部321
は、階層差記憶部325にアクセスし階層差記憶部32
5が記憶している階層差の値から1を減じた数を階層差
として階層差記憶部325に上書きして記憶させる(s
381)。その後、オブジェクト情報読み出し部321
は、オブジェクトID記憶部327が記憶しているテー
ブルのオブジェクトID(ここでは(30,0))を読
み出し取得し、該取得したテーブルのオブジェクトID
(ここでは(30,0))が指すテーブル(処理対象テ
ーブル)に従属している(格納されている)全てのオブ
ジェクトを1つずつ順次読み出す。そして、それぞれの
オブジェクトに記録されている「種別」(そのオブジェ
クトがテーブルオブジェクトであるか否か)の内容を判
定し、テーブルオブジェクトでは無い場合は処理対象テ
ーブルの次のオブジェクトを読み出す。テーブルオブジ
ェクトである場合は次の処理(処理B)を行う(ここで
は(総務部)社員テーブル、(営業部)社員テーブル及
び(製造部)社員テーブルについて処理Bを行う。)。
【0081】処理Bは、次のごとき処理である。まず、
オブジェクト情報読み出し部321は、オブジェクトI
D記憶部327が記憶しているテーブルのオブジェクト
ID(ここでは(30,0))をオブジェクトID記憶
部327にアクセスし読み出し取得し、該読み出し取得
したテーブルのオブジェクトID(ここでは(30,
0))が指すテーブル(処理対象テーブル)に格納され
ている(含まれる)テーブルオブジェクトのうちこれか
ら処理しようとするテーブルオブジェクトのオブジェク
トIDをオブジェクトID記憶部327に記憶させる
(s382)(このことは、これから処理しようとする
テーブルオブジェクトが「処理対象テーブル」になるこ
とを示す。)。なお、オブジェクト情報読み出し部32
1は、オブジェクトID記憶部327に記憶されている
オブジェクトIDに該当するテーブルを読み出すこと
で、そのテーブルに格納されているオブジェクトのペー
ジ番号を取得し、そのページ番号のページに記録されて
いるオブジェクトを読み込んでゆくことで、該テーブル
に格納されているオブジェクトのオブジェクトID(s
382において、オブジェクトID記憶部327に記憶
させるもの)及びその内容を取得できる(例えば、図5
の例では、オブジェクトID記憶部327に記憶されて
いるオブジェクトIDたる(30,0)に該当するテー
ブル「部署テーブル(30,0)」を読み出すことで、
そのテーブル「部署テーブル(30,0)」に格納され
ているオブジェクトのページ番号(32)を取得し、そ
のページ番号(32)のページに記録されているオブジ
ェクトを読み込んでゆくことで、該テーブル「部署テー
ブル(30,0)」に格納されているオブジェクトのオ
ブジェクトID(32,0)、(32,1)、(32,
2)及びその内容を取得することができる。)。さら
に、オブジェクト情報読み出し部321は、インデック
ス管理対象情報書き込み部319に起動信号を発し(s
383)、インデックス管理対象情報書き込み部319
を起動させる。
【0082】オブジェクト情報読み出し部321からs
383にて発せられた起動信号を受信したインデックス
管理対象情報書き込み部319は、オブジェクトID記
憶部327が記憶しているこれから処理しようとするテ
ーブルオブジェクトのオブジェクトID(オブジェクト
情報読み出し部321によって記憶させられたものであ
り、例えば、(32,0))と、インデックス情報記憶
部323が記憶しているインデックス番号(ここでは
「1」)を読み出し取得したインデックス番号(ここで
は「1」)と、階層差記憶部325が記憶している階層
差(ここでは「0」)を読み出し取得した階層差(ここ
では「0」)と、を有する情報を作成すると共に、該作
成された情報をデータ記憶部701のシステムテーブル
「SYS_INDEXEDOBJS」に書き込む(s3
84)。s384にて「SYS_INDEXEDOBJ
S」に前記情報を書き込んだインデックス管理対象情報
書き込み部319は、該書き込んだ情報に含まれている
階層差が「0」か否か判断し(s385)、「0」であ
れば(YES)インデックスへのエントリ挿入部329
へ起動信号を発し(s387)インデックスへのエント
リ挿入部329を起動させ、「0」でなければ(0より
大きい値であれば)(NO)オブジェクト情報読み出し
部321へ起動信号を発し(s386)オブジェクト情
報読み出し部321を起動させ、再び処理Aを行う。
【0083】s385において階層差が「0」と判断さ
れインデックス管理対象情報書き込み部319からs3
87にて発せられた起動信号を受信したインデックスへ
のエントリ挿入部329は、まずオブジェクトID記憶
部327が記憶しているこれから処理しようとするテー
ブルオブジェクトのオブジェクトID(例えば、(3
2,0))を読み出し取得し、該取得したこれから処理
しようとするテーブルオブジェクトのオブジェクトID
(例えば、(32,0))が指すテーブル(ここでの処
理対象テーブル)に格納されている(含まれている)全
てのオブジェクトについて、それぞれに対応するエント
リ(該オブジェクトのオブジェクトIDと「キーに対応
する項目」の値との組)をインデックスに挿入する(s
388)。なお、インデックスへのエントリ挿入部32
9は、これから処理しようとするテーブルのオブジェク
トIDに該当するテーブル(処理対象テーブル)をデー
タ記憶部701にアクセスして読み出し、該読み出した
処理対象テーブルに格納されている(含まれている)オ
ブジェクトに含まれる「キーに対応する項目」(インデ
ックス対象項目特定データ)に相当する値を用いて該エ
ントリを作成することができる。なお、該エントリをイ
ンデックスに挿入する方法は、一般的なB−Tree又
はR−Treeの構築動作に従って行うことができるの
で、ここでは説明を省略する。
【0084】以上が処理Bであり、かかる処理Bは、処
理Bが開始される際にオブジェクトID記憶部327が
記憶しているオブジェクトIDが指すテーブル(処理対
象テーブル)に従属している(格納されている)全ての
テーブルオブジェクトについて行われる。全ての処理B
が完了した後、オブジェクト情報読み出し部321は階
層差記憶部325にアクセスし階層差記憶部325が記
憶している階層差の値に1を加えた数を階層差として階
層差記憶部325に上書きして記憶させる(s389)
(即ち、これによって階層差記憶部325が記憶してい
る階層差が「1」増加する。)。以上のように、s38
1からs389によって(処理Bの繰り返しを含む)処
理Aが構成されている。かかる処理Aが完了すると、図
9に示すようにインデックス定義部301の動作が終了
する。なお、上述したように、ここではインデックス管
理対象情報書き込み部319とオブジェクト情報読み出
し部321と階層差記憶部325とオブジェクトID記
憶部327とインデックスへのエントリ挿入部329と
を含んで、インデックス付け手段が構成されている。
【0085】かかる処理Aについて具体的に説明をして
おく。まずs381においてオブジェクト情報読み出し
部321が階層差記憶部325にアクセスした際、階層
差記憶部325が記憶している階層差の値が「1」だと
すると(この階層差が「1」であり0ではないので、前
述のs364において「NO」と判断された。)、オブ
ジェクト情報読み出し部321は、階層差記憶部325
が記憶している階層差たる「1」の値から1を減じた数
(即ち「0」)を階層差として階層差記憶部325に上
書きして記憶させる(s381)。その後、オブジェク
ト情報読み出し部321は、オブジェクトID記憶部3
27が記憶しているテーブルのオブジェクトID(ここ
では(30,0))が指すテーブル(処理対象テーブ
ル)に格納されている(含まれている)全てのテーブル
オブジェクト(例えば、前述の図5に示したものであれ
ば、「(総務部)社員テーブル」(オブジェクトID:
(32,0))、「(営業部)社員テーブル」(オブジ
ェクトID:(32,1))、「(製造部)社員テーブ
ル」(オブジェクトID:(32,2)))について次
の処理Bを行う。
【0086】処理Bは、次のように行われる。まず、オ
ブジェクト情報読み出し部321は、オブジェクトID
記憶部327が記憶しているテーブルのオブジェクトI
D(ここでは(30,0))をオブジェクトID記憶部
327にアクセスし読み出し取得し、該読み出し取得し
たテーブルのオブジェクトID(ここでは(30,
0))が指すテーブル(処理対象テーブル)に格納され
ている(含まれている)テーブルオブジェクトのうちこ
れから処理しようとするテーブルオブジェクト(例え
ば、「(総務部)社員テーブル」)のオブジェクトID
(ここでは(32,0))をオブジェクトID記憶部3
27に記憶させる(s382)(このことは、これから
処理しようとするテーブルオブジェクトたる「(総務
部)社員テーブル」が「処理対象テーブル」になること
を示す。)。なお、オブジェクト情報読み出し部321
は、オブジェクトID記憶部327に記憶されているオ
ブジェクトIDに該当するテーブルを読み出すことで、
そのテーブルに格納されているオブジェクトのページ番
号を取得し、そのページ番号のページに記録されている
オブジェクトを読み込んでゆくことで、該テーブルに格
納されているオブジェクトのオブジェクトID(s38
2において、オブジェクトID記憶部327に記憶させ
るもの)及びその内容を取得できる(例えば、図5の例
では、オブジェクトID記憶部327に記憶されている
オブジェクトIDたる(30,0)に該当するテーブル
「部署テーブル(30,0)」を読み出すことで、その
テーブル「部署テーブル(30,0)」に格納されてい
るオブジェクトのページ番号(32)を取得し、そのペ
ージ番号(32)のページに記録されているオブジェク
トを読み込んでゆくことで、該テーブル「部署テーブル
(30,0)」に格納されているオブジェクトのオブジ
ェクトID(32,0)、(32,1)、(32,2)
及びその内容を取得することができる。)。さらに、オ
ブジェクト情報読み出し部321は、インデックス管理
対象情報書き込み部319に起動信号を発し(s38
3)、インデックス管理対象情報書き込み部319を起
動させる。
【0087】オブジェクト情報読み出し部321から起
動信号を受信したインデックス管理対象情報書き込み部
319は、オブジェクトID記憶部327が記憶してい
るこれから処理しようとするテーブルオブジェクトのオ
ブジェクトID(ここでは(32,0))と、インデッ
クス情報記憶部323が記憶しているインデックス番号
(ここでは「1」)を読み出し取得したインデックス番
号(ここでは「1」)と、階層差記憶部325が記憶し
ている階層差(s381において「1」から「0」に変
更されている。)を読み出し取得した階層差(ここでは
「0」)と、を有する情報を作成すると共に、該作成さ
れた情報をデータ記憶部701のシステムテーブル「S
YS_INDEXEDOBJS」に書き込む(s38
4)。s384にて「SYS_INDEXEDOBJ
S」に前記情報を書き込んだインデックス管理対象情報
書き込み部319は、該書き込んだ情報に含まれている
階層差が「0」か否か判断し(s385)、ここでは
「0」であるので(YES)インデックスへのエントリ
挿入部329へ起動信号を発し(s387)インデック
スへのエントリ挿入部329を起動させる。なお、前述
したように、s385において、階層差が「0」でなけ
れば(0より大きい値であれば)(NO)オブジェクト
情報読み出し部321へ起動信号を発し(s386)オ
ブジェクト情報読み出し部321を起動させ、再び処理
Aを行う。
【0088】s385において階層差が「0」と判断さ
れインデックス管理対象情報書き込み部319からs3
87にて発せられた起動信号を受信したインデックスへ
のエントリ挿入部329は、まずオブジェクトID記憶
部327が記憶しているこれから処理しようとするテー
ブルオブジェクトのオブジェクトID(ここでは(3
2,0))を読み出し取得し、該取得したこれから処理
しようとするテーブルオブジェクトのオブジェクトID
(ここでは(32,0))が指すテーブル(ここでは
「(総務部)社員テーブル」)に格納されている全ての
オブジェクトについて、それぞれに対応するエントリ
(該オブジェクトのオブジェクトIDと「キーに対応す
る項目」の値との組をいい、例えば、図5に含まれる例
でいえば、(33,0)と「1982.4.1」、(3
3,1)と「1983.4.1」、(33,2)と「1
990.3.5」)をインデックスに挿入する(s38
8)。なお、インデックスへのエントリ挿入部329
は、これから処理しようとするテーブルオブジェクトの
オブジェクトID(ここでは(32,0))に該当する
テーブル(ここでは「(総務部)社員テーブル」)をデ
ータ記憶部701にアクセスして読み出し、該読み出し
た処理対象テーブルに格納されている(含まれている)
オブジェクトに含まれる「キーに対応する項目」に相当
する値を用いて該エントリを作成することができる。な
お、該エントリをインデックスに挿入する方法は、一般
的なB−Tree又はR−Treeの構築動作に従って
行うことができるので、ここでは説明を省略する。
【0089】以上が処理Bであり、かかる処理Bは、処
理Bが開始される際にオブジェクトID記憶部327が
記憶しているオブジェクトID(ここでは(30,
0))が指すテーブル(処理対象テーブル)に従属して
いる(格納されている)全てのテーブルオブジェクト
(「(総務部)社員テーブル」(オブジェクトID:
(32,0))、「(営業部)社員テーブル」(オブジ
ェクトID:(32,1))、「(製造部)社員テーブ
ル」(オブジェクトID:(32,2)))の全てにつ
いて行われる。全ての処理Bが完了した後、オブジェク
ト情報読み出し部321は階層差記憶部325にアクセ
スし階層差記憶部325が記憶している階層差(ここで
は「0」)の値に1を加えた数(ここでは「1」)を階
層差として階層差記憶部325に上書きして記憶させる
(s389)(即ち、これによって階層差記憶部325
が記憶している階層差が「1」増加する。)。かかる処
理A(処理Bの繰り返しを含む)が完了すると、図9に
示すようにインデックス定義部301の動作が終了す
る。
【0090】図11は、オブジェクト格納部401の動
作を示すフローチャートである。図11を参照して、オ
ブジェクト格納部401の動作について説明する。ま
ず、オブジェクト情報受信部411(追加情報受付手
段)が、起動信号送信部205から起動信号を受信した
か否か判断し(s451)、起動信号を受信したと判断
した場合(YES)オブジェクト情報受信部411は、
オブジェクト情報(新しく追加する情報)の入力フォー
マットをLAN117を経由して前記図示しない他の情
報端末に送信し(s452)入力を促し、起動信号を受
信したと判断しない場合(NO)には再びs451へ戻
る。本システム101の動作ではないが、該入力フォー
マットを受信した前記図示しない他の情報端末は、これ
らの項目に該当するデータを前記図示しない他の情報端
末の使用者から受け付けた後、受け付けたデータをオブ
ジェクト情報受信部411へ送信する。なお、オブジェ
クト情報は、種別(新規に追加作成するオブジェクトが
テーブルオブジェクトであるか否か、つまり新規に追加
されるデータがさらに子データを格納するか否かを示す
ものであり、本発明にいう種別データである。)、項目
のデータ(オブジェクトの全ての項目のデータであり、
階層構造データに追加する新規データである。)、格納
先となるテーブルのオブジェクトID(新規に追加作成
するオブジェクトの格納先となるテーブルのオブジェク
トID、即ち、新規データたる該項目のデータを子デー
タとして格納すべき親データのデータ特定データである
格納先特定データである。)を含んで構成されている。
なお、これらのうち格納先となるテーブルのオブジェク
トID等のように、データ記憶部701における記憶デ
ータを参照しつつ決すべきものは、必要に応じ閲覧部6
01を通じて前記図示しない他の情報端末がデータ記憶
部701の記憶内容を閲覧して決定される。s452の
後、前述のようにして前記図示しない他の情報端末から
送信されたオブジェクト情報をオブジェクト情報受信部
411は受信し、さらにオブジェクト情報受信部411
は該受信したオブジェクト情報全てをオブジェクト情報
記憶部421へ送信しオブジェクト情報記憶部421に
記憶させる(s453)。s453の後、オブジェクト
情報受信部411は、テーブルオブジェクト読み出し部
413に起動信号を送信し(s454)テーブルオブジ
ェクト読み出し部413を起動させる。
【0091】オブジェクト情報受信部411からs45
4において発せられた起動信号を受信したテーブルオブ
ジェクト読み出し部413は、オブジェクト情報記憶部
421にアクセスしオブジェクト情報記憶部421が記
憶している「格納先となるテーブルのオブジェクトI
D」を読み出し取得する。そして、テーブルオブジェク
ト読み出し部413は、オブジェクト情報記憶部421
から取得した「格納先となるテーブルのオブジェクトI
D」(格納先特定データ)に該当するオブジェクトID
に記憶されているテーブルオブジェクト(新たに作成す
るオブジェクトの格納先となる)をデータ記憶部701
のオブジェクトIDに記録されているページから読み出
し取得する。さらに、テーブルオブジェクト読み出し部
413は、該読み出し取得したテーブルオブジェクトか
ら新しいオブジェクトを記憶すべきページのページ番号
を取得し、ページ番号記憶部423に送信しページ番号
記憶部423に記憶させる(s455)。そして、テー
ブルオブジェクト読み出し部413は、オブジェクト作
成・格納部415に起動信号を送信し(s456)オブ
ジェクト作成・格納部415を起動させる。s455及
びs456を具体的に説明すれば、前述した表6に示す
ようなオブジェクト情報をオブジェクト情報記憶部42
1が記憶していたとすると、テーブルオブジェクト読み
出し部413は、オブジェクト情報記憶部421が記憶
している「格納先となるテーブルのオブジェクトID」
たる(30,0)を取得し、そして「格納先となるテー
ブルのオブジェクトID」(30,0)に該当するオブ
ジェクトIDに記憶されているテーブルオブジェクトを
データ記憶部701のオブジェクトIDに記録されてい
るページ(30)から読み出し取得し、該読み出し取得
したテーブルオブジェクトに含まれる新しいオブジェク
トを記録すべきページのページ番号(32)を取得す
る。さらに、テーブルオブジェクト読み出し部413
は、この取得した新しいオブジェクト(新しい企画部の
情報)を記憶すべきページのページ番号たる「32」を
ページ番号記憶部423に送信しページ番号記憶部42
3に記憶させ(s455)、オブジェクト作成・格納部
415に起動信号を送信し(s456)オブジェクト作
成・格納部415を起動させる。
【0092】テーブルオブジェクト読み出し部413か
らs456にて発せられた起動信号を受信したオブジェ
クト作成・格納部415は、オブジェクト情報記憶部4
21にアクセスしオブジェクト情報記憶部421に記憶
されている内容(種別、項目のデータ)を読み出し取得
して該取得した内容に従ってオブジェクトを作成する
(s457)。そして、オブジェクト作成・格納部41
5は、ページ番号記憶部423にアクセスしページ番号
記憶部423が記憶しているページ番号を読み出し取得
し、該取得したページ番号に該当するデータ記憶部70
1のページにs457にて作成した該オブジェクトを書
き込み記憶させると共に、このデータ記憶部701のペ
ージ番号記憶部423が記憶しているページ番号に該当
するページに該オブジェクトが書き込まれ記憶されたと
き、オブジェクト作成・格納部415は、該オブジェク
トが書き込まれ記憶されたデータ記憶部701のオブジ
ェクトIDを検出し取得し、さらに該検出し取得したオ
ブジェクトIDをオブジェクトID記憶部425に送信
しオブジェクトID記憶部425に記憶させる(s45
8)。そして、オブジェクト作成・格納部415は、イ
ンデックス管理対象情報読み出し部417に起動信号を
送信し(s459)インデックス管理対象情報読み出し
部417を起動させる。ここではテーブルオブジェクト
読み出し部413とオブジェクト作成・格納部415と
ページ番号記憶部423とを含んで新規データ書き込み
手段が構成されている。
【0093】s457及びs458を具体的に説明すれ
ば、表6に示すようなオブジェクト情報をオブジェクト
情報記憶部421が記憶していたとすると、オブジェク
ト作成・格納部415は、オブジェクト情報記憶部42
1にアクセスしオブジェクト情報記憶部421に記憶さ
れている内容(「種別」:テーブルオブジェクト、「項
目のデータ」:部署番号:400、部署名:企画部)を
読み出し取得して該取得した内容に従ってオブジェクト
を作成する((「種別」:テーブルオブジェクト、「項
目のデータ」:部署番号:400、部署名:企画部)を
データ記憶部701の後述するページに書き込み記憶さ
せるのに適したかたちのデータに加工する。)(s45
7)。そして、オブジェクト作成・格納部415は、ペ
ージ番号記憶部423にアクセスしページ番号記憶部4
23が記憶しているページ番号「32」を読み出し取得
し、該取得したページ番号「32」に該当するデータ記
憶部701のページに該作成したオブジェクトを書き込
み記憶させる。このデータ記憶部701のページ番号
「32」に該当するページに該作成したオブジェクトが
書き込まれ記憶されたとき、オブジェクト作成・格納部
415は、該作成したオブジェクトが書き込まれ記憶さ
れたデータ記憶部701のオブジェクトID(例えば、
(32,3))を検出し取得し、さらに該検出し取得し
たオブジェクトID(32,3)をオブジェクトID記
憶部425に送信しオブジェクトID記憶部425に記
憶させる(s458)。s458の後、オブジェクト作
成・格納部415は、インデックス管理対象情報読み出
し部417に起動信号を送信し(s459)インデック
ス管理対象情報読み出し部417を起動させる。
【0094】オブジェクト作成・格納部415からs4
59にて発せられた起動信号を受信したインデックス管
理対象情報読み出し部417は、オブジェクト情報記憶
部421にアクセスしオブジェクト情報記憶部421が
記憶しているオブジェクト情報(例えば、表6のような
情報)に含まれる「格納先となるテーブルのオブジェク
トID」(格納先特定データ)を読み出し取得する。次
いで、インデックス管理対象情報読み出し部417は、
データ記憶部701にアクセスし該読み出し取得した
「格納先となるテーブルのオブジェクトID」に該当す
るデータ記憶部701の「SYS_INDEXEDOB
JS」(インデックス管理情報記憶手段)を検索する
(s460)。この検索は、「SYS_INDEXED
OBJS」に格納されているオブジェクトの項目「テー
ブルのオブジェクトID」(データ特定データ)の値
が、該読み出し取得した「格納先となるテーブルのオブ
ジェクトID」(格納先特定データ)と同一のものを探
すことをいう。ここでインデックス管理対象情報読み出
し部417が、前記検索にて「SYS_INDEXED
OBJS」に該当するオブジェクトが存するか否か判断
し(s461)、該当するオブジェクトが存しないと判
断した場合(NO)インデックス管理対象情報読み出し
部417はこのオブジェクト情報がインデックス管理の
対象になっていないと判断しオブジェクト格納部401
の処理を終了する。一方、インデックス管理対象情報読
み出し部417が、s460の前記検索にて「SYS_
INDEXEDOBJS」に該当するオブジェクトが存
すると判断した場合(YES)インデックス管理対象情
報読み出し部417はこのオブジェクト情報がインデッ
クス管理の対象になっていると判断し以下述べる単位処
理を、s460の前記検索にて「SYS_INDEXE
DOBJS」に該当すると見いだしたオブジェクトそれ
ぞれについて実施する(前記検索にて「SYS_IND
EXEDOBJS」に該当すると見いだしたオブジェク
トと同じ数だけ該単位処理を行う)。
【0095】前記単位処理とは、以下説明する処理をい
う。インデックス管理対象情報読み出し部417が、s
460の前記検索にて見つけた「SYS_INDEXE
DOBJS」に存するオブジェクト(以下、「該当オブ
ジェクト」という。)に含まれる「階層差」を階層差記
憶部429に送信し階層差記憶部429に記憶させると
共に、該当オブジェクトに含まれる「インデックス番
号」をインデックス情報記憶部427に送信しインデッ
クス情報記憶部427に記憶させる(s462)。そし
て、インデックス管理対象情報読み出し部417が、階
層差記憶部429にアクセスし階層差記憶部429が記
憶している「階層差」を読み出し取得し該取得した「階
層差」が「0」か否か判断し(s463)、「階層差」
が「0」と判断した場合(YES)にはインデックス情
報読み出し部431に起動信号を送信し(s464)イ
ンデックス情報読み出し部431を起動させ、「階層
差」が「0」と判断しない場合(NO)には後述のs4
65へ行く。s465では、インデックス管理対象情報
読み出し部417が、オブジェクト情報記憶部421に
アクセスしオブジェクト情報記憶部421が記憶してい
るオブジェクト情報(表6のような情報)の「種別」を
読み出しそれが「テーブルオブジェクト」であるか否か
判断し(s465)、「種別」が「テーブルオブジェク
ト」であると判断した場合(YES)には階層差記憶部
429が記憶している「階層差」の値から1減じた値を
階層差記憶部429に記憶させ(s466)、そしてイ
ンデックス管理対象情報書き込み部419に起動信号を
送信し(s467)インデックス管理対象情報書き込み
部419を起動させる。また、s465において「種
別」が「テーブルオブジェクト」であると判断しない場
合(NO)には、再びs461へ戻る。以上のように、
ここではインデックス管理対象情報読み出し部417と
階層差記憶部429とを含んで、インデックス管理判断
手段が構成されている。
【0096】s460以降の動作を具体的に説明すれ
ば、インデックス管理対象情報読み出し部417が、s
460にて「格納先となるテーブルのオブジェクトI
D」と「SYS_INDEXEDOBJS」に格納され
ているオブジェクトの「テーブルのオブジェクトID」
とが同じになる「SYS_INDEXEDOBJS」に
格納されているオブジェクトを探すので、「格納先とな
るテーブルのオブジェクトID」が表6に示す(30,
0)であり、「SYS_INDEXEDOBJS」に格
納されているオブジェクトが表5の(b)のようなもの
であれば、インデックス管理対象情報読み出し部417
は、該当オブジェクトとして「・テーブルのオブジェク
トID:(30,0) ・インデックス番号:1 ・階
層差:1」を見いだすのでs461において「SYS_
INDEXEDOBJS」に該当するオブジェクトが存
すると判断し(YES)s462へ行く。s462で
は、インデックス管理対象情報読み出し部417が、s
460の前記検索にて見つけた「SYS_INDEXE
DOBJS」に存する該当オブジェクトに含まれる「階
層差」たる「1」を階層差記憶部429に送信し階層差
記憶部429に記憶させると共に、該当オブジェクトに
含まれる「インデックス番号」たる「1」をインデック
ス情報記憶部427に送信しインデックス情報記憶部4
27に記憶させる(s462)。s462の後、インデ
ックス管理対象情報読み出し部417が、階層差記憶部
429にアクセスし階層差記憶部429が記憶している
「階層差」たる「1」を読み出し取得し該取得した「階
層差」たる「1」が「0」か否か判断し(s463)こ
こでは「階層差」が「0」と判断しないので(NO)後
述のs465へ行く。s465では、インデックス管理
対象情報読み出し部417が、オブジェクト情報記憶部
421にアクセスしオブジェクト情報記憶部421が記
憶しているオブジェクト情報(表6のような情報)の
「種別」を読み出しそれが「テーブルオブジェクト」で
あるか否か判断し(s465)、ここではそれが「テー
ブルオブジェクト」であるので「種別」が「テーブルオ
ブジェクト」であると判断し(YES)階層差記憶部4
29が記憶している「階層差」の値から1減じた値たる
「0」を階層差記憶部429に記憶させ(s466)、
そしてインデックス管理対象情報書き込み部419に起
動信号を送信し(s467)インデックス管理対象情報
書き込み部419を起動させる。
【0097】インデックス管理対象情報読み出し部41
7からs467にて発せられた起動信号を受信したイン
デックス管理対象情報書き込み部419(インデックス
管理情報追加手段)は、オブジェクトID記憶部425
にアクセスしオブジェクトID記憶部425に記憶され
ているオブジェクトIDを読み出し取得し、インデック
ス情報記憶部427にアクセスしインデックス情報記憶
部427に記憶されているインデックス番号を読み出し
取得し、階層差記憶部429にアクセスし階層差記憶部
429に記憶されている階層差を読み出し取得し、そし
てこれら読み出し取得したオブジェクトID、インデッ
クス番号及び階層差の情報を含むオブジェクトを作成
し、該オブジェクトをデータ記憶部701の「SYS_
INDEXEDOBJS」に書き込み記憶させる(s4
71)。s471の後、再びs461に戻る。s471
を具体的に説明すれば、インデックス管理対象情報書き
込み部419は、オブジェクトID記憶部425にアク
セスしオブジェクトID記憶部425に記憶されている
オブジェクトIDたる(32,3)を読み出し取得し、
インデックス情報記憶部427にアクセスしインデック
ス情報記憶部427に記憶されているインデックス番号
たる「1」を読み出し取得し、階層差記憶部429にア
クセスし階層差記憶部429に記憶されている階層差た
る「0」を読み出し取得し、そしてこれら読み出し取得
したオブジェクトID、インデックス番号及び階層差の
情報を含むオブジェクトを作成し、該オブジェクトをデ
ータ記憶部701の「SYS_INDEXEDOBJ
S」に書き込み記憶させる(表12)。
【0098】(表12) 「SYS_INDEXEDO
BJS」の記憶例 ・テーブルのオブジェクトID:(32,3) ・インデックス番号:1 ・階層差:0
【0099】一方、s463にてインデックス管理対象
情報読み出し部417が「階層差」が「0」と判断した
場合にs464にて発する起動信号を受信したインデッ
クス情報読み出し部431は、インデックス情報記憶部
427にアクセスしインデックス情報記憶部427が記
憶している「インデックス番号」を読み出し取得し、該
読み出し取得した「インデックス番号」によりデータ記
憶部701の「SYS_INDICES」を検索する。
この検索によって、該当すると判断されたオブジェクト
の全ての項目の値をインデックス情報読み出し部431
は読み出し取得してインデックス情報記憶部427に送
信しインデックス情報記憶部427に記憶させる(s4
68)。以下、s468を具体的に説明するが、オブジ
ェクト情報受信部411が表7に示すオブジェクト情報
を受信し、該受信したオブジェクト情報をオブジェクト
情報記憶部421が記憶している場合の具体例を用い
る。オブジェクト格納部401のs460に至るまでの
動作については、オブジェクト情報受信部411が表6
に示すオブジェクト情報を受信したとする具体例を用い
て既に説明した動作と同様であるため説明を省略する。
オブジェクト情報受信部411が表7に示すオブジェク
ト情報を受信した場合と、表6に示すオブジェクト情報
を受信した場合との異なる点は、各処理の対象となるデ
ータの内容と新たに作成したオブジェクトをデータ記憶
部701に記録する時の記録位置だけであり、具体的に
は以下の(1)〜(6)である。即ち、(1)s453
においてオブジェクト情報記憶部421が記憶するオブ
ジェクト情報が表6ではなく表7に示す情報となるこ
と、(2)s455においてオブジェクト情報記憶部4
21から取得する「格納先となるテーブルのオブジェク
トID」が(30,0)ではなく(32,0)となるこ
と、(3)s455において格納先となるテーブルオブ
ジェクトをデータ記憶部701から読み出すことにより
取得される新しいオブジェクトを記録すべきページのペ
ージ番号が(32)ではなく(33)となること、
(4)s457においてオブジェクト情報記憶部421
に記憶されている内容に従ってオブジェクトを作成する
時の内容が(「種別」:テーブルオブジェクト、「項目
のデータ」:部署番号:400、部署名:企画部)では
なく(「種別」:テーブルオブジェクトではない、「項
目のデータ」:社員番号:7095、氏名:笠原次郎、
入社日:1993.4.1)となること、(5)s45
8においてページ番号記憶部423から取得するページ
番号、及び作成したオブジェクトをデータ記憶部701
に記録する時の記録位置を示すページ番号が「32」で
はなく「33」となること、(6)s458において作
成したオブジェクトをデータ記憶部701に記録した時
に検出し取得されるオブジェクトIDが(32,3)で
はなく(33,3)となること、である。以下は、s4
60からの説明である。「格納先となるテーブルのオブ
ジェクトID」が表7に示す(32,0)であり、「S
YS_INDEXEDOBJS」に記憶されているオブ
ジェクトが表5の(b)のようなものであれば、インデ
ックス管理対象情報読み出し部417は、該当オブジェ
クトとして「・テーブルのオブジェクトID:(32,
0) ・インデックス番号:1 ・階層差:0」を見い
だすのでs461において「SYS_INDEXEDO
BJS」に該当するオブジェクトが存すると判断し(Y
ES)s462へ行く。
【0100】s462では、インデックス管理対象情報
読み出し部417が、s460の前記検索にて見つけた
「SYS_INDEXEDOBJS」に存する該当オブ
ジェクトに含まれる「階層差」たる「0」を階層差記憶
部429に送信し階層差記憶部429に記憶させると共
に、該当オブジェクトに含まれる「インデックス番号」
たる「1」をインデックス情報記憶部427に送信しイ
ンデックス情報記憶部427に記憶させる(s46
2)。s462の後、インデックス管理対象情報読み出
し部417が、階層差記憶部429にアクセスし階層差
記憶部429が記憶している「階層差」たる「0」を読
み出し取得し該取得した「階層差」たる「0」が「0」
か否か判断し(s463)ここでは「階層差」が「0」
と判断されるので(YES)インデックス情報読み出し
部431に起動信号を送信し(s464)インデックス
情報読み出し部431を起動させる。s464にて発す
る起動信号を受信したインデックス情報読み出し部43
1は、インデックス情報記憶部427にアクセスしイン
デックス情報記憶部427が記憶している「インデック
ス番号」たる「1」を読み出し取得し、該読み出し取得
した「インデックス番号」によりデータ記憶部701の
「SYS_INDICES」を検索する。この検索によ
って、該当すると判断されたオブジェクトの全ての項目
の値をインデックス情報読み出し部431は読み出し取
得してインデックス情報記憶部427に送信しインデッ
クス情報記憶部427に記憶させる(s468)。この
s468の後、インデックス情報記憶部427の記憶内
容を表13に示す。
【0101】(表13) インデックス情報記憶部42
7の記憶内容 ・インデックス名:入社日インデックス ・保有元テーブルのオブジェクトID:(30,0) ・B−Tree/R−Treeの別:B−Tree ・階層差:1 ・キーに対応する項目:入社日 ・インデックス番号:1 ・インデックスルートページ番号:38
【0102】s468の後、インデックス情報読み出し
部431は、インデックスへのエントリ挿入部433に
起動信号を送信し(s469)インデックスへのエント
リ挿入部433を起動させる。インデックス情報読み出
し部431からs469にて発せられた起動信号を受信
したインデックスへのエントリ挿入部433は、オブジ
ェクトID記憶部425に記憶されているオブジェクト
ID(33,3)と、オブジェクト情報記憶部421に
記憶されているオブジェクト情報に含まれる「キーに対
応する項目」(入社日)に対応するデータ(1993.
4.1)と、をインデックスへ挿入する(s470)。
s470の後、再びs461へ行く。以上のように、こ
こではインデックス情報読み出し部431とインデック
スへのエントリ挿入部433とを含んでインデックス挿
入手段が構成されている。
【0103】図12は、インデックス検索部501の動
作を示すフローチャートである。図12を参照して、イ
ンデックス検索部501の動作について説明する。ま
ず、検索情報受信部511が、起動信号送信部205か
ら起動信号を受信したか否か判断し(s551)、起動
信号を受信したと判断した場合(YES)検索情報受信
部511は、検索情報(検索をどのように行うかに関す
る情報)の入力フォーマットをLAN117を経由して
前記図示しない他の情報端末に送信し(s552)入力
を促し、起動信号を受信したと判断しない場合(NO)
には再びs551へ戻る。本システム101の動作では
ないが、該入力フォーマットを受信した前記図示しない
他の情報端末は、これらの項目に該当するデータを前記
図示しない他の情報端末の使用者から受け付けた後、受
け付けたデータを検索情報受信部511へ送信する。な
お、検索情報には、インデックス名(検索に使用するイ
ンデックスの名称)、保有元テーブルのオブジェクトI
D及び検索条件(比較演算の種別と条件値とによって構
成される。)の3項目が含まれるが、これらのうちイン
デックス名やオブジェクトID等のように、データ記憶
部701における記憶データを参照しつつ決すべきもの
は、必要に応じ閲覧部601を通じて前記図示しない他
の情報端末がデータ記憶部701の記憶内容を閲覧して
決定される。
【0104】検索情報受信部511は、前記図示しない
他の情報端末から前記検索情報を受信し、該受信した検
索情報全てを検索情報記憶部521へ送信し検索情報記
憶部521に記憶させ(s553)、さらに検索情報受
信部511はインデックス情報読み出し部513へ起動
信号を発し(s554)インデックス情報読み出し部5
13を起動させる。検索情報受信部511からs554
にて発せられた起動信号を受信したインデックス情報読
み出し部513は、検索情報記憶部521にアクセスし
検索情報記憶部521が記憶している検索情報から「イ
ンデックス名」と「保有元テーブルのオブジェクトI
D」とを読み出し取得する(s555)。そして、イン
デックス情報読み出し部513は、データ記憶部701
にアクセスし該読み出し取得した「インデックス名」及
び「保有元テーブルのオブジェクトID」を用いてデー
タ記憶部701の「SYS_INDICES」(既に説
明した表5(a)に示すようなデータが記憶されてい
る。)を検索し、これら「インデックス名」と「保有元
テーブルのオブジェクトID」との両方に合致するオブ
ジェクトに含まれる全ての項目の値を読み出し取得し、
さらに、インデックス情報読み出し部513は、該読み
出し取得したオブジェクトに含まれる全ての項目の値を
インデックス情報記憶部523に送信しインデックス情
報記憶部523に記憶させる(s556)。その後、イ
ンデックス情報読み出し部513は、インデックス検索
処理部515へ起動信号を発し(s557)インデック
ス検索処理部515を起動させる。
【0105】s556を具体的に説明すれば、既述の表
10に示した検索情報に含まれる「インデックス名」た
る「入社日インデックス」及び「保有元テーブルのオブ
ジェクトID」たる(30,0)を用いてデータ記憶部
701の「SYS_INDICES」(既に説明した表
5(a)に示すようなデータが記憶されている。)を検
索し、これら「インデックス名」たる「入社日インデッ
クス」及び「保有元テーブルのオブジェクトID」たる
(30,0)との両方に合致するオブジェクトに含まれ
る全ての項目の値を読み出し取得する。該読み出し取得
したオブジェクトに含まれる全ての項目の値の一例を既
述の表11に示した。その後、インデックス情報読み出
し部513は、表11に示したような該読み出し取得し
たオブジェクトに含まれる全ての項目の値をインデック
ス情報記憶部523に送信しインデックス情報記憶部5
23に記憶させ(以上、s556)、インデックス検索
処理部515へ起動信号を発する(s557)。
【0106】インデックス情報読み出し部513からs
557にて発せられた起動信号を受信したインデックス
検索処理部515は、インデックス情報記憶部523に
記憶されている情報と検索情報記憶部521に記憶され
ている情報とを用いて、該当するインデックスを使用し
た検索処理を行い、該検索処理の結果を検索結果記憶部
525へ送信し検索結果記憶部525に記憶させる(s
558)。なお、かかるインデックスを使用した検索処
理は、一般的なB−Tree又はR−Treeの既知の
動作方法によって行うことができることは前述の通りで
あり、ここで行う検索処理(B−Tree又はR−Tr
eeのいずれについても)においては、前記検索情報に
合致する1又は2以上のオブジェクトのオブジェクトI
Dをインデックス検索処理部515が取得し、さらにイ
ンデックス検索処理部515が該取得したオブジェクト
IDを検索結果記憶部525へ送信し検索結果記憶部5
25に記憶させる(即ち、s558において、検索結果
記憶部525へ送信され検索結果記憶部525に記憶さ
れる前記検索処理の結果とは、ここでは具体的には前記
検索情報に合致する1又は2以上のオブジェクトのオブ
ジェクトIDをいう。)。その後、インデックス検索処
理部515は、オブジェクトデータ読み出し部517へ
起動信号を発し(s559)オブジェクトデータ読み出
し部517を起動させる。
【0107】インデックス検索処理部515からs55
9にて発せられた起動信号を受信したオブジェクトデー
タ読み出し部517は、次に示す処理Fを検索結果記憶
部525に記憶されているオブジェクトID全てについ
て行う。即ち、処理Fは、オブジェクトに関するデータ
読み出し(s560)とオブジェクトに関するデータの
送信(s561)とを有している。具体的には、オブジ
ェクトデータ読み出し部517は、検索結果記憶部52
5にアクセスし検索結果記憶部525が記憶しているオ
ブジェクトID(前記検索情報に合致する1又は2以上
のオブジェクトのオブジェクトID)を読み出し取得
し、該読み出し取得したオブジェクトIDに従ってデー
タ記憶部701にアクセスし該オブジェクトIDに該当
するオブジェクトに関するデータを読み出し取得する
(s560)。そして、オブジェクトデータ読み出し部
517は、s560にて該読み出し取得したオブジェク
トに関するデータをオブジェクトデータ送信部519へ
送信し、それを受けてオブジェクトデータ送信部519
は、受信したオブジェクトに関するデータをLAN11
7を経由して前記図示しない他の情報端末(前記検索情
報を送信した情報端末)に送信する(s561)(これ
によって前記図示しない他の情報端末(前記検索情報を
送信した情報端末)は、該データを表示することができ
る。)。このようなオブジェクトデータ読み出し部51
7によるオブジェクトに関するデータ読み出し(s56
0)とオブジェクトデータ送信部519によるオブジェ
クトに関するデータの送信(s561)とから構成され
る処理Fが、検索結果記憶部525に記憶されているオ
ブジェクトID全てについて行われ、インデックス検索
部501の動作が終了する。
【0108】以上説明したように、本システム101
は、先祖データ(上記の説明では、ページ30に記憶さ
れた部署テーブルが該当する。)から下位に位置する子
孫データ(上記の説明では、ページ32に記憶された3
つの部署に対応した社員テーブルが該当する。)へと辿
ることができるよう親データにその子データを特定する
子特定データ(ここではページ30に記憶された部署テ
ーブルに記載されたページ番号(32)が該当する。)
が関係付けられた階層構造データにインデックス付けを
行う情報管理装置である。そして、本システム101
は、該階層構造データを、その各構成データ(上記の説
明では、部署テーブルや3つの部署に対応した社員テー
ブル等が該当する。)が記憶されている記憶位置を含む
データ特定データ(ここではOIDが該当する。)に関
連付けて記憶するデータ記憶手段たるデータ記憶部70
1と、これからインデックス付けを行う子孫データに対
する先祖データ(上記説明では、ページ30に記憶され
た部署テーブルが該当する。)のデータ特定データたる
先祖特定データである保有元テーブルのオブジェクトI
Dと、該先祖特定データにより特定される先祖データか
ら該インデックス付けを行う子孫データの親データ(上
記の説明では、ページ32に記憶された3つの部署に対
応した社員テーブルが該当する。)までの階層差(上記
説明では、「1」)と、を受け付けるインデックス定義
情報受付手段たるインデックス定義情報受信部311
と、該先祖特定データ(保有元テーブルのオブジェクト
ID)に従って該先祖データ(ページ30に記憶された
部署テーブル)を該データ記憶手段(データ記憶部70
1)において特定し、該受け付けられた階層差
(「1」)が0でなければ該特定された先祖データ(ペ
ージ30に記憶された部署テーブル)から該階層差
(「1」)の分の下位の子孫データ(ページ32に記憶
された3つの部署に対応した社員テーブルが該当す
る。)まで該子特定データ(部署テーブルに記載された
ページ番号(32))に従って辿り該下位の子孫データ
の子データ(ページ32に記憶された3つの部署に対応
した社員テーブルに格納されている社員情報が該当す
る。)の少なくとも一部の内容(入社日)にインデック
ス付けを行う、インデックス付け手段(インデックス管
理対象情報書き込み部319とオブジェクト情報読み出
し部321と階層差記憶部325とオブジェクトID記
憶部327とインデックスへのエントリ挿入部329と
を含んで構成されている。)と、を備えてなる。
【0109】また、本システム101は、インデックス
定義情報受付手段たるインデックス定義情報受信部31
1が、前記少なくとも一部の内容を特定するインデック
ス対象項目特定データたるキーに対応する項目「入社
日」をさらに受け付け、インデックス付け手段(インデ
ックス管理対象情報書き込み部319とオブジェクト情
報読み出し部321と階層差記憶部325とオブジェク
トID記憶部327とインデックスへのエントリ挿入部
329とを含んで構成されている。)が、該受け付けら
れたインデックス対象項目特定データたるキーに対応す
る項目「入社日」によって特定されるもの「入社日」に
インデックス付けを行うものである。
【0110】さらに、本システム101は、これから生
成されるインデックスを特定するインデックス特定デー
タたるインデックス番号を取得するインデックス特定デ
ータ取得手段たるインデックス番号生成部313と、イ
ンデックス付け手段(インデックス管理対象情報書き込
み部319とオブジェクト情報読み出し部321と階層
差記憶部325とオブジェクトID記憶部327とイン
デックスへのエントリ挿入部329とを含んで構成され
ている。)が、前記受け付けられた階層差が0であれば
前記特定された先祖データ(ページ30に記憶された部
署テーブル)のデータ特定データ(ここではOID)と
階層差が0であることを示す階層差データと該インデッ
クス特定データ取得手段(インデックス番号生成部31
3)により該取得されたインデックス特定データ(イン
デックス番号)とを関連付けてインデックス管理情報と
して記憶させ、一方、前記受け付けられた階層差(ここ
では「1」)が0でなければ前記特定された先祖データ
(ページ30に記憶された部署テーブル)と前記階層差
「1」の分の下位の子孫データ(ページ32に記憶され
た3つの部署に対応した社員テーブル)との両データ
(ここではページ30に記憶された部署テーブルとペー
ジ32に記憶された3つの部署に対応した社員テーブル
との両データ)及び該両データの間に存する中間データ
(ここでは存しない)の各々のデータについて該各々の
データのデータ特定データ(ここではOID)と、前記
階層差「1」の分の下位の子孫データ(ページ32に記
憶された3つの部署に対応した社員テーブル)から該各
々のデータまでの階層差をあらわす階層差データと、該
インデックス特定データ取得手段(インデックス番号生
成部313)により該取得されたインデックス特定デー
タ(インデックス番号)と、を関連付けてインデックス
管理情報として記憶させるインデックス管理情報記憶手
段たるデータ記憶部701の「SYS_INDEXED
OBJS」と、を、さらに備えてなる。
【0111】また、本システム101は、前記階層構造
データに追加する新規データたる前記項目のデータと、
前記階層構造データにおいて該新規データを子データと
して格納すべき親データのデータ特定データである格納
先特定データ(格納先となるテーブルのオブジェクトI
D)と、該新規データがさらに子データを格納するか否
かを示す種別データたる前記種別(新規データがテーブ
ルオブジェクトであるか否か)と、を受け付ける追加情
報受付手段たるオブジェクト情報受信部411と、該格
納先特定データ(格納先となるテーブルのオブジェクト
ID)に示される親データの子データとして該新規デー
タを記憶し、該記憶された新規データのデータ特定デー
タを追加位置データ(ここではOID)として取得する
新規データ書き込み手段(テーブルオブジェクト読み出
し部413とオブジェクト作成・格納部415とページ
番号記憶部423とを含んで構成される。)と、該格納
先特定データ(格納先となるテーブルのオブジェクトI
D)と合致するデータ特定データを有する前記インデッ
クス管理情報を前記インデックス管理情報記憶手段(デ
ータ記憶部701の「SYS_INDEXEDOBJ
S」)から読み出し、該読み出されたインデックス管理
情報に含まれる階層差データが0か否か判断するインデ
ックス管理判断手段(インデックス管理対象情報読み出
し部417と階層差記憶部429とを含んで構成され
る)と、該インデックス管理判断手段によって階層差デ
ータが0と判断された場合に該読み出されたインデック
ス管理情報に含まれる前記インデックス特定データが示
すインデックスに、該記録した新規データに含まれる少
なくとも一部の内容にインデックス付けするインデック
ス挿入手段(インデックス情報読み出し部431とイン
デックスへのエントリ挿入部433とを含んで構成され
る。)と、該インデックス管理判断手段によって階層差
データが0でなくかつ該種別データが該新規データがさ
らに子データを格納することを示すものであればデータ
特定データとして該追加位置データ(OID)と前記階
層差データとして該階層差データから1減じたものと該
読み出した情報に含まれるインデックス特定データとを
関連付けてインデックス管理情報として前記インデック
ス管理情報記憶手段(データ記憶部701の「SYS_
INDEXEDOBJS」)に記憶させるインデックス
管理情報追加手段(インデックス管理対象情報書き込み
部419)と、をさらに備える。
【図面の簡単な説明】
【図1】一実施形態の本システムのハードウエア構成を
示す概略ブロック図である。
【図2】本システムの機能ブロック図である。
【図3】要求受信部を詳細に示した機能ブロック図であ
る。
【図4】インデックス定義部の詳細な機能ブロック図で
ある。
【図5】データ記憶部における記憶領域において、記録
されている部署テーブルと社員テーブルとを模式的に示
した図である。
【図6】オブジェクト格納部の詳細な機能ブロック図で
ある。
【図7】インデックス検索部の詳細な機能ブロック図で
ある。
【図8】要求受信部の動作を示すフローチャートであ
る。
【図9】インデックス定義部の動作を示すフローチャー
トである。
【図10】s366において発せられた起動信号を受信
したオブジェクト情報読み出し部等が行う処理Aの詳細
を示すフローチャートである。
【図11】オブジェクト格納部の動作を示すフローチャ
ートである。
【図12】インデックス検索部の動作を示すフローチャ
ートである。
【図13】データ記憶部における記憶領域において、記
録されているシステムテーブル「SYS_INDICE
S」と「SYS_INDEXEDOBJS」とを模式的
に示した図である。
【図14】データ記憶部701における記憶領域におい
て、記録されている「SYS_INDICES」と「S
YS_INDEXEDOBJS」とを模式的に示した図
である。
【図15】インデックス付けの一例を概念的に示す図で
ある。
【図16】インデックス付けがされたデータベースを概
念的に示す図である。
【図17】図16に示したデータベースに各社員が所属
する部署名を併記する場合の一例を示す図である。
【図18】図17(b)のテーブルが社員テーブルを格
納している様子を示す概念図である。
【符号の説明】
101 本システム 113 キーボード 115 モニタ 119 ハードディスク 110a CPU 110b RAM 110c ROM 110d インターフェイス 117 LAN 201 要求受信部 203 要求信号受信部 205 起動信号送信部 301 インデックス定義部 311 インデックス定義情報受信部 313 インデックス番号生成部 315 インデックス作成部 317 インデックス情報書き込み部 319 インデックス管理対象情報書き込み部 321 オブジェクト情報読み出し部 323 インデックス情報記憶部 325 階層差記憶部 327 オブジェクトID記憶部 329 インデックスへのエントリ挿入部 401 オブジェクト格納部 411 オブジェクト情報受信部 413 テーブルオブジェクト読み出し部 415 オブジェクト作成・格納部 417 インデックス管理対象情報読み出し部 419 インデックス管理対象情報書き込み部 421 オブジェクト情報記憶部 423 ページ番号記憶部 425 オブジェクトID記憶部 427 インデックス情報記憶部 429 階層差記憶部 431 インデックス情報読み出し部 433 インデックスへのエントリ挿入部 501 インデックス検索部 511 検索情報受信部 513 インデックス情報読み出し部 515 インデックス検索処理部 517 オブジェクトデータ読み出し部 519 オブジェクトデータ送信部 521 検索情報記憶部 523 インデックス情報記憶部 525 検索結果記憶部 601 閲覧部 701 データ記憶部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】先祖データから下位に位置する子孫データ
    へと辿ることができるよう親データにその子データを特
    定する子特定データが関係付けられた階層構造データに
    インデックス付けを行う情報管理装置であって、 該階層構造データを、その各構成データが記憶されてい
    る記憶位置を含むデータ特定データに関連付けて記憶す
    るデータ記憶手段と、 これからインデックス付けを行う子孫データに対する先
    祖データのデータ特定データたる先祖特定データと、該
    先祖特定データにより特定される先祖データから該イン
    デックス付けを行う子孫データの親データまでの階層差
    と、を受け付けるインデックス定義情報受付手段と、 該先祖特定データに従って該先祖データを該データ記憶
    手段において特定し、該受け付けられた階層差が0でな
    ければ該特定された先祖データから該階層差の分の下位
    の子孫データまで該子特定データに従って辿り該下位の
    子孫データの子データの少なくとも一部の内容にインデ
    ックス付けを行う、インデックス付け手段と、を備えて
    なる、情報管理装置。
  2. 【請求項2】前記インデックス定義情報受付手段が、前
    記少なくとも一部の内容を特定するインデックス対象項
    目特定データをさらに受け付け、 前記インデックス付け手段が、該受け付けられたインデ
    ックス対象項目特定データによって特定されるものにイ
    ンデックス付けを行うものである、請求項1に記載の情
    報管理装置。
  3. 【請求項3】これから生成されるインデックスを特定す
    るインデックス特定データを取得するインデックス特定
    データ取得手段と、 前記インデックス付け手段が、前記受け付けられた階層
    差が0であれば前記特定された先祖データのデータ特定
    データと階層差が0であることを示す階層差データと該
    インデックス特定データ取得手段により該取得されたイ
    ンデックス特定データとを関連付けてインデックス管理
    情報として記憶させ、一方、前記受け付けられた階層差
    が0でなければ前記特定された先祖データと前記階層差
    の分の下位の子孫データとの両データ及び該両データの
    間に存する中間データの各々のデータについて該各々の
    データのデータ特定データと、前記階層差の分の下位の
    子孫データから該各々のデータまでの階層差をあらわす
    階層差データと、該インデックス特定データ取得手段に
    より該取得されたインデックス特定データと、を関連付
    けてインデックス管理情報として記憶させるインデック
    ス管理情報記憶手段と、を、さらに備えてなる、請求項
    1又は2に記載の情報管理装置。
  4. 【請求項4】請求項3に記載の情報管理装置であって、 前記階層構造データに追加する新規データと、前記階層
    構造データにおいて該新規データを子データとして格納
    すべき親データのデータ特定データである格納先特定デ
    ータと、該新規データがさらに子データを格納するか否
    かを示す種別データと、を受け付ける追加情報受付手段
    と、 該格納先特定データに示される親データの子データとし
    て該新規データを記憶し、該記憶された新規データのデ
    ータ特定データを追加位置データとして取得する新規デ
    ータ書き込み手段と、 該格納先特定データと合致するデータ特定データを有す
    る前記インデックス管理情報を前記インデックス管理情
    報記憶手段から読み出し、該読み出されたインデックス
    管理情報に含まれる階層差データが0か否か判断するイ
    ンデックス管理判断手段と、 該インデックス管理判断手段によって階層差データが0
    と判断された場合に該読み出されたインデックス管理情
    報に含まれる前記インデックス特定データが示すインデ
    ックスに、該記録した新規データに含まれる少なくとも
    一部の内容にインデックス付けするインデックス挿入手
    段と、 該インデックス管理判断手段によって階層差データが0
    でなくかつ該種別データが該新規データがさらに子デー
    タを格納することを示すものであればデータ特定データ
    として該追加位置データと前記階層差データとして該階
    層差データから1減じたものと該読み出した情報に含ま
    れるインデックス特定データとを関連付けて前記インデ
    ックス管理情報として前記インデックス管理情報記憶手
    段に記憶させるインデックス管理情報追加手段と、をさ
    らに備えるものである、情報管理装置。
  5. 【請求項5】請求項1乃至4のいずれかに記載の前記情
    報管理装置をコンピュータに実現させるためのプログラ
    ム。
  6. 【請求項6】請求項1乃至6のいずれかに記載の前記情
    報管理装置をコンピュータに実現させるためのプログラ
    ムを記録したコンピュータ読み取り可能な記憶媒体。
JP2001349326A 2001-11-14 2001-11-14 情報管理装置 Expired - Lifetime JP3662533B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001349326A JP3662533B2 (ja) 2001-11-14 2001-11-14 情報管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001349326A JP3662533B2 (ja) 2001-11-14 2001-11-14 情報管理装置

Publications (2)

Publication Number Publication Date
JP2003150642A true JP2003150642A (ja) 2003-05-23
JP3662533B2 JP3662533B2 (ja) 2005-06-22

Family

ID=19162010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001349326A Expired - Lifetime JP3662533B2 (ja) 2001-11-14 2001-11-14 情報管理装置

Country Status (1)

Country Link
JP (1) JP3662533B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282577A (ja) * 1993-03-26 1994-10-07 Toppan Printing Co Ltd データ抽出システム
JPH10187745A (ja) * 1996-12-26 1998-07-21 Hitachi Ltd 部分文字列検索装置および部分文字列検索方法
JPH10333970A (ja) * 1997-05-30 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 複数の情報共有装置に分散されている情報の共有方法および情報共有装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282577A (ja) * 1993-03-26 1994-10-07 Toppan Printing Co Ltd データ抽出システム
JPH10187745A (ja) * 1996-12-26 1998-07-21 Hitachi Ltd 部分文字列検索装置および部分文字列検索方法
JPH10333970A (ja) * 1997-05-30 1998-12-18 Nippon Telegr & Teleph Corp <Ntt> 複数の情報共有装置に分散されている情報の共有方法および情報共有装置

Also Published As

Publication number Publication date
JP3662533B2 (ja) 2005-06-22

Similar Documents

Publication Publication Date Title
CN108920716B (zh) 基于知识图谱的数据检索与可视化系统及方法
CN102184211B (zh) 文件系统和检索、写入、修改或删除文件的方法与装置
US6035303A (en) Object management system for digital libraries
US6965903B1 (en) Techniques for managing hierarchical data with link attributes in a relational database
EP0437159B1 (en) Method for identifying documents having a particular attribute using a vector relational characteristical object
US20070038647A1 (en) Management of media sources in memory constrained devices
US20090228482A1 (en) Network search method, system and device
US7469257B2 (en) Generating and monitoring a multimedia database
CN107247778A (zh) 用于实施可扩展数据存储服务的系统和方法
WO2008069125A1 (ja) データ管理装置
CN102893281A (zh) 信息搜索设备、信息搜索方法、计算机程序和数据结构
US20040088301A1 (en) Snapshot of a file system
MX2010012866A (es) Compaginacion de datos jerarquicos.
US7421433B2 (en) Semantic-based system including semantic vectors
US6714946B1 (en) Data management system using a plurality of data operating modules
CN105468785A (zh) 一种计算机文件管理方法
JP2001229060A (ja) ディレクトリ検索システム及び方法、ディレクトリ検索プログラムを記録したコンピュータ読取可能な記録媒体
CN107291875B (zh) 一种基于元数据图的元数据组织管理方法和系统
JP3662533B2 (ja) 情報管理装置
US20040088274A1 (en) Semantic hashing
CN112685557A (zh) 可视化信息资源管理方法及装置
TW448386B (en) Method and apparatus for managing electronic data with variable length
JP2008065716A (ja) データ管理装置、データ管理方法及びデータ管理プログラム
JP2644535B2 (ja) ネットワーク間ファイル検索処理システム
JP2715443B2 (ja) データベース装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040901

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050222

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: 20050318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050323

R150 Certificate of patent or registration of utility model

Ref document number: 3662533

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110401

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120401

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130401

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130401

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140401

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term