(57)【特許請求の範囲】
【請求項１】
クラスに属するオブジェクトの集合を管理するデータベース管理方式であって、
前記オブジェクトの集合、前記オブジェクトを直接的に検索するための索引情報、前記オブジェクトの集合並びに前記索引情報を検索するためのオブジェクト管理情報、及び前記オブジェクト管理情報を検索するためのクラス定義情報が夫々記憶されるデータベースと、
入力されるオブジェクト生成／削除要求に基づいて、前記データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、前記オブジェクト管理情報及び前記索引情報の該当部分を更新するオブジェクト管理手段と、
入力される索引作成／削除要求に基づいて前記データベース内の索引情報を作成又は削除する索引管理手段と、
入力されるオブジェクト検索要求に基づいて、前記データベース内のオブジェクトを検索するオブジェクト検索手段と、
入力されるオブジェクト操作要求に基づいて、前記データベース内の該当するオブジェクトを修正又は書込みするオブジェクト操作手段と
を備えたことを特徴とするデータベース管理方式。
【請求項２】
請求項１に記載のデータベース管理方式において、
入力される生成要求に基づいて、前記クラス定義情報及び前記オブジェクト管理情報を前記データベース内に生成するクラス管理手段を備えたことを特徴とするデータベース管理方式。
【請求項３】
請求項２に記載のデータベース管理方式において、
前記オブジェクト検索手段は、入力されるオブジェクト検索要求に基づいて、前記データベース内の該当するクラスに属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトを前記オブジェクト管理情報及び前記索引情報に従って前記データベースから直接的に検索することを特徴とするデータベース管理方式。
【請求項４】
ユーザ定義集合に属するオブジェクトの集合を管理するデータベース管理方式であって、
前記オブジェクトの集合、前記オブジェクトを直接的に検索するための索引情報、前記オブジェクトの集合並びに前記索引情報を検索するための集合管理情報、及び前記集合管理情報を検索するための集合定義情報が夫々記憶されるデータベースと、
入力される集合要素追加／削除要求に基づいて、前記データベース内のオブジェクトの集合に対し、指定されたオブジェクトを生成又は削除すると共に、前記集合管理情報及び前記索引情報の該当部分を更新する集合要素管理手段と、
入力される索引作成／削除要求に基づいて、前記データベース内の索引情報を作成又は削除する索引管理手段と、
入力される集合検索要求に基づいて、前記データベース内のユーザ定義集合のオブジェクトを検索する集合検索手段と、
入力される集合操作要求に基づいて、前記データベース内のユーザ定義集合相互を演算操作する集合操作手段と、
入力されるオブジェクト操作要求に基づいて、前記データベース内の該当するオブジェクトを修正又は書込みするオブジェクト操作手段と
を備えたことを特徴とするデータベース管理方式。
【請求項５】
請求項４に記載のデータベース管理方式において、
入力される生成要求に基づいて、前記集合定義情報及び前記集合管理情報を前記データベース内に生成する集合管理手段を備えたことを特徴とするデータベース管理方式。
【請求項６】
請求項５に記載のデータベース管理方式において、
前記集合検索手段は、入力される集合検索要求に基づいて、前記データベース内の該当するユーザ定義集合に属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトを前記集合管理情報及び前記索引情報に従って前記データベースから直接的に検索することを特徴とするデータベース管理方式。
【請求項７】
クラスに属する集合オブジェクトの集合してなる統合オブジェクト集合、及びユーザ定義集合に属するオブジェクトの集合してなる集合オブジェクトの集合してなる統合オブジェクト集合を夫々管理するデータベース管理方式であって、
前記統合オブジェクト集合、前記集合オブジェクト、前記オブジェクト集合、前記オブジェクト、前記集合オブジェクトと前記オブジェクトとを直接的に検索するための索引情報、前記集合オブジェクトに含まれて前記オブジェクト集合と前記オブジェクトと前記索引情報とを検索するための集合管理情報、前記統合オブジェクト集合と前記オブジェクト又は前記集合オブジェクトと前記索引情報とを検索するためのオブジェクト管理情報、及び前記ユーザ定義集合と前記クラスとの内容を夫々規定し且つ前記オブジェクト管理情報を検索するための統合クラス定義情報が夫々記憶されたデータベースと、
入力される生成要求に基づいて、前記統合クラス定義情報及び前記オブジェクト管理情報を前記データベース内に生成するクラス管理手段と、
入力されるオブジェクト生成／削除要求に基づいて、前記データベース内の統合オブジェクト集合に対し、指定されたオブジェクト又は集合オブジェクトを生成又は削除すると共に、前記オブジェクト管理情報及び前記索引情報の該当部分を更新するオブジェクト管理手段と、
入力される集合要素追加／削除要求に基づいて、前記データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、前記集合管理情報及び前記索引情報の該当部分を更新する集合要素管理手段と、
入力される索引作成／削除要求に基づいて、前記データベース内の索引情報を作成又は削除する索引管理手段と、
入力される集合検索要求に基づいて、前記データベース内のクラスに属するオブジェクト又は前記データベース内のユーザ定義集合のオブジェクトを検索する集合検索手段と、
入力される集合操作要求に基づいて、前記データベース内のオブジェクト管理情報と索引情報と統合オブジェクト集合とを対象とするか、あるいは前記データベース内の該当する集合オブジェクト内の集合管理情報と索引情報とオブジェクト集合とを対象とし、指定された対象とその同一対象との相互の演算操作を実行する集合操作手段と、
入力されるオブジェクト操作要求に基づいて、前記データベース内の該当するオブジェクトを修正又は書込みするオブジェクト操作手段と
を備えたことを特徴とするデータベース管理方式。
【請求項８】
請求項７に記載のデータベース管理方式において、
前記集合検索手段は、前記クラスに属する集合オブジェクト又は前記ユーザ定義集合のオブジェクトに関し、夫々前記集合オブジェクト又は前記オブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上の前記集合オブジェクト又は前記オブジェクトを前記オブジェクト管理情報、前記索引情報及び前記集合管理情報に基づいて前記データベースから直接的に検索することを特徴とするデータベース管理方式。
【請求項９】
請求項７又は請求項８に記載のデータベース管理方式において、
前記集合検索手段及び前記集合操作手段は、夫々動作内容がＣ＋＋言語の構文規則に従って記述されたことを特徴とするデータベース管理方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト指向データベースの如き、複雑なデータ構造のデータベースを管理するデータベース管理方式に係わり、特に、オブジェクト集合とユーザ定義集合との統一性を備えたデータベース管理方式に関する。
【０００２】
【従来の技術】
従来、データベースは、比較的単純な構造の大量のデータを処理する事務処理分野を中心に利用されており、具体的には、階層型あるいは関係型と呼ばれるデータベース管理方式が用いられている。
【０００３】
また特に、これらの中でも表形式で表示可能な単純なデータ構造を扱い、表相互の関係操作によるデータの検索・操作を実行する関係型データベース管理方式が広く用いられている。
【０００４】
この種の階層型あるいは関係型のデータベース管理方式は、ＣＡＤ（ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ｄｅｓｉｇｎ）  、ＣＡＳＥ（ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ｓｏｆｔｗａｒｅ  ｅｎｇｉｎｅｅｒｉｎｇ）  、画像処理、マルチメディア処理などの分野に適用される場合、以下の（ａ）〜（ｃ）に示すように、データベースの構築が困難であり、また、無理に構築したとしても処理効率を低下させてしまい、データベース化が損失をうむ場合がある。
（ａ）個々のデータ要素のデータ構造が複雑である場合、データベース管理方式のデータ定義形式での直接的な表現が不可能となる。
（ｂ）データ相互が複雑に関係し合うデータの場合、そのデータの定義及び操作指定が複雑であり、しかも全データを対象に検索・比較を実行するため、処理効率が低い。
（ｃ）データの定義・操作機能を提供するデータベース言語は、言語自体が独立した体系であり、人間との対話形式を主な実行方法としている。このため、データベース処理と計算処理などのプログラムとを結合した処理体系の構築が困難である。
【０００５】
ところで、これらの問題の解決方式として、オブジェクト指向データベースが提唱され、開発・利用され始めている。
オブジェクト指向データベースでは、Ｃ＋＋、Ｓｍａｌｌｔａｌｋ  などの既存のオブジェクト指向プログラミング言語が基本とされ、さらにデータベース管理機能が付加されている。
【０００６】
例えば、前述した関係型データベースでは、２次元の表でモデル化される単純なデータ構造を扱うのに対し、オブジェクト指向データベースの場合では、以下に示す通り、オブジェクト指向プログラミング言語と同一水準の複雑なデータ構造が定義可能となっている。
（ユーザ定義のデータ型）
ユーザが既知のデータ型を用いて新しいデータ型を定義し、データベース管理方式の提供する整数、文字列などの基本型と同様に利用可能である。
（任意の階層構造をもつデータ構造）
データベース管理方式の提供する基本型とユーザ定義のデータ型とから構成される構造体として新規なデータ型を定義可能である。構造体の要素は、既定義の構造体を利用可能である。
（データ型及びデータ構造に対応した処理手続き）
（派生型）
基本型及びユーザ定義型の配列、参照など元の型から派生する型の定義と利用が可能である。
（派生クラス）
継承関係による新しいデータ構造（クラス）の定義と利用が可能である。
【０００７】
また、オブジェクト指向データベースでは、以上のような機能に加え、イクステントの管理機能とは異なる別体系として、ユーザ自らが定義して利用可能な集合（以下、ユーザ定義集合という）の管理機能を備えている。
但し、オブジェクト指向データベースでは、クラスに属するオブジェクトの集合（以下、イクステントという）の管理機能を持たない場合が多い。
【０００８】
【発明が解決しようとする課題】
しかしながら以上のようなデータベース管理方式では、イクステントの管理機能を持たない場合が多い問題がある。
また、イクステントの管理機能を持つ場合でも、ユーザ定義集合の管理機能とは別体系であり、両者の管理機能が検索方法や集合に対する操作・処理など夫々別個の指定方式となっている。このため、イクステントとユーザ定義集合とは互いに性質や機能及びその操作がほぼ同一内容であるにも拘らず、ユーザは２通りの操作体系を覚える手間がかかる問題がある。
【０００９】
また、両者のデータは、互換性がないため、イクステントの検索結果をユーザ定義集合として再検索することが不可能であり、また、イクステントとユーザ定義集合との集合操作が不可能となっており、データベースの操作性を低下させる問題がある。
【００１０】
本発明は上記実情を考慮してなされたもので、イクステントとユーザ定義集合との管理機能を統合化して操作体系を覚える手間を低減させ、また、イクステントとユーザ定義集合との互換性を実現することにより、操作性を向上し得るデータベース管理方式を提供することを目的とする。
【００１１】
また、本発明の第２の目的は、イクステントとユーザ定義集合との管理機能の統合化並びに両者の互換性を実現するための統一性を有し、簡潔で強力なデータベース操作言語を提供することにある。
【００１２】
【課題を解決するための手段】
請求項１に対応する発明は、クラスに属するオブジェクトの集合を管理するデータベース管理方式であって、前記オブジェクトの集合、前記オブジェクトを直接的に検索するための索引情報、前記オブジェクトの集合並びに前記索引情報を検索するためのオブジェクト管理情報、及び前記オブジェクト管理情報を検索するためのクラス定義情報が夫々記憶されるデータベースと、入力されるオブジェクト生成／削除要求に基づいて、前記データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、前記オブジェクト管理情報及び前記索引情報の該当部分を更新するオブジェクト管理手段と、入力される索引作成／削除要求に基づいて前記データベース内の索引情報を作成又は削除する索引管理手段と、入力されるオブジェクト検索要求に基づいて、前記データベース内のオブジェクトを検索するオブジェクト検索手段と、入力されるオブジェクト操作要求に基づいて、前記データベース内の該当するオブジェクトを修正又は書込みするオブジェクト操作手段とを備えたデータベース管理方式である。
【００１３】
また、請求項２に対応する発明は、請求項１に対応するデータベース管理方式において、入力される生成要求に基づいて、前記クラス定義情報及び前記オブジェクト管理情報を前記データベース内に生成するクラス管理手段を備えたデータベース管理方式である。
【００１４】
さらに、請求項３に対応する発明は、請求項２に対応するデータベース管理方式において、前記オブジェクト検索手段としては、入力されるオブジェクト検索要求に基づいて、前記データベース内の該当するクラスに属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトを前記オブジェクト管理情報及び前記索引情報に従って前記データベースから直接的に検索するデータベース管理方式である。
【００１５】
また、請求項４に対応する発明は、ユーザ定義集合に属するオブジェクトの集合を管理するデータベース管理方式であって、前記オブジェクトの集合、前記オブジェクトを直接的に検索するための索引情報、前記オブジェクトの集合並びに前記索引情報を検索するための集合管理情報、及び前記集合管理情報を検索するための集合定義情報が夫々記憶されるデータベースと、入力される集合要素追加／削除要求に基づいて、前記データベース内のオブジェクトの集合に対し、指定されたオブジェクトを生成又は削除すると共に、前記集合管理情報及び前記索引情報の該当部分を更新する集合要素管理手段と、入力される索引作成／削除要求に基づいて、前記データベース内の索引情報を作成又は削除する索引管理手段と、入力される集合検索要求に基づいて、前記データベース内のユーザ定義集合のオブジェクトを検索する集合検索手段と、入力される集合操作要求に基づいて、前記データベース内のユーザ定義集合相互を演算操作する集合操作手段と、入力されるオブジェクト操作要求に基づいて、前記データベース内の該当するオブジェクトを修正又は書込みするオブジェクト操作手段とを備えたデータベース管理方式である。
【００１６】
さらに、請求項５に対応する発明は、請求項４に対応するデータベース管理方式において、入力される生成要求に基づいて、前記集合定義情報及び前記集合管理情報を前記データベース内に生成する集合管理手段を備えたデータベース管理方式である。
【００１７】
また、請求項６に対応する発明は、請求項５に対応するデータベース管理方式において、前記集合検索手段としては、入力される集合検索要求に基づいて、前記データベース内の該当するユーザ定義集合に属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトを前記集合管理情報及び前記索引情報に従って前記データベースから直接的に検索するデータベース管理方式である。
【００１８】
さらに、請求項７に対応する発明は、クラスに属する集合オブジェクトの集合してなる統合オブジェクト集合、及びユーザ定義集合に属するオブジェクトの集合してなる集合オブジェクトの集合してなる統合オブジェクト集合を夫々管理するデータベース管理方式であって、前記統合オブジェクト集合、前記集合オブジェクト、前記オブジェクト集合、前記オブジェクト、前記集合オブジェクトと前記オブジェクトとを直接的に検索するための索引情報、前記集合オブジェクトに含まれて前記オブジェクト集合と前記オブジェクトと前記索引情報とを検索するための集合管理情報、前記統合オブジェクト集合と前記オブジェクト又は前記集合オブジェクトと前記索引情報とを検索するためのオブジェクト管理情報、及び前記ユーザ定義集合と前記クラスとの内容を夫々規定し且つ前記オブジェクト管理情報を検索するための統合クラス定義情報が夫々記憶されたデータベースと、入力される生成要求に基づいて、前記統合クラス定義情報及び前記オブジェクト管理情報を前記データベース内に生成するクラス管理手段と、入力されるオブジェクト生成／削除要求に基づいて、前記データベース内の統合オブジェクト集合に対し、指定されたオブジェクト又は集合オブジェクトを生成又は削除すると共に、前記オブジェクト管理情報及び前記索引情報の該当部分を更新するオブジェクト管理手段と、入力される集合要素追加／削除要求に基づいて、前記データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、前記集合管理情報及び前記索引情報の該当部分を更新する集合要素管理手段と、入力される索引作成／削除要求に基づいて、前記データベース内の索引情報を作成又は削除する索引管理手段と、入力される集合検索要求に基づいて、前記データベース内のクラスに属するオブジェクト又は前記データベース内のユーザ定義集合のオブジェクトを検索する集合検索手段と、入力される集合操作要求に基づいて、前記データベース内のオブジェクト管理情報と索引情報と統合オブジェクト集合とを対象とするか、あるいは前記データベース内の該当する集合オブジェクト内の集合管理情報と索引情報とオブジェクト集合とを対象とし、指定された対象とその同一対象との相互の演算操作を実行する集合操作手段と、入力されるオブジェクト操作要求に基づいて、前記データベース内の該当するオブジェクトを修正又は書込みするオブジェクト操作手段とを備えたデータベース管理方式である。
【００１９】
また、請求項８に対応する発明は、請求項７に対応するデータベース管理方式において、前記集合検索手段としては、前記クラスに属する集合オブジェクト又は前記ユーザ定義集合のオブジェクトに関し、夫々前記集合オブジェクト又は前記オブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上の前記集合オブジェクト又は前記オブジェクトを前記オブジェクト管理情報、前記索引情報及び前記集合管理情報に基づいて前記データベースから直接的に検索するデータベース管理方式である。
【００２０】
さらに、請求項９に対応する発明は、請求項７又は請求項８に対応するデータベース管理方式において、前記集合検索手段及び前記集合操作手段としては、夫々動作内容がＣ＋＋言語の構文規則に従って記述されたデータベース管理方式である。
（作用）
従って、請求項１に対応する発明は以上のような手段を講じたことにより、オブジェクトの集合、オブジェクトを直接的に検索するための索引情報、オブジェクトの集合並びに索引情報を検索するためのオブジェクト管理情報、及びオブジェクト管理情報を検索するためのクラス定義情報が夫々記憶されるデータベースを設け、オブジェクト管理手段が、入力されるオブジェクト生成／削除要求に基づいて、データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、オブジェクト管理情報及び索引情報の該当部分を更新し、索引管理手段が、入力される索引作成／削除要求に基づいてデータベース内の索引情報を作成又は削除し、オブジェクト検索手段が、入力されるオブジェクト検索要求に基づいて、データベース内のオブジェクトを検索し、オブジェクト操作手段が、入力されるオブジェクト操作要求に基づいて、データベース内の該当するオブジェクトを修正又は書込むので、オブジェクト指向データベースに関し、イクステントの管理機能を容易且つ確実に実現でき、管理性を向上させることができる。
【００２１】
また、請求項２に対応する発明は、クラス管理手段が、入力される生成要求に基づいて、クラス定義情報及びオブジェクト管理情報をデータベース内に生成するので、請求項１に対応する作用と同様の作用に加え、新規にクラスを定義して利用できるようにしたので、使用性を向上させることができる。
【００２２】
さらに、請求項３に対応する発明は、オブジェクト検索手段としては、入力されるオブジェクト検索要求に基づいて、データベース内の該当するクラスに属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトをオブジェクト管理情報及び索引情報に従ってデータベースから直接的に検索するので、請求項２に対応する作用と同様の作用に加え、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報を用いて高速に検索することができる。
【００２３】
また、請求項４に対応する発明は、オブジェクトの集合、オブジェクトを直接的に検索するための索引情報、オブジェクトの集合並びに索引情報を検索するための集合管理情報、及び集合管理情報を検索するための集合定義情報が夫々記憶されるデータベースを設け、集合要素管理手段が、入力される集合要素追加／削除要求に基づいて、データベース内のオブジェクトの集合に対し、指定されたオブジェクトを生成又は削除すると共に、集合管理情報及び索引情報の該当部分を更新し、索引管理手段が、入力される索引作成／削除要求に基づいて、データベース内の索引情報を作成又は削除し、集合検索手段が、入力される集合検索要求に基づいて、データベース内のユーザ定義集合のオブジェクトを検索し、集合操作手段が、入力される集合操作要求に基づいて、データベース内のユーザ定義集合相互を演算操作し、オブジェクト操作手段が、入力されるオブジェクト操作要求に基づいて、データベース内の該当するオブジェクトを修正又は書込みするので、オブジェクト指向データベースに関し、ユーザ定義集合の管理機能を容易且つ確実に実現でき、管理性を向上させることができる。
【００２４】
さらに、請求項５に対応する発明は、集合管理手段が、入力される生成要求に基づいて、集合定義情報及び集合管理情報をデータベース内に生成するので、請求項４に対応する作用と同様の作用に加え、新規に集合を定義して利用できるようにしたので、使用性を向上させることができる。
【００２５】
また、請求項６に対応する発明は、集合検索手段としては、入力される集合検索要求に基づいて、データベース内の該当するユーザ定義集合に属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトを集合管理情報及び索引情報に従ってデータベースから直接的に検索するので、請求項５に対応する作用と同様の作用に加え、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報を用いて高速に検索することができる。
【００２６】
さらに、請求項７に対応する発明は、統合オブジェクト集合、集合オブジェクト、オブジェクト集合、オブジェクト、集合オブジェクトとオブジェクトとを直接的に検索するための索引情報、集合オブジェクトに含まれてオブジェクト集合とオブジェクトと索引情報とを検索するための集合管理情報、統合オブジェクト集合と集合オブジェクト又はオブジェクトと索引情報とを検索するためのオブジェクト管理情報、及びユーザ定義集合とクラスとの内容を夫々規定し且つオブジェクト管理情報を検索するための統合クラス定義情報が夫々記憶されたデータベースを設け、クラス管理手段が、入力される生成要求に基づいて、統合クラス定義情報及びオブジェクト管理情報をデータベース内に生成し、オブジェクト管理手段が、入力されるオブジェクト生成／削除要求に基づいて、データベース内の統合オブジェクト集合に対し、指定されたオブジェクト又は集合オブジェクトを生成又は削除すると共に、オブジェクト管理情報及び索引情報の該当部分を更新し、集合要素管理手段が、入力される集合要素追加／削除要求に基づいて、データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、集合管理情報及び索引情報の該当部分を更新し、索引管理手段が、入力される索引作成／削除要求に基づいて、データベース内の索引情報を作成又は削除し、集合検索手段が、入力される集合検索要求に基づいて、データベース内のクラスに属するオブジェクト又はデータベース内のユーザ定義集合のオブジェクトを検索し、集合操作手段が、入力される集合操作要求に基づいて、データベース内のオブジェクト管理情報と索引情報と統合オブジェクト集合とを対象とするか、あるいはデータベース内の該当する集合オブジェクト内の集合管理情報と索引情報とオブジェクト集合とを対象とし、指定された対象とその同一対象との相互の演算操作を実行し、オブジェクト操作手段が、入力されるオブジェクト操作要求に基づいて、データベース内の該当するオブジェクトを修正又は書込みするので、イクステントとユーザ定義集合との管理機能を統合化して操作体系を覚える手間を低減させ、また、イクステントとユーザ定義集合との互換性を実現することにより、操作性を向上させることができる。
【００２７】
また、請求項８に対応する発明は、集合検索手段としては、クラスに属する集合オブジェクト又はユーザ定義集合のオブジェクトに関し、夫々集合オブジェクト又はオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上の集合オブジェクト又はオブジェクトをオブジェクト管理情報、索引情報及び集合管理情報に基づいてデータベースから直接的に検索するので、請求項７に対応する作用と同様の作用に加え、イクステント及びユーザ定義集合の夫々に対し、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報を用いて高速に検索することができる。
【００２８】
さらに、請求項９に対応する発明は、集合検索手段及び集合操作手段としては、夫々動作内容がＣ＋＋言語の構文規則に従って記述されているので、請求項７又は請求項８に対応する作用と同様の作用に加え、イクステントとユーザ定義集合との管理機能の統合化並びに両者の互換性を実現するための統一性を有し、簡潔で強力なデータベース操作言語を実現することができる。
【００２９】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
（第１の実施の形態）
図１は本発明の第１の実施の形態に係るデータベース管理方式の適用された計算機システムの構成を模式的に示すブロック図である。この計算機システムは、イクステントとしてのオブジェクト集合の記憶されたデータベース１０と、このデータベース１０に関して読出／書込を伴う種々の要求を入力してその応答を出力する入出力部２０と、この入出力部２０から入力された要求に基づいてデータベース１０に読出／書込を実行し、実行結果などを入出力部２０に応答する管理システム３０とを備えている。
【００３０】
ここで、データベース１０は、管理システム３０からアクセス可能に設けられ、図１及び図２に示すように、クラス定義情報１１、オブジェクト管理情報１２、索引情報１３及びオブジェクト集合１４が記憶されるものである。
【００３１】
クラス定義情報１１は、クラス名称と、継承関係などを示すクラス属性と、メンバに関する情報を示すメンバ情報と、クラスのデータ構造に関する情報を示すアドレス情報と、オブジェクト管理情報１２への関係情報を示すオブジェクト管理属性という５項目のデータから構成されている。
【００３２】
オブジェクト管理情報１２は、オブジェクト生成時に決まる派生型など実行時に決まるクラスの属性を示す動的クラス属性と、オブジェクト集合１４から所望のオブジェクト１５を高速に検索するための個々のオブジェクト１５に対応する索引情報への関係情報を示す索引管理情報と、オブジェクト集合１４内のオブジェクト１５を逐次辿るための逐次検索情報と、オブジェクト集合１４に対する追加・削除等を管理するためのオブジェクト集合管理情報という４項目のデータから構成されている。
【００３３】
索引情報１３は、オブジェクト集合１４から所望のオブジェクト１５を高速に検索するための個々のオブジェクト１５に対応する索引を示すものである。
一方、入出力部２０は、操作者の入力操作又はＣＰＵの処理などに基づいて、種々の要求を管理システム３０に入力し、管理システム３０から受ける応答を出力するものであり、ユーザプログラムにより入出力処理の内容が規定されている。なお、種々の要求は、ユーザプログラムにて予め規定され、例えば、処理開始要求、処理終了要求、クラス定義／削除要求、オブジェクト生成／削除要求、索引生成／削除要求、オブジェクト検索要求、オブジェクト操作要求が入力可能となっている。
【００３４】
また、管理システム３０は、入出力部２０から入力された要求に基づいてデータベース１０に読出／書込を実行してその実行結果及び実行状態を入出力部２０に応答出力するものであり、具体的には、クラス管理部３１、オブジェクト管理部３２、索引管理部３３、オブジェクト検索部３４及びオブジェクト操作部３５から構成されている。
【００３５】
クラス管理部３１は、入出力部２０から入力されるクラス定義／削除要求のうち、クラス定義要求に基づいて、データベース１０内のクラス定義情報１１又はオブジェクト管理情報１２を作成してその初期設定を実行する機能と、クラス削除要求に基づいて、クラス定義情報１１又はオブジェクト管理情報１２を削除する機能とをもっている。
【００３６】
オブジェクト管理部３２は、入出力部２０から入力されるオブジェクト生成／削除要求のうち、オブジェクト生成要求に基づいて、データベース１０内のオブジェクト集合１４に対し、指定されたオブジェクト１５を生成すると共に、オブジェクト管理情報１２及び索引情報１３の該当部分を更新する機能と、オブジェクト削除要求に基づいて、データベース１０内のオブジェクト集合１４に対し、指定されたオブジェクト１５を削除すると共に、オブジェクト管理情報１２及び索引情報１３の該当部分を更新する機能とをもっている。
【００３７】
索引管理部３３は、入出力部２０から入力される索引作成／削除要求のうち、索引作成要求に基づいて、データベース１０内の索引情報１３を作成する機能と、索引削除要求に基づいて、データベース１０内の索引情報１３を削除する機能とをもっている。なお、索引情報１３内の索引は、ユーザの指定に従って、その時点のオブジェクト集合１４のオブジェクト１５に対応して作成される。
【００３８】
オブジェクト検索部３４は、入出力部２０から入力されるオブジェクト検索要求に基づいて、データベース１０内のオブジェクト管理情報１２及び索引情報１３を用い、指定された検索条件に合致するオブジェクト１５をデータベース１０内のオブジェクト集合１４から検索する機能と、この検索結果を入出力部２０に応答する機能とをもっている。
【００３９】
オブジェクト操作部３５は、入出力部２０から入力されるオブジェクト操作要求に基づいて、オブジェクト集合１４内の該当するオブジェクト１５に対し、指定された修正又は書込みなどの操作を実行する機能をもっている。
【００４０】
次に、以上のように構成された計算機システムの動作を説明する。
但し、オブジェクト集合１４は、予めデータベース１０に記憶されているものとする。
（処理開始要求）
いま、入出力部２０では、操作者の操作により、処理開始要求を管理システム３０に入力する。管理システム３０では、この処理開始要求により、自己のシステムを初期化し、データベース１０内の各情報及びオブジェクト１５を読出／書込可能な状態となる。
【００４１】
以下、管理システム３０においては、適宜、各要求が入出力部２０から入力されると、その要求に基づいて、データベース１０に対して処理を実行する。管理システム３０における処理部及び処理内容は、以下に示す通りである。
（クラス定義／削除要求）
クラス管理部３１は、入出力部２０から入力されるクラス定義要求に基づいて、データベース１０内のクラス定義情報１１又はオブジェクト管理情報１２を作成してその初期設定を実行する。また、クラス管理部３１は、入出力部２０から入力されるクラス削除要求に基づいて、クラス定義情報１１又はオブジェクト管理情報１２を削除する。
（オブジェクト生成／削除要求）
オブジェクト管理部３２は、入出力部２０から入力されるオブジェクト生成要求に基づいて、データベース１０内のオブジェクト集合１４に対し、指定されたオブジェクト１５を生成すると共に、オブジェクト管理情報１２及び索引情報１３の該当部分を更新する。また、オブジェクト管理部３２は、入出力部２０から入力されるオブジェクト削除要求に基づいて、データベース１０内のオブジェクト集合１４に対し、指定されたオブジェクト１５を削除すると共に、オブジェクト管理情報１２及び索引情報１３の該当部分を更新する。
（索引作成／削除要求）
索引管理部３３は、入出力部２０から入力される索引作成要求に基づいて、データベース１０内の索引情報１３を作成する。なお、索引情報１３内の索引は、ユーザの指定に従って、その時点のオブジェクト集合１４のオブジェクト１５に対応して作成される。また、索引管理部３３は、入出力部２０から入力される索引削除要求に基づいて、データベース１０内の索引情報１３を削除する。
（オブジェクト検索要求）
オブジェクト検索部３４は、入出力部２０から入力されるオブジェクト検索要求に基づいて、データベース１０内のオブジェクト管理情報１２及び索引情報１３を用い、指定された検索条件に合致するオブジェクト１５をデータベース１０内のオブジェクト集合１４から検索し、この検索結果を入出力部２０に応答する。
【００４２】
ここで、具体的な検索方式には、以下に示すように、逐次検索と直接検索とがある。
逐次検索は、次の（ｉ）  〜（ｉｖ）及びそれらの組合せにて示されるように、オブジェクト集合１４内のオブジェクトを逐次辿るように読出して検索する方式であり、検索結果は、該当する１つのオブジェクト１５又は検索失敗である。
（ｉ）  現在の検索対象オブジェクト（カーソル）の記憶と読出し。
（ｉｉ）最初、最後のオブジェクト１５の読出し。
（ｉｉｉ）  次に続くオブジェクト１５、直前のオブジェクト１５の読出し。
（ｉｖ）検索対象オブジェクトの有無の判定。
【００４３】
このような逐次検索の場合、オブジェクト検索部３４は、検索対象オブジェクトが有るとき、当該オブジェクト１５を入出力部２０に応答し、オブジェクト集合１４内の全オブジェクト１５を検索しても検索対象オブジェクトが無いとき、検索失敗の旨を入出力部２０に応答する。
【００４４】
一方、直接検索は、次の（ｉ）  〜（ｉｖ）及びそれらの組合せにて示されるように、オブジェクト集合１４内で検索条件に合致するオブジェクト１５を直接的に検索する方式であり、検索結果は、該当するオブジェクト１５の集合又は検索失敗である。なお、オブジェクト１５の集合は、１つ以上のオブジェクト１５を含んでいる。
（ｉ）  指定されたオブジェクトの有無の判定。
（ｉｉ）オブジェクトのメンバの値の比較。
【００４５】
この比較には、例えば等値比較、不等比較、大小比較、値の範囲がある。
（ｉｉｉ）  上記（ｉ）  〜（ｉｉ）と、積（ＡＮＤ）  、和（ＯＲ）、否定（ＮＯＴ）  とで構成される論理式。
（ｉｖ）これら（ｉ）  〜（ｉｉｉ）  において、該当の判定、比較、論理式が真となる場合、条件を満足するオブジェクト１５の集合を検索結果とする。偽となる場合、検索結果を検索失敗とする。
【００４６】
この直接検索の場合、オブジェクト検索部３４は、検索結果として、オブジェクト１５の集合、又は検索失敗の旨を入出力部２０に応答する。なお、直接検索の場合、索引情報１３を用いることにより、高速に直接検索を実行することができる。
（オブジェクト操作要求）
オブジェクト操作部３５は、入出力部２０から入力されるオブジェクト操作要求に基づいて、オブジェクト集合１４内の該当するオブジェクト１５に対し、指定された操作を実行する。
（処理終了要求）
管理システム３０では、入出力部２０から入力される処理終了要求により、データベース１０に関する処理を終了する。
【００４７】
上述したように第１の実施の形態によれば、クラス管理部３１、オブジェクト管理部３２、索引管理部３３、オブジェクト検索部３４及びオブジェクト操作部３５が夫々入力される要求に基づいて、前述したように処理を実行するので、オブジェクト指向データベース１０に関し、イクステントの管理機能を容易且つ確実に実現でき、管理性を向上させることができる。
【００４８】
クラス管理部３１が、入力される生成要求に基づいて、クラス定義情報１１及びオブジェクト管理情報１２をデータベース１０内に生成するので、新規にクラスを定義して利用できるようにしたので、使用性を向上させることができる。
【００４９】
オブジェクト検索部３４が、入力されるオブジェクト検索要求に基づいて、データベース１０内の該当するクラスに属するオブジェクト１５を逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクト１５をオブジェクト管理情報１２及び索引情報１３に従ってデータベース１０から直接的に検索するので、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報１３を用いて高速に検索することができる。
（第２の実施の形態）
次に、本発明の第２の実施の形態について図面を参照しながら説明する。
【００５０】
図３は本発明の第２の実施の形態に係るデータベース管理方式の適用された計算機システムの構成を模式的に示すブロック図であり、図１及び図２と同一部分には同一符号を付し、類似した部分にはａの添字を付してその詳しい説明は省略し、ここでは異なる部分についてのみ述べる。
【００５１】
すなわち、本実施の形態に係る計算機システムは、ユーザ定義集合を扱うためのものであり、具体的には、図３及び図４に示すように、オブジェクト管理情報１２を省略し、集合定義情報１１ａ及び集合管理情報１２ａを有するデータベース１０ａと、クラス管理部３１、オブジェクト管理部３２及びオブジェクト検索部３４を省略し、集合管理部３１ａ、集合要素管理部３２ａ、集合検索部３４ａ及び集合操作部３５ａを有する管理システム３０ａとを備えている。
【００５２】
ここで、データベース１０ａは、図４に示すように、前述したクラス定義情報１１、索引情報１３及びオブジェクト集合１４に加え、集合定義情報１１ａ及び集合管理情報１２ａを備えている。
【００５３】
集合定義情報１１ａは、集合名と、要素の重複や要素の順序の有無などの集合の特性を示す集合属性と、集合管理情報１２ａへの関係情報を持つ集合管理属性という３項目のデータから構成される。
【００５４】
集合管理情報１２ａは、集合の要素となるオブジェクト１５のクラスを示すクラス定義情報１１への関係を示す集合要素クラス名、前述同様の索引管理情報と、オブジェクト集合１４内のオブジェクト１５を逐次辿るための逐次検索情報と、オブジェクト集合１４に対するオブジェクト１５の追加・削除等を管理するための集合要素管理情報という４項目のデータから構成される。
【００５５】
一方、管理システム３０ａは、前述した索引管理部３３及びオブジェクト操作部３５に加え、集合管理部３１ａ、集合要素管理部３２ａ、集合検索部３４ａ及び集合操作部３５ａを備えている。
【００５６】
集合管理部３１ａは、入出力部２０ａから入力される集合定義／削除要求のうち、集合定義要求に基づいて、データベース１０ａ内の集合定義情報１１ａを作成してその初期設定を実行する機能と、集合削除要求に基づいて、データベース１０ａ内の集合定義情報１１ａを削除する機能とをもっている。
【００５７】
集合要素管理部３２ａは、入出力部２０ａから入力される集合要素追加／削除要求のうち、集合要素追加要求に基づいて、データベース１０ａ内のオブジェクト集合１４に対し、指定されたオブジェクト１５を追加すると共に、集合管理情報１２ａ及び索引情報１３の該当部分を更新する機能と、集合要素削除要求に基づいて、データベース１０ａ内のオブジェクト集合１４に対し、指定されたオブジェクトを追加すると共に、集合管理情報１２ａ及び索引情報１３の該当部分を更新する機能とをもっている。
【００５８】
集合検索部３４ａは、入出力部２０ａから入力される集合検索要求に基づいて、指定された検索の内容に従い、データベース１０ａ内の集合管理情報１２ａ及び索引情報１３を用い、指定された検索条件に合致するオブジェクト１５をデータベース１０ａ内のオブジェクト集合１４から検索し、検索結果を入出力部２０ａに応答する機能をもっている。なお、前述同様に、逐次検索又は直接検索のいずれかが選択的に実行可能となっている。
【００５９】
集合操作部３５ａは、入出力部２０ａから入力される集合操作要求に基づいて、オブジェクト集合１４のうち、指定された集合あるいは集合同士の操作・演算を実行し、実行結果を入出力部２０ａに応答する機能をもっている。
【００６０】
次に、このような計算機システムの動作を説明する。
（処理開始／終了要求）
管理システム３０ａでは、前述同様に、入出力部２０ａから入力される処理開始要求により、自己のシステムを初期化し、入出力部２０ａから入力される処理開始要求により、自己のシステムを終了処理する。
【００６１】
また、管理システム３０ａにおいては、処理開始から処理終了までの間、適宜、各要求が入出力部２０ａから入力されると、その要求に基づいて、データベース１０ａに対して処理を実行する。管理システム３０ａにおける処理部及び処理内容は、以下に示す通りである。
（集合定義／削除要求）
集合管理部３１ａは、入出力部２０ａから入力される集合定義要求に基づいて、データベース１０ａ内の集合定義情報１１ａを作成してその初期設定を実行する。また、集合管理部３１ａは、入出力部２０ａから入力される集合削除要求に基づいて、データベース１０ａ内の集合定義情報１１ａを削除する。
（集合要素追加／削除要求）
集合要素管理部３２ａは、入出力部２０ａから入力される集合要素追加要求に基づいて、データベース１０ａ内のオブジェクト集合１４に対し、指定されたオブジェクト１５を追加すると共に、集合管理情報１２ａ及び索引情報１３の該当部分を更新する。また、集合要素管理部３２ａは、入出力部２０ａから入力される集合要素削除要求に基づいて、データベース１０ａ内のオブジェクト集合１４に対し、指定されたオブジェクト１５を削除すると共に、集合管理情報１２ａ及び索引情報１３の該当部分を更新する。
（集合検索要求）
集合検索部３４ａは、入出力部２０ａから入力される集合検索要求に基づいて、指定された検索の内容に従い、データベース１０ａ内の集合管理情報１２ａ及び索引情報１３を用い、指定された検索条件に合致するオブジェクト１５をデータベース１０ａ内のオブジェクト集合１４から検索し、検索結果を入出力部２０ａに応答する。なお、前述同様に、逐次検索又は直接検索のいずれかが指定されて実行される。
【００６２】
逐次検索の場合、集合検索部３４ａは、集合管理情報１２ａの逐次処理情報を用いてオブジェクト集合１４内の該当するオブジェクト１５を検索し、検索結果を入出力部２０ａに応答出力する。
【００６３】
直接検索の場合、集合検索部３４ａは、検索条件に合致するオブジェクト１５をオブジェクト集合１４から検索し、検索結果を入出力部２０ａに出力する。なお、複数のオブジェクトが検索条件に合致する可能性があるため、集合検索部３４ａでは検索結果を集合値として出力する。また、直接検索の場合、集合検索部３４ａでは、可能な限り索引情報１３を利用することにより、直接検索を高速に実行する。
（集合操作要求）
集合操作部３５ａは、入出力部２０ａから入力される集合操作要求に基づいて、オブジェクト集合１４のうち、指定された集合あるいは集合同士の操作・演算を実行し、実行結果を集合値として入出力部２０ａに出力する。
【００６４】
具体的には、集合操作部３５ａは、次の（ｉ）  〜（ｖ）  に示すように、オブジェクト集合１４内で集合を操作・演算する。また、操作結果はオブジェクト１５の集合又は集合操作失敗（偽）となる。
（ｉ）  他の集合への代入を実行する。例えば集合管理情報１２ａ、索引情報１３及びオブジェクト集合１４を全て複写するディープコピー（ｄｅｅｐ  ｃｏｐｙ）  と、集合管理情報１２ａ及び索引情報１３を複写するシャロウコピー（ｓｈａｌｌｏｗ  ｃｏｐｙ）とのいずれかを実行する。
（ｉｉ）集合積、集合和、集合差をとる。
（ｉｉｉ）  部分集合、真部分集合をとる。
（ｉｖ）等置比較、不等比較、空集合判定をとる。
（ｖ）  、（ｉｉ）〜（ｉｖ）の集合操作の組合せをとる。
【００６５】
これら集合操作は、集合操作要求を入力する際に、任意のものあるいは組合せを指定することができる。またさらに、集合操作部３５ａは、操作・演算の実行結果を他の集合に代入する場合、代入先の集合管理情報１２ａ、索引情報１３及びオブジェクト集合１４を当該実行結果に従って変更する。
【００６６】
上述したように第２の実施の形態によれば、集合管理部３１ａ、集合要素管理部３２ａ、索引管理部３３、集合検索部３４ａ、集合操作部３５ａ及びオブジェクト操作部３５が夫々入力される要求に基づいて、前述したように処理を実行するので、オブジェクト指向データベース１０ａに関し、ユーザ定義集合の管理機能を容易且つ確実に実現でき、管理性を向上させることができる。
【００６７】
集合管理部３１ａが、入力される生成要求に基づいて、集合定義情報１１ａ及び集合管理情報１２ａをデータベース１０ａ内に生成するので、新規に集合を定義して利用できるようにしたので、使用性を向上させることができる。
【００６８】
また、集合検索部３４ａが、入力される集合検索要求に基づいて、データベース１０ａ内の該当するユーザ定義集合に属するオブジェクト１５を逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクト１５を集合管理情報１２ａ及び索引情報１３に従ってデータベース１０ａから直接的に検索するので、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報１３を用いて高速に検索することができる。
（第３の実施の形態）
次に、本発明の第３の実施の形態について図面を参照しながら説明する。
【００６９】
図５は本発明の第３の実施の形態に係るデータベース管理方式の適用された計算機システムの構成を模式的に示すブロック図であり、図６はこの計算機システム内のデータベースの構成を模式的に示すブロック図であり、図７はこのデータベース内の集合オブジェクトの構成を模式的に示すブロック図であって、図１乃至図４と同一部分には同一符号を付し、類似した部分にはｂの添字を付してその詳しい説明は省略し、ここでは異なる部分についてのみ述べる。
【００７０】
すなわち、本実施の形態に係る計算機システムは、イクステントを扱う第１の実施の形態と、ユーザ定義集合を扱う第２の実施の形態とを統合化したものである。すなわち、集合もクラスの一種と考え、集合定義情報１１ａをクラス定義情報１１の形式で定義することにより、ユーザ定義集合をイクステントの体系の中に組み入れて構成している。
【００７１】
具体的には、データベース１０ｂは、図５及び図６に示すように、統合クラス定義情報１１ｂ、オブジェクト管理情報１２、索引情報１３と同じクラスに属するオブジェクト１５又は集合オブジェクト１５ｂの集まりからなる統合オブジェクト集合１４ｂにより構成される。
【００７２】
ここで、統合クラス定義情報１１ｂは、集合定義情報１１ａをクラス定義情報１１に導入したものであり、具体的には、前述した５項目のデータに加え、集合属性を有し、且つクラス名が集合名を包含したものとなっている。
【００７３】
統合オブジェクト集合１４ｂは、クラスに属するオブジェクトの集合である。すなわち当該クラスが集合でないクラスの場合にはオブジェクト１５の集合となり、当該クラスが集合クラスの場合即ちユーザ定義集合の場合には集合オブジェクト１５ｂとなる。
【００７４】
集合オブジェクト１５ｂは、集合クラスのオブジェクトであり、図７に示すように、集合管理情報１２ａ、索引情報１３及びオブジェクト集合１４から構成される。
【００７５】
一方、管理システム３０ｂは、夫々クラス管理部３１ｂ、オブジェクト管理部３２ｂ、集合要素管理部３２ａ、索引管理部３３ｂ、集合検索部３４ｂ、集合操作部３５ｂ及びオブジェクト操作部３５から構成されている。
【００７６】
また、入出力部２０ｂは、夫々前述同様の処理開始要求、処理終了要求、クラス定義／削除要求、オブジェクト生成／削除要求、集合要素追加／削除要求、索引作成／削除要求、集合検索要求、集合操作要求、オブジェクト操作要求を管理システム３０ｂに入力する機能と、管理システム３０ｂからの応答を出力する機能とをもっている。
【００７７】
なお、オブジェクト生成／削除要求は、ユーザ定義集合の場合、ユーザ定義集合のオブジェクト１５に相当する集合オブジェクト１５ｂを生成／削除するための処理要求となっており、前述した集合定義／削除要求に対応している。
【００７８】
また、索引生成／削除要求、集合検索要求及び集合操作要求は、夫々イクステント又はユーザ定義集合を対象として指定可能となっている。
なお、これら索引生成／削除要求、集合検索要求及び集合操作要求では、イクステントが対象として指定された場合、オブジェクト管理情報１２とその索引情報１３及び統合オブジェクト集合１４ｂに対して処理が実行される。また、ユーザ定義集合が対象として指定された場合、集合オブジェクト１５ｂ、即ち、集合管理情報１２ａとその索引情報１３及びオブジェクト集合１４に対して処理が実行される。
【００７９】
次に、このような計算機システムの動作を説明する。
（処理開始／終了要求）
管理システム３０ｂでは、前述同様に、入出力部２０ｂから入力される処理開始要求により、自己のシステムを初期化し、入出力部２０ｂから入力される処理開始要求により、自己のシステムを終了処理する。
【００８０】
また、管理システム３０ｂにおいては、処理開始から処理終了までの間、適宜、各要求が入出力部２０ｂから入力されると、その要求に基づいて、データベース１０ｂに対して処理を実行する。管理システム３０ｂにおける処理部及び処理内容は、以下に示す通りである。
（クラス定義／削除要求）
クラス管理部３１ｂは、入出力部２０ｂから入力されるクラス定義要求に基づいて、データベース１０ｂ内の統合クラス定義情報１１ｂ又はオブジェクト管理情報１２を作成してその初期設定を実行する。また、クラス管理部３１ｂは、入出力部２０ｂから入力されるクラス削除要求に基づいて、統合クラス定義情報１１ｂ又はオブジェクト管理情報１２を削除する。
（オブジェクト生成要求）
（非集合クラスの場合）オブジェクト管理部３２ｂは、入出力部２０ｂから入力されるオブジェクト生成要求に基づいて、データベース１０ｂ内の統合オブジェクト集合１４ｂに対し、指定されたオブジェクト１５を生成すると共に、オブジェクト管理情報１２及び索引情報１３の該当部分を更新する。
【００８１】
（集合クラスの場合）オブジェクト管理部３２ｂは、入出力部２０ｂから入力されるオブジェクト生成要求に基づいて、データベース１０ｂの統合オブジェクト集合１４ｂにおける集合オブジェクト１５ｂを作成してその初期設定を実行する。すなわち、オブジェクト管理部３２ｂは、集合オブジェクト１５ｂを構成する集合管理情報１２ａとその索引情報１３及びオブジェクト集合１４（＝ユーザ定義集合）を作成する。
（オブジェクト削除要求）
オブジェクト管理部３２ｂは、入出力部２０ｂから入力されるオブジェクト削除要求に基づいて、データベース１０ｂ内の統合オブジェクト集合１４ｂに対し、指定されたオブジェクト１５又は集合オブジェクト１５ｂを削除すると共に、オブジェクト管理情報１２及び索引情報１３の該当部分を更新する。
（集合要素追加／削除要求）
集合要素管理部３２ａは、入出力部２０ｂから入力される集合要素追加要求に基づいて、データベース１０ｂ内のオブジェクト集合１４に対し、指定されたオブジェクト１５を追加すると共に、集合管理情報１２ａ及び索引情報１３の該当部分を更新する。また、集合要素管理部３２ａは、入出力部２０ｂから入力される集合要素削除要求に基づいて、データベース１０ｂ内のオブジェクト集合１４に対し、指定されたオブジェクト１５を削除すると共に、集合管理情報１２ａ及び索引情報１３の該当部分を更新する。
（索引作成／削除要求）
索引管理部３３ｂは、入出力部２０ｂから入力される索引作成要求に基づいて、データベース１０ｂ内の索引情報１３を作成する。なお、索引情報１３内の索引は、ユーザの指定に従って、イクステントの場合、その時点の統合オブジェクト集合１４ｂのオブジェクト１５又は集合オブジェクト１５ｂに対応して作成され、また、ユーザ定義集合の場合、その時点のオブジェクト集合１４のオブジェクト１５に対応して作成される。
【００８２】
また、索引管理部３３ｂは、入出力部２０ｂから入力される索引削除要求に基づいて、データベース１０ｂ内の索引情報１３を削除する。
（集合検索要求）
（イクステントの場合）集合検索部３４ｂは、入出力部２０ｂから入力される集合検索要求に基づいて、指定された検索の内容に従い、データベース１０ｂ内のオブジェクト管理情報１２及び索引情報１３を用い、指定された検索条件に合致するオブジェクト１５又は集合オブジェクト１５ｂをデータベース１０ｂ内の統合オブジェクト集合１４ｂから検索し、検索結果を入出力部２０ｂに応答する。
【００８３】
（ユーザ定義集合の場合）集合検索部３４ｂは、入出力部２０ｂから入力される集合検索要求に基づいて、指定された検索の内容に従い、データベース１０ｂ内の集合管理情報１２ａ及び索引情報１３を用い、指定された検索条件に合致するオブジェクト１５をデータベース１０ｂ内のオブジェクト集合１４から検索し、検索結果を入出力部２０ｂに応答する。
【００８４】
なお、イクステント又はユーザ定義集合のどちらが対象でも、前述同様に、逐次検索又は直接検索が指定されて実行される。
（集合操作要求）
集合操作部３５ｂは、入出力部２０ｂから入力される集合操作要求に基づいて、指定された統合オブジェクト集合１４ｂあるいは集合オブジェクト１５ｂ単一又はそれ等相互の操作・演算を実行し、実行結果を集合値として入出力部２０ｂに出力する。
（オブジェクト操作要求）
オブジェクト操作部３５は、入出力部２０ｂから入力されるオブジェクト操作要求に基づいて、統合オブジェクト集合１４ｂ内の該当するオブジェクト１５又は集合オブジェクト１５ｂに対し、指定された操作を実行する。
【００８５】
上述したように第３の実施の形態によれば、集合定義情報１１ａをクラス定義情報１１の形式で定義してなる統合クラス定義情報１１ｂを設けることにより、ユーザ定義集合をイクステントの体系の中に組み入れたので、イクステントとユーザ定義集合との管理機能を統合化して操作体系を覚える手間を低減させ、また、イクステントとユーザ定義集合との互換性を実現することにより、操作性を向上させることができる。
【００８６】
集合検索部３４ｂが、クラスに属するオブジェクト１５又は集合オブジェクト１５ｂ又はユーザ定義集合のオブジェクト１５に関し、夫々集合オブジェクト１５ｂ又はオブジェクト１５を逐次検索するか、あるいは指定された検索条件に合致する１以上の集合オブジェクト１５ｂ又はオブジェクト１５をオブジェクト管理情報１２、索引情報１３及び集合管理情報１２ａに基づいてデータベース１０ｂから直接的に検索するので、イクステント及びユーザ定義集合の夫々に対し、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報１３を用いて高速に検索することができる。
（他の実施の形態）
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピーディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ，ＤＶＤなど）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
その他、本発明はその要旨を逸脱しない範囲で種々変形して実施できる。
【００８７】
【実施例】
次に、本発明に係るデータベース管理方式の実施例について説明する。
本実施例に係るデータベース管理方式は、第３の実施の形態に示した構成のものが適用され、データベース操作言語の親言語としてＣ＋＋言語が用いられる。すなわち、データ構造定義は、Ｃ＋＋言語のクラス定義文により実行される。具体的には、データベース１０ｂの定義及び操作体系は、図８乃至図１０に示す通りであり、Ｃ＋＋言語の拡張機能と、管理システムに用意された既定義クラスを用いた方式が提供される。図８はクラス定義、処理開始要求及び処理終了要求の操作体系を示す図である。また、図９はイクステントに対する操作体系を示し、図１０はユーザ定義集合に対する操作体系を示している。
【００８８】
これらのデータベース定義及び操作体系の指示は以下の順序で実行される。但し、一旦、データベース１０ｂ及びクラス定義情報が作成された後は、読出／書込（検索／操作／削除など）を対象とするデータベース処理開始以降の指定が実行される。
（クラス定義及び開始／終了）
次に、クラス定義及び開始／終了について図８の（１）〜（２）を参照しながら説明する。
（１）データ構造定義は、図８に示すように、Ｃ＋＋言語のクラス定義が使用される。また、データ構造の定義に限らず、構成子、消滅子及びデータ操作関数についても定義可能となっている。
（２）データベース作成は、データベース１０ｂを新規に作成して初期化する機能である。また、データベース消去は、既存のデータベース１０ｂを削除する機能である。データベース処理開始は、指定されたデータベース１０ｂに対してそれ以降のスキーマ参照、トランザクション処理及びデータ操作を実行可能とする機能である。データベース処理終了はデータベース１０ｂの処理を終了させる機能である。
【００８９】
トランザクション処理は、入出力部２０ｂから複数の要求を同時に入力可能とする機能であり、例えば、トランザクション処理開始からトランザクション処理終了までの間に実行されたデータ操作に関して排他処理を実行する機能と、その間に実行されたデータ作成及びデータ更新をトランザクション処理終了時に一括してデータベース１０ｂに反映させる機能とをもっている。
【００９０】
また、トランザクション処理は、トランザクション処理開始からトランザクション処理廃棄の間に実行されたデータ操作に関する廃棄処理を実行する機能と、その間に実行されたデータ作成及びデータ更新をトランザクション処理廃棄時に一括して廃棄し、データベース１０ｂには反映させない機能とをもっている。
【００９１】
なお、図８中、Ｄａｔａｂａｓｅ，Ｔｒａｎｓａｃｔｉｏｎ  は、データベース管理方式の既定義クラスであり、データベース定義及び操作の関数を提供するものである。
（イクステント）
次に、イクステントの操作体系について図９の（３）〜（８）を参照しながら説明する。
（３）クラス生成のためのクラス定義は、図９に示すように、引数に指定されたクラス定義ファイルにＣ＋＋言語のクラス定義文で記述される。クラス生成は、統合クラス定義情報１１ｂを作成してデータベース１０ｂ内に記憶する機能である。クラス削除は、データベース１０ｂ内に定義された統合クラス定義情報１１ｂをクラス名を指定して削除する機能である。
【００９２】
オブジェクト管理情報１２は、最初にｔｙｐｅ（）関数が呼ばれたときに作成され、それ以降にｔｙｐｅ（）関数が呼ばれた場合には既に作成されたオブジェクト管理情報１２がそれ以降のイクステント操作のために参照される。オブジェクト管理情報・参照の結果としては、対応するオブジェクト管理情報１２へのポインタであるタイプポインタが入出力部２０ｂに返される。
（４）オブジェクト生成としては、タイプポインタをｎｅｗ  演算子の引数とすることにより、タイプポインタに該当するデータ構造をもつオブジェクトが管理システム３０ｂの管理するバッファ領域に作成される。また、作成されたオブジェクトのポインタが入出力部２０ｂに返される。
【００９３】
また、クラス定義で構成子が定義され、この構成子がｎｅｗ  演算子の後に記述されると、オブジェクトが生成と同時に初期化される。また、バッファ領域に作成されたオブジェクトは、トランザクション処理の終了時にデータベース１０ｂに書込まれる。
【００９４】
データ削除では、バッファ領域内の該当するオブジェクトが削除され、トランザクション処理終了時にデータベース１０ｂに反映される。
（５）索引作成は、索引作成要求で指定されたキーとなるメンバー名と、統合オブジェクト集合１４ｂのオブジェクトとから高速にオブジェクトを検索するための索引情報１３を作成し、その管理情報をオブジェクト管理情報に設定する機能である。
【００９５】
索引削除は、索引削除要求で指定された索引情報１３を削除し、オブジェクト管理情報１２を削除内容に従い変更する機能である。
（６）イクステントのオブジェクトの検索は、集合と同一形式の集合検索要求により実行される。集合検索要求には、存在判定、逐次検索及び直接検索がある。例えば、直接検索は、検索条件の指定により、その検索条件に該当する集合オブジェクト１５ｂ又は統合オブジェクト集合１４ｂをデータベース１０ｂ内から検索する機能である。検索結果の集合オブジェクト１５ｂ又は統合オブジェクト集合１４ｂは管理システム３０ｂの管理するバッファ領域に作成され、そのポインタが入出力部２０ｂに応答される。図９の記述例は、「年齢が１２歳よりも大でかつ２０歳未満の人」という検索条件に該当するオブジェクトをイクステントｐｅｒｓｏｎから検索して集合ｔｅｅｎＡｇｅｒに返す旨を示している。
（７）集合操作要求には、空集合判定、集合演算及び集合代入がある。空集合判定は、イクステントあるいは集合オブジェクト１５ｂを対象としている。集合演算は、イクステント及び集合オブジェクト１５ｂ同士の集合和、集合積、集合差、部分集合、等値比較などである。集合代入は、イクステント又は集合オブジェクト１５ｂから集合オブジェクト１５ｂへの代入であり、前述したディープコピー及びシャロウコピーがある。これらの処理・操作は、イクステントには統合オブジェクト集合１４ｂに対して、集合オブジェクト１５ｂにはオブジェクト集合に対して実行される。
（８）オブジェクト操作要求のオブジェクト参照及びオブジェクト更新は、バッファ領域内のオブジェクトの参照及び更新を実行する機能である。図９に示すように、ポインタによる多重修飾が可能である。該当するオブジェクトがバッファ領域に無いときには、データベース１０ｂから読込まれた後、オブジェクトの参照及び更新が実行される。オブジェクト更新結果はトランザクション処理終了によりデータベース１０ｂに書込まれる。
（ユーザ定義集合）
次に、ユーザ定義集合の操作体系について図１０の（１０）〜（１６）を参照しながら説明する。
（１０）集合クラスは、ユーザ定義集合をクラスの一種として定義するものであり、種類としては、一般的な集合を定義したＣｏｌｌｅｃｔｉｏｎクラス、要素の重複を許した  Ｂａｇクラス、要素の重複を許さない  Ｓｅｔクラス、  Ｓｅｔクラスで要素の順序を考慮したＬｉｓｔクラス、１次元可変長配列のＶａｒｒａｙクラスがある。これらは、管理システムにより予め統合クラス定義情報として利用可能に提供される。
（１１）オブジェクト生成／削除要求は、集合オブジェクト管理情報作成／参照、集合オブジェクト生成及び集合オブジェクト削除がある。
【００９６】
集合オブジェクト管理情報作成・参照は、集合クラスに対してオブジェクト管理情報１２の作成及び参照を実行する機能である。集合オブジェクト生成は、オブジェクト管理情報１２を用いて統合オブジェクト集合１４ｂ内に集合オブジェクト１５ｂを作成する機能である。集合オブジェクト削除は、指定された集合オブジェクト１５ｂを削除し、関連するオブジェクト管理情報１２及び索引情報１３を削除内容に対応させて変更する機能である。図１０では、ｔｅｅｎＡｇｅｒｓ  という集合オブジェクト１５ｂが生成される。
（１２）集合要素追加／削除要求は、集合要素の追加又は削除を集合オブジェクト１５ｂに対して実行する処理の要求である。集合要素追加は、集合管理情報１２ａに基づいて、オブジェクト集合１４に対して指定されたオブジェクト１５の追加を実行する機能である。なお、追加されるオブジェクト１５は、そのクラスが妥当か否かが集合管理情報１２ａの集合要素クラス名の示す統合クラス定義情報１１ｂの参照によりチェックされる。集合要素削除は、集合管理情報１２ａに基づいて、オブジェクト集合１４に対して指定されたオブジェクト１５の削除を実行する機能である。
（１３）（１４）索引生成／削除要求及び集合検索要求は、夫々集合管理情報１２ａを用いて、索引情報１３、オブジェクト集合１４に対して該当する処理の実行を要求するものである。
（１５）集合操作要求には、前述同様に、空集合判定、集合演算及び集合代入がある。集合代入では、代入先がデータベース１０ｂ内の集合である場合、代入“＝”で集合管理情報１２ａ、索引情報１３、オブジェクト集合１４のコピーが作成され、これらが代入先の集合オブジェクトとされる。
【００９７】
同じく、代入“％＝”では、集合管理情報１２ａと索引情報１３のみがコピーされ、代入先の集合オブジェクト１５ｂとされ、オブジェクト集合１４が代入元と代入先とで共用される。
（１６）オブジェクト操作要求については、統合オブジェクト集合１４ｂ内のオブジェクト１５、オブジェクト集合１４内のオブジェクト１５を特定し、該当オブジェクト１５に対する操作を実行させる。
【００９８】
上述したように本実施例によれば、複雑なデータ構造を扱うオブジェクト指向データベース１０ｂにおいても、クラスに属するオブジェクトの集合（イクステント）を集合データとして扱うことが可能となる。これによりイクステント及びユーザ定義集合に対して検索、集合操作をプログラミング言語Ｃ＋＋の同一のインタフェースで記述することができる。
【００９９】
また、さらに、オブジェクトの検索も集合操作の一種であると考えることにより、検索を含めた集合操作の演算体系を決定することができ、これをＣ＋＋言語の演算体系に組み込むことができる。これにより、ユーザにとって高度かつ複雑な集合操作を簡潔な記述形式でプログラミングできることになり、容易に高度な機能を使いこなすことができる。また、イクステントとユーザ定義集合との管理機能の統合化並びに両者の互換性を実現するための統一性を有し、簡潔で強力なデータベース操作言語を実現することができる。
【０１００】
オブジェクト指向データベース管理システムにおいて、イクステントとユーザ定義集合の管理体系を一本化し、両者に同一体系に基づいた検索及び操作手段を提供し、さらに、イクステントも集合の一種類として扱う統一性のある操作体系を提供した。これにより、複雑な構造や相互の関係を表現することのできるオブジェクト指向データベースに、自然な形で集合の概念を導入し、それに基づいて簡潔で強力なデータベース操作言語を提供した。これらにより、従来のオブジェクト指向データベース上で集合の機能を自由に扱えるデータベース管理方式を実現することができる。
【０１０１】
【発明の効果】
請求項１の発明によれば、オブジェクトの集合、オブジェクトを直接的に検索するための索引情報、オブジェクトの集合並びに索引情報を検索するためのオブジェクト管理情報、及びオブジェクト管理情報を検索するためのクラス定義情報が夫々記憶されるデータベースを設け、オブジェクト管理手段が、入力されるオブジェクト生成／削除要求に基づいて、データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、オブジェクト管理情報及び索引情報の該当部分を更新し、索引管理手段が、入力される索引作成／削除要求に基づいてデータベース内の索引情報を作成又は削除し、オブジェクト検索手段が、入力されるオブジェクト検索要求に基づいて、データベース内のオブジェクトを検索し、オブジェクト操作手段が、入力されるオブジェクト操作要求に基づいて、データベース内の該当するオブジェクトを修正又は書込むので、オブジェクト指向データベースに関し、イクステントの管理機能を容易且つ確実に実現でき、管理性を向上できるデータベース管理方式を提供できる。
【０１０２】
また、請求項２の発明によれば、クラス管理手段が、入力される生成要求に基づいて、クラス定義情報及びオブジェクト管理情報をデータベース内に生成するので、請求項１の効果に加え、新規にクラスを定義して利用できるようにしたので、使用性を向上できるデータベース管理方式を提供できる。
【０１０３】
さらに、請求項３の発明によれば、オブジェクト検索手段としては、入力されるオブジェクト検索要求に基づいて、データベース内の該当するクラスに属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトをオブジェクト管理情報及び索引情報に従ってデータベースから直接的に検索するので、請求項２の効果に加え、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報を用いて高速に検索できるデータベース管理方式を提供できる。
【０１０４】
また、請求項４の発明によれば、オブジェクトの集合、オブジェクトを直接的に検索するための索引情報、オブジェクトの集合並びに索引情報を検索するための集合管理情報、及び集合管理情報を検索するための集合定義情報が夫々記憶されるデータベースを設け、集合要素管理手段が、入力される集合要素追加／削除要求に基づいて、データベース内のオブジェクトの集合に対し、指定されたオブジェクトを生成又は削除すると共に、集合管理情報及び索引情報の該当部分を更新し、索引管理手段が、入力される索引作成／削除要求に基づいて、データベース内の索引情報を作成又は削除し、集合検索手段が、入力される集合検索要求に基づいて、データベース内のユーザ定義集合のオブジェクトを検索し、集合操作手段が、入力される集合操作要求に基づいて、データベース内のユーザ定義集合相互を演算操作し、オブジェクト操作手段が、入力されるオブジェクト操作要求に基づいて、データベース内の該当するオブジェクトを修正又は書込みするので、オブジェクト指向データベースに関し、ユーザ定義集合の管理機能を容易且つ確実に実現でき、管理性を向上できるデータベース管理方式を提供できる。
【０１０５】
さらに、請求項５の発明によれば、集合管理手段が、入力される生成要求に基づいて、集合定義情報及び集合管理情報をデータベース内に生成するので、請求項４の効果に加え、新規に集合を定義して利用できるようにしたので、使用性を向上できるデータベース管理方式を提供できる。
【０１０６】
また、請求項６の発明によれば、集合検索手段としては、入力される集合検索要求に基づいて、データベース内の該当するユーザ定義集合に属するオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上のオブジェクトを集合管理情報及び索引情報に従ってデータベースから直接的に検索するので、請求項５の効果に加え、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報を用いて高速に検索できるデータベース管理方式を提供できる。
【０１０７】
さらに、請求項７の発明によれば、統合オブジェクト集合、集合オブジェクト、オブジェクト集合、オブジェクト、集合オブジェクトとオブジェクトとを直接的に検索するための索引情報、集合オブジェクトに含まれてオブジェクト集合とオブジェクトと索引情報とを検索するための集合管理情報、統合オブジェクト集合とオブジェクト又は集合オブジェクトと索引情報とを検索するためのオブジェクト管理情報、及びユーザ定義集合とクラスとの内容を夫々規定し且つオブジェクト管理情報を検索するための統合クラス定義情報が夫々記憶されたデータベースを設け、クラス管理手段が、入力される生成要求に基づいて、統合クラス定義情報及びオブジェクト管理情報をデータベース内に生成し、オブジェクト管理手段が、入力されるオブジェクト生成／削除要求に基づいて、データベース内の統合オブジェクト集合に対し、指定されたオブジェクト又は集合オブジェクトを生成又は削除すると共に、オブジェクト管理情報及び索引情報の該当部分を更新し、集合要素管理手段が、入力される集合要素追加／削除要求に基づいて、データベース内のオブジェクト集合に対し、指定されたオブジェクトを生成又は削除すると共に、集合管理情報及び索引情報の該当部分を更新し、索引管理手段が、入力される索引作成／削除要求に基づいて、データベース内の索引情報を作成又は削除し、集合検索手段が、入力される集合検索要求に基づいて、データベース内のクラスに属するオブジェクト又はデータベース内のユーザ定義集合のオブジェクトを検索し、集合操作手段が、入力される集合操作要求に基づいて、データベース内のオブジェクト管理情報と索引情報と統合オブジェクト集合とを対象とするか、あるいはデータベース内の該当する集合オブジェクト内の集合管理情報と索引情報とオブジェクト集合とを対象とし、指定された対象とその同一対象との相互の演算操作を実行し、オブジェクト操作手段が、入力されるオブジェクト操作要求に基づいて、データベース内の該当するオブジェクトを修正又は書込みするので、イクステントとユーザ定義集合との管理機能を統合化して操作体系を覚える手間を低減させ、また、イクステントとユーザ定義集合との互換性を実現することにより、操作性を向上できるデータベース管理方式を提供できる。
【０１０８】
また、請求項８の発明によれば、集合検索手段としては、クラスに属する集合オブジェクト又はユーザ定義集合のオブジェクトに関し、夫々集合オブジェクト又はオブジェクトを逐次検索するか、あるいは指定された検索条件に合致する１以上の集合オブジェクト又はオブジェクトをオブジェクト管理情報、索引情報及び集合管理情報に基づいてデータベースから直接的に検索するので、請求項７の効果に加え、イクステント及びユーザ定義集合の夫々に対し、逐次検索又は直接検索を選択して検索でき、さらに、直接検索の場合、索引情報を用いて高速に検索できるデータベース管理方式を提供できる。
【０１０９】
さらに、請求項９の発明によれば、集合検索手段及び集合操作手段としては、夫々動作内容がＣ＋＋言語の構文規則に従って記述されているので、請求項７又は請求項８の効果に加え、イクステントとユーザ定義集合との管理機能の統合化並びに両者の互換性を実現するための統一性を有し、簡潔で強力なデータベース操作言語を実現できるデータベース管理方式を提供できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るデータベース管理方式の適用された計算機システムの構成を模式的に示すブロック図
【図２】同実施の形態におけるデータベースの構成を模式的に示すブロック図
【図３】本発明の第２の実施の形態に係るデータベース管理方式の適用された計算機システムの構成を模式的に示すブロック図
【図４】同実施の形態におけるデータベースの構成を模式的に示すブロック図
【図５】本発明の第３の実施の形態に係るデータベース管理方式の適用された計算機システムの構成を模式的に示すブロック図
【図６】同実施の形態におけるデータベースの構成を模式的に示すブロック図
【図７】同実施の形態における集合オブジェクトの構成を模式的に示すブロック図
【図８】本発明の一実施例に係るＣ＋＋言語によるクラス定義及び操作体系を示す図
【図９】同実施例におけるイクステントに対する操作体系を示す図
【図１０】同実施例におけるユーザ定義集合に対する操作体系を示す図
【符号の説明】
１０…データベース
１１…クラス定義情報
１１ａ…集合定義情報
１２…オブジェクト管理情報
１２ａ…集合管理情報
１３…索引情報
１４…オブジェクト集合
１４ｂ…統合オブジェクト集合
１５…オブジェクト
１５ｂ…集合オブジェクト
２０，２０ａ，２０ｂ…入出力部
３０…管理システム
３１，３１ｂ…クラス管理部
３１ａ…集合管理部
３２，３２ｂ…オブジェクト管理部
３２ａ…集合要素管理部
３３，３３ｂ…索引管理部
３４…オブジェクト検索部
３４ａ，３４ｂ…集合検索部
３５…オブジェクト操作部
３５ａ，３５ｂ…集合操作部
【図１】
0003590211.tif 000002
【図２】
0003590211.tif 000003
【図３】
0003590211.tif 000004
【図４】
0003590211.tif 000005
【図５】
0003590211.tif 000006
【図６】
0003590211.tif 000007
【図７】
0003590211.tif 000008
【図８】
0003590211.tif 000009
【図９】
0003590211.tif 000010
【図１０】
0003590211.tif 000011