JP2000267909A - データベースシステム - Google Patents
データベースシステムInfo
- Publication number
- JP2000267909A JP2000267909A JP11074775A JP7477599A JP2000267909A JP 2000267909 A JP2000267909 A JP 2000267909A JP 11074775 A JP11074775 A JP 11074775A JP 7477599 A JP7477599 A JP 7477599A JP 2000267909 A JP2000267909 A JP 2000267909A
- Authority
- JP
- Japan
- Prior art keywords
- database
- record
- operation request
- data
- parent
- 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
Links
- 238000004458 analytical method Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 abstract description 26
- 238000000605 extraction Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 12
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000003672 processing method Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 ネットワーク型データベースシステムにテー
ブル操作インタフェースを提供する際に、よりネットワ
ーク型データベース自体の操作を効率的に行うシステム
を提供すること。 【解決手段】 ネットワーク型データベースからのレコ
ードデータ抽出及びテーブルデータへの展開、展開済み
テーブルデータ上でのテーブル操作、テーブルデータ更
新とそれを反映したレコードデータの更新、さらにレコ
ードデータ更新の際の矛盾チェックと規則や問合せによ
るデータの対応付けのそれぞれを行う手段を設けること
でローカルなテーブル参照処理と効率化したデータベー
ス更新処理を実現する。
ブル操作インタフェースを提供する際に、よりネットワ
ーク型データベース自体の操作を効率的に行うシステム
を提供すること。 【解決手段】 ネットワーク型データベースからのレコ
ードデータ抽出及びテーブルデータへの展開、展開済み
テーブルデータ上でのテーブル操作、テーブルデータ更
新とそれを反映したレコードデータの更新、さらにレコ
ードデータ更新の際の矛盾チェックと規則や問合せによ
るデータの対応付けのそれぞれを行う手段を設けること
でローカルなテーブル参照処理と効率化したデータベー
ス更新処理を実現する。
Description
【0001】
【発明の属する技術分野】本発明は、データベースシス
テムに関わり、特に、ネットワーク型データベースをテ
ーブル操作インタフェースで参照および更新が可能なデ
ータベースシステムに関する。
テムに関わり、特に、ネットワーク型データベースをテ
ーブル操作インタフェースで参照および更新が可能なデ
ータベースシステムに関する。
【0002】
【従来の技術】従来から汎用大型電子計算機などではネ
ットワーク型データベースは広く用いられていたが、ユ
ーザまたはアプリケーションプログラムレがコード単位
でデータを操作するため、データベースの参照及び更新
はレコード単位の操作に基づいて手続き的に記述する必
要があり、利用しにくい面がある。
ットワーク型データベースは広く用いられていたが、ユ
ーザまたはアプリケーションプログラムレがコード単位
でデータを操作するため、データベースの参照及び更新
はレコード単位の操作に基づいて手続き的に記述する必
要があり、利用しにくい面がある。
【0003】一方、リレーショナルデータベースはテー
ブル単位でのデータ操作を基本とし、比較的利用しやす
いインタフェースを提供できることが知られている。そ
こで、ネットワーク型データベースの参照及び更新をリ
レーショナルデータベースと同様のテーブル操作インタ
フェースで行えるようにする方式が考えられている。例
えば、特開平2−67682号公報に記載されているデ
ータベースシステムではリレーショナルデータベースの
操作言語であるSQLを解析し、ネットワーク型データ
ベースの操作言語であるDMLに変換することでテーブ
ル操作によるネットワーク型データベースの操作を実現
している。また、特開平4−299459号公報に記載
されているデータベースアクセスシステムではリレーシ
ョナルデータベースに対する問合せ文からネットワーク
型データベースを操作するための条件と手順を示すアク
セスモジュールの並びを生成し、その並びを順次実行す
る機能を実現している。いずれもリレーショナルデータ
ベースが持つテーブル操作のユーザインタフェースを提
供し、それとともにその操作をネットワーク型データベ
ースの操作に変換する手段を提供することで実際のデー
タベース操作を実現している。
ブル単位でのデータ操作を基本とし、比較的利用しやす
いインタフェースを提供できることが知られている。そ
こで、ネットワーク型データベースの参照及び更新をリ
レーショナルデータベースと同様のテーブル操作インタ
フェースで行えるようにする方式が考えられている。例
えば、特開平2−67682号公報に記載されているデ
ータベースシステムではリレーショナルデータベースの
操作言語であるSQLを解析し、ネットワーク型データ
ベースの操作言語であるDMLに変換することでテーブ
ル操作によるネットワーク型データベースの操作を実現
している。また、特開平4−299459号公報に記載
されているデータベースアクセスシステムではリレーシ
ョナルデータベースに対する問合せ文からネットワーク
型データベースを操作するための条件と手順を示すアク
セスモジュールの並びを生成し、その並びを順次実行す
る機能を実現している。いずれもリレーショナルデータ
ベースが持つテーブル操作のユーザインタフェースを提
供し、それとともにその操作をネットワーク型データベ
ースの操作に変換する手段を提供することで実際のデー
タベース操作を実現している。
【0004】
【発明が解決しようとする課題】しかしながら、上記の
従来技術では、例えば、あるデータAを参照した後、そ
のデータAから次のデータBを参照するといった処理形
態のように、対話形式でテーブルを操作しながら随時更
新を行うような処理形態の場合、テーブル上の個々の操
作が変換を伴ったネットワーク型データベース上での複
雑なレコード操作を必要とし、効率的な操作が困難にな
るという問題点がある。
従来技術では、例えば、あるデータAを参照した後、そ
のデータAから次のデータBを参照するといった処理形
態のように、対話形式でテーブルを操作しながら随時更
新を行うような処理形態の場合、テーブル上の個々の操
作が変換を伴ったネットワーク型データベース上での複
雑なレコード操作を必要とし、効率的な操作が困難にな
るという問題点がある。
【0005】本発明の目的は、ネットワーク型データベ
ースシステムにテーブル操作インタフェースを提供する
際に、ネットワーク型データベース自体の操作をより効
率的に行うことが可能なデータベースシステムを提供す
ることにある。
ースシステムにテーブル操作インタフェースを提供する
際に、ネットワーク型データベース自体の操作をより効
率的に行うことが可能なデータベースシステムを提供す
ることにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、ネットワーク型データベースに対する操
作要求を解析する解析手段と、解析した操作要求に基づ
くネットワーク型データベースに対するコマンド生成処
理と生成されたコマンドに対する実行結果データのテー
ブルデータへの展開処理を行うデータベース操作要求処
理手段と、前記テーブルデータを格納する格納手段と、
前記解析手段によって解析した操作要求に基づき前記テ
ーブルデータの操作を行うテーブル操作要求処理手段
と、前記生成したテーブルデータに対するコマンドによ
るデータベースアクセス手段を備えることを特徴とす
る。
に、本発明は、ネットワーク型データベースに対する操
作要求を解析する解析手段と、解析した操作要求に基づ
くネットワーク型データベースに対するコマンド生成処
理と生成されたコマンドに対する実行結果データのテー
ブルデータへの展開処理を行うデータベース操作要求処
理手段と、前記テーブルデータを格納する格納手段と、
前記解析手段によって解析した操作要求に基づき前記テ
ーブルデータの操作を行うテーブル操作要求処理手段
と、前記生成したテーブルデータに対するコマンドによ
るデータベースアクセス手段を備えることを特徴とす
る。
【0007】また、データベース操作要求処理手段にお
いて、ネットワーク型データベースにおける1つのタイ
プの親レコードについてそれに対する1つのタイプの子
レコードとの間で、各親レコードと子レコードの組み合
わせについてそれぞれのフィールドの並びを結合してタ
プルを作成し、そのタプルの集合としてテーブルを構成
することを特徴とする。
いて、ネットワーク型データベースにおける1つのタイ
プの親レコードについてそれに対する1つのタイプの子
レコードとの間で、各親レコードと子レコードの組み合
わせについてそれぞれのフィールドの並びを結合してタ
プルを作成し、そのタプルの集合としてテーブルを構成
することを特徴とする。
【0008】また、テーブルの更新が行われた場合に更
新に関わるタプルに対応するネットワーク型データベー
スのレコードに対しても更新内容を反映するための要求
をデータベース操作要求処理手段に対して行うことを特
徴とする。
新に関わるタプルに対応するネットワーク型データベー
スのレコードに対しても更新内容を反映するための要求
をデータベース操作要求処理手段に対して行うことを特
徴とする。
【0009】さらに、これに伴ってテーブル操作要求処
理手段はネットワーク型データベースのレコードに対す
る更新内容の反映の際にデータベースとテーブルの構造
の違いを吸収するため、レコード更新によって発生する
データベースの矛盾チェックと、対応付け規則によるテ
ーブルとデータベースの対応付けと、ユーザ問合せによ
るテーブルとデータベースの対応付けを行うことを特徴
とする。以上のような構成でネットワーク型データベー
スのテーブル操作インタフェースによる参照および更新
を実現する。
理手段はネットワーク型データベースのレコードに対す
る更新内容の反映の際にデータベースとテーブルの構造
の違いを吸収するため、レコード更新によって発生する
データベースの矛盾チェックと、対応付け規則によるテ
ーブルとデータベースの対応付けと、ユーザ問合せによ
るテーブルとデータベースの対応付けを行うことを特徴
とする。以上のような構成でネットワーク型データベー
スのテーブル操作インタフェースによる参照および更新
を実現する。
【0010】
【発明の実施の形態】以下、図を用いて本発明の実施形
態について説明する。図1は、本発明によるデータベー
スシステムの一実施形態を示すブロック図である。この
実施形態のデータベースシステムは、入出力装置1、操
作要求受付部2、データベース操作要求処理部3、テー
ブル操作要求処理部4、データベース5、テーブルデー
タ格納装置6からなる。また、データベース5はレコー
ドデータ51及びデータベース定義52を備えている。
態について説明する。図1は、本発明によるデータベー
スシステムの一実施形態を示すブロック図である。この
実施形態のデータベースシステムは、入出力装置1、操
作要求受付部2、データベース操作要求処理部3、テー
ブル操作要求処理部4、データベース5、テーブルデー
タ格納装置6からなる。また、データベース5はレコー
ドデータ51及びデータベース定義52を備えている。
【0011】まず、データベース5の構成について説明
する。データベース5には、図2のような親子の関連を
持つレコード21,22,23によって構成されるネッ
トワーク型データベースが構築されているものとする。
なお、現実に運用されるデータベース5のレコードは親
レコードが別のレコードの子レコードになっているな
ど、実際にはさらに複雑な関係を持っているが、図2に
おいては説明を簡単にするために最も単純なレコード関
係を示している。
する。データベース5には、図2のような親子の関連を
持つレコード21,22,23によって構成されるネッ
トワーク型データベースが構築されているものとする。
なお、現実に運用されるデータベース5のレコードは親
レコードが別のレコードの子レコードになっているな
ど、実際にはさらに複雑な関係を持っているが、図2に
おいては説明を簡単にするために最も単純なレコード関
係を示している。
【0012】データベース5内のレコードデータ51の
内容は図3に示すものとする。但し、ここでは得意先レ
コード21と受注レコード23のそれぞれの内容と両者
の関連だけに注目し、商品レコード22(図2)につい
ては省略している。得意先レコード21−1〜21−4
は「得意先ID、得意先名」の2つのフィールド21
1,212を持ち、受注レコード23−1〜23−5は
「伝票ID、得意先ID、商品ID、数量」の4つのフ
ィールド231,232,233,234を持ってい
る。また、各受注レコード23−1〜23−5は同じ得
意先IDを持つ得意先レコードとの間でリンクを持って
いる。図3の例では、各受注レコード23−1と23−
2が同じ得意先ID「T0001」を持っているため、
この各受注レコード23−1と23−2には矢印で示す
リンクが張られている。また、同じ得意先IDを持つ複
数の受注レコードがある場合はそれらと対応する得意先
レコードでループを形成するような形でリンクを持って
いる。ここでは省略したが、商品レコード22と受注レ
コード23の間でも商品ID233をキーとして同様の
リンク構造を形成している。上記のようなフィールドの
構成やリンクの構造を記述してあるのがデータベース定
義52である。
内容は図3に示すものとする。但し、ここでは得意先レ
コード21と受注レコード23のそれぞれの内容と両者
の関連だけに注目し、商品レコード22(図2)につい
ては省略している。得意先レコード21−1〜21−4
は「得意先ID、得意先名」の2つのフィールド21
1,212を持ち、受注レコード23−1〜23−5は
「伝票ID、得意先ID、商品ID、数量」の4つのフ
ィールド231,232,233,234を持ってい
る。また、各受注レコード23−1〜23−5は同じ得
意先IDを持つ得意先レコードとの間でリンクを持って
いる。図3の例では、各受注レコード23−1と23−
2が同じ得意先ID「T0001」を持っているため、
この各受注レコード23−1と23−2には矢印で示す
リンクが張られている。また、同じ得意先IDを持つ複
数の受注レコードがある場合はそれらと対応する得意先
レコードでループを形成するような形でリンクを持って
いる。ここでは省略したが、商品レコード22と受注レ
コード23の間でも商品ID233をキーとして同様の
リンク構造を形成している。上記のようなフィールドの
構成やリンクの構造を記述してあるのがデータベース定
義52である。
【0013】図4は図2及び図3で示したデータベース
5のデータベース定義52を記述した例である。レコー
ドの名前と親子の種別、レコードに含まれるフィールド
の名前、また子レコードの特定のフィールド(ここでは
得意先IDと商品ID)については親レコードとのリン
クの対応付けに用いられるフィールドの指定とその親レ
コード名が定義されている。
5のデータベース定義52を記述した例である。レコー
ドの名前と親子の種別、レコードに含まれるフィールド
の名前、また子レコードの特定のフィールド(ここでは
得意先IDと商品ID)については親レコードとのリン
クの対応付けに用いられるフィールドの指定とその親レ
コード名が定義されている。
【0014】続いて、テーブル操作インタフェースによ
る基本的なデータベース参照処理及び更新処理の全体的
な手順を図5のフロー図を用いて説明する。最初に、ネ
ットワーク型データベースであるデータベース5からレ
コードデータ51を抽出し、テーブルデータとして展開
する(ステップ501)。入出力装置1を通じてテーブ
ルデータ展開の要求が入力されるとその要求は操作要求
受付部2に渡され、解析される。この場合、テーブルデ
ータ展開の要求には、展開すべきデータの上位概念また
はそれ自体を指す情報が含まれている。操作要求受付部
2は、解析の結果に基づいて、データベース操作要求処
理部3に対してはデータベース5からのレコードデータ
51の抽出とテーブルデータ展開の要求を、テーブル操
作要求処理部4に対しては展開されたテーブルデータの
格納要求を発行する。
る基本的なデータベース参照処理及び更新処理の全体的
な手順を図5のフロー図を用いて説明する。最初に、ネ
ットワーク型データベースであるデータベース5からレ
コードデータ51を抽出し、テーブルデータとして展開
する(ステップ501)。入出力装置1を通じてテーブ
ルデータ展開の要求が入力されるとその要求は操作要求
受付部2に渡され、解析される。この場合、テーブルデ
ータ展開の要求には、展開すべきデータの上位概念また
はそれ自体を指す情報が含まれている。操作要求受付部
2は、解析の結果に基づいて、データベース操作要求処
理部3に対してはデータベース5からのレコードデータ
51の抽出とテーブルデータ展開の要求を、テーブル操
作要求処理部4に対しては展開されたテーブルデータの
格納要求を発行する。
【0015】データベース操作要求処理部3は、操作要
求受付部2からの要求に応じてデータベース5に対して
レコードデータ51の抽出を行うためのデータベースア
クセスコマンドを発行する。コマンドを受けたデータベ
ース5はコマンドに応じたレコードデータをデータベー
ス操作要求処理部3に返す。データベース操作要求処理
部3はデータベース5から受け取ったレコードデータを
テーブルデータの形に展開し、テーブル操作要求処理部
4に渡す。この時、テーブルデータはネットワーク型デ
ータベースにおける1つのタイプの親レコードとそれに
対する1つのタイプの子レコードとの間で、親子関係の
リンクを持つレコードのフィールドの並びを結合したタ
プルの集合として構成する。
求受付部2からの要求に応じてデータベース5に対して
レコードデータ51の抽出を行うためのデータベースア
クセスコマンドを発行する。コマンドを受けたデータベ
ース5はコマンドに応じたレコードデータをデータベー
ス操作要求処理部3に返す。データベース操作要求処理
部3はデータベース5から受け取ったレコードデータを
テーブルデータの形に展開し、テーブル操作要求処理部
4に渡す。この時、テーブルデータはネットワーク型デ
ータベースにおける1つのタイプの親レコードとそれに
対する1つのタイプの子レコードとの間で、親子関係の
リンクを持つレコードのフィールドの並びを結合したタ
プルの集合として構成する。
【0016】テーブル操作要求処理部4は受け取ったテ
ーブルデータをテーブルデータ格納装置6に格納し、テ
ーブルデータ展開の完了を(操作要求受付部2を通じ
て)入出力装置1に報告する。上記の処理手順を繰り返
し、複数のテーブルデータを展開することも可能であ
る。
ーブルデータをテーブルデータ格納装置6に格納し、テ
ーブルデータ展開の完了を(操作要求受付部2を通じ
て)入出力装置1に報告する。上記の処理手順を繰り返
し、複数のテーブルデータを展開することも可能であ
る。
【0017】次にテーブルデータを参照する(ステップ
502)。入出力装置1を通じてテーブルデータの参照
要求が入力されると、その要求はテーブルデータの展開
の場合と同様に操作要求受付部2で解析される。解析さ
れた要求はテーブル操作要求処理部4に渡される。テー
ブル操作要求処理部4は要求されたテーブルデータ参照
の操作をテーブルデータ格納装置6内のテーブルデータ
に対して行い、操作要求受付部2を通じて結果を入出力
装置1に返す。以上が、テーブルデータ参照の処理であ
る。
502)。入出力装置1を通じてテーブルデータの参照
要求が入力されると、その要求はテーブルデータの展開
の場合と同様に操作要求受付部2で解析される。解析さ
れた要求はテーブル操作要求処理部4に渡される。テー
ブル操作要求処理部4は要求されたテーブルデータ参照
の操作をテーブルデータ格納装置6内のテーブルデータ
に対して行い、操作要求受付部2を通じて結果を入出力
装置1に返す。以上が、テーブルデータ参照の処理であ
る。
【0018】なお、テーブルデータ参照に関する操作と
してはリレーショナルデータベースの標準的な操作であ
る選択、射影、結合が可能であり、複数の参照要求を順
次入力できるものとする。
してはリレーショナルデータベースの標準的な操作であ
る選択、射影、結合が可能であり、複数の参照要求を順
次入力できるものとする。
【0019】テーブルデータの参照要求はテーブルデー
タだけに影響するものであり、データベース5には影響
しない。したがって、例えば対話形式でさまざまな観点
でテーブルを次々と参照するような処理を行ってもデー
タベース5に対する操作は一切不要となる。テーブルデ
ータの更新を通じてネットワーク型データベース5を更
新する(ステップ503)。入出力装置1を通じてテー
ブルデータの更新要求が入力されると、その要求はテー
ブルデータの参照の場合と同様に操作要求受付部2で解
析され、テーブル操作要求処理部4に渡される。
タだけに影響するものであり、データベース5には影響
しない。したがって、例えば対話形式でさまざまな観点
でテーブルを次々と参照するような処理を行ってもデー
タベース5に対する操作は一切不要となる。テーブルデ
ータの更新を通じてネットワーク型データベース5を更
新する(ステップ503)。入出力装置1を通じてテー
ブルデータの更新要求が入力されると、その要求はテー
ブルデータの参照の場合と同様に操作要求受付部2で解
析され、テーブル操作要求処理部4に渡される。
【0020】テーブル操作要求処理部4は要求されたテ
ーブルデータ更新をデータベース5に反映するにあた
り、テーブル上の更新とデータベース5上の更新の対応
付けを行うと共に、データベース5の更新操作に矛盾や
不明確な点がないかどうかをチェックし、必要に応じて
利用者への問合せを行う。問合せは操作要求受付部2か
ら入出力装置1を通じて行い、データベース5の更新内
容決定に反映する。テーブルデータ格納装置6内のテー
ブルデータを更新すると共に、データベース操作要求処
理部3に対してデータベース5のレコードデータ51の
更新要求を発行する。
ーブルデータ更新をデータベース5に反映するにあた
り、テーブル上の更新とデータベース5上の更新の対応
付けを行うと共に、データベース5の更新操作に矛盾や
不明確な点がないかどうかをチェックし、必要に応じて
利用者への問合せを行う。問合せは操作要求受付部2か
ら入出力装置1を通じて行い、データベース5の更新内
容決定に反映する。テーブルデータ格納装置6内のテー
ブルデータを更新すると共に、データベース操作要求処
理部3に対してデータベース5のレコードデータ51の
更新要求を発行する。
【0021】データベース操作要求処理部3は要求に応
じてデータベース5に対してレコードデータ51の更新
を行うためのデータベースアクセスコマンドを発行す
る。コマンドを受けたデータベース5は、コマンドに応
じたレコードデータの更新を行い、その結果を(データ
ベース操作要求処理部3を通じて)テーブル操作要求処
理部4に報告する。テーブル操作要求処理部4は更新処
理全体の完了を(操作要求受付部2を通じて)入出力装
置1に報告する。以上がテーブル更新及びデータベース
更新の処理である。
じてデータベース5に対してレコードデータ51の更新
を行うためのデータベースアクセスコマンドを発行す
る。コマンドを受けたデータベース5は、コマンドに応
じたレコードデータの更新を行い、その結果を(データ
ベース操作要求処理部3を通じて)テーブル操作要求処
理部4に報告する。テーブル操作要求処理部4は更新処
理全体の完了を(操作要求受付部2を通じて)入出力装
置1に報告する。以上がテーブル更新及びデータベース
更新の処理である。
【0022】データベース5からのレコードデータ51
抽出とデータベース操作要求処理部3での親レコードと
子レコードの組合せによるテーブルデータへの展開、デ
ータベース5に影響しないテーブルデータ参照、テーブ
ル操作要求処理部4でのテーブルデータ更新とそれを反
映したレコードデータ51の更新、さらにテーブルデー
タ更新を反映したレコードデータ51更新の際の矛盾チ
ェックと規則や問合せによるデータの対応付けが本発明
の特徴である。
抽出とデータベース操作要求処理部3での親レコードと
子レコードの組合せによるテーブルデータへの展開、デ
ータベース5に影響しないテーブルデータ参照、テーブ
ル操作要求処理部4でのテーブルデータ更新とそれを反
映したレコードデータ51の更新、さらにテーブルデー
タ更新を反映したレコードデータ51更新の際の矛盾チ
ェックと規則や問合せによるデータの対応付けが本発明
の特徴である。
【0023】続いて、各処理段階での処理の詳細につい
て説明する。図6はデータベース操作要求処理部3にお
けるレコードデータ51の抽出及びテーブルデータ展開
処理のフロー図である。ここでは、操作要求受付部2か
らレコードデータ51の抽出とテーブルデータ展開の要
求が親レコード及び子レコード、テーブル名の指定とと
もに与えられているものとして説明する。
て説明する。図6はデータベース操作要求処理部3にお
けるレコードデータ51の抽出及びテーブルデータ展開
処理のフロー図である。ここでは、操作要求受付部2か
らレコードデータ51の抽出とテーブルデータ展開の要
求が親レコード及び子レコード、テーブル名の指定とと
もに与えられているものとして説明する。
【0024】まず、抽出対象となっている親レコードに
ついて、未処理のものがあるかどうかを調べ、未処理の
ものがない場合は(ステップ601でN)そのまま処理
を終了する。一方、未処理の親レコードがある場合は
(ステップ601でY)その親レコードを1個読み出し
(ステップ602)、その親レコードにリンクしている
子レコードを調べ、未処理のものがない場合は(ステッ
プ603でN)次の親レコードの処理(ステップ60
1)に移る。一方、未処理の子レコードがある場合は
(ステップ603でY)その子レコードを1個読み出す
(ステップ604)。そこで、先ほど読み出した親レコ
ードと今読み出した子レコードを結合してタプルを作成
し、指定されたテーブル名のテーブルデータの要素とし
て出力して(ステップ605)次の子レコードの処理
(ステップ603)に移る。
ついて、未処理のものがあるかどうかを調べ、未処理の
ものがない場合は(ステップ601でN)そのまま処理
を終了する。一方、未処理の親レコードがある場合は
(ステップ601でY)その親レコードを1個読み出し
(ステップ602)、その親レコードにリンクしている
子レコードを調べ、未処理のものがない場合は(ステッ
プ603でN)次の親レコードの処理(ステップ60
1)に移る。一方、未処理の子レコードがある場合は
(ステップ603でY)その子レコードを1個読み出す
(ステップ604)。そこで、先ほど読み出した親レコ
ードと今読み出した子レコードを結合してタプルを作成
し、指定されたテーブル名のテーブルデータの要素とし
て出力して(ステップ605)次の子レコードの処理
(ステップ603)に移る。
【0025】以上のような処理手順で、図3の得意先レ
コード(親)21と受注レコード(子)23の組合せを
もとにテーブルデータへ展開を行った場合、図7のよう
なテーブルデータ71が作成される。なお、テーブル名
は「得意先−受注」としている。図3の得意先名が「A
社」の得意先レコードに対してはそれにリンクしている
受注レコード2個(23−1,23−2)のそれぞれと
組み合わせたタプルが図7のテーブルに出力されてい
る。また、タプル作成の際に結合のキーとなっている得
意先IDのフィールドは重複したものを除去している。
コード(親)21と受注レコード(子)23の組合せを
もとにテーブルデータへ展開を行った場合、図7のよう
なテーブルデータ71が作成される。なお、テーブル名
は「得意先−受注」としている。図3の得意先名が「A
社」の得意先レコードに対してはそれにリンクしている
受注レコード2個(23−1,23−2)のそれぞれと
組み合わせたタプルが図7のテーブルに出力されてい
る。また、タプル作成の際に結合のキーとなっている得
意先IDのフィールドは重複したものを除去している。
【0026】なお、レコードデータ51のレコード構
成、各レコードのフィールド構成、子レコードの各親レ
コードに対するリンクのキーとなるフィールド等の情報
が必要な場合はデータベース定義52を参照して処理を
行う。また、このフロー図では子レコードを持たない親
レコードのみのタプルはないと仮定してテーブル抽出処
理を行っている。親レコードのみのタプルが存在する場
合には子レコードに対応するフィールドの値をNULL
値としたタプルを出力する等の方法で対応が可能であ
る。
成、各レコードのフィールド構成、子レコードの各親レ
コードに対するリンクのキーとなるフィールド等の情報
が必要な場合はデータベース定義52を参照して処理を
行う。また、このフロー図では子レコードを持たない親
レコードのみのタプルはないと仮定してテーブル抽出処
理を行っている。親レコードのみのタプルが存在する場
合には子レコードに対応するフィールドの値をNULL
値としたタプルを出力する等の方法で対応が可能であ
る。
【0027】テーブルデータの参照の実質的な処理は、
テーブル操作要求処理部4が要求に従ってテーブルデー
タを返すことによって行われる。参照の要求について
は、リレーショナルデータベースの検索言語として一般
的なSQL言語によって記述する。例えば図7のテーブ
ル71に対して「数量のフィールドが2より大きいタプ
ルを選択する」という場合は「SELECT * FROM 得意先−
受注 WHERE 数量 > 2」のような検索文で問合せを行
う。結果は図8のようなテーブル81として返される。
テーブル操作要求処理部4が要求に従ってテーブルデー
タを返すことによって行われる。参照の要求について
は、リレーショナルデータベースの検索言語として一般
的なSQL言語によって記述する。例えば図7のテーブ
ル71に対して「数量のフィールドが2より大きいタプ
ルを選択する」という場合は「SELECT * FROM 得意先−
受注 WHERE 数量 > 2」のような検索文で問合せを行
う。結果は図8のようなテーブル81として返される。
【0028】レコードデータの抽出とテーブルデータへ
の展開は1個の親レコードと1個の子レコードの組合せ
に限定しているが、それ以外のレコード間のフィールド
を組み合わせて参照したい場合は複数のテーブルを展開
によって作成し、それらを結合することで実現できる。
の展開は1個の親レコードと1個の子レコードの組合せ
に限定しているが、それ以外のレコード間のフィールド
を組み合わせて参照したい場合は複数のテーブルを展開
によって作成し、それらを結合することで実現できる。
【0029】図9はテーブル操作要求処理部4を中心と
したテーブル更新及びデータベース更新の処理のフロー
図である。更新の要求についてもテーブル71に対する
SQL言語の検索文で記述する。なお、ここに示したの
は一般的な処理手順であり、テーブル71中のタプルに
対する更新、追加、削除のそれぞれで詳細は異なってく
る(それぞれの詳細については後述する)。
したテーブル更新及びデータベース更新の処理のフロー
図である。更新の要求についてもテーブル71に対する
SQL言語の検索文で記述する。なお、ここに示したの
は一般的な処理手順であり、テーブル71中のタプルに
対する更新、追加、削除のそれぞれで詳細は異なってく
る(それぞれの詳細については後述する)。
【0030】まず、更新が要求されているテーブル71
のタプル及びフィールドについてレコードデータ51中
の対応するレコード及びフィールド(レコード追加の場
合は追加する位置)を特定し、また、更新の内容がレコ
ードデータ51に対しては適用できない、あるいは適用
した結果データに矛盾が発生する、というような場合が
ないかどうかをチェックする(ステップ901)。対応
付けとチェックの結果、更新の内容について問合せが必
要な場合は(ステップ902でY)操作要求受付部2を
通じて入出力装置1に問合せを発行し、その結果を受け
取る(ステップ903)。問合せが不要な場合は(ステ
ップ902でN)問合せ処理は省略する。ステップ90
1のチェックの結果、あるいはステップ903の問合せ
処理の結果で矛盾が発生している場合は(ステップ90
4でY)処理を中止する。一方、矛盾がない場合は(ス
テップ904でN)問合せの結果を含めてレコードデー
タ51中の対応する更新レコード及び更新フィールドを
確定する(ステップ905)。そして、テーブル格納装
置6中のテーブルデータを更新するとともに(ステップ
906)、データベース操作要求処理部3を通じてレコ
ードデータ51を更新する(ステップ907)。
のタプル及びフィールドについてレコードデータ51中
の対応するレコード及びフィールド(レコード追加の場
合は追加する位置)を特定し、また、更新の内容がレコ
ードデータ51に対しては適用できない、あるいは適用
した結果データに矛盾が発生する、というような場合が
ないかどうかをチェックする(ステップ901)。対応
付けとチェックの結果、更新の内容について問合せが必
要な場合は(ステップ902でY)操作要求受付部2を
通じて入出力装置1に問合せを発行し、その結果を受け
取る(ステップ903)。問合せが不要な場合は(ステ
ップ902でN)問合せ処理は省略する。ステップ90
1のチェックの結果、あるいはステップ903の問合せ
処理の結果で矛盾が発生している場合は(ステップ90
4でY)処理を中止する。一方、矛盾がない場合は(ス
テップ904でN)問合せの結果を含めてレコードデー
タ51中の対応する更新レコード及び更新フィールドを
確定する(ステップ905)。そして、テーブル格納装
置6中のテーブルデータを更新するとともに(ステップ
906)、データベース操作要求処理部3を通じてレコ
ードデータ51を更新する(ステップ907)。
【0031】図10は、図9で説明した更新処理のう
ち、テーブル71中のタプルについてフィールド値を更
新する場合の対応付けと矛盾チェックの処理の詳細フロ
ー図である。まず、変更するレコードを設定し(ステッ
プ1001)、その中の変更するフィールドを設定する
(ステップ1002)。この時、変更するフィールドが
親レコードのフィールドでない場合は(ステップ100
3でN)矛盾の発生はないとして(ステップ100
4)、対応付けとチェックの処理を終了する。
ち、テーブル71中のタプルについてフィールド値を更
新する場合の対応付けと矛盾チェックの処理の詳細フロ
ー図である。まず、変更するレコードを設定し(ステッ
プ1001)、その中の変更するフィールドを設定する
(ステップ1002)。この時、変更するフィールドが
親レコードのフィールドでない場合は(ステップ100
3でN)矛盾の発生はないとして(ステップ100
4)、対応付けとチェックの処理を終了する。
【0032】一方、変更するフィールドが親レコードの
フィールドである場合は(ステップ1003でY)同じ
親レコードに対応するタプルでも同様に変更が行われる
かをチェックする(ステップ1005)。その結果、変
更後のフィールドの値が一致している場合は(ステップ
1006でY)矛盾の発生はないとして(ステップ10
04)対応付けとチェックの処理を終了する。一方、変
更後のフィールドの値が一致していない場合は(ステッ
プ1006でN)矛盾の発生があるとして(ステップ1
007)対応付けとチェックの処理を終了する(結果と
して更新処理はエラー終了する)。
フィールドである場合は(ステップ1003でY)同じ
親レコードに対応するタプルでも同様に変更が行われる
かをチェックする(ステップ1005)。その結果、変
更後のフィールドの値が一致している場合は(ステップ
1006でY)矛盾の発生はないとして(ステップ10
04)対応付けとチェックの処理を終了する。一方、変
更後のフィールドの値が一致していない場合は(ステッ
プ1006でN)矛盾の発生があるとして(ステップ1
007)対応付けとチェックの処理を終了する(結果と
して更新処理はエラー終了する)。
【0033】図11は図7の「得意先−受注」テーブル
71で「UPDATE 得意先−受注 SET 得意先名='E社' WH
ERE 伝票ID='D0002'」のような検索文でフィー
ルド値の更新を試みた場合を示している。テーブル上の
書換えはテーブルの内容2行目の得意先名を「E社」と
書き換えられるが、その書き換えの結果をレコードデー
タに反映しようとすると、同じ得意先レコード(親)に
基づくテーブルの内容1行目のタプルと得意先名(A
社)が一致しなくなってしまっているので、親レコード
の得意先名が一意に定まらないという矛盾が起きる。し
たがって、上記のような検索文で更新しようとするとエ
ラー終了することになる。ちなみに、検索文を「UPDATE
得意先−受注 SET 得意先名='E社' WHERE 得意先ID
='T0001'」のように変更すれば、図11のテーブ
ルの内容1、2行目ともに得意先名「E社」に書き換え
られるため、矛盾は起こらずに正しく更新できる。
71で「UPDATE 得意先−受注 SET 得意先名='E社' WH
ERE 伝票ID='D0002'」のような検索文でフィー
ルド値の更新を試みた場合を示している。テーブル上の
書換えはテーブルの内容2行目の得意先名を「E社」と
書き換えられるが、その書き換えの結果をレコードデー
タに反映しようとすると、同じ得意先レコード(親)に
基づくテーブルの内容1行目のタプルと得意先名(A
社)が一致しなくなってしまっているので、親レコード
の得意先名が一意に定まらないという矛盾が起きる。し
たがって、上記のような検索文で更新しようとするとエ
ラー終了することになる。ちなみに、検索文を「UPDATE
得意先−受注 SET 得意先名='E社' WHERE 得意先ID
='T0001'」のように変更すれば、図11のテーブ
ルの内容1、2行目ともに得意先名「E社」に書き換え
られるため、矛盾は起こらずに正しく更新できる。
【0034】図12は図9で説明した更新処理のうち、
テーブル71中にタプルを追加する場合の対応付けと矛
盾チェックの処理の詳細フロー図である。まず、追加す
るタプルに対応する親レコードを持つタプルが存在する
かをチェックする(ステップ1201)。この時、対応
するタプルがない場合は(ステップ1202でN)親レ
コードの追加が必要なので追加する親レコードの内容と
追加位置の設定(ステップ1203)と、追加する子レ
コードの内容と追加位置の設定(ステップ1204)を
行う。一方、対応するタプルがある場合は(ステップ1
202でY)親レコードの追加は必要ないので、追加す
る子レコードの内容と追加位置の設定(ステップ120
4)だけを行う。以上で対応付けの処理を終了する。な
お、本実施形態ではタプルの追加時に矛盾チェックの処
理は発生しない。
テーブル71中にタプルを追加する場合の対応付けと矛
盾チェックの処理の詳細フロー図である。まず、追加す
るタプルに対応する親レコードを持つタプルが存在する
かをチェックする(ステップ1201)。この時、対応
するタプルがない場合は(ステップ1202でN)親レ
コードの追加が必要なので追加する親レコードの内容と
追加位置の設定(ステップ1203)と、追加する子レ
コードの内容と追加位置の設定(ステップ1204)を
行う。一方、対応するタプルがある場合は(ステップ1
202でY)親レコードの追加は必要ないので、追加す
る子レコードの内容と追加位置の設定(ステップ120
4)だけを行う。以上で対応付けの処理を終了する。な
お、本実施形態ではタプルの追加時に矛盾チェックの処
理は発生しない。
【0035】図13は図7の「得意先−受注」テーブル
71で「INSERT INTO 得意先−受注 VALUES('T000
2','B社','D0006','S0002',6)」のような
検索文でタプルの追加を試みた場合を示している。この
場合、追加するタプルに対応する得意先レコード(親)
を持つタプルが存在する(内容3行目のタプルが得意先
レコードに対応するフィールドの値について、得意先I
Dが「T0002」、得意先名が「B社」で一致してい
る)。したがって、レコードの追加を行った場合、その
追加は図13の下欄に網掛け部分のレコード23−6で
示すように受注レコード(子)に対してだけ行われてお
り、既存の得意先レコード(親)に対するリンクの連鎖
の中に組み込まれている。
71で「INSERT INTO 得意先−受注 VALUES('T000
2','B社','D0006','S0002',6)」のような
検索文でタプルの追加を試みた場合を示している。この
場合、追加するタプルに対応する得意先レコード(親)
を持つタプルが存在する(内容3行目のタプルが得意先
レコードに対応するフィールドの値について、得意先I
Dが「T0002」、得意先名が「B社」で一致してい
る)。したがって、レコードの追加を行った場合、その
追加は図13の下欄に網掛け部分のレコード23−6で
示すように受注レコード(子)に対してだけ行われてお
り、既存の得意先レコード(親)に対するリンクの連鎖
の中に組み込まれている。
【0036】一方、図14は同様に図7の「得意先−受
注」テーブル71で「INSERT INTO得意先−受注 VALUES
('T0005','E社','D0006', 'S0002',
6)」のような検索文でタプルの追加を試みた場合を示し
ている。この例の場合は追加するタプルに対応する得意
先レコード(親)を持つタプルが存在しない。したがっ
て、得意先レコード(親)、受注レコード(子)の双方
にレコード21−5,23−7が追加され、両者の間で
相互にリンクを持つ形になっている。
注」テーブル71で「INSERT INTO得意先−受注 VALUES
('T0005','E社','D0006', 'S0002',
6)」のような検索文でタプルの追加を試みた場合を示し
ている。この例の場合は追加するタプルに対応する得意
先レコード(親)を持つタプルが存在しない。したがっ
て、得意先レコード(親)、受注レコード(子)の双方
にレコード21−5,23−7が追加され、両者の間で
相互にリンクを持つ形になっている。
【0037】なお、子レコードの追加にあたっては現在
注目している親レコード(子レコードとフィールドを組
み合わせてタプルを作成した相手の親レコード)以外の
親レコードに対するリンクの接続処理も必要であるが、
これはその親レコードのキーとなる子レコードのフィー
ルドの値に従って行われる。例えば、図13及び図14
における受注レコード(子)23−6,23−7の追加
の場合、図中では追加した受注レコードの得意先レコー
ド(親)に対するリンクの追加及び付け換えだけが示さ
れているが、実際は商品IDのフィールドの値に従って
商品レコード(親)へのリンクの追加及び付け換えも行
われる。
注目している親レコード(子レコードとフィールドを組
み合わせてタプルを作成した相手の親レコード)以外の
親レコードに対するリンクの接続処理も必要であるが、
これはその親レコードのキーとなる子レコードのフィー
ルドの値に従って行われる。例えば、図13及び図14
における受注レコード(子)23−6,23−7の追加
の場合、図中では追加した受注レコードの得意先レコー
ド(親)に対するリンクの追加及び付け換えだけが示さ
れているが、実際は商品IDのフィールドの値に従って
商品レコード(親)へのリンクの追加及び付け換えも行
われる。
【0038】図15は図9で説明した更新処理のうち、
テーブル71中のタプルを削除する場合の対応付けと矛
盾チェックの処理の詳細フロー図である。まず、削除す
るタプルに対応する親レコードを同様に親として持つタ
プルが他に存在するかをチェックする(ステップ150
1)。この時、対応するタプルがない場合は(ステップ
1502でN)レコードの削除について処理方法を選択
し(選択の内容については後述する)、その結果に従っ
て削除するレコード設定する(ステップ1503)。選
択する処理方法は、テーブル操作要求処理部4にあらか
じめ設定しておけるものとする。一方、対応するタプル
がある場合は(ステップ1502でY)子レコードだけ
を削除すればよいので、対象となる子レコードを設定す
る(ステップ1504)。以上で対応付け及び矛盾チェ
ックの処理を終了する。
テーブル71中のタプルを削除する場合の対応付けと矛
盾チェックの処理の詳細フロー図である。まず、削除す
るタプルに対応する親レコードを同様に親として持つタ
プルが他に存在するかをチェックする(ステップ150
1)。この時、対応するタプルがない場合は(ステップ
1502でN)レコードの削除について処理方法を選択
し(選択の内容については後述する)、その結果に従っ
て削除するレコード設定する(ステップ1503)。選
択する処理方法は、テーブル操作要求処理部4にあらか
じめ設定しておけるものとする。一方、対応するタプル
がある場合は(ステップ1502でY)子レコードだけ
を削除すればよいので、対象となる子レコードを設定す
る(ステップ1504)。以上で対応付け及び矛盾チェ
ックの処理を終了する。
【0039】なお、ステップ1503におけるレコード
削除処理の選択であるが、本実施形態のようなネットワ
ーク型データベースで処理方法を選択する場合、以下の
ような選択肢が考えられる。 (1)直ちに親レコードを子レコードとともに削除す
る。 (2)直ちに子レコードだけを削除し、親レコードは保
持する。 (3)直ちに更新処理を中止する(親レコード、子レコ
ードとも保持する)。 (4)(1)〜(3)について利用者に問い合わせて選
択させる。 但し、図6のテーブルデータ展開処理の説明でも述べた
通り、本実施形態では子レコードを持たない親レコード
は存在しないと仮定しているので(2)は選択肢から除
外される(同時に(4)の問合せの選択肢からも除外さ
れる)。削除するレコードの設定は、(1)の場合は、
対応する親レコードと子レコードを設定し、(3)の場
合は設定せず、(4)の場合は問合せ結果に応じて
(1)または(3)と同様に設定する。
削除処理の選択であるが、本実施形態のようなネットワ
ーク型データベースで処理方法を選択する場合、以下の
ような選択肢が考えられる。 (1)直ちに親レコードを子レコードとともに削除す
る。 (2)直ちに子レコードだけを削除し、親レコードは保
持する。 (3)直ちに更新処理を中止する(親レコード、子レコ
ードとも保持する)。 (4)(1)〜(3)について利用者に問い合わせて選
択させる。 但し、図6のテーブルデータ展開処理の説明でも述べた
通り、本実施形態では子レコードを持たない親レコード
は存在しないと仮定しているので(2)は選択肢から除
外される(同時に(4)の問合せの選択肢からも除外さ
れる)。削除するレコードの設定は、(1)の場合は、
対応する親レコードと子レコードを設定し、(3)の場
合は設定せず、(4)の場合は問合せ結果に応じて
(1)または(3)と同様に設定する。
【0040】図16は図7の「得意先−受注」テーブル
71で「DELETE FROM 得意先−受注 WHERE 伝票ID='
D0003'」のような検索文でタプルの削除を試みた
場合を示している。なお、レコード削除の処理方法の設
定は上記(1)の「直ちに親レコードを子レコードとと
もに削除する」を仮定する。この場合、削除するタプル
に対応する得意先レコード(親)を親として持つタプル
が存在しないため、仮定されたレコード削除の処理方法
の設定に従って対応する得意先レコード(親)21−2
と受注レコード(子)23−3が削除される。同時に両
レコード間にあったリンクも削除される。
71で「DELETE FROM 得意先−受注 WHERE 伝票ID='
D0003'」のような検索文でタプルの削除を試みた
場合を示している。なお、レコード削除の処理方法の設
定は上記(1)の「直ちに親レコードを子レコードとと
もに削除する」を仮定する。この場合、削除するタプル
に対応する得意先レコード(親)を親として持つタプル
が存在しないため、仮定されたレコード削除の処理方法
の設定に従って対応する得意先レコード(親)21−2
と受注レコード(子)23−3が削除される。同時に両
レコード間にあったリンクも削除される。
【0041】一方、図17は同様に図7の「得意先−受
注」テーブル71で「DELETE FROM得意先−受注 WHERE
伝票ID='D0002'」のような検索文でタプルの削
除を試みた場合を示している。この場合、削除するタプ
ルに対応する得意先レコード(親)を親として持つタプ
ルが存在する(内容1行目のタプルが得意先レコードに
対応するフィールドの値について、得意先IDが「T0
001」、得意先名が「A社」で一致している)。した
がって、削除するタプルに対応する受注レコード(子)
23−8が削除される。同時に、その受注レコード23
−8からのリンクは削除され、その受注レコード23−
8へのリンクは他のレコード(ここでは親にあたる得意
先レコード)に付け換えられる。
注」テーブル71で「DELETE FROM得意先−受注 WHERE
伝票ID='D0002'」のような検索文でタプルの削
除を試みた場合を示している。この場合、削除するタプ
ルに対応する得意先レコード(親)を親として持つタプ
ルが存在する(内容1行目のタプルが得意先レコードに
対応するフィールドの値について、得意先IDが「T0
001」、得意先名が「A社」で一致している)。した
がって、削除するタプルに対応する受注レコード(子)
23−8が削除される。同時に、その受注レコード23
−8からのリンクは削除され、その受注レコード23−
8へのリンクは他のレコード(ここでは親にあたる得意
先レコード)に付け換えられる。
【0042】なお、子レコードの削除にあたっては、現
在注目している親レコード(子レコードとフィールドを
組み合わせてタプルを作成した相手の親レコード)以外
の親レコードに対するリンクの改廃処理も必要である
が、これは追加の場合と同様にその親レコードのキーと
なる子レコードのフィールドの値に従って行われる。例
えば、図16及び図17における受注レコード(子)2
3−3,23−8の削除の場合、図中では削除した受注
レコードの得意先レコード(親)に対するリンクの削除
及び付け換えだけが示されているが、実際は商品IDの
フィールドの値に従って商品レコード(親)へのリンク
の削除及び付け換えも行われる。
在注目している親レコード(子レコードとフィールドを
組み合わせてタプルを作成した相手の親レコード)以外
の親レコードに対するリンクの改廃処理も必要である
が、これは追加の場合と同様にその親レコードのキーと
なる子レコードのフィールドの値に従って行われる。例
えば、図16及び図17における受注レコード(子)2
3−3,23−8の削除の場合、図中では削除した受注
レコードの得意先レコード(親)に対するリンクの削除
及び付け換えだけが示されているが、実際は商品IDの
フィールドの値に従って商品レコード(親)へのリンク
の削除及び付け換えも行われる。
【0043】以上、テーブル更新及びデータベース更新
の処理についてテーブル71上でのタプルの更新、追
加、削除の順に説明してきたが、本実施形態ではテーブ
ルの更新はデータベース5から展開した(展開後にテー
ブル操作を行っていない)テーブル71に対してだけ行
っている。もし、展開後のテーブル操作によって作成し
たテーブルからデータベースの更新を実現しようとする
ならば、限られた条件(データベースに反映するための
フィールドが十分に揃っている等)のもとでだけ可能
で、しかも矛盾チェックやレコードの対応付けは本実施
形態よりも複雑になる。但し、その場合でも条件チェッ
クやレコードの対応付けの内容が追加、変更されるだけ
であり、更新処理手順は本実施形態における図9に示し
たもので対応が可能である。
の処理についてテーブル71上でのタプルの更新、追
加、削除の順に説明してきたが、本実施形態ではテーブ
ルの更新はデータベース5から展開した(展開後にテー
ブル操作を行っていない)テーブル71に対してだけ行
っている。もし、展開後のテーブル操作によって作成し
たテーブルからデータベースの更新を実現しようとする
ならば、限られた条件(データベースに反映するための
フィールドが十分に揃っている等)のもとでだけ可能
で、しかも矛盾チェックやレコードの対応付けは本実施
形態よりも複雑になる。但し、その場合でも条件チェッ
クやレコードの対応付けの内容が追加、変更されるだけ
であり、更新処理手順は本実施形態における図9に示し
たもので対応が可能である。
【0044】
【発明の効果】以上の説明から明らかなように、本発明
によれば、データベースからのレコードデータ抽出及び
テーブルデータへの展開、展開済みテーブルデータ上で
のテーブル操作、テーブルデータ更新とそれを反映した
レコードデータの更新、さらにレコードデータ更新の際
の矛盾チェックと規則や問合せによるデータの対応付け
によって、ローカルなテーブル参照処理と効率化したデ
ータベース更新処理を実現している。すなわち、テーブ
ルデータとして展開したものについては参照処理の際に
データベースの操作が一切発生しない。そして、対話形
式を用い、テーブル上のデータをさまざまな問合せによ
って参照し、吟味した結果に従ってテーブルを更新した
場合、更新の結果を反映する時にだけデータベースに対
する操作が行われる。この結果、利用者に対してテーブ
ル形式の操作インタフェースを提供できるのと同時に、
ネットワーク型データベース自体の操作を効率化できる
という効果が得られる。
によれば、データベースからのレコードデータ抽出及び
テーブルデータへの展開、展開済みテーブルデータ上で
のテーブル操作、テーブルデータ更新とそれを反映した
レコードデータの更新、さらにレコードデータ更新の際
の矛盾チェックと規則や問合せによるデータの対応付け
によって、ローカルなテーブル参照処理と効率化したデ
ータベース更新処理を実現している。すなわち、テーブ
ルデータとして展開したものについては参照処理の際に
データベースの操作が一切発生しない。そして、対話形
式を用い、テーブル上のデータをさまざまな問合せによ
って参照し、吟味した結果に従ってテーブルを更新した
場合、更新の結果を反映する時にだけデータベースに対
する操作が行われる。この結果、利用者に対してテーブ
ル形式の操作インタフェースを提供できるのと同時に、
ネットワーク型データベース自体の操作を効率化できる
という効果が得られる。
【図1】本発明によるデータベースシステムの一実施形
態を示す構成図である。
態を示す構成図である。
【図2】ネットワーク型データベースのレコード間の親
子関連を示す図である。
子関連を示す図である。
【図3】ネットワーク型データベース内のレコードデー
タの内容を示す図である。
タの内容を示す図である。
【図4】ネットワーク型データベースのデータベース定
義の例を示す図である。
義の例を示す図である。
【図5】テーブル操作インタフェースによる基本的なデ
ータベース参照処理及び更新処理の全体的な手順を示す
フロー図である。
ータベース参照処理及び更新処理の全体的な手順を示す
フロー図である。
【図6】データベース操作要求処理部におけるレコード
データの抽出およびテーブルデータ展開処理のフロー図
である。
データの抽出およびテーブルデータ展開処理のフロー図
である。
【図7】展開したテーブルデータの例を示す図である。
【図8】参照(テーブルに対する選択操作)によって得
られたテーブルデータの例を示す図である。
られたテーブルデータの例を示す図である。
【図9】テーブル操作要求処理部を中心としたテーブル
更新及びデータベース更新の処理のフロー図である。
更新及びデータベース更新の処理のフロー図である。
【図10】テーブル中のタプルについてフィールド値を
更新する場合の対応付けと矛盾チェックの処理の詳細フ
ロー図である。
更新する場合の対応付けと矛盾チェックの処理の詳細フ
ロー図である。
【図11】フィールド値の更新を試みた場合のテーブル
データ及びレコードデータの変化について例を示す図で
ある。
データ及びレコードデータの変化について例を示す図で
ある。
【図12】テーブル中にタプルを追加する場合の対応付
けと矛盾チェックの処理の詳細フロー図である。
けと矛盾チェックの処理の詳細フロー図である。
【図13】タプルの追加(同じ親レコードに対応付けら
れるタプルが存在する場合)を試みた場合のテーブルデ
ータ及びレコードデータの変化について例を示す図であ
る。
れるタプルが存在する場合)を試みた場合のテーブルデ
ータ及びレコードデータの変化について例を示す図であ
る。
【図14】タプルの追加(同じ親レコードに対応付けら
れるタプルが存在しない場合)を試みた場合のテーブル
データ及びレコードデータの変化について例を示す図で
ある。
れるタプルが存在しない場合)を試みた場合のテーブル
データ及びレコードデータの変化について例を示す図で
ある。
【図15】テーブル中のタプルを削除する場合の対応付
けと矛盾チェックの処理の詳細フロー図である。
けと矛盾チェックの処理の詳細フロー図である。
【図16】タプルの削除(同じ親レコードに対応付けら
れるタプルが存在しない場合)を試みた場合のテーブル
データ及びレコードデータの変化について例を示す図で
ある。
れるタプルが存在しない場合)を試みた場合のテーブル
データ及びレコードデータの変化について例を示す図で
ある。
【図17】タプルの削除(同じ親レコードに対応付けら
れるタプルが存在する場合)を試みた場合のテーブルデ
ータ及びレコードデータの変化について例を示す図であ
る。
れるタプルが存在する場合)を試みた場合のテーブルデ
ータ及びレコードデータの変化について例を示す図であ
る。
1…入出力装置、2…操作要求受付部、3…データベー
ス操作要求処理部、4…テーブル操作要求処理部、5…
データベース、51…レコードデータ、52…データベ
ース定義、6…テーブルデータ格納装置。
ス操作要求処理部、4…テーブル操作要求処理部、5…
データベース、51…レコードデータ、52…データベ
ース定義、6…テーブルデータ格納装置。
Claims (4)
- 【請求項1】 ネットワーク型データベースをテーブル
操作インタフェースによって参照および更新が可能なデ
ータベースシステムにおいて、 前記ネットワーク型データベースに対する操作要求を解
析する解析手段と、 解析した操作要求に基づくネットワーク型データベース
に対するコマンド生成処理と生成されたコマンドに対す
る実行結果データのテーブルデータへの展開処理を行う
データベース操作要求処理手段と、 前記テーブルデータを格納する格納手段と、 前記解析手段によって解析した操作要求に基づき前記テ
ーブルデータの操作を行うテーブル操作要求処理手段
と、 前記生成したテーブルデータに対するコマンドによるデ
ータベースアクセス手段を備えることを特徴とするデー
タベースシステム。 - 【請求項2】 前記データベース操作要求処理手段は、
ネットワーク型データベースにおける1つのタイプの親
レコードについてそれに対する1つのタイプの子レコー
ドとの間で、各親レコードと子レコードの組み合わせに
ついてそれぞれのフィールドの並びを結合してタプルを
作成し、そのタプルの集合としてテーブルを構成するこ
とを特徴とする請求項1記載のデータベースシステム。 - 【請求項3】 前記テーブル操作要求処理手段は、テー
ブルの更新が行われた場合に更新に関わるタプルに対応
するネットワーク型データベースのレコードに対しても
更新内容を反映するための要求をデータベース操作要求
処理手段に対して行うことを特徴とする請求項1または
2記載のデータベースシステム。 - 【請求項4】 前記テーブル操作要求処理手段は、前記
ネットワーク型データベースのレコードに対する更新内
容の反映の際に、レコード更新によって発生するデータ
ベースの矛盾チェックと、対応付け規則によるテーブル
とデータベースの対応付けと、ユーザ問合せによるテー
ブルとデータベースの対応付けを行うことを特徴とする
請求項3記載のデータベースシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11074775A JP2000267909A (ja) | 1999-03-19 | 1999-03-19 | データベースシステム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11074775A JP2000267909A (ja) | 1999-03-19 | 1999-03-19 | データベースシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000267909A true JP2000267909A (ja) | 2000-09-29 |
Family
ID=13557013
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11074775A Pending JP2000267909A (ja) | 1999-03-19 | 1999-03-19 | データベースシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000267909A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008257570A (ja) * | 2007-04-06 | 2008-10-23 | Ntt Data Corp | データベースシステム及びそのプログラム |
| JP2014507713A (ja) * | 2011-01-14 | 2014-03-27 | アビニシオ テクノロジー エルエルシー | データの集合体に対する変更の管理 |
| JP2015200978A (ja) * | 2014-04-04 | 2015-11-12 | 富士通株式会社 | データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置 |
-
1999
- 1999-03-19 JP JP11074775A patent/JP2000267909A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008257570A (ja) * | 2007-04-06 | 2008-10-23 | Ntt Data Corp | データベースシステム及びそのプログラム |
| JP2014507713A (ja) * | 2011-01-14 | 2014-03-27 | アビニシオ テクノロジー エルエルシー | データの集合体に対する変更の管理 |
| JP2015200978A (ja) * | 2014-04-04 | 2015-11-12 | 富士通株式会社 | データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU773177B2 (en) | System for maintaining precomputed views | |
| US9558239B2 (en) | Relational query planning for non-relational data sources | |
| Andersson | Extracting an entity relationship schema from a relational database through reverse engineering | |
| US7769769B2 (en) | Methods and transformations for transforming metadata model | |
| Simitsis et al. | State-space optimization of ETL workflows | |
| US6178425B1 (en) | Method of determining the visibility to a remote database client of a plurality of database transactions using simplified visibility rules | |
| Bloesch et al. | ConQuer: a conceptual query language | |
| US6704747B1 (en) | Method and system for providing internet-based database interoperability using a frame model for universal database | |
| CN101405729B (zh) | 具有增量式视图维护的映射体系结构 | |
| US7634498B2 (en) | Indexing XML datatype content system and method | |
| US7831614B2 (en) | System and method for generating SQL using templates | |
| US20030046292A1 (en) | Restructuring view maintenance system and method | |
| US7844633B2 (en) | System and method for storage, management and automatic indexing of structured documents | |
| KR20010012305A (ko) | 정보처리 시스템내 데이터를 저장하고 조작하기 위한시스템 및 방법 | |
| JP2010225181A (ja) | レジストリ駆動型相互運用性及び文書の交換 | |
| JP2003067402A (ja) | 構造化文書管理装置及び構造化文書管理方法 | |
| US20050021542A1 (en) | Converting object structures for search engines | |
| US11023674B2 (en) | Generation and application of object notation deltas | |
| JP2006524376A (ja) | 汎用データベーススキーマ | |
| US20060282439A1 (en) | Apparatus, system, and method for processing hierarchical data in disparate data repositories | |
| US20070156791A1 (en) | File system dump/restore by node numbering | |
| JP2007293874A (ja) | 文書の圧縮格納方法及び装置 | |
| JP2000267909A (ja) | データベースシステム | |
| US20070174231A1 (en) | Mapping-based query generation with duplicate elimination and minimal union | |
| US20060155741A1 (en) | Method and apparatus for storing and maintaining structured documents |