JPH0798671A - データベース - Google Patents

データベース

Info

Publication number
JPH0798671A
JPH0798671A JP5241871A JP24187193A JPH0798671A JP H0798671 A JPH0798671 A JP H0798671A JP 5241871 A JP5241871 A JP 5241871A JP 24187193 A JP24187193 A JP 24187193A JP H0798671 A JPH0798671 A JP H0798671A
Authority
JP
Japan
Prior art keywords
instance
class
identifier
property
definition information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5241871A
Other languages
English (en)
Inventor
Okosu Eda
起 江田
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Chubu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Software Chubu Ltd filed Critical NEC Software Chubu Ltd
Priority to JP5241871A priority Critical patent/JPH0798671A/ja
Publication of JPH0798671A publication Critical patent/JPH0798671A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】リレーショナル型データベースでは、利用者プ
ログラムによってテーブル間のデータの一貫性を保つた
めの処理を行わせるのは難しいので、より高水準なデー
タモデルを提供して、テーブル間のデータの一貫性をデ
ータベース管理プログラムに行わせる。 【構成】クラスと称するテーブルのクラス識別子を発生
するクラス生成数カウンタ11と、プロパティと称する
属性のプロパティ識別子を発生するプロパティ生成数カ
ウンタ12と、クラスとクラスとの主従関係を表すパス
のパス識別子を発生するパス生成数カウンタ13と、ク
ラスの定義情報を保持するクラス定義情報格納クラス1
4と、プロパティの定義情報を保持するプロパティ定義
情報格納クラス15と、パスの定義情報を保持するパス
定義情報格納クラス16を持つ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータベース、特にリレ
ーショナル型のデータベースに関する。
【0002】
【従来の技術】現在、事務処理や設計・生産の分野で
は、リレーショナル型データベースが多く用いられてい
る。リレーショナル型データベースでは、データはすべ
てテーブルで表現されており、テーブルを構成する各タ
プルの値を使用して、レコードの宣言的な操作が可能で
ある。また、テーブルとテーブルとの間の関係は、異な
る複数のテーブルの特定のタプルの値が同一であると
き、これを結合して見せることによって示される。ま
た、データの一貫性制約は同一テーブル内でのみ設定可
能で、あるタプルの値の重複の禁止、タプルの値が空で
あることの禁止などがある。リレーショナル型データベ
ースを利用者システムに適用する場合、当然のことなが
ら、リレーショナル型データベースが提供する機能以外
の部分は利用者プログラムとして作成しなければならな
い。したがって、テーブルとテーブルとを関係づけるタ
ブルの値の更新処理、別のテーブルのレコードから参照
されているレコードの削除処理など、複数のテーブルの
間でデータの一貫性を保証するための処理は、すべて利
用者プログラムに実装される。
【0003】
【発明が解決しようとする課題】データベースの中で、
互いに関連するテーブルがあまり多くない場合は、上述
した複数のテーブルにまたがる処理を利用者プログラム
で作成することはあまり困難ではないが、実際の業務で
使用されるデータベースでは、複数のテーブルのデータ
が複雑に関連していることが多く、業務をモデル化する
ための利用者プログラムは複雑なものとなる。このた
め、リレーショナル型データベースを使用したシステム
において、利用者プログラムの複雑さを回避するため
に、テーブルによるモデル化が不完全であったり、利用
者プログラムが提供する操作が煩雑になったりするとい
う状況が発生することがあるという問題点を有する。
【0004】
【課題を解決するための手段】このように利用者プログ
ラムでテーブル同士の関連を考慮する必要があるのは、
リレーショナル型データベースの提供するデータモデル
が、テーブルというシンプルな枠組みだけであり、タプ
ルの値によってのみテーブル同士の関連を表していると
いう点に起因する。そこで、本発明は同一形式のレコー
ドを格納ためのテーブル(以下クラスという)と、クラ
スの識別子の組によってクラスとクラスとの間の主従関
係を表すパス手段と、クラスの中のレコード(以下イン
スタンスという)を一意に識別するための値を保持する
インスタンス識別子を保持するための上位インスタンス
識別子と、処理の中心となるクラスおよび処理対象とす
るインスタンスを指定するための手段と、クラスの中に
インスタンスを生成する際に、外部から入力されたデー
タに加えて、そのインスタンスのインスタンス識別子の
値を生成して、インスタンスの属性(以下プロパティと
いう)のひとつとして保持する手段と、インスタンスを
削除する際に、そのインスタンスに従属する別のクラス
のインスタンスを同時に削除する手段と、インスタンス
を検索する際に、そのインスタンスに従属、あるいは被
従属する別のクラスのインスタンスの情報を結合して取
出す手段を備えることにより構成される。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。
【0006】この実施例で使用する記憶装置は、リレー
ショナル型データベースと同等の機能を備えるものとす
る。また外部との情報の入出力は、全二重の通信路を使
用して行う。
【0007】図1は本発明の一実施例の初期状態を示す
図である。データベースの初期状態では、クラス生成数
カウンタ11、プロパティ生成数カウンタ12、パス生
成カウンタ13、クラス定義情報格納クラス14、プロ
パティ定義情報格納クラス15、パス定義情報格納クラ
ス16が存在する。そして、クラス生成数カウンタ1
1、プロバンティ生成数カウンタ12、パス生成数カウ
ンタ13にはそれぞれ0が設定されている。クラス定義
情報格納クラス14は、プロパティとしてクラス識別
子、クラス名、インスタンス生成数を持つ。プロパティ
定義情報格納クラス15は、プロパティとしてプロパテ
ィ識別子、クラス識別子、プロパティ名、データ型、デ
ータ長を持つ。パス定義情報格納クラス16は、プロパ
ティとしてパス識別子、上位クラス識別子、下位クラス
識別子を持つ。
【0008】まず、データベースを利用者システムで使
用できる状態にするために、データベースの構造を定義
する。データベースの構造の定義は、クラスの定義、プ
ロパディの定義、パスの定義からなる。
【0009】図2はクラスを定義する場合の処理を説明
するための図で、二つのクラスが定義された後のデータ
ベースの状態を示す。 (1)通信路から生成するクラスに付加する名前を受取
る。 (2)通信路から受取った名前でテーブルを生成する。
このときテーブルの中に、インスタンス識別子、上位イ
ンスタンス識別子を格納するためのタプルも同時に生成
する。 (3)クラス生成数カウンタ11をインクリメントし、
その値をクラスの識別子とする。 (4)クラスの識別子とクラスの名前との組をクラス定
義情報格納クラス14にとっておく。また、定義したク
ラスのインスタンス生成数は0で初期化する。
【0010】(5)生成したクラスの識別子を通信路を
通して返却する。したがってクラス定義情報格納クラス
14には、定義されたクラスの数だけクラス定義情報が
存在し、記憶装置上には同数のテーブルが存在する。
【0011】図3はプロパティを定義する場合の処理を
説明するための図で、図2で記述したクラスにそれぞれ
プロパティが定義された後のデータベースの状態を示
す。 (6)通信路からプロパティを定義するクラスの識別子
と、生成するプロパティに付加する名前と、データ型、
データ長などのプロパティの定義情報とを受取る。 (7)通信路から受取った名前で、クラスに対応するテ
ーブルにタプルを生成する。 (8)プロパティ生成数カウンタ12をインクリメント
し、その値をプロパティの識別子とする。 (9)プロパティの識別子、名前、定義情報の組を、プ
ロパティ定義情報格納クラス15にとっておく。 (10)生成したプロパティの識別子を通信路を通して
返却する。したがって、プロパティ定義情報格納クラス
15には、定義されたプロパティの数だけプロパティ定
義情報が存在する。ただし、クラスが定義されたときに
同時に定義されるインスタンス識別子と上位インスタン
ス識別子もその中に含まれる。
【0012】図4はパスを定義する場合の処理を説明す
るための図で、図2で記述したクラスにパスを定義した
後のデータベースの状態を示す。 (11)通信路から上位とするクラスの識別子と、下位
とするクラスの識別子を受取る。 (12)パス生成数カウンタをインクリメントし、その
値をパスの識別子とする。 (13)パスの識別子、上位クラスの識別子、下位クラ
スの識別子の組を、パス定義情報格納クラス16にとっ
ておく。 (14)パスの識別子を通信路を通して返却する。した
がってパス定義情報格納クラス16には、定義されたパ
スの数だけパス定義情報が存在する。
【0013】つぎに、データベースの構造の定義が完了
して、データベースを利用するときの処理について説明
するデータベースを利用する手段として、インスタンス
の生成、インスタンスの削除、インスタンスの検索、イ
ンスタンスの更新を考える。
【0014】図5はインスタンスを生成する場合の処理
を説明するための図で、図中の(××)は下記の項目番
号に対応している位置を示す。 (15)通信路から、インスタンスを生成するクラスの
名前、生成するインスタンスが従属する上位クラスのイ
ンスタンスに関する記述、生成するインスタンスにセッ
トするプロパティの並び、およびその値を受取る。ただ
し、インスタンスを生成するクラスが最上位である場
合、生成するインスタンスが従属する上位クラスのイン
スタンスに関する記述は不要である。ここで、インスタ
ンスに関する記述とは、インスタンスの持つプロパティ
の値の指定によって、どのインスタンスを処理の対象と
するかを指定するための情報であり、’インスタンス記
述子=2’とか、’名前=A’のような内容とする。ま
た、プロパティの並びは、’(クラス名、プロパティ
名)、(クラス名、プロパティ名)、…’のように、プ
ロパティの属するクラスの名前とプロパティの名前との
組によって構成されるものとする。 (16)インスタンスを生成するクラスのクラス定義情
報の中のインスタンス生成数をインクリメントし、その
値を生成するインスタンスの識別子とする。 (17)クラス定義情報を参照して、通信路から入力し
たクラスの名前でクラスの識別子を取得する。 (18)パス定義情報格納クラスを検索して、項目番号
(17)で取得したクラス識別子を下位クラスの識別子
として持つパスが存在しているかどうか、すなわち上位
クラスが存在しているかどうか調べる。 (19)上位クラスが存在していたら、従属する上位ク
ラスのインスタンスに関する記述に一致するインスタン
スを上位クラス内で検索し、見つかったインスタンスの
識別子を、生成するインスタンスの上位インスタンス識
別子とする。 (20)通信路から受取ったインスタンスにセットする
データの組と、項目番号(16)で取得したインスタン
ス識別子と、項目番号(19)で取得した上位インスタ
ンス識別子とを組にして、インスタンスを生成するクラ
スに対応するテーブルにレコードを生成する。 (21)生成したインスタンスの識別子を通信路を通し
て返却する。
【0015】図6はインスタンスを削除する場合の処理
を説明するための図で、図中の(××)は図5の場合と
同じである。 (22)通信路から、インスタンスを削除するクラスの
名前、削除するインスタンスに関する記述を受取る。 (23)削除するインスタンスに関する記述に一致する
インスタンスを集める。 (24)一致するインスタンスが存在していたら、クラ
ス定義情報クラスを参照して、通信路から指定されたク
ラスの名前からクラスの識別子を取得する。 (25)パス定義情報格納クラスを検索して、項目番号
(24)で取得したクラスの識別子を上位クラスの識別
子として持つパスが存在するかどうか、すなわち下位ク
ラスが存在するかどうか調べる。 (26)下位クラスが存在していたら、そのクラスの中
で集められたすべてのインスタンスについてインスタン
スの識別子を上位インスタンス識別子として持つインタ
ンス、すなわち従属するインスタンスを集める。 (27)対象となるインスタンスが存在していたら、項
目番号(25)と同様にして、さらに下位のクラスが存
在するかどうかを調べる。 (28)項目番号(26)〜(27)を繰返して一番下
のクラスになるか、従属するインスタンスが存在しなく
なったら、現在位置付けられているクラスで対象となる
インスタンスを削除して、一つ上のクラスにもどる。 (29)項目番号(28)を繰返して処理を開始したク
ラスまでインスタンスを削除して処理を終了する。した
がって、通信路から指定されたインスタンスに直接また
は間接的に従属するすべてのインスタンスが削除され
る。
【0016】図7はインスタンスを検索する場合の処理
を説明するための図で、図中の(××)はここでも図5
の場合と同じである。なお、検索結果を編集するための
領域として、出力バッファが存在するものとする。 (30)通信路から、処理を開始するクラスの名前と、
検索するインスタンスに関する記述と、返却するデータ
のフォーマットとをプロパティの並びで受取る。 (31)通信路から指定されたクラスで、検索するイン
スタンスに関する記述に一致するインスタンスを集め
る。 (32)一致するインスタンスが存在していたら、集め
られたインスタンスの中から一つ取出す。 (33)通信路から指定されたプロパティの並びの中
に、そのクラスのプロパティがあれば、取出したインス
タンスのプロパティの値を、出力バッファにセットす
る。 (34)項目番号(17)と同様の方法で、上位クラス
が存在するかどうか調べる。 (35)上位クラスが存在していたら、項目番号(3
2)で取出したインスタンスの上位インスタン識別子の
値をインスタンス識別子の値として持つインスタンスを
取出す。上位クラスが存在する場合、項目番号(15)
〜(21)のインスタンスの生成方法から分かるよう
に、必ず上位インスタンスが存在しているはずである。 (36)項目番号(35)で取り出したインスタンスの
プロパティの中で、通信路から指定されているプロパテ
ィの値を出力バッファにセットする。 (37)項目番号(34)〜(36)を繰返して最上位
のクラスのインスタンスのデータを処理したら、出力バ
ッファのデータを通信路を通じて出力して、最初のクラ
スにもどる。 (38)項目番号(32)以降の処理を、集めたすべて
のインスタンスについて行って、処理を終了する。
【0017】図8はインスタンスを更新する場合の処理
を説明するための図で、図中(××)はここでも図5の
場合と同じである。 (39)通信路から、処理を開始するクラスの名前と、
更新するインスタンスに関する記述と、更新するプロパ
ティの並びと、置換える値の並びとを受取る。置換える
値の並びは、更新するプロパティの並びに対応する順序
で受取るものとする。 (40)通信路から指定されたクラスで、更新するイン
スタンスに関する記述に一致するインスタンスを集め
る。 (41)一致するインスタンスが存在していたら、集め
られたインスタンスの中から一つ取出す。 (42)通信路から指定されたプロパティの並びの中
に、そのクラスのプロパティがあれば、取出したインス
タンスのプロパティの値を通信路から受取った値で更新
する。 (43)項目番号(17)と同様の方法で上位クラスが
存在するかどうか調べる。 (44)上位クラスが存在していたら、項目番号(4
1)で取出したインスタンスの上位インスタンスの識別
子の値をインスタンス識別子の値として持つインスタン
スを取出す。上位クラスが存在する場合、項目番号(1
5)〜(21)のインスタンスの生成方法から分かるよ
うに、必ず上位インスタンスが存在しているはずであ
る。 (45)項目番号(44)で取出したインスタンスのプ
ロパティの中で、通信路から指定されているプロパティ
の値を更新する。 (46)項目番号(43)〜(45)を繰返して最上位
のクラスのインスタンスを処理したら、最初のクラスに
もどる。 (47)項目番号(41)以降の処理を、集めたすべて
のインスタンスについて行って、処理を終了する。
【0018】
【発明の効果】以上説明した本発明は、クラスとクラス
との主従関係は、データベースの構造を定義する際にパ
ス定義によって設定されており、インスタンスを生成、
削除、検索、更新する際には、クラスとクラスとの間の
データ一貫性を保つための処理はデータベース管理プロ
グラムがを行うので、利用者プログラム側では、処理の
対象となるインスタンスに関する記述、プロパティの並
び、プロパティの値の並びという最小限の情報を与える
だけでよいという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の初期状態を示す図である。
【図2】図1のデータベースの初期状態から二つのクラ
スが定義された状態での例を示す図である。
【図3】図2のデータベースの状態からプロパティが定
義された状態での例を示す図である。
【図4】図3のデータベースの状態からパスが定義され
た状態での例を示す図である。
【図5】本発明の一実施例のインスタンスを生成する場
合の処理を説明するための図である。
【図6】本発明の一実施例のインスタンスを削除する場
合の処理を説明するための図である。
【図7】本発明の一実施例のインスタンスを検索する場
合の処理を説明するための図である。
【図8】本発明の一実施例のインスタンスを更新する場
合の処理を説明するための図である。
【符号の説明】
11 クラス生成数カウンタ 12 プロパティ生成数カウンタ 13 パス生成数カウンタ 14 クラス定義情報カウンタ 15 プロパティ定義情報格納クラス 16 パス定義情報格納クラス 17 クラス1 18 クラス2 19 クラス3 20 出力バッファ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 リレーショナル型のデータベースにおい
    て、同一形式のレコードを格納するクラスと称するテー
    ブルと、このクラスの識別子の組によってクラスとクラ
    スとの間の主従関係を表すパス定義情報格納手段と、前
    記クラスの中のレコードをインスタンスと称し、レコー
    ドを一意に識別するための値を保持するインスタンス識
    別子と、従属するインスタンスが被従属するインスタン
    スの識別子を保持するための上位インスタンス識別子
    と、前記クラス中にインスタンスを生成する際に、外部
    から入力されたデータに加えて、そのインスタンスのイ
    ンスタンス識別子の値を生成してインスタンスの属性の
    一つとして保持するインスタンス生成手段と,前記クラ
    ス中のインスタンスを削除する際に、そのインスタンス
    に従属する別のクラスのインスタンスを同時に削除する
    インスタンス削除手段と,前記クラス中のインスタンス
    を検索する際に、そのインスタンスに従属または被従属
    する別のクラスのインスタンスの情報を結合して取出す
    インスタンス検索手段とを備えた前記クラスとクラスと
    の間の一貫性を保つデータベース管理プログラムを有す
    ることを特徴とするデータベース。
JP5241871A 1993-09-29 1993-09-29 データベース Pending JPH0798671A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5241871A JPH0798671A (ja) 1993-09-29 1993-09-29 データベース

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5241871A JPH0798671A (ja) 1993-09-29 1993-09-29 データベース

Publications (1)

Publication Number Publication Date
JPH0798671A true JPH0798671A (ja) 1995-04-11

Family

ID=17080772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5241871A Pending JPH0798671A (ja) 1993-09-29 1993-09-29 データベース

Country Status (1)

Country Link
JP (1) JPH0798671A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014150532A (ja) * 2013-02-01 2014-08-21 Harman Internatl Ind Inc ネットワークアドレス管理および機能オブジェクト発見システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014150532A (ja) * 2013-02-01 2014-08-21 Harman Internatl Ind Inc ネットワークアドレス管理および機能オブジェクト発見システム

Similar Documents

Publication Publication Date Title
Simitsis et al. State-space optimization of ETL workflows
US11720631B2 (en) Tool to build and store a data model and queries for a graph database
US7185016B1 (en) Methods and transformations for transforming metadata model
US8356029B2 (en) Method and system for reconstruction of object model data in a relational database
US9870382B2 (en) Data encoding and corresponding data structure
US6557012B1 (en) System and method of refreshing and posting data between versions of a database table
US4894771A (en) Data base management system extending structure
CN108228817A (zh) 数据处理方法、装置和系统
US20130006968A1 (en) Data integration system
EP1081610A2 (en) Methods for transforming metadata models
US6748393B1 (en) Transparent updates to partitioned views in a federated database system
JPH0934763A (ja) ファイル管理装置およびファイル管理方法
US8065343B2 (en) Data storage and retrieval system with optimized categorization of information items based on category selection
CN111367954A (zh) 数据查询处理方法、装置及系统、计算机可读存储介质
US20050021542A1 (en) Converting object structures for search engines
JPH0370048A (ja) ディクショナリ創成方法
KR100529661B1 (ko) 오브젝트 통합 관리 시스템
US20030204537A1 (en) Content management system and methodology for implementing a complex object using nested/recursive structures
US5943665A (en) Method and system for performing conceptual joins across fields of a database
JP2006524376A (ja) 汎用データベーススキーマ
CN109491988A (zh) 一种支持全量更新的数据实时关联方法
CN111831696A (zh) 基于图理论的资产信息存储方法和系统
JP4562749B2 (ja) 文書の圧縮格納方法及び装置
JPH0798671A (ja) データベース
CN113221528A (zh) 基于openEHR模型的临床数据质量评估规则的自动生成与执行方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020730