JPH0830501A - Data base management system - Google Patents

Data base management system

Info

Publication number
JPH0830501A
JPH0830501A JP6166645A JP16664594A JPH0830501A JP H0830501 A JPH0830501 A JP H0830501A JP 6166645 A JP6166645 A JP 6166645A JP 16664594 A JP16664594 A JP 16664594A JP H0830501 A JPH0830501 A JP H0830501A
Authority
JP
Japan
Prior art keywords
database
area
page
management
buffer area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP6166645A
Other languages
Japanese (ja)
Inventor
Tateji Tanaka
中 立 二 田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP6166645A priority Critical patent/JPH0830501A/en
Publication of JPH0830501A publication Critical patent/JPH0830501A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To make it possible to utilize a data base capable of describing its data definition/operation as the extension of a data definition/operation function of existing programming language. CONSTITUTION:This data base management system is provided with a buffer area 25 having a page area 251 for storing the page information of a data base and an object area 252 for storing an object and capable of storing data base information, an access managing part 21 capable of referring/updating the object stored in the object area 252, a buffer area managing part 24 for allocating the object in the data base to the object area 252, and a page information managing part 26 for managing relation between the page information in the data base and that in the object area and the access managing part 21 has an object access management routine part 55 for judging whether an object to be found out is in the object area 252 or not and instructs the managing part 24 to refer the object or allocate the object to the page area 251.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、計算機のデータベース
管理システムに係り、特に構造化されたデータおよびこ
れらのデータ間の相互関係の情報を含むデータベースを
管理するデータベース管理システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database management system for a computer, and more particularly to a database management system for managing a database containing structured data and information on mutual relationships between these data.

【0002】[0002]

【従来の技術】従来、データベースは階層型あるいは関
係型と呼ばれるデータベース管理方式を用いて管理され
ている。従来のデータベース管理方式は、比較的単純な
構造で大量のデータを扱う事務処理分野を中心に利用さ
れている。これらの中でも特に、表形式で表せる単純な
データ構造を扱うとともに表相互の関係操作によりデー
タの検索・操作を行う関係型データベース管理システム
が広く利用されている。
2. Description of the Related Art Conventionally, databases are managed using a database management system called a hierarchical type or a relational type. The conventional database management method is mainly used in the office processing field that handles a large amount of data with a relatively simple structure. Among these, in particular, a relational database management system that widely handles a simple data structure that can be represented in a table format and performs a data retrieval / operation by a relation operation between tables is widely used.

【0003】[0003]

【発明が解決しようとする課題】従来のデータベース管
理方式をCAD、CASE、画像処理、マルチメディア
処理などの分野に適用しようとする場合に以下に示す問
題があり、このためデータベースを構築することが難し
くしかも処理効率の面からデータベース化することが必
ずしも得策であるとは限らない場合が多い。 1.個々のデータ要素のデータ構造が複雑であり、デー
タベース管理システムが提供するデータ定義形式によっ
てこれらのデータ要素を直接的に表現することができな
い。 2.データ相互が複雑に関係し合うデータの定義および
操作指定が複雑であり、しかも全データを対象に検索・
比較を行う必要があるために処理効率が悪い。
When the conventional database management method is applied to the fields of CAD, CASE, image processing, multimedia processing, etc., there are the following problems. Therefore, it is necessary to construct a database. In many cases, it is not always a good idea to create a database in terms of processing efficiency and processing efficiency. 1. The data structure of each data element is complicated, and the data definition format provided by the database management system cannot directly represent these data elements. 2. Data is complicatedly related to each other and data definition and operation specification are complicated.
Processing efficiency is poor because it is necessary to perform comparison.

【0004】3.データの定義・操作機能を提供するテ
ータベース言語がそれ自体独立した体系となっており人
間との対話形式の実行を主な利用方法としている。この
ためデータベース処理と計算処理などのプログラムとを
結合した処理体系を構築することが難しい。
3. The data base language that provides data definition / manipulation functions is an independent system itself, and its main usage is interactive execution with humans. Therefore, it is difficult to construct a processing system that combines programs such as database processing and calculation processing.

【0005】これらの問題を解決するものとしてオブジ
ェクト指向データベースが提唱され、開発および利用さ
れはじめている。オブジェクト指向データベースはC+
+、Smalltalkなどの既存のオブジェクト指向
プログラミング言語を基本としてデータベース管理機能
を付加したものが多い。しかし、初期のオブジェクト指
向データベースでは言語の拡張方式とそれを実現する方
式に関して以下の問題があった。
Object-oriented databases have been proposed, developed and utilized as means for solving these problems. Object-oriented database is C +
In many cases, a database management function is added based on an existing object-oriented programming language such as + or Smalltalk. However, the initial object-oriented database had the following problems regarding the language extension method and the method for realizing it.

【0006】1.データの定義・操作に関して、データ
ベース管理システムの該当処理ルーチンまた専用データ
操作言語を介して行わなければならない。このため、既
存のプログラムをデータベースを利用するプログラムに
変更する為に多くの労力を要する。 2.データの参照・更新に関して、データベース管理シ
ステムの該当処理ルーチンまたは専用データ操作処理系
を介して行わなければならないため処理効率が悪い。 これらの問題を解決するためのデータベース管理システ
ムとして、本出願人により特願昭6−38709が提案
されている。この提案は、接続される計算機システムが
提供する仮想記憶管理などの特別なメモリ管理保護機能
を利用するものであった。
1. The definition and operation of data must be done through the corresponding processing routine of the database management system or the dedicated data operation language. Therefore, much effort is required to change an existing program into a program that uses a database. 2. Data referencing / updating must be performed through the corresponding processing routine of the database management system or the dedicated data operation processing system, resulting in poor processing efficiency. As a database management system for solving these problems, Japanese Patent Application No. 6-38709 has been proposed by the present applicant. This proposal utilizes a special memory management protection function such as virtual memory management provided by the connected computer system.

【0007】上述のように、従来のオブジェクト指向デ
ータベース管理システムでは、以下の1乃至3のメモリ
管理保護機能をすべて持つ計算機システムの利用を前提
としていた。
As described above, the conventional object-oriented database management system is premised on the use of a computer system having all the following memory management protection functions 1 to 3.

【0008】1. メモリ領域の割付と解放の機能 2. 割り付けたメモリ領域に対する「使用不可」、
「参照のみ」、「書き込み可」のメモリ保護の設定がで
きる機能 3. 設定したメモリ保護に違反したオブジェクトのア
クセスがあった場合、それを検出しデータベース管理シ
ステムに通知し、データベース管理システムに実行制御
を移す機能 これらのなかで1に関しては殆どの計算機システムで提
供されている機能である。これに対して2、3に関して
は、パーソナルコンピュータや汎用大型計算機などはこ
れらの機能を持っていないか、あるいは持っていたとし
てもアプリケーションプログラムからは利用できない機
能である。
1. Memory area allocation and release functions 2. "Unavailable" for the allocated memory area,
Function that can set memory protection of "reference only" and "writable" When an object that violates the specified memory protection is accessed, it is detected and notified to the database management system, and execution control is transferred to the database management system. Among these, 1 is provided in most computer systems. Function. On the other hand, regarding items 2 and 3, personal computers, general-purpose large-scale computers, and the like do not have these functions, or even if they have these functions, they cannot be used from the application program.

【0009】そこで、上記2、3のメモリ管理機構を提
供しない計算機システムを利用した場合においても従来
のオブジェクト指向データベース管理システムと同等の
機能を提供するデータベース管理システムが望まれてい
る。
Therefore, there is a demand for a database management system that provides the same functions as the conventional object-oriented database management system even when a computer system that does not provide the above-mentioned memory management mechanism is used.

【0010】本発明の目的は、特別なメモリ管理機構を
有しない計算機システムを用いた場合においても以下に
示す機能、 1. プログラミング言語と同等の複雑なオブジェクト
定義機能 2. プログラミング言語と同等の複雑なオブジェクト
の相互関係の定義機能 3. データベース内のオブジェクト参照・更新をプロ
グラミング言語のオブジェクト参照・更新と同一の記述
形式とする 4. データベース操作とプログラム処理の融合 を有するデータベース管理システムを提供し、ユーザが
既存プログラミング言語のデータ定義・操作機能の拡張
としてデータベースのデータ定義・操作を記述可能なデ
ータベースを利用できるようにすることである。
The object of the present invention is to provide the following functions even when using a computer system having no special memory management mechanism: Complex object definition function equivalent to programming language 1. Definition function of interrelationship between complex objects equivalent to programming languages. 3. Make object reference / update in the database the same description format as object reference / update in programming language. It is to provide a database management system having a fusion of database operation and program processing so that a user can use a database that can describe the data definition / operation of the database as an extension of the data definition / operation function of an existing programming language. .

【0011】[0011]

【課題を解決するための手段】上記目的を達成するため
に、本発明によるデータベース管理システムは、構造化
されたオブジェクトおよびこれらのオブジェクト間の相
互関係の情報を含むデータベースを管理するデータベー
ス管理システムにおいて、前記データベースのページ情
報を記憶するページ領域と前記データベースのオブジェ
クトを記憶するオブジェクト領域とを有し、前記データ
ベースの情報を記憶するためのバッファ領域と、ユーザ
プログラムの指示を受け、前記オブジェクト領域にある
オブジェクトを参照・更新できるようにするアクセス管
理部と、前記アクセス管理部による指示を受け、前記デ
ータベースのオブジェクトを前記ページ領域を介して前
記オブジェクト領域へ割り付けるバッファ領域管理部
と、着目するオブジェクトが格納されているページにつ
いて、前記データベースにおけるページ情報と前記オブ
ジェクト領域におけるページ情報との関係を管理するペ
ージ情報管理部と、を備え、前記アクセス管理部は、前
記ページ情報管理部が管理するページ情報を参照してユ
ーザプログラムの求めるオブジェクトが前記オブジェク
ト領域にあるか否かを判断し、前記オブジェクト領域に
ある場合には前記オブジェクト領域にあるそのオブジェ
クトを参照することを前記バッファ領域管理部に指示
し、前記オブジェクト領域にない場合には前記データベ
ースからそのオブジェクトを前記ページ領域へ割り付け
ることを前記バッファ領域管理部に指示するオブジェク
トアクセス管理ルーチン部、を有する、ことを特徴とす
る。
In order to achieve the above object, a database management system according to the present invention is a database management system for managing a database containing structured objects and information on mutual relationships between these objects. A page area for storing page information of the database and an object area for storing objects of the database, a buffer area for storing information of the database, and an object area for receiving a user program instruction. An access management unit that enables reference / update of an object, a buffer area management unit that allocates an object of the database to the object area via the page area in response to an instruction from the access management unit, and an object of interest. A page in which a page is stored, the page information management unit managing the relationship between the page information in the database and the page information in the object area, and the access management unit is managed by the page information management unit. By referring to the page information, it is determined whether or not the object requested by the user program is in the object area, and if it is in the object area, the buffer area management unit is instructed to refer to the object in the object area. And an object access management routine section for instructing the buffer area management section to allocate the object to the page area from the database when the object area is not in the object area.

【0012】また、前記バッファ領域管理部は、接続さ
れる計算機システムのメモリ管理機能を利用したバッフ
ァ領域管理部を介して前記バッファ領域を管理し、前記
データベースのオブジェクトを前記ページ領域を介して
前記オブジェクト領域へ割り付けることを特徴とする。
Further, the buffer area management unit manages the buffer area via the buffer area management unit using the memory management function of the connected computer system, and the objects of the database are managed via the page area. It is characterized by allocating to the object area.

【0013】また、前記バッファ領域管理部が前記デー
タベースの同一のオブジェクトを前記バッファ領域の異
なるページ領域へ割り付けできるようにするオブジェク
ト再配置部を備えることを特徴とする。
The buffer area management section may further include an object rearrangement section that allows the same object in the database to be allocated to different page areas in the buffer area.

【0014】また、異なる前記ページ領域に割り付けら
れたオブジェクトの間の関係を管理する関係管理部を備
えることを特徴とする。
Further, the present invention is characterized by comprising a relationship management unit for managing a relationship between objects allocated to different page areas.

【0015】また、前記ユーザプログラムは、前記デー
タベース内のオブジェクトに関するオブジェクトの定義
および操作の記述形式と同じ記述形式で記述可能なプロ
グラミング言語で記述されていることを特徴とする。
Further, the user program is written in a programming language which can be written in the same description format as the description format of the definition and operation of the object regarding the object in the database.

【0016】また、前記プログラミング言語はC++言
語であることを特徴とする。
Further, the programming language is a C ++ language.

【0017】[0017]

【作用】データベースのオブジェクトを記憶するための
バッファ領域はページ情報を記憶するページ領域と前記
データベースのオブジェクトを記憶するデータ領域とを
有するので、ユーザプログラムによってオブジェクト参
照・更新を逐一データベース管理システムに明示的に知
らせることなく、オブジェクト参照・操作を行うことが
可能となり、データベース管理に関する処理は最初の割
り込み時のみに行われ個々のオブジェクト参照・操作時
には発生しないため、従来のデータベース管理方式で必
要とされていた個々のオブジェクト参照・操作毎にユー
ザプログラム内のデータとバッファ領域内の間のデータ
の移動、データ形式の確認・変換および各種管理テーブ
ルの参照・更新などの処理は行われないため、従来のデ
ータベース管理システムより大幅に処理効率を向上させ
ることができる。
Since the buffer area for storing the object of the database has the page area for storing the page information and the data area for storing the object of the database, the object reference / update is explicitly shown to the database management system by the user program. It is possible to perform object reference / operation without notifying the user, and the processing related to database management is performed only at the first interruption and does not occur at the time of individual object reference / operation. Conventionally, processing such as moving data between the user program and the buffer area, checking and converting the data format, and referencing and updating various management tables is not performed for each individual object reference / operation. Database management system It can be improved significantly treatment efficiency than Temu.

【0018】アクセス管理部はオブジェクトアクセス管
理ルーチン部を有し、オブジェクトアクセス管理ルーチ
ン部は、ページ情報管理部が管理するページ情報を参照
してユーザプログラムの求めるオブジェクトがオブジェ
クト領域にあるか否かを判断し、オブジェクト領域にあ
る場合にはオブジェクト領域にあるそのオブジェクトを
参照することをバッファ領域管理部に指示し、オブジェ
クト領域にない場合にはデータベースからそのオブジェ
クトをページ領域へ割り付けることをバッファ領域管理
部に指示する。
The access management section has an object access management routine section. The object access management routine section refers to page information managed by the page information management section to determine whether the object requested by the user program is in the object area. If it is, the buffer area management unit is instructed to refer to the object in the object area if it is in the object area. If it is not in the object area, the buffer area management is to allocate the object to the page area from the database. Instruct the department.

【0019】従って、ページ情報管理部が管理するペー
ジ情報を参照してユーザプログラムの求めるオブジェク
トがオブジェクト領域にあるか否かの判断を、接続され
る計算機システムのプログラムを用いて行う必要がなく
なる。
Therefore, it is not necessary to refer to the page information managed by the page information management unit to determine whether or not the object requested by the user program is in the object area by using the program of the connected computer system.

【0020】この結果、 1. メモリ領域の割付と解放の機能 2. 割り付けたメモリ領域に対する「使用不可」、
「参照のみ」、「書き込み可」のメモリ保護の設定がで
きる機能 3. 設定したメモリ保護に違反したオブジェクトのア
クセスがあった場合、それを検出しデータベース管理シ
ステムに通知し、データベース管理システムに実行制御
を移す機能 の3つの機能のうち、1の機能のみを有する計算機シス
テムを利用した場合においても従来のオブジェクト指向
データベース管理システムと同等の機能を提供するデー
タベース管理システムを提供することができる。
As a result, 1. Memory area allocation and release functions 2. "Unavailable" for the allocated memory area,
Function that can set memory protection of "reference only" and "writable" When an object that violates the set memory protection is accessed, it is detected and notified to the database management system and the execution control is transferred to the database management system. A computer system having only one function. It is possible to provide a database management system that provides a function equivalent to that of the conventional object-oriented database management system even when using.

【0021】また、ユーザプログラムはデータベース内
のオブジェクトに関するオブジェクトの定義および操作
の記述形式と同じ記述形式で記述可能なプログラミング
言語で記述されているので、オブジェクト構造定義とし
て例えばC++言語のクラス定義の記述形式をそのまま
利用し、しかもオブジェクト生成・削除に関しては例え
ばC++言語のオブジェクト生成・削除機能を拡張した
記述形式で仮想記憶空間にオブジェクト領域を確保・開
放できるようになる。このためデータベース内のオブジ
ェクト参照・更新は例えばC++プログラムで定義され
るオブジェクトと同じ記述形式で行うことができる。ま
たオブジェクト相互関係の定義・操作も例えばC++言
語と同じくポインタを利用して行うことが可能になる。
Further, since the user program is described in a programming language that can be described in the same description format as the description format of the definition and operation of objects in the database, as the object structure definition, for example, the class definition of C ++ language is described. For the object creation / deletion, the object area can be secured / released in the virtual memory space by using the description format as it is, and for the object creation / deletion, for example, a description format that extends the object creation / deletion function of C ++ language. Therefore, the object reference / update in the database can be performed in the same description format as the object defined by the C ++ program, for example. Further, it becomes possible to define and operate the interrelationship of objects by using a pointer as in the C ++ language.

【0022】[0022]

【実施例】以下に図面を参照して本発明によるデータベ
ース管理システムの一般的実施例に付いて説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A general embodiment of a database management system according to the present invention will be described below with reference to the drawings.

【0023】図1は本発明によるデータベース管理シス
テム2の実施例の全体構成を、ユーザプログラム1とデ
ータプログラム3との関係で示す。
FIG. 1 shows the overall configuration of an embodiment of a database management system 2 according to the present invention in terms of the relationship between a user program 1 and a data program 3.

【0024】データベース管理システム2への入力は、
ユーザプログラム1からのデータベース3に対する処理
開始要求10、オブジェクト作成要求11、オブジェク
ト参照要求12、オブジェクト更新要求13および処理
終了要求14である。データベース管理システム2の出
力はユーザプログラム1のそれぞれの要求に対応するデ
ータベース3に対する処理の実行と、その結果および実
行状態のユーザプログラム1への応答である。
Input to the database management system 2 is
A processing start request 10, an object creation request 11, an object reference request 12, an object update request 13, and a processing end request 14 from the user program 1 to the database 3. The output of the database management system 2 is execution of processing on the database 3 corresponding to each request of the user program 1 and a response to the user program 1 of the result and the execution state.

【0025】データベース管理システム2は、アクセス
管理部21、再配置管理部22、関係管理部23、バッ
ファ領域管理部24、バッファ領域25およびページ管
理情報26より構成される。
The database management system 2 comprises an access management unit 21, a rearrangement management unit 22, a relationship management unit 23, a buffer area management unit 24, a buffer area 25 and page management information 26.

【0026】データベース3は、データページ31、ペ
ージ管理情報32、再配置管理情報33で構成される。
データページ31はページ311とよばれる区画の集ま
りにより構成されており、データベース3のオブジェク
ト312はデータページ31に格納される。
The database 3 is composed of data pages 31, page management information 32, and rearrangement management information 33.
The data page 31 is composed of a collection of sections called pages 311 and the object 312 of the database 3 is stored in the data page 31.

【0027】データベース管理システム2のバッファ領
域25はページ領域251の集まりで構成される。ペー
ジ領域251内のオブジェクト領域252は、ユーザプ
ログラム1からのオブジェクト作成要求、オブジェクト
参照要求あるいはオブジェクト更新要求に対してデータ
ベース3から読み込まれたものである。
The buffer area 25 of the database management system 2 is composed of a collection of page areas 251. An object area 252 in the page area 251 is read from the database 3 in response to an object creation request, object reference request or object update request from the user program 1.

【0028】第2図はページ管理情報26、32のデー
タ構成を示したものである。ページ管理情報26、32
は、データページ31内の各ページ311とバッファ領
域25内のページ領域251との対応関係とメモリ保護
の管理情報を保持する。
FIG. 2 shows the data structure of the page management information 26, 32. Page management information 26, 32
Holds the correspondence relationship between each page 311 in the data page 31 and the page area 251 in the buffer area 25 and the management information for memory protection.

【0029】第3は再配置管理情報33のデータ構成を
示したものである。再配置管理情報33はポインタで関
係付けされたオブジェクトが前回のオブジェクト操作処
理時とは異なるアドレスのページ領域251に割り付け
られた時にオブジェクト領域252内のポインタの指す
アドレスが正しくなるように修正するためのものであ
る。このため図3に示すとおり再配置管理情報33は各
ページ内のポインタ自身の位置を示すアドレス情報とそ
のポインタの内容が指しているオブジェクトのデータベ
ース内の位置を示すアドレス情報を保持している。
Thirdly, the data structure of the rearrangement management information 33 is shown. The relocation management information 33 is used to correct the address pointed to by the pointer in the object area 252 when the object associated with the pointer is allocated to the page area 251 having an address different from that in the previous object operation processing. belongs to. Therefore, as shown in FIG. 3, the rearrangement management information 33 holds address information indicating the position of the pointer itself in each page and address information indicating the position in the database of the object pointed to by the content of the pointer.

【0030】次に、上述した一般的実施例の作用につい
て説明する。処理開始要求10では処理終了要求14ま
でのあいだに同時に行われるオブジェクト操作がデータ
ベース3の内容の参照だけであるか、更新を含むかが指
定される。処理開始要求10に対してバッファ領域管理
部24がデータベース管理システム2内のページ管理情
報26を初期化する。この時点ではバッファ領域25は
存在しない。個々のページに対応するページ管理情報は
当該ページの最初の作成、参照・更新時に、データベー
ス管理システム2のページ管理情報26の当該ページ部
分の作成またはデータベース3のページ管理情報32の
当該ページ部分から読み込みが行われる。
Next, the operation of the above-mentioned general embodiment will be described. The processing start request 10 specifies whether the object operation simultaneously performed up to the processing end request 14 is only the reference of the contents of the database 3 or the update is included. The buffer area management unit 24 initializes the page management information 26 in the database management system 2 in response to the processing start request 10. At this point, the buffer area 25 does not exist. The page management information corresponding to each page is created from the page part of the page management information 26 of the database 3 or the page part of the page management information 32 of the database 3 at the time of the first creation, reference and update of the page. Reading is done.

【0031】オブジェクト作成要求11に対してアクセ
ス管理部21はそのオブジェクトに必要なサイズのオブ
ジェクト領域252をバッファ領域25に作成する。バ
ッファ領域25にオブジェクト領域251を確保するだ
けの空き領域が無い場合にはアクセス管理部21はバッ
ファ領域管理部24を通してバッファ領域25を拡張し
新たなページ領域251を作成しそこにオブジェクト領
域252を確保し、ページ管理情報26をデータベース
3のページ管理情報32から読み込む。ページ管理情報
26のメモリ保護は処理開始要求10のデータベースの
参照あるいは更新の指定に従い設定される。
In response to the object creation request 11, the access management unit 21 creates an object area 252 of the size required for the object in the buffer area 25. If the buffer area 25 does not have a free area for securing the object area 251, the access management unit 21 extends the buffer area 25 through the buffer area management unit 24 to create a new page area 251, and an object area 252 is created therein. It secures and reads the page management information 26 from the page management information 32 of the database 3. The memory protection of the page management information 26 is set according to the database reference or update designation of the processing start request 10.

【0032】オブジェクト参照要求12あるいはオブジ
ェクト更新要求13に対して、アクセス管理部21が当
該オブジェクトがバッファ領域25に存在するか否かを
ページ管理情報26を用いて判定し当該オブジェクトが
存在しない場合、再配置管理部22で当該オブジェクト
含むページ311を読み込むためのページ領域251の
割り付け位置を決め、バッファ領域管理部24でページ
領域251の割り付けを行い、データベース3内の当該
オブジェクトを含むページ311を読み込む。この時ペ
ージ管理情報26に割り付けられたページに関する管理
情報をデータベース3内の当該ページ管理情報32から
読み込む。ページ管理情報26のメモリ保護は処理開始
要求10のデータベースの参照あるいは更新の指定に従
い設定される。
In response to the object reference request 12 or the object update request 13, the access management unit 21 determines using the page management information 26 whether or not the object exists in the buffer area 25, and if the object does not exist, The relocation management unit 22 determines the allocation position of the page area 251 for reading the page 311 containing the object, the buffer area management unit 24 allocates the page area 251, and reads the page 311 containing the object in the database 3. . At this time, the management information about the page assigned to the page management information 26 is read from the page management information 32 in the database 3. The memory protection of the page management information 26 is set according to the database reference or update designation of the processing start request 10.

【0033】バッファ領域25にデータベース3からペ
ージ311を読み込む時に、そのページの中に含まれる
ポインタの指すオブジェクトを含むページに対するペー
ジ領域251の割り付けを行っておく。この時再配置管
理情報33を利用しポインタの値を対応するオブジェク
ト領域252のアドレスとなるように書き換える。即ち
バッファ領域25内のポインタの指す先は必ずバッファ
領域25となるようにしておく。図5にこの様子を示
す。バッファ領域25内に読み込まれたページ(図のペ
ージA)は関係管理部23によその中に含まれる全ての
ポインタ(図のポインタb、c)に対してポインタの指
すオブジェクト(図のオブジェクトb、c)を含むペー
ジ(図のページB、C)をバッファ領域25内に割り付
けし、オブジェクトのメモリ空間上でアドレスを決定し
対応するポインタ(図のポインタb、c)の値をそのア
ドレスで書き換える。この時オブジェクトを読み込んだ
ページ領域(図のページA)およびそのページの中のポ
インタの指しているオブジェクトを含むページ領域(図
のページB、C)に対して処理開始要求10の指定に従
いメモリ保護を設定する。
When the page 311 is read from the database 3 into the buffer area 25, the page area 251 is allocated to the page including the object pointed by the pointer included in the page. At this time, the relocation management information 33 is used to rewrite the value of the pointer so that it becomes the address of the corresponding object area 252. That is, the destination pointed by the pointer in the buffer area 25 is always the buffer area 25. This is shown in FIG. The page (page A in the figure) read in the buffer area 25 is an object pointed to by all pointers (pointers b and c in the figure) included in the relationship management unit 23 (object b in the figure). , C) (pages B and C in the figure) are allocated in the buffer area 25, the address is determined in the memory space of the object, and the value of the corresponding pointer (pointers b and c in the figure) is assigned to that address. rewrite. At this time, memory protection is performed for the page area (page A in the figure) in which the object is read and the page area (pages B and C in the figure) including the object pointed to by the pointer in the page according to the designation of the processing start request 10. To set.

【0034】バッファ領域25内に目的のオブジェクト
が読み込まれた後あるいは既に読み込まれている場合で
メモリ保護に違反しない場合には、オブジェクトの参照
・更新はバッファ領域25内のオブジェクト領域252
に対して直接行われる。メモリ保護に違反したオブジェ
クトのアクセスが行なわれた場合にはアクセス管理部2
1においてデータベースの処理を終了させ、その旨ユー
ザプログラム1に通知する。
After the target object has been read into the buffer area 25 or has already been read, if the memory protection is not violated, the object reference / update is performed in the object area 252 in the buffer area 25.
Is done directly against. When an object that violates the memory protection is accessed, the access management unit 2
In step 1, the processing of the database is terminated, and the user program 1 is notified to that effect.

【0035】処理終了要求14に対してデータベース管
理システム2はその内容に変更のあったページ領域25
1をページ管理情報26のメモリ保護情報を参照しデー
タベース3の対応するページ311に書き込む。この時
各ページ領域251の中にあるポインタの位置とポイン
タ値の示すオブジェクトのデータベース3内の位置を計
算し図3に示した再配置管理情報33としてデータベー
ス3に書き込む。また変更の生じたページに対するペー
ジ管理情報26をデータベース3に書き出す。
In response to the processing end request 14, the database management system 2 changes the contents of the page area 25.
1 is written in the corresponding page 311 of the database 3 with reference to the memory protection information of the page management information 26. At this time, the position of the pointer in each page area 251 and the position of the object indicated by the pointer value in the database 3 are calculated and written in the database 3 as the relocation management information 33 shown in FIG. Also, the page management information 26 for the changed page is written in the database 3.

【0036】本実施例で想定している計算機システムの
メモリ管理機構は「メモリ領域の割付と解放の機能を持
つ」ことだけである。すなわち、前述したように、割り
付けたメモリ領域に対する「使用不可」、「参照の
み」、「書き込み可」のメモリ保護の設定ができる機能
や、設定したメモリ保護に違反したオブジェクトのアク
セスがあった場合、それを検出しデータベース管理シス
テムに通知し、データベース管理システムに実行制御を
移す機能を必要としていない。
The memory management mechanism of the computer system assumed in this embodiment is only to "have a function of allocating and releasing a memory area". That is, as described above, when there is a function that can set memory protection such as "unusable", "reference only", and "writable" for the allocated memory area, or when an object that violates the set memory protection is accessed. , It does not need the function to detect it, notify the database management system, and transfer the execution control to the database management system.

【0037】データベース管理システム2はこの計算機
システムのメモリ管理機構を利用し前記の通り再配置処
理と参照ページ割当などのバッファ領域25の管理をお
こなう。
The database management system 2 uses the memory management mechanism of this computer system to manage the buffer area 25 such as relocation processing and reference page allocation as described above.

【0038】データベース管理システム2における各部
の役割とそれらの行う処理は次に示すとおりである。
The roles of the respective parts in the database management system 2 and the processing performed by them are as follows.

【0039】アクセス管理部21 …ユーザプログラ
ム1の処理要求の解析とメモリ保護のチェックおよび要
求に応じた処理の振り分け 再配置管理部22 …ページ読み込み時の参照ペー
ジのバッファ億領域25への割り付けアドレスの決定 関係管理部23 …割り付けられた参照ページア
ドレスに対応した当該ページ内のポインタ値の修正、お
よびバッファ領域の変更ページ領域251をデータベー
ス3に書き出す時の再配置管理情報33の作成 バッファ領域管理部24…バッファ領域25内のページ
領域251の割り付けおよびデータベース3とのページ
転送 次に上述した一般的な実施例に対応する具体的実施例を
以下に説明する。本実施例は、複数のユーザプログラム
からの複数データベースの同時並行利用を可能としたデ
ータベース管理システムである。
Access management unit 21 ... Analysis of processing request of user program 1, checking of memory protection and distribution of processing according to request Relocation management unit 22 ... Allocation address of reference page at buffer reading area 25 when page is read Relationship management unit 23 ... Modification of pointer value in the page corresponding to assigned reference page address and change of buffer area Creation of relocation management information 33 when writing page area 251 to database 3 Buffer area management Part 24 ... Allocation of page area 251 in buffer area 25 and page transfer with database 3 Next, a specific embodiment corresponding to the above-described general embodiment will be described. The present embodiment is a database management system that enables simultaneous use of a plurality of databases from a plurality of user programs.

【0040】本実施例の全体構成を図6に示す。図6に
おいて実線で囲まれた範囲はデータベース管理システム
を構成するための処理モジュールあるいは情報を示す。
処理モジュールの中の記述はその処理概要を示してい
る。また点線で囲まれた範囲は図1におけるデータベー
ス管理システム2の構成との対応を示し、矢印は主な処
理の流れを示している。
The overall construction of this embodiment is shown in FIG. In FIG. 6, a range surrounded by a solid line indicates processing modules or information for configuring the database management system.
The description in the processing module shows the outline of the processing. The range surrounded by the dotted line shows the correspondence with the configuration of the database management system 2 in FIG. 1, and the arrows show the main processing flow.

【0041】本実施例では分散計算機システムにおいて
複雑ユーザプログラムから複雑データベースを同時並行
利用するためにクライアント/サーバ構成をとってい
る。このためデータベース管理システム2はクライアン
ト・プロセス5とサーバ・プロセス6に分割されて存在
する。また複数データベースを管理するためにそれぞれ
のデータベースに関する情報を保持するデータベースカ
タログ7を持つ。さらに本実施例ではデータベース3内
のオブジェクトのデータ構造に関する情報を保持するス
キーマもデータページ31内のオブジェクトとして管理
する方式とっている。
In this embodiment, a client / server configuration is adopted in the distributed computer system in order to concurrently use a complex database from a complex user program. Therefore, the database management system 2 is divided into the client process 5 and the server process 6 and exists. Further, in order to manage a plurality of databases, it has a database catalog 7 that holds information about each database. Further, in the present embodiment, the schema that holds information about the data structure of the objects in the database 3 is also managed as an object in the data page 31.

【0042】本実施例の構成では上述した一般的軸線で
提供される機能に対して、複数データベースを管理する
ためのデータベース管理ルーチン50、それを複数ユー
ザプログラムが同時に利用できる様にするためのトラン
ザクション管理ルーチン51、データベース3内のオブ
ジェクトのデータ構造に関する情報を管理するスキーマ
管理ルーチン52、目的に合致したオブジェクトを得る
ためのオブジェクト検索ルーチン54およびオブジェク
トアクセス管理ルーチン55が追加されている。オブジ
ェクトアクセス管理ルーチン55は、オブジェクト参照
・更新時に指定されたオブジェクトがバッファ領域25
にあるか否かをチェックし、なければバッファ管理ルー
チン58を利用して指定されたオブジェクトをバッファ
領域25に読み込んだ上でオブジェクトの参照・更新を
行う。
In the configuration of the present embodiment, with respect to the function provided by the general axis described above, a database management routine 50 for managing a plurality of databases, and a transaction for making it available to a plurality of user programs at the same time. A management routine 51, a schema management routine 52 that manages information about the data structure of objects in the database 3, an object search routine 54 for obtaining an object that matches the purpose, and an object access management routine 55 are added. In the object access management routine 55, the object designated at the time of object reference / update is the buffer area 25.
If there is not, the buffer management routine 58 is used to read the specified object into the buffer area 25, and then the object is referenced and updated.

【0043】これらの処理ルーチンは従来のデータベー
ス管理方式によって提供されるのと同等なデータベース
管理機能を実現するためのものである。また、本実施例
では、データベースシステムを実現するために、エラー
管理ルーチン56、通信管理ルーチン59、60、デー
タベースカタログ管理ルーチン61、物理データベース
管理ルーチン62をその構成に含んでいる。
These processing routines are for realizing a database management function equivalent to that provided by the conventional database management method. Further, in the present embodiment, in order to realize the database system, the error management routine 56, the communication management routines 59 and 60, the database catalog management routine 61, and the physical database management routine 62 are included in the configuration.

【0044】上述した一般的実施例のデータベースアク
セス部21は本実施例では、スキーマ管理ルーチン5
2、オブジェクト管理ルーチン53、オブジェクト検索
ルーチン54、オブジェクトアクセス処理ルーチン55
および物理レコード管理ルーチン56により構成され
る。また上述の一般的実施例の再配置管理部22、関係
管理部23、バッファ管理部24は本実施例ではバッフ
ァ管理ルーチン58として実現している。
The database access unit 21 of the above-described general embodiment is the schema management routine 5 in this embodiment.
2. Object management routine 53, object search routine 54, object access processing routine 55
And a physical record management routine 56. Further, the relocation management unit 22, the relationship management unit 23, and the buffer management unit 24 of the above-described general embodiment are realized as a buffer management routine 58 in this embodiment.

【0045】次に具体的実施例の作用について、図7を
参照して以下に説明する。ユーザプログラム1のデータ
ベース作成・削除要求に対してデータベース管理システ
ム2は新たなデータベース3の作成あるいは削除を行い
データベースカタログ7に登録あるいは抹消を行う。
Next, the operation of the specific embodiment will be described below with reference to FIG. In response to a database creation / deletion request of the user program 1, the database management system 2 creates or deletes a new database 3 and registers or deletes it in the database catalog 7.

【0046】データベース処理開始では指定されたデー
タベ々ス3からその中に保持しているのデータのデータ
構造定義情報をバッファ領域25に読み込む。
At the start of database processing, the data structure definition information of the data held in the specified database 3 is read into the buffer area 25.

【0047】スキーマ参照はそれ以降のオブジェクト操
作(作成・削除、検索)を行うオブフェクトの種類を決
める。スキーマ作成・削除は操作の対象となるオブジェ
クトに関する管理情報の作成・削除を行う。
The schema reference determines the type of object for performing subsequent object operations (creation / deletion, retrieval). Schema creation / deletion creates / deletes management information about the object to be operated.

【0048】トランザクション処理開始に関する本実施
例の作用は前述の一般的実施例の処理開始要求の作用に
同じである。
The operation of this embodiment regarding the start of transaction processing is the same as the operation of the processing start request in the above-mentioned general embodiment.

【0049】オブジェクト検索の指定に対してデータベ
ース管理システム2は指定されたオブフェクトの種類に
属するオブジェクトの中から指定された条件に合致する
オブジェクトを探しそのオブジェクト識別子(ポイン
タ)をユーザプログラム1に返す。
In response to the designation of the object search, the database management system 2 searches the objects belonging to the designated type of object for an object that matches the designated condition and returns the object identifier (pointer) to the user program 1.

【0050】オブジェクト作成・削除、オブジェクト参
照、オブジェクト更新に関する本実施例の作用は前述の
一般的実施例の作用に同じである。
The operation of this embodiment regarding object creation / deletion, object reference, and object update is the same as that of the general embodiment described above.

【0051】トランザクション処理終了に関する本実施
例の作用は前述の一般的実施例の処理終了の作用に同じ
である。
The operation of this embodiment regarding the end of transaction processing is the same as the operation of the end of processing of the general embodiment described above.

【0052】以上述べたように本実施例の構成によれ
ば、次に示す効果がある。ユーザプログラム1はオブジ
ェクト参照・更新をオブジェクト識別子を介してデータ
ベース管理システム2のバッファ領域25に対して行
う。このため従来の関係型データベース管理方式などで
必要とされていた個々のオブジェクト参照・操作毎にユ
ーザプログラム内のオブジェクトとバッファ領域内の間
のオブジェクトの移動、オブジェクト形式の確認・変換
などの処理は行われないため、従来の関係型データベー
ス管理方式より大幅に処理効率が向上する。また従来の
オブジェクト指向データベース管理システムに較べ、デ
ータベース管理システム2はオブジェクト参照・更新時
に指定されたオブジェクト識別子をもとにページ管理処
理を行うため処理効率が落ちるが、計算機システムに対
して特別なメモリ管理機能を要求しないため通常の計算
機システムでも本データベース管理方式を実現すること
ができる。
As described above, the structure of this embodiment has the following effects. The user program 1 refers to and updates the object in the buffer area 25 of the database management system 2 via the object identifier. Therefore, processing such as moving objects between the user program and the buffer area and checking / converting the object format for each individual object reference / operation required in the conventional relational database management method, etc. Since it is not performed, the processing efficiency is significantly improved over the conventional relational database management method. Further, compared with the conventional object-oriented database management system, the database management system 2 performs page management processing based on the object identifier specified at the time of object reference / update, but the processing efficiency drops, but a special memory for the computer system is used. Since no management function is required, this database management method can be realized even with a normal computer system.

【0053】次に、本発明の他の一般的実施例について
説明する。本実施例のデータベース利用方法は、図4に
示すとおりデータベース管理システム2のバッファ領域
25をユーザプログラム1のプログラムデータ領域41
と同様に利用させるものである。本実施例では関係型デ
ータベースの有しているオブジェクト値による操作以外
に、オブジェクト識別子を利用したオブジェクト操作お
よびオブジェクト相互関係の表現および操作を行う機能
を提供する。本実施例ではオブジェクトのアドレスを示
すポインタをオブジェクト識別子として用いる。
Next, another general embodiment of the present invention will be described. As shown in FIG. 4, the database use method of this embodiment uses the buffer area 25 of the database management system 2 as the program data area 41 of the user program 1.
It is used similarly to. In the present embodiment, in addition to the operation based on the object value held by the relational database, the object operation using the object identifier and the function of expressing and operating the interrelationship of the object are provided. In this embodiment, a pointer indicating the address of the object is used as the object identifier.

【0054】本実施例の提供するデータベース操作機能
は以下に示すとおりである。 (1) 処理開始 (2) オブジェクト作成・削除 (3) オブジェクト参照 (4) オブジェクト更新 (5) 処理終了 これらの操作機能のなかで(1)、(2)、(5)はユ
ーザプログラム1からデータベース管理システム2の当
該処理手続きを呼び出して行う。(3)、(4)の機能
についてはユーザプログラム1はデータベース管理シス
テム2に対してオブジェクト識別子(ポインタ)により
当該オブジェクトを指定して参照・更新要求を行う。当
該オブジェクトはプログラムデータ領域41内のオブジ
ェクトと同様に計算機システムの命令語により直接参照
・更新が行われる。
The database operation function provided by this embodiment is as follows. (1) Process start (2) Object creation / deletion (3) Object reference (4) Object update (5) Process end Among these operation functions, (1), (2), and (5) are from the user program 1. This is performed by calling the processing procedure of the database management system 2. With regard to the functions (3) and (4), the user program 1 makes a reference / update request to the database management system 2 by designating the object with an object identifier (pointer). Similar to the object in the program data area 41, the object is directly referenced / updated by the command word of the computer system.

【0055】次に、上述した他の一般的実施例の作用に
ついて説明する。データベース3に対する一連の処理の
始めには、ユーザプログラム1はデータベース管理シス
テム2に対して処理開始要求10を指定する。処理開始
要求10では同時に処理終了要求14までのあいだに行
われるオブジェクト操作がデータベースの内容の参照だ
けであるか、更新を含むかが指定される。データベース
管理システム2はページ管理情報26とバッファ領域2
5の初期化を行いその結果情報をユーザプログラム1に
返す。
Next, the operation of the other general embodiment described above will be described. At the beginning of a series of processes for the database 3, the user program 1 specifies a process start request 10 to the database management system 2. In the processing start request 10, at the same time, it is designated whether the object operation performed up to the processing end request 14 is only to refer to the contents of the database or to include the update. The database management system 2 uses the page management information 26 and the buffer area 2
5 is initialized and the result information is returned to the user program 1.

【0056】オブジェクト作成要求11に対しては、ユ
ーザプログラム1は、データベース管理システム2に対
してオブジェクト作成の指示と供にオブジェクトの種類
を示す情報を渡す。データベース管理システム2はバッ
ファ領域25にオブジェクト領域252を確保しそのポ
インタをオブジェクト識別子として要求したユーザプロ
グラム1に返す。
In response to the object creation request 11, the user program 1 passes to the database management system 2 information indicating the type of object together with an object creation instruction. The database management system 2 secures the object area 252 in the buffer area 25 and returns the pointer as an object identifier to the requesting user program 1.

【0057】オブジェクト参照要求12あるいは更新要
求13はオブジェクト識別子(すなわち操作対象オブジ
ェクトへのポインタ)を指定する形で行う。それがペー
ジ内の最初のオブジェクト参照あるいはオブジェクト更
新である場合には請求項1に示したとおりデータベース
管理システム2は、指定されたオブジェクト識別子(ポ
インタ)をもとに該当するオブジェクトをデータベース
3よりバッファ領域25内のページ領域251に読み込
み当該オブジェクトの参照・更新をおこなう。この時当
該オブジェクトの中に他のオブジェクトを指し示すオブ
ジェクト識別子(ポインタ)を含む場合には請求項1に
示したようにポインタの指すオブジェクトをデータベー
ス管理システム2が自動的にバッファ領域25に読み込
みポインタの値を調整しそれ以降のポインタを介したオ
ブジェクトのアクセスが正しく行える様にする。
The object reference request 12 or the update request 13 is performed by designating an object identifier (that is, a pointer to the operation target object). When it is the first object reference or object update in the page, the database management system 2 buffers the corresponding object from the database 3 based on the designated object identifier (pointer) as described in claim 1. The page area 251 in the area 25 is read, and the object is referenced and updated. At this time, if the object includes an object identifier (pointer) that points to another object, the database management system 2 automatically reads the object pointed to by the pointer into the buffer area 25 as shown in claim 1. Adjust the value so that you can access the object correctly via the pointer after that.

【0058】一連のデータベース操作後にユーザプログ
ラム1より処理終了要求14の指定を行う。これにより
データベース管理システム2はバッファ領域25に作成
・更新されたオブジェクトを含むページ領域251をデ
ータベース3の当該ページ311に書き出した、その処
理結果の情報がユーザプログラム1に返される。
After a series of database operations, the user program 1 specifies the processing end request 14. As a result, the database management system 2 writes the page area 251 including the object created / updated in the buffer area 25 to the page 311 of the database 3, and the information of the processing result is returned to the user program 1.

【0059】次に、上述した他の一般的実施例に対応す
る他の具体的実施例について説明する。本実施例のデー
タベース利用方法は図4に示す構成を用い、図4に示し
たデータページ31のバッファ領域25としてデータベ
ース管理システムの管理する記憶空間を割り当てユーザ
プログラム1のプログラムオブジェクト領域41の記憶
域の一種として利用させるものである。
Next, another concrete embodiment corresponding to the above-mentioned other general embodiment will be described. The database use method of this embodiment uses the configuration shown in FIG. 4, and allocates the storage space managed by the database management system as the buffer area 25 of the data page 31 shown in FIG. 4 and the storage area of the program object area 41 of the user program 1. Is used as a kind of.

【0060】本実施例ではデータベース操作言語の親言
語としてC++言語を用いる。すなわちオブジェクト構
造定義はC++言語のクラス定義文を用いて行う。本実
施例の提供するデータベース定義および操作機能は図7
に示すとおりであり、これらは図7に示すとおりC++
言語の拡張機能とデータベース管理システム2が用意し
た既定義クラスを用いた利用方法を提供する。本実施例
ではオブジェクトのアドイレスを示すポインタをオブジ
ェクト識別子として用いるが、これは本実施例ではC+
+のポインタに該当する。
In this embodiment, the C ++ language is used as the parent language of the database operating language. That is, the object structure definition is performed using the class definition statement of the C ++ language. The database definition and operation function provided by this embodiment are shown in FIG.
, And these are C ++ as shown in FIG. 7.
It provides a language extension function and a usage method using a predefined class prepared by the database management system 2. In this embodiment, a pointer indicating the object address is used as the object identifier, which is C + in this embodiment.
Corresponds to the + pointer.

【0061】これらのデータベース定義および操作の指
示は以下の順序で行う。但し一旦データベースおよびス
キーマを作成した後は3から8の指定のみを行う。 1.データベース作成 2.スキーマ作成 3.データベース処理開始 4.トランザクション開始処理 5.スキーマ参照 6.オブジェクト操作(オブジェクト作成・削除/検索
/参照・更新) 7.トランザクション処理終了または処理廃棄 8.データベース処理終了 次に、上述した他の具体的実施例の作用について図7を
参照して以下に説明する。
These database definitions and operation instructions are given in the following order. However, once the database and schema are created, only 3 to 8 are specified. 1. Database creation 2. Schema creation 3. Start database processing 4. Transaction start processing 5. Schema reference 6. Object operation (object creation / deletion / search / reference / update) 7. Transaction processing end or processing discard 8. End of Database Processing Next, the operation of the other specific embodiment described above will be described below with reference to FIG.

【0062】データ構造定義はC++言語のクラス定義
を用いて行う。データ構造の定義だけでなく構成子、消
滅子およびオブジェクト操作関数についても定義可能で
ある。
The data structure definition is performed using the class definition of the C ++ language. Not only the definition of the data structure but also the constructor, the extinct child and the object operation function can be defined.

【0063】データベース生成はデータベースを新しく
作成し初期化するものである。またデータベース消去は
既存のデータベースを削減するものである。
Database generation is to newly create and initialize a database. Database erasure also reduces the existing database.

【0064】データベース処理開始は指定されたデータ
ベースに対してそれ以降のスキーマ参照、トランザクシ
ョン処理およびオブジェクト操作を行えるようにするも
のである。データベース処理終了はデータベースの処理
を終了する。
The start of database processing enables subsequent schema reference, transaction processing, and object operation for the designated database. The end of database processing ends the processing of the database.

【0065】トランザクション処理は複数のユーザプロ
グラム1が並行して同時にオブジェクト操作を行うこと
を可能にするためのものである。トランズアクション処
理開始においてはトランザクション処理終了までにおけ
るオブジェクト操作の排他情報として“参照”または
“更新”を指定する。トランザクション処理開始からト
ランザクション処理終了の間に行われたオブジェクト操
作に関してオブジェクト操作に関する排他処理を行い、
その間に行われたオブジェクト作成およびオブジェクト
更新をトランザクション処理終了時に一括してデータベ
ース3に反映させる。トランザクション処理開始からト
ランザクション処理廃棄の間に行われたオブジェクト操
作に関する排他処理を行い、その間に行われたオブジェ
クト作成およびオブジェクト更新をトランザクション処
理廃棄時に一括して廃棄しデータベース3には反映させ
ない。
The transaction processing is for enabling a plurality of user programs 1 to operate objects concurrently in parallel. At the start of the transaction process, "reference" or "update" is specified as exclusive information of the object operation until the end of the transaction process. Performs exclusive processing related to object operations regarding object operations performed from the start of transaction processing to the end of transaction processing,
Object creation and object update performed during that time are collectively reflected in the database 3 at the end of the transaction processing. Exclusive processing relating to object operations performed from the start of transaction processing to the discard of transaction processing is performed, and the object creation and object update performed during that time are collectively discarded at the time of transaction processing discard and are not reflected in the database 3.

【0066】スキーマ作成はデータベース3で使用する
オブジェクトのデータ構造定義情報をデータベース3内
に作成保持する。オブジェクト構造的は図7のスキーマ
作成の記述例に示すように引き数に指定されたクラス定
義ファイルにC++言語のクラス定義文で記述してお
く。スーキマ削除はデータベース内に定義されたデータ
構造定義情報をクラス名を指定して削除するものであ
る。スキーマ参照はそれ以降のオブジェクト操作のため
にデータ構造定義情報へのポインタであるタイプポイン
タがユーザプログラム1に返される。
In the schema creation, the data structure definition information of the objects used in the database 3 is created and held in the database 3. The object structure is described in the C ++ language class definition statement in the class definition file specified in the argument as shown in the description example of the schema creation in FIG. Sukima deletion is to delete the data structure definition information defined in the database by specifying the class name. For the schema reference, a type pointer which is a pointer to data structure definition information is returned to the user program 1 for subsequent object operations.

【0067】オブジェクト作成に関してはタイプポイン
タをnew演算子の引き数とすることで該当するデータ
構造を持つオブジェクトをバッファ領域25に作成す
る。作成されたオブジェクトのポインタ(オブジェクト
識別子)がユーザプログラムに返される。図7のオブジ
ェクト作成の記述例に示すようにこの時データ構造定義
で構成子を定義しておきそれをnew演算子の後に記述
すればオブジェクトの初期化も同時に行える。バッファ
領域25に作成されたオブジェクトはトランザクション
処理終了時にデータベース3に書き込まれる。オブジェ
クト削除に関してはバッファ領域25内の当該オブジェ
クトが削除されたトランザクション終了時にデータベー
ス3に反映される。
Regarding object creation, an object having a corresponding data structure is created in the buffer area 25 by using the type pointer as an argument of the new operator. The pointer (object identifier) of the created object is returned to the user program. As shown in the description example of object creation in FIG. 7, at this time, if a constructor is defined in the data structure definition and is described after the new operator, the object can be initialized at the same time. The object created in the buffer area 25 is written in the database 3 at the end of the transaction processing. Regarding object deletion, it is reflected in the database 3 at the end of the transaction in which the object in the buffer area 25 is deleted.

【0068】オブジェクト検索は検索条件を指定して該
当するオブジェクトをデータベースの中より捜すもので
ある。検索されたオブジェクトのバッファ領域25内の
オブジェクト領域252のポインタ(オブジェクト識別
子)がユーザプログラム1に返される。図7のオブジェ
クト検索の記述例は「配偶者の名前がSAZAEである
人」をpersonの中から探す例である。
The object search is to search a corresponding object in the database by designating a search condition. The pointer (object identifier) of the object area 252 in the buffer area 25 of the retrieved object is returned to the user program 1. The description example of the object search of FIG. 7 is an example of searching for “person whose spouse's name is SAZAE” from the person.

【0069】オブジェクト参照およびオブジェクト更新
は当該オブジェクトのポインタ(オブジェクト識別子)
を“−>”演算子により指定してバッファ領域25内の
オブジェクトの参照および更新を行う。“−>”演算子
の処理においてデータベース管理システムは当該オブジ
ェクトのポインタがデータベースのオブジェクトである
か(すなわちバッファ領域25のオブジェクト領域25
2を示すか)否かを判定し、データベースのオブジェク
トであれば上述の他の一般的実施例に示す処理を行い、
データベースのオブジェクトでなければプログラムデー
タ領域41のプログラムオブジェクトとして処理する。
図7の記述に示したようにポインタによる多重修飾も可
能である。該当するデータベースのオブジェクトがバッ
ファ領域25に無いときにはデータベース3から読み込
まれ、ポインタ多重修飾の場合にはポインタの指してい
る先のオブジェクトが順次データベース3からバッファ
領域25に読み込まれた後オブジェクト参照および更新
が行われる。オブジェクト更新結果はトランザクション
処理終了によるデータベース3に書き込まれる。
Object reference and object update are pointers (object identifiers) of the object
Is specified by the "->" operator to refer to and update the object in the buffer area 25. In the processing of the "->" operator, the database management system determines whether the pointer of the object is a database object (that is, the object area 25 of the buffer area 25).
2) or not, and if it is a database object, the processing shown in the other general embodiment described above is performed.
If it is not a database object, it is processed as a program object in the program data area 41.
As shown in the description of FIG. 7, multiple modification by a pointer is also possible. When the corresponding database object is not in the buffer area 25, it is read from the database 3, and in the case of pointer multiple modification, the object pointed to by the pointer is sequentially read from the database 3 into the buffer area 25, and then object reference and update are performed. Is done. The object update result is written in the database 3 upon completion of the transaction processing.

【0070】上述した本実施例の構成によれば、仮想記
憶などの特別なメモリ管理機構を持たない計算機システ
ムにおいてもそれらを利用したオブジェクト指向データ
ベースと同等の利用方法の提供が可能となる。
According to the configuration of this embodiment described above, even in a computer system that does not have a special memory management mechanism such as virtual memory, it is possible to provide a usage method equivalent to an object-oriented database using them.

【0071】すなわち本実施例によれば、データ構造定
義としてC++言語のクラス定義の記述形式をそのまま
利用し、しかもオブジェクト生成・削除に関してはC+
+言語のオブジェクト生成・削除機能を拡張した記述形
式でバッファ領域25にオブジェクト領域252を確保
・開放できるようになる。このためデータベース3内の
オブジェクト参照・更新はC++プログラムで定義され
るオブジェクトと同じ記述形式で行うことができる。ま
たオブジェクト相互関係の定義・操作もC++言語と同
じくポインタを利用して行うことができる。これらの結
果、本実施例によれば以下の効果がある。 1.データベースの操作性の向上 −複雑なデータ構造の定義と操作 −ポインタによる複雑なオブジェクト相互の関係の表現 2.オブジェクト作成・削除、検索以外はデータベース
のオブジェクトであることを意識せず、プログラム内で
定義されたオブジェクトと同様に扱う事が可能 3.特別なデータベース言語を必要としない 4.既存プログラムからのデータベースを利用したプロ
グラムへの移行が容易
That is, according to this embodiment, the description format of the class definition of the C ++ language is used as it is as the data structure definition, and C ++ is used for the object creation / deletion.
The object area 252 can be secured / released in the buffer area 25 in the description format in which the object creation / deletion function of + language is expanded. Therefore, the object reference / update in the database 3 can be performed in the same description format as the object defined by the C ++ program. Also, the definition and operation of the mutual relation of objects can be performed using the pointers as in the C ++ language. As a result, according to this embodiment, the following effects can be obtained. 1. Improvement of operability of database-Definition and operation of complex data structure-Representation of relationship between complex objects by pointers 2. Other than object creation / deletion and retrieval, it is possible to handle objects as defined in the program without being aware that they are database objects. No special database language required 4. Easy migration from existing programs to programs using databases

【0072】[0072]

【発明の効果】以上説明したように、本発明の構成によ
れば、特別のメモリ管理機構を持たない計算機システム
においても、すなわち、 1. メモリ領域の割付と解放の機能 2. 割り付けたメモリ領域に対する「使用不可」、
「参照のみ」、「書き込み可」のメモリ保護の設定がで
きる機能 3. 設定したメモリ保護に違反したオブジェクトのア
クセスがあった場合、それを検出しデータベース管理シ
ステムに通知し、データベース管理システムに実行制御
を移す機能、 のうちメモリ領域の割付と解放の機能のみを有する計算
機システムを用いた場合においても、ユーザが既存プロ
グラミング言語のデータ定義・操作機能の拡張としてデ
ータベースのオブジェクト定義・操作が記述可能とな
り、従来データベースに内以下の機能、 1.プログラミング言語と同等の複雑なデータ定義機能 2.プログラミング言語と同等の複雑なオブジェクトの
相互関係の定義機能 3.プログラミング言語と同等のオブジェクト参照・操
作の記述機能 4.データベース操作とプログラム処理の融合 5.1,2,3,4の機能を効率良く実現するためのデ
ータベース管理方式 を提供することができる。
As described above, according to the configuration of the present invention, even in a computer system having no special memory management mechanism, that is, Memory area allocation and release functions 2. "Unavailable" for the allocated memory area,
Function that can set memory protection of "reference only" and "writable" When an object that violates the set memory protection is accessed, it is detected and notified to the database management system, and the execution control is transferred to the database management system. Even when the system is used, the user can describe the object definition / operation of the database as an extension of the data definition / operation function of the existing programming language. Complex data definition function equivalent to programming language 2. Definition function of interrelationship between complex objects equivalent to programming languages. 3. Object reference / operation description function equivalent to a programming language 4. Fusion of database operation and program processing It is possible to provide a database management method for efficiently realizing the functions of 5.1, 2, 3, and 4.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明のデータベース管理システムの全体構成
をユーザプログラム1とデータプログラム3との関係を
示す図。
FIG. 1 is a diagram showing the overall configuration of a database management system of the present invention showing the relationship between a user program 1 and a data program 3.

【図2】ページ管理情報の内容の例を示す図。FIG. 2 is a diagram showing an example of contents of page management information.

【図3】再配置管理情報の内容の例を示す図。FIG. 3 is a diagram showing an example of contents of relocation management information.

【図4】データベース利用方法を示す構成図。FIG. 4 is a configuration diagram showing a database usage method.

【図5】オブジェクト再配置および関係管理の説明図。FIG. 5 is an explanatory diagram of object relocation and relationship management.

【図6】具体的実施例の全体構成を示す図。FIG. 6 is a diagram showing an overall configuration of a specific example.

【符号の説明】[Explanation of symbols]

1 ユーザプログラム 2 データベース管理システム 3 データベース 5 クライアント・プロセス 6 サーバ・プロセス 7 データベース・カタログ 10 処理開始要求 11 オブジェクト作成・削除要求 12 オブジェクト参照要求 13 オブジェクト更新要求 14 処理終了要求 21 アクセス管理部 22 再配置管理部 23 関係管理部 24 バッファ領域管理部 25 バッファ領域 251 ページ領域 252 オブジェクト領域 26 ページ管理情報 31 データベース 311 ページ 312 オブジェクト 32 ページ管理情報 33 再配置管理情報 40 プログラム命令部 41 プログラムデータ領域 50 データベース管理ルーチン 51 トランザクション管理ルーチン 52 スキーマ管理ルーチン 53 オブジェクト管理ルーチン 54 オブジェクト検索ルーチン 55 オブジェクトアクセス管理ルーチン 56 エラー管理ルーチン 57 物理レコード管理ルーチン 58 バッファ管理ルーチン 59 クライアント側通信管理ルーチン 60 サーバ側通信管理ルーチン 61 データベースカタログ管理ルーチン 62 物理データベース管理ルーチン 1 User Program 2 Database Management System 3 Database 5 Client Process 6 Server Process 7 Database Catalog 10 Processing Start Request 11 Object Creation / Deletion Request 12 Object Reference Request 13 Object Update Request 14 Processing End Request 21 Access Control 22 Relocation Management section 23 Relationship management section 24 Buffer area management section 25 Buffer area 251 Page area 252 Object area 26 Page management information 31 Database 311 page 312 Object 32 Page management information 33 Relocation management information 40 Program command section 41 Program data area 50 Database management Routine 51 Transaction management routine 52 Schema management routine 53 Object management routine 54 Object Search routine 55 Object access management routine 56 Error management routine 57 Physical record management routine 58 Buffer management routine 59 Client side communication management routine 60 Server side communication management routine 61 Database catalog management routine 62 Physical database management routine

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】構造化されたオブジェクトおよびこれらの
オブジェクト間の相互関係の情報を含むデータベースを
管理するデータベース管理システムにおいて、 前記データベースのページ情報を記憶するページ領域と
前記データベースのオブジェクトを記憶するオブジェク
ト領域とを有し、前記データベースの情報を記憶するた
めのバッファ領域と、 ユーザプログラムの指示を受け、前記オブジェクト領域
にあるオブジェクトを参照・更新できるようにするアク
セス管理部と、 前記アクセス管理部による指示を受け、前記データベー
スのオブジェクトを前記ページ領域を介して前記オブジ
ェクト領域へ割り付けるバッファ領域管理部と、 着目するオブジェクトが格納されているページについ
て、前記データベースにおけるページ情報と前記オブジ
ェクト領域におけるページ情報との関係を管理するペー
ジ情報管理部と、を備え、 前記アクセス管理部は、前記ページ情報管理部が管理す
るページ情報を参照してユーザプログラムの求めるオブ
ジェクトが前記オブジェクト領域にあるか否かを判断
し、前記オブジェクト領域にある場合には前記オブジェ
クト領域にあるそのオブジェクトを参照することを前記
バッファ領域管理部に指示し、前記オブジェクト領域に
ない場合には前記データベースからそのオブジェクトを
前記ページ領域へ割り付けることを前記バッファ領域管
理部に指示するオブジェクトアクセス管理ルーチン部、
を有する、ことを特徴とするデータベース管理システ
ム。
1. A database management system for managing a database including structured objects and information on mutual relationships between these objects, comprising: a page area for storing page information of the database and an object for storing objects of the database. A buffer area for storing information of the database, an access management section for receiving an instruction from a user program and referring to / updating an object in the object area, and the access management section In response to the instruction, a buffer area management unit that allocates an object of the database to the object area via the page area, and page information in the database and the page information of the page in which the object of interest is stored. A page information management unit that manages a relationship with page information in the object area, the access management unit refers to page information managed by the page information management unit, and an object requested by a user program is stored in the object area. The buffer area management unit is instructed to refer to the object in the object area when it is in the object area, and when it is not in the object area, the object is determined from the database. An object access management routine unit for instructing the buffer region management unit to allocate
A database management system comprising:
【請求項2】前記バッファ領域管理部は、接続される計
算機システムのメモリ管理機能を利用したバッファ領域
管理部を介して前記バッファ領域を管理し、前記データ
ベースのオブジェクトを前記ページ領域を介して前記オ
ブジェクト領域へ割り付けることを特徴とする請求項1
に記載のデータベース管理システム。
2. The buffer area management unit manages the buffer area via a buffer area management unit that utilizes a memory management function of a connected computer system, and stores the objects of the database via the page area. The object area is allocated to the object area.
Database management system described in.
【請求項3】前記バッファ領域管理部が前記データベー
スの同一のオブジェクトを前記バッファ領域の異なるペ
ージ領域へ割り付けできるようにするオブジェクト再配
置部を備えることを特徴とする請求項1に記載のデータ
ベース管理システム。
3. The database management according to claim 1, wherein the buffer area management section includes an object relocation section that enables the same object of the database to be allocated to different page areas of the buffer area. system.
【請求項4】異なる前記ページ領域に割り付けられたオ
ブジェクトの間の関係を管理する関係管理部を備えるこ
とを特徴とする請求項1に記載のデータベース管理シス
テム。
4. The database management system according to claim 1, further comprising a relationship management unit that manages a relationship between objects allocated to different page areas.
【請求項5】前記ユーザプログラムは、前記データベー
ス内のオブジェクトに関するオブジェクトの定義および
操作の記述形式と同じ記述形式で記述可能なプログラミ
ング言語で記述されていることを特徴とする請求項1に
記載のデータベース管理システム。
5. The user program according to claim 1, wherein the user program is written in a programming language that can be written in the same description format as the description format of the definition and operation of the object regarding the object in the database. Database management system.
【請求項6】前記プログラミング言語はC++言語であ
ることを特徴とする請求項5に記載のデータベース管理
システム。
6. The database management system according to claim 5, wherein the programming language is a C ++ language.
JP6166645A 1994-07-19 1994-07-19 Data base management system Withdrawn JPH0830501A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6166645A JPH0830501A (en) 1994-07-19 1994-07-19 Data base management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6166645A JPH0830501A (en) 1994-07-19 1994-07-19 Data base management system

Publications (1)

Publication Number Publication Date
JPH0830501A true JPH0830501A (en) 1996-02-02

Family

ID=15835115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6166645A Withdrawn JPH0830501A (en) 1994-07-19 1994-07-19 Data base management system

Country Status (1)

Country Link
JP (1) JPH0830501A (en)

Similar Documents

Publication Publication Date Title
US6035303A (en) Object management system for digital libraries
JP3848085B2 (en) High-speed storage resident processing method and processing system for transaction data
JP3041528B2 (en) File system module
JP3526595B2 (en) Information management mechanism
US7685127B2 (en) Database access system, method of accessing a database, and method of designing a database access system
JP2001527243A (en) Method and apparatus for generating an index in a relational database corresponding to a class in an object-oriented application
JP2644728B2 (en) Data dictionary directory system
JP4039800B2 (en) Data management method, object integrated management system
JP2012174096A (en) Computer system and data management method
JPH0358249A (en) Access method of file
JP2006031608A (en) Computer, storage system, file management method which computer performs, and program
JPH0317753A (en) File access system
JPH0830501A (en) Data base management system
JP3289054B2 (en) File validity period management method and data processing device
JPH07248955A (en) Data base management system
JP3590211B2 (en) Database management method
JP4180247B2 (en) Apparatus and method for switching object management method
JPH11161537A (en) Object oriented database and storage medium
JPH041836A (en) Data base controller
JPH09167167A (en) Object retrieval method in object directing database
JPH0816369A (en) Method and system for clustering
JPS6058492B2 (en) Database search method
JPH0785079A (en) Device for managing information file
JPH0540680A (en) File hierarchy managing system
JPH03161864A (en) Document control processing system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20011002