JPH04299459A - データベースアクセスシステム - Google Patents
データベースアクセスシステムInfo
- Publication number
- JPH04299459A JPH04299459A JP3087789A JP8778991A JPH04299459A JP H04299459 A JPH04299459 A JP H04299459A JP 3087789 A JP3087789 A JP 3087789A JP 8778991 A JP8778991 A JP 8778991A JP H04299459 A JPH04299459 A JP H04299459A
- Authority
- JP
- Japan
- Prior art keywords
- record
- condition
- tree
- access
- analysis means
- 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
- 238000012217 deletion Methods 0.000 claims abstract description 34
- 230000037430 deletion Effects 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000000712 assembly Effects 0.000 abstract 1
- 238000000429 assembly Methods 0.000 abstract 1
- 230000008878 coupling Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 abstract 1
- 238000005859 coupling reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 26
- 238000007792 addition Methods 0.000 description 16
- 230000014509 gene expression Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【技術分野】本発明はデータベースアクセスシステムに
関し特に階層ネットワーク型データベースシステムをリ
レーショナル型データベースシステムとみなしてアクセ
スするデータベースアクセス方式に関するものである。
関し特に階層ネットワーク型データベースシステムをリ
レーショナル型データベースシステムとみなしてアクセ
スするデータベースアクセス方式に関するものである。
【0002】
【従来技術】階層ネットワーク型データベースシステム
は豊富なデータ構造をサポートでき、定型業務向きで処
理効率がよい。しかし、業務プログラム開発では、その
データ構造を熟知している必要があり、利用者インタフ
ェースは簡単ではない。一方リレーショナル型データベ
ースシステムはデータ構造が単純で、データを表形式で
表現するため利用者インタフェースは簡単であり、非定
型業務向きであるが処理効率は悪い。
は豊富なデータ構造をサポートでき、定型業務向きで処
理効率がよい。しかし、業務プログラム開発では、その
データ構造を熟知している必要があり、利用者インタフ
ェースは簡単ではない。一方リレーショナル型データベ
ースシステムはデータ構造が単純で、データを表形式で
表現するため利用者インタフェースは簡単であり、非定
型業務向きであるが処理効率は悪い。
【0003】以上の理由により、階層ネットワーク型デ
ータベースシステムの実用性とリレーショナル型データ
ベースシステムの簡単な利用者インタフェースという両
者の特徴を持つデータベースシステム、すなわち、階層
ネットワーク型データベースシステムをリレーショナル
型データベースシステムに具備されているデータ操作言
語(以下DML:Data Manipulation
Languageと称する)を用いてアクセスできる
システムが考えられてきた。
ータベースシステムの実用性とリレーショナル型データ
ベースシステムの簡単な利用者インタフェースという両
者の特徴を持つデータベースシステム、すなわち、階層
ネットワーク型データベースシステムをリレーショナル
型データベースシステムに具備されているデータ操作言
語(以下DML:Data Manipulation
Languageと称する)を用いてアクセスできる
システムが考えられてきた。
【0004】これらの従来技術によるシステムを分類す
ると、次の3つに分けられる。第1の従来のシステムは
、リレーショナル型DMLを入力し、プリコンパイラを
設けて階層ネットワーク型DMLソースプログラムを生
成するシステムである。第2の従来のシステムは、リレ
ーショナル型DMLを入力し、階層ネットワーク型DM
Lオブジェクトを直接生成するシステムである。第3の
従来のシステムは、予めデータベースファイルの各物理
レコードにインデックスを付加し、そのインデックスを
用いてデータベースをアクセスする手段を用意しておき
、リレーショナル型DMLを入力して上記アクセス手段
を起動させるオブジェクトを生成するシステムである。
ると、次の3つに分けられる。第1の従来のシステムは
、リレーショナル型DMLを入力し、プリコンパイラを
設けて階層ネットワーク型DMLソースプログラムを生
成するシステムである。第2の従来のシステムは、リレ
ーショナル型DMLを入力し、階層ネットワーク型DM
Lオブジェクトを直接生成するシステムである。第3の
従来のシステムは、予めデータベースファイルの各物理
レコードにインデックスを付加し、そのインデックスを
用いてデータベースをアクセスする手段を用意しておき
、リレーショナル型DMLを入力して上記アクセス手段
を起動させるオブジェクトを生成するシステムである。
【0005】上述した従来技術による第1のシステムは
、リレーショナル型DMLから階層ネットワーク型DM
Lソースプログラムを生成しているが、階層ネットワー
ク型DMLの実行結果に対して条件判定を行う余分なソ
ースプログラムも同時に生成する必要があり、判定しな
ければならない条件、つまりデータ処理要求が複雑にな
れば生成されるソースプログラムも複雑であって大規模
なものとなり、処理効率が悪くなるという欠点がある。
、リレーショナル型DMLから階層ネットワーク型DM
Lソースプログラムを生成しているが、階層ネットワー
ク型DMLの実行結果に対して条件判定を行う余分なソ
ースプログラムも同時に生成する必要があり、判定しな
ければならない条件、つまりデータ処理要求が複雑にな
れば生成されるソースプログラムも複雑であって大規模
なものとなり、処理効率が悪くなるという欠点がある。
【0006】第2のシステムは、リレーショナル型DM
Lから階層ネットワーク型DMLオブジェクトプログラ
ムを直接生成している。しかし、上記第1のシステムと
同様に、データ処理要求が複雑になれば生成されるオブ
ジェクトプログラムも複雑であって大規模なものとなり
、処理効率が悪くなるという欠点がある。
Lから階層ネットワーク型DMLオブジェクトプログラ
ムを直接生成している。しかし、上記第1のシステムと
同様に、データ処理要求が複雑になれば生成されるオブ
ジェクトプログラムも複雑であって大規模なものとなり
、処理効率が悪くなるという欠点がある。
【0007】第3のシステムは、データベースファイル
の各物理レコードにインデックスを付加するため、その
ための領域をデータベース内に別に確保しなければなら
ない。このため、データベースの容量が大きくなるとい
う欠点があり、さらにインデックス以外は階層ネットワ
ーク型データベースが備えているレコードアクセス機構
を流用できないという欠点がある。また、この第3のシ
ステムは1スキーマ、1レンジ、あるいは1レコードタ
イプのデータベースに実現が限定されるという欠点もあ
る。
の各物理レコードにインデックスを付加するため、その
ための領域をデータベース内に別に確保しなければなら
ない。このため、データベースの容量が大きくなるとい
う欠点があり、さらにインデックス以外は階層ネットワ
ーク型データベースが備えているレコードアクセス機構
を流用できないという欠点がある。また、この第3のシ
ステムは1スキーマ、1レンジ、あるいは1レコードタ
イプのデータベースに実現が限定されるという欠点もあ
る。
【0008】
【発明の目的】本発明の目的は、階層ネットワーク型デ
ータベースシステムをリレーショナル型データベースシ
ステムとみなし、複雑なデータ構造を意識することなく
検索・更新・追加・削除できるようにして階層ネットワ
ーク型データベースの実用性と、リレーショナル型デー
タベースシステムの簡易性とを同時に満足させることが
できるように構成したデータベースアクセスシステムを
提供することである。
ータベースシステムをリレーショナル型データベースシ
ステムとみなし、複雑なデータ構造を意識することなく
検索・更新・追加・削除できるようにして階層ネットワ
ーク型データベースの実用性と、リレーショナル型デー
タベースシステムの簡易性とを同時に満足させることが
できるように構成したデータベースアクセスシステムを
提供することである。
【0009】本発明は上記の目的を達成するために、階
層ネットワーク型データベースシステムをリレーショナ
ル型データベースシステムとみなし、複雑なデータ構造
を意識することなくアクセスできるようにした方式にお
いて、問合せ文を解析する手段と、前記解析手段の第一
の出力として得られる該問合せ文に指定された検索・更
新・追加・削除条件に関与する個々のフィールドを有す
る各々のレコードに対して、当該レコード間の関連(親
子従属関係)を示すレコード関連木を生成する手段と、
生成されたレコード関連木を記憶する手段と、前記解析
手段の第二の出力として得られる当該問合せ文に指定さ
れた検索・更新・追加・削除条件に対し、当該条件を二
項演算の集合に分解し、当該二項演算の構成する各々の
二項演算子を節とする条件木を生成する手段と、前記レ
コード関連木および条件木を入力し、階層ネットワーク
型データベースシステムをアクセスするための条件と手
順を示すアクセスモジュールの並びを生成する手段と、
前記アクセスモジュールの並びを順次解析し実行する手
段とを設けたものである。
層ネットワーク型データベースシステムをリレーショナ
ル型データベースシステムとみなし、複雑なデータ構造
を意識することなくアクセスできるようにした方式にお
いて、問合せ文を解析する手段と、前記解析手段の第一
の出力として得られる該問合せ文に指定された検索・更
新・追加・削除条件に関与する個々のフィールドを有す
る各々のレコードに対して、当該レコード間の関連(親
子従属関係)を示すレコード関連木を生成する手段と、
生成されたレコード関連木を記憶する手段と、前記解析
手段の第二の出力として得られる当該問合せ文に指定さ
れた検索・更新・追加・削除条件に対し、当該条件を二
項演算の集合に分解し、当該二項演算の構成する各々の
二項演算子を節とする条件木を生成する手段と、前記レ
コード関連木および条件木を入力し、階層ネットワーク
型データベースシステムをアクセスするための条件と手
順を示すアクセスモジュールの並びを生成する手段と、
前記アクセスモジュールの並びを順次解析し実行する手
段とを設けたものである。
【0010】
【実施例】本発明の一実施例について図面を参照しなが
ら詳細に説明する。
ら詳細に説明する。
【0011】図1は本発明の一実施例を示すブロック図
である。図を参照すると、本発明の一実施例は、入力手
段1,問合せ文解析手段2,関連レコード結合手段3,
検索条件解析手段4,更新条件解析手段5,追加要求解
析手段6,削除条件解析手段7,レコード関連木記憶手
段8,アクセスモジュール生成手段9,アクセスモジュ
ール実行手段10,出力手段11,階層ネットワーク型
データベーススキーマファイル12,および階層ネット
ワーク型データベースファイル13から構成されている
。
である。図を参照すると、本発明の一実施例は、入力手
段1,問合せ文解析手段2,関連レコード結合手段3,
検索条件解析手段4,更新条件解析手段5,追加要求解
析手段6,削除条件解析手段7,レコード関連木記憶手
段8,アクセスモジュール生成手段9,アクセスモジュ
ール実行手段10,出力手段11,階層ネットワーク型
データベーススキーマファイル12,および階層ネット
ワーク型データベースファイル13から構成されている
。
【0012】利用者は入力手段1を用いてデータベース
に対する問合せ文として、テーブル定義・検索要求・更
新要求・追加要求・削除要求の問合せ文を入力すること
ができる。
に対する問合せ文として、テーブル定義・検索要求・更
新要求・追加要求・削除要求の問合せ文を入力すること
ができる。
【0013】まず利用者は入力手段1からテーブル定義
の問合せ文を入力し、問合せ文解析手段2を動作させる
。図2は問合せ文解析手段2の動作を示す流れ図である
。問合せ文解析手段2では、入力されたテーブル定義の
問合せ文の正当性をチェックし(ステップ21)、正常
であれば指定されたテーブル名,基本レコード名(テー
ブル定義の基準となるレコードで、データ構造上、テー
ブルを形成するレコードの階層ネットワークデータベー
スの最下位のレコード),及びテーブルのカラムとして
引込むフィールド名(ユニークにフィールド名を識別す
るために内部的には、フィールド番号を付加しておく。 また、このフィールド名を、テーブル内ではカラムと称
する)とセット名との組を関連レコード結合手段3に送
り(ステップ22,23)、異常であればエラーメッセ
ージを出力手段11に送り、終了する。
の問合せ文を入力し、問合せ文解析手段2を動作させる
。図2は問合せ文解析手段2の動作を示す流れ図である
。問合せ文解析手段2では、入力されたテーブル定義の
問合せ文の正当性をチェックし(ステップ21)、正常
であれば指定されたテーブル名,基本レコード名(テー
ブル定義の基準となるレコードで、データ構造上、テー
ブルを形成するレコードの階層ネットワークデータベー
スの最下位のレコード),及びテーブルのカラムとして
引込むフィールド名(ユニークにフィールド名を識別す
るために内部的には、フィールド番号を付加しておく。 また、このフィールド名を、テーブル内ではカラムと称
する)とセット名との組を関連レコード結合手段3に送
り(ステップ22,23)、異常であればエラーメッセ
ージを出力手段11に送り、終了する。
【0014】図3は関連レコード結合手段3の動作を示
す流れ図である。関連レコード結合手段3では、まず受
取ったフィールド名から階層ネットワーク型データベー
ススキーマファイル12をアクセスし、そのフィールド
名を含むレコード名を見つける(ステップ31)。次に
、見つけたレコードが全て含まれるような必要最小限の
レコード間のデータ構造を、階層ネットワーク型データ
ベーススキーマファイル12から取出し(ステップ32
)、セット関係を保ったまま不必要な親子従属関係を取
除くことにより木構造として表現する(ステップ33)
。
す流れ図である。関連レコード結合手段3では、まず受
取ったフィールド名から階層ネットワーク型データベー
ススキーマファイル12をアクセスし、そのフィールド
名を含むレコード名を見つける(ステップ31)。次に
、見つけたレコードが全て含まれるような必要最小限の
レコード間のデータ構造を、階層ネットワーク型データ
ベーススキーマファイル12から取出し(ステップ32
)、セット関係を保ったまま不必要な親子従属関係を取
除くことにより木構造として表現する(ステップ33)
。
【0015】ここで、その木の根は、テーブル定義の問
合せ文で指定した基本レコードとし、根から葉に向かっ
て節(子)を辿っていけば、受取ったフィールド名を含
むレコードが全て現れ、節として当該レコード、または
レコード間のデータ構造において当該レコードと親子従
属関係にあるレコード、となるように生成する。このと
き、木構造として表現できなければ、エラーメッセージ
を出力手段11に送出して終了する。
合せ文で指定した基本レコードとし、根から葉に向かっ
て節(子)を辿っていけば、受取ったフィールド名を含
むレコードが全て現れ、節として当該レコード、または
レコード間のデータ構造において当該レコードと親子従
属関係にあるレコード、となるように生成する。このと
き、木構造として表現できなければ、エラーメッセージ
を出力手段11に送出して終了する。
【0016】最後に、生成した木をレコード関連木とし
て、テーブル名,フィールド名とセット名との組,基本
レコード名,論理レコード(受取ったフィールド名のみ
を含む仮想的なレコードで、テーブルの一行に対応する
),およびレコード関連木内のレコードのエントリ条件
(アクセス手段情報であって、DIRECTエントリ,
CALCエントリ,およびINDEX エントリなど)
と共にレコード関連木記憶手段8に登録し(ステップ3
4)、その旨を出力手段11に送出する。
て、テーブル名,フィールド名とセット名との組,基本
レコード名,論理レコード(受取ったフィールド名のみ
を含む仮想的なレコードで、テーブルの一行に対応する
),およびレコード関連木内のレコードのエントリ条件
(アクセス手段情報であって、DIRECTエントリ,
CALCエントリ,およびINDEX エントリなど)
と共にレコード関連木記憶手段8に登録し(ステップ3
4)、その旨を出力手段11に送出する。
【0017】この過程を、具体例を用いて補足説明する
。図4は階層ネットワーク型データベースに定義されて
いるデータ構造の具体例を示す説明図である。図におい
て、Aレコード41と、Bレコード42と、Cレコード
43と、Dレコード44と、Eレコード45とが1スキ
ーマ内に存在し、図示したようなデータ構造である。
。図4は階層ネットワーク型データベースに定義されて
いるデータ構造の具体例を示す説明図である。図におい
て、Aレコード41と、Bレコード42と、Cレコード
43と、Dレコード44と、Eレコード45とが1スキ
ーマ内に存在し、図示したようなデータ構造である。
【0018】図5は入力手段1から入力されるテーブル
定義の問合せ文の具体例を示す説明図である。図におい
て、テーブル定義の問合せ文は、テーブル名指定部51
と、基本レコード内の不必要なフィールド名指定部52
と、基本レコードに引込むフィールド名指定部53とか
ら構成されている。この具体例で定義したテーブルは、
仮想的にテーブルイメージ54のような構造を有し、さ
らに倫理レコードとして論理レコードイメージ55を有
する。
定義の問合せ文の具体例を示す説明図である。図におい
て、テーブル定義の問合せ文は、テーブル名指定部51
と、基本レコード内の不必要なフィールド名指定部52
と、基本レコードに引込むフィールド名指定部53とか
ら構成されている。この具体例で定義したテーブルは、
仮想的にテーブルイメージ54のような構造を有し、さ
らに倫理レコードとして論理レコードイメージ55を有
する。
【0019】図6は、関連レコード結合手段3によって
生成されるレコード関連木の一具体例である。いま図5
に示すテーブル定義の問合せ文が問合せ文解析手段2で
処理されると、テーブル名として「ABCDE」、基本
レコード名として「Eレコード」、フィールド名として
「E1,E3,D2,D3,C2,C3,B1,B2,
A1,A3」およびセット名として「D−E,C−D,
B−D,A−B」が関連レコード結合手段3に送られる
。
生成されるレコード関連木の一具体例である。いま図5
に示すテーブル定義の問合せ文が問合せ文解析手段2で
処理されると、テーブル名として「ABCDE」、基本
レコード名として「Eレコード」、フィールド名として
「E1,E3,D2,D3,C2,C3,B1,B2,
A1,A3」およびセット名として「D−E,C−D,
B−D,A−B」が関連レコード結合手段3に送られる
。
【0020】関連レコード結合手段3では、図4に示し
たデータ構造を階層ネットワーク型データベーススキー
マファイル12から取出し、図6に示すようなレコード
関連木を生成し、テーブル名「ABCDE」、フィール
ド名「E1,E3,D2,D3,C2,C3,B1,B
2,A1,A3」、セット名「D−E,C−D,B−D
,A−B」、このテーブルに対応する論理レコードとし
て論理レコードイメージ54、およびDレコードのエン
トリ条件としてCALCエントリ情報と共にレコード関
連木記憶手段8に登録する。
たデータ構造を階層ネットワーク型データベーススキー
マファイル12から取出し、図6に示すようなレコード
関連木を生成し、テーブル名「ABCDE」、フィール
ド名「E1,E3,D2,D3,C2,C3,B1,B
2,A1,A3」、セット名「D−E,C−D,B−D
,A−B」、このテーブルに対応する論理レコードとし
て論理レコードイメージ54、およびDレコードのエン
トリ条件としてCALCエントリ情報と共にレコード関
連木記憶手段8に登録する。
【0021】このとき図6において、レコード関連木は
、テーブル名指定部51で指定した基本レコード(具体
例では、Eレコード)を根とし、基本レコードに引込む
フィールド名指定部53で指定したフィールドを有する
レコードを節または葉としている。また、各レコードの
関連は、図4のデータ構造で示した親子従属関係(セッ
ト関係)を保持し、基本レコードに引込むフィールド名
指定部53で指定したセット名を基に結ばれている。
、テーブル名指定部51で指定した基本レコード(具体
例では、Eレコード)を根とし、基本レコードに引込む
フィールド名指定部53で指定したフィールドを有する
レコードを節または葉としている。また、各レコードの
関連は、図4のデータ構造で示した親子従属関係(セッ
ト関係)を保持し、基本レコードに引込むフィールド名
指定部53で指定したセット名を基に結ばれている。
【0022】次に利用者は、入力手段1から検索・更新
・追加・削除要求の問合せ文を入力し、問合せ文解析手
段2を動作させる。図2を参照すると、問合せ文解析手
段2では、入力された検索・更新・追加・削除要求の問
合せ文の正当性(レコード関連木記憶手段8を参照する
ことによるテーブル名,カラム名の正当性,および構文
としての正当性)をチェックし(ステップ21)、正常
であれば問合せ文の種類により、指定されたテーブル名
,表示カラム名,および検索・更新・追加・削除条件式
を、検索条件解析手段4,更新条件解析手段5,追加要
求解析手段6,削除条件解析手段7に送り(ステップ2
2,24,25,26,27)、異常であればエラーメ
ッセージを出力手段11に送る。
・追加・削除要求の問合せ文を入力し、問合せ文解析手
段2を動作させる。図2を参照すると、問合せ文解析手
段2では、入力された検索・更新・追加・削除要求の問
合せ文の正当性(レコード関連木記憶手段8を参照する
ことによるテーブル名,カラム名の正当性,および構文
としての正当性)をチェックし(ステップ21)、正常
であれば問合せ文の種類により、指定されたテーブル名
,表示カラム名,および検索・更新・追加・削除条件式
を、検索条件解析手段4,更新条件解析手段5,追加要
求解析手段6,削除条件解析手段7に送り(ステップ2
2,24,25,26,27)、異常であればエラーメ
ッセージを出力手段11に送る。
【0023】検索条件解析手段4では、受取った検索条
件式を二項演算に分解し、条件木を生成する。本実施例
では、二項演算子として「AND」,「OR」,「=」
,「NOT=」,「>」,「<」「>=」,および「<
=」が許されている。
件式を二項演算に分解し、条件木を生成する。本実施例
では、二項演算子として「AND」,「OR」,「=」
,「NOT=」,「>」,「<」「>=」,および「<
=」が許されている。
【0024】図7は検索条件解析手段4の動作を示す流
れ図である。図を参照すると、まず受取った検索条件式
を左から右に走査し、二項演算子の内「AND」および
「OR」を見つける(ステップ71)。ここで、見つけ
た「AND」および「OR」の評価の優先順位を比較し
、優先順位の高いものがレベルが大きくなるようにし、
さらにレベルの大きいものから順次条件を評価し、その
評価結果のレベルの一つ小さいものへ渡すことにより評
価を続けると、受取った検索条件式が全て評価できるよ
うに、その条件式を木構造(条件木)として表す(ステ
ップ72)。
れ図である。図を参照すると、まず受取った検索条件式
を左から右に走査し、二項演算子の内「AND」および
「OR」を見つける(ステップ71)。ここで、見つけ
た「AND」および「OR」の評価の優先順位を比較し
、優先順位の高いものがレベルが大きくなるようにし、
さらにレベルの大きいものから順次条件を評価し、その
評価結果のレベルの一つ小さいものへ渡すことにより評
価を続けると、受取った検索条件式が全て評価できるよ
うに、その条件式を木構造(条件木)として表す(ステ
ップ72)。
【0025】このとき、優先順位の等しい「AND」ま
たは「OR」があれば、1つの節としてまとめる。また
、「AND」および「OR」が1つもないときには、仮
想的に「AND」が1つあるものとして処理する。
たは「OR」があれば、1つの節としてまとめる。また
、「AND」および「OR」が1つもないときには、仮
想的に「AND」が1つあるものとして処理する。
【0026】次に受取った検索条件式を再度左から右に
走査し、二項演算子の内「AND」および「OR」以外
の二項演算子すなわち「=」,「NOT=」,「>」,
「<」「>=」,および「<=」を見つけ(ステップ7
3)、上記二項演算子の両辺を取出す。当該二項演算子
は、根のラベルが見つけ出された二項演算子であり、そ
の根は孫(子の子)を持たない2つの子を有し、左の子
のラベルを条件が指定されたフィールド名、右の子のラ
ベルを指定された定数とする部分木を生成する。前記条
件木の対応する(その比較結果を評価する「AND」ま
たは「OR」の)節の下に上記部分木を付加する(ステ
ップ74)。検索条件式を走査し終わったならば、生成
された条件木,表示カラム名,およびテーブル名をアク
セスモジュール生成手段9に送出する。
走査し、二項演算子の内「AND」および「OR」以外
の二項演算子すなわち「=」,「NOT=」,「>」,
「<」「>=」,および「<=」を見つけ(ステップ7
3)、上記二項演算子の両辺を取出す。当該二項演算子
は、根のラベルが見つけ出された二項演算子であり、そ
の根は孫(子の子)を持たない2つの子を有し、左の子
のラベルを条件が指定されたフィールド名、右の子のラ
ベルを指定された定数とする部分木を生成する。前記条
件木の対応する(その比較結果を評価する「AND」ま
たは「OR」の)節の下に上記部分木を付加する(ステ
ップ74)。検索条件式を走査し終わったならば、生成
された条件木,表示カラム名,およびテーブル名をアク
セスモジュール生成手段9に送出する。
【0027】この過程を、具体例を用いて補足説明する
。図8は検索要求の問合せ文の具体例を示す説明図であ
る。図において、検索要求の問合せ文は、表示カラム名
指定部81と、テーブル名指定部82と、検索条件指定
部83とから構成される。
。図8は検索要求の問合せ文の具体例を示す説明図であ
る。図において、検索要求の問合せ文は、表示カラム名
指定部81と、テーブル名指定部82と、検索条件指定
部83とから構成される。
【0028】図9は検索条件解析手段4の処理結果とし
て生成される条件木の具体例を示す説明図である。図に
おいて、条件木は条件木の根91と、ラベルが二項演算
子であり必ず子を持つ節92と、ラベルがフィールド名
であり子を持たない節(葉)93と、ラベルが検索条件
指定部83で指定された定数であり子を持たない節94
とから構成されている。
て生成される条件木の具体例を示す説明図である。図に
おいて、条件木は条件木の根91と、ラベルが二項演算
子であり必ず子を持つ節92と、ラベルがフィールド名
であり子を持たない節(葉)93と、ラベルが検索条件
指定部83で指定された定数であり子を持たない節94
とから構成されている。
【0029】図8に示す検索要求の問合せ文が、問合せ
文解析手段2で処理されると、テーブル名として「AB
CDE」,表示カラム名として「A3,B1,C2,D
2,E3」,検索条件式として「A1>0 AND(
(B2<0 ANDD3=6)OR E1=”A”
)AND C2=0 AND A3>100 」
が、検索条件解析手段4に送出される。検索条件解析手
段4では、受取った上記検索条件式を走査し条件木を生
成する。ここで生成された条件木は、テーブル名「AB
CDE」,表示カラム名「A3,B1,C2,D2,E
3」と共にアクセスモジュール生成手段9に送出される
。
文解析手段2で処理されると、テーブル名として「AB
CDE」,表示カラム名として「A3,B1,C2,D
2,E3」,検索条件式として「A1>0 AND(
(B2<0 ANDD3=6)OR E1=”A”
)AND C2=0 AND A3>100 」
が、検索条件解析手段4に送出される。検索条件解析手
段4では、受取った上記検索条件式を走査し条件木を生
成する。ここで生成された条件木は、テーブル名「AB
CDE」,表示カラム名「A3,B1,C2,D2,E
3」と共にアクセスモジュール生成手段9に送出される
。
【0030】図10はアクセスモジュール生成手段9の
動作を示す流れ図であり、図11および図12は再帰的
実行ステップ1003の動作を示す流れ図である。また
、図13はアクセスモジュール生成手段9によって生成
されるアクセスモジュールの一例であり、検索走査記述
部1201と、AND条件記述部1202と、OR条件
記述部1203と、論理レコード操作記述部1204と
、論理レコード条件記述部1205とから構成されてい
る。
動作を示す流れ図であり、図11および図12は再帰的
実行ステップ1003の動作を示す流れ図である。また
、図13はアクセスモジュール生成手段9によって生成
されるアクセスモジュールの一例であり、検索走査記述
部1201と、AND条件記述部1202と、OR条件
記述部1203と、論理レコード操作記述部1204と
、論理レコード条件記述部1205とから構成されてい
る。
【0031】図10を参照すると、アクセスモジュール
生成手段9では、まず受取ったテーブル名からレコード
関連木記憶手段8をアクセスし、そのテーブルに対応す
るレコード関連木を読込み、アクセスモジュール生成木
(アクセスモジュールを生成するのに基となる木)とす
る(ステップ1001)。次に、受取った条件木を読込
み、条件木全体を部分木として取扱い(ステップ100
2)、これをアーギュメントとして再帰的実行ステップ
1003を呼出す。
生成手段9では、まず受取ったテーブル名からレコード
関連木記憶手段8をアクセスし、そのテーブルに対応す
るレコード関連木を読込み、アクセスモジュール生成木
(アクセスモジュールを生成するのに基となる木)とす
る(ステップ1001)。次に、受取った条件木を読込
み、条件木全体を部分木として取扱い(ステップ100
2)、これをアーギュメントとして再帰的実行ステップ
1003を呼出す。
【0032】再帰的実行ステップ1003では、まず条
件木の部分木の根のラベルが「AND」であるかチェッ
クする(ステップ1101)。「AND」であれば、次
にステップ1102を実行し、「OR」であれば次にス
テップ1108を実行する。「AND」であれば、まだ
処理していない根の子(部分木の根の子は左から処理す
る)があるか否かをチェックする(ステップ1102)
。もし上記根の子があれば、次にステップ1103を実
行し、上記根の子がなければ、再帰的実行ステップ10
03の呼出し元に復帰する。
件木の部分木の根のラベルが「AND」であるかチェッ
クする(ステップ1101)。「AND」であれば、次
にステップ1102を実行し、「OR」であれば次にス
テップ1108を実行する。「AND」であれば、まだ
処理していない根の子(部分木の根の子は左から処理す
る)があるか否かをチェックする(ステップ1102)
。もし上記根の子があれば、次にステップ1103を実
行し、上記根の子がなければ、再帰的実行ステップ10
03の呼出し元に復帰する。
【0033】次に、まだ処理していない根の子のラベル
が「AND」および「OR」以外の二項演算子であるか
否かをチェックする(ステップ1103)。「AND」
および「OR」以外の二項演算子であれば、ステップ1
104を実行し、「AND」または「OR」であれば、
ステップ1106を実行する。
が「AND」および「OR」以外の二項演算子であるか
否かをチェックする(ステップ1103)。「AND」
および「OR」以外の二項演算子であれば、ステップ1
104を実行し、「AND」または「OR」であれば、
ステップ1106を実行する。
【0034】「AND」および「OR」以外の二項演算
子であるとき、まだ処理しいていない根の子の子(根の
孫)のラベル(子のラベルが「AND」および「OR」
以外の二項演算子であるので、孫の左のラベルは条件が
指定されたフィールド名であり、孫の右のラベルは指定
された定数である)を持つレコードに対応する節をアク
セスモジュール生成木より見つける(ステップ1104
)。
子であるとき、まだ処理しいていない根の子の子(根の
孫)のラベル(子のラベルが「AND」および「OR」
以外の二項演算子であるので、孫の左のラベルは条件が
指定されたフィールド名であり、孫の右のラベルは指定
された定数である)を持つレコードに対応する節をアク
セスモジュール生成木より見つける(ステップ1104
)。
【0035】次に、当該アクセスモジュールの生成木内
の節にラベルが「条件AND」である子が存在するか否
かを調べる。上記子が存在しなければ新たに付加し、そ
の子の下に現在処理中の条件木内の二項演算子を親とす
る部分木(現在処理中の条件木の部分木の根の子を親と
する部分木)を新たに付加する(ステップ1105)。
の節にラベルが「条件AND」である子が存在するか否
かを調べる。上記子が存在しなければ新たに付加し、そ
の子の下に現在処理中の条件木内の二項演算子を親とす
る部分木(現在処理中の条件木の部分木の根の子を親と
する部分木)を新たに付加する(ステップ1105)。
【0036】その後、ステップ1102から実行を繰返
す。 ステップ1103でまだ処理していない根の子のラベル
が「AND」または「OR」であれば、部分木の根の子
のラベルが「AND」であるか否かをチェックする(ス
テップ1106)。「AND」であれば、ここで再度、
現在処理中の条件木の部分木の子を親とする部分木をア
ーギュメントとして、再帰的実行ステップ1003を呼
出し(ステップ1107)、ステップ1003からの復
帰後ステップ1102を実行する。
す。 ステップ1103でまだ処理していない根の子のラベル
が「AND」または「OR」であれば、部分木の根の子
のラベルが「AND」であるか否かをチェックする(ス
テップ1106)。「AND」であれば、ここで再度、
現在処理中の条件木の部分木の子を親とする部分木をア
ーギュメントとして、再帰的実行ステップ1003を呼
出し(ステップ1107)、ステップ1003からの復
帰後ステップ1102を実行する。
【0037】現在処理中の部分木の根の子のラベルが「
AND」でないとき、および部分木の根のラベルが「A
ND」でないとき、現在着目している条件木の節を親と
する部分木を走査して「AND」および「OR」以外の
二項演算子をラベルとする部分木を全て取出す(ステッ
プ1108)。取出した全ての部分木について、その根
の子のラベル(フィールド名)を持つレコードに対応す
る節をアクセスモジュール生成木より見つける(ステッ
プ1109)。
AND」でないとき、および部分木の根のラベルが「A
ND」でないとき、現在着目している条件木の節を親と
する部分木を走査して「AND」および「OR」以外の
二項演算子をラベルとする部分木を全て取出す(ステッ
プ1108)。取出した全ての部分木について、その根
の子のラベル(フィールド名)を持つレコードに対応す
る節をアクセスモジュール生成木より見つける(ステッ
プ1109)。
【0038】次に、見つけたアクセスモジュール生成木
内の節にラベルが「条件OR」である子が存在するか否
かを調べて、なければ新たに付加し、その下に上記取出
した部分木を付加する(ステップ1110)。
内の節にラベルが「条件OR」である子が存在するか否
かを調べて、なければ新たに付加し、その下に上記取出
した部分木を付加する(ステップ1110)。
【0039】上記取出した部分木を全て付加したならば
、アクセスモジュール生成木の根の子の中にラベルが「
論理レコード」である子が存在するか否かを調べる。 上記子が存在しなければアクセスモジュール生成木の根
に新たにラベルを「論理レコード」とする子を左端に付
加する(ステップ1111)。
、アクセスモジュール生成木の根の子の中にラベルが「
論理レコード」である子が存在するか否かを調べる。 上記子が存在しなければアクセスモジュール生成木の根
に新たにラベルを「論理レコード」とする子を左端に付
加する(ステップ1111)。
【0040】次に上記ラベルを「論理レコード」とする
節に子が存在するか否かを調べる(ステップ1112)
。上記子が存在しなければ、現在着目しているラベルを
「OR」とする節を親とする条件木の部分木をその下に
付加し(ステップ1116)、ステップ1117を実行
する。
節に子が存在するか否かを調べる(ステップ1112)
。上記子が存在しなければ、現在着目しているラベルを
「OR」とする節を親とする条件木の部分木をその下に
付加し(ステップ1116)、ステップ1117を実行
する。
【0041】上記子が存在すれば、上記ラベルを「論理
レコード」とする節の子に対応する条件木内でのレベル
をnとし、現在着目しているラベルを「OR」とする部
分木内の節に対応する条件木内でのレベルをmとすると
、n<mのときにk=n−1,n=mのときにk=n−
1,n>mのときにk=m−1とし、条件木内でレベル
がkの節を親とし、上記2つの節を含む部分木を見つけ
る。もし、見つからないときには、k=k−1として、
見つかるまで繰返す(ステップ1113)。
レコード」とする節の子に対応する条件木内でのレベル
をnとし、現在着目しているラベルを「OR」とする部
分木内の節に対応する条件木内でのレベルをmとすると
、n<mのときにk=n−1,n=mのときにk=n−
1,n>mのときにk=m−1とし、条件木内でレベル
がkの節を親とし、上記2つの節を含む部分木を見つけ
る。もし、見つからないときには、k=k−1として、
見つかるまで繰返す(ステップ1113)。
【0042】さらに、見つけた部分木の親から上記2つ
の節までの木構造上での親子関係では、子が1つしか存
在しないように他の子を切捨てた部分木を生成し(ステ
ップ1114)、この部分木を上記ラベルを「論理レコ
ード」とする節の下に付加するか、または既に子が存在
していれば置換える(ステップ1115)。
の節までの木構造上での親子関係では、子が1つしか存
在しないように他の子を切捨てた部分木を生成し(ステ
ップ1114)、この部分木を上記ラベルを「論理レコ
ード」とする節の下に付加するか、または既に子が存在
していれば置換える(ステップ1115)。
【0043】最後に、付加または置換えた上記の部分木
から、「AND」および「OR」以外の二項演算子をラ
ベルに持つ節、および検索条件式で指定した定数をラベ
ルに持つ節を取除き(ステップ1117)、ステップ1
102から実行を繰返す。再帰的実行ステップ1003
の実行が全て終了したら、ステップ1004が実行され
る。
から、「AND」および「OR」以外の二項演算子をラ
ベルに持つ節、および検索条件式で指定した定数をラベ
ルに持つ節を取除き(ステップ1117)、ステップ1
102から実行を繰返す。再帰的実行ステップ1003
の実行が全て終了したら、ステップ1004が実行され
る。
【0044】まず出来上がったアクセスモジュール生成
木を走査し、ラベルがレコード名となっている節で、そ
の節の子にラベルが「条件AND」である子が存在し、
さらに上記子の子(ラベルがレコード名となっている節
の孫)の中でラベルが「=」である子が存在する節(レ
コード名)を見つける(ステップ1004)。
木を走査し、ラベルがレコード名となっている節で、そ
の節の子にラベルが「条件AND」である子が存在し、
さらに上記子の子(ラベルがレコード名となっている節
の孫)の中でラベルが「=」である子が存在する節(レ
コード名)を見つける(ステップ1004)。
【0045】次にレコード関連木記憶手段8から見つけ
たレコードのエントリ条件を検索し、CALC,IND
EX ,DIRECTなどアクセスするのに有効なエン
トリ条件を持つレコードを列挙する(ステップ1005
)。そのうちの最もレベル(アクセスモジュール生成木
内でのレベル)の小さな節(レコード)をエントリポイ
ント(アクセスモジュールの開始点)とし、上記節にラ
ベルを「操作」とする子を付加し、さらにその下にエン
トリ条件をラベルに持つ節を付加する(ステップ100
6)。
たレコードのエントリ条件を検索し、CALC,IND
EX ,DIRECTなどアクセスするのに有効なエン
トリ条件を持つレコードを列挙する(ステップ1005
)。そのうちの最もレベル(アクセスモジュール生成木
内でのレベル)の小さな節(レコード)をエントリポイ
ント(アクセスモジュールの開始点)とし、上記節にラ
ベルを「操作」とする子を付加し、さらにその下にエン
トリ条件をラベルに持つ節を付加する(ステップ100
6)。
【0046】上記当該節が存在しなければ、アクセスモ
ジュール生成木の根(基本レコードに対応する節)をエ
ントリポイントとし、ラベルを「操作」とする子を付加
し、その下にラベルとしてエントリ条件の「SCAN」
(全体走査)を持つ節を付加する(ステップ1007)
。
ジュール生成木の根(基本レコードに対応する節)をエ
ントリポイントとし、ラベルを「操作」とする子を付加
し、その下にラベルとしてエントリ条件の「SCAN」
(全体走査)を持つ節を付加する(ステップ1007)
。
【0047】次に、アクセスモジュール生成木でエント
リポイントにならなかった他のレコードに対応する節(
ラベルが「論理レコード」である節も含む)に、エント
リポイントを基準として木構造上の親子関係を辿り、レ
ベルが大きくなればラベルを「操作」とする子およびそ
の下にラベルとしてエントリ条件の「OWNER」を持
つ節を付加し、レベルが小さくなればラベルを「操作」
とする子およびその下にラベルとしてエントリ条件の「
MEMBER」を持つ節を付加する(ステップ1008
)。アクセスモジュール生成木内のレコードに対応する
全ての節を走査すれば、アクセスモジュール生成木が完
成する。
リポイントにならなかった他のレコードに対応する節(
ラベルが「論理レコード」である節も含む)に、エント
リポイントを基準として木構造上の親子関係を辿り、レ
ベルが大きくなればラベルを「操作」とする子およびそ
の下にラベルとしてエントリ条件の「OWNER」を持
つ節を付加し、レベルが小さくなればラベルを「操作」
とする子およびその下にラベルとしてエントリ条件の「
MEMBER」を持つ節を付加する(ステップ1008
)。アクセスモジュール生成木内のレコードに対応する
全ての節を走査すれば、アクセスモジュール生成木が完
成する。
【0048】最後に、完成したアクセスモジュール生成
木のエントリポイントから始めて、ラベルとしてレコー
ド名を持つ節のみに着目し、右端の子から始めてレベル
優先(複数の子が存在したとき、隣の子を処理する前に
その子の子を先に処理する)で走査し、アクセスモジュ
ールを生成する(ステップ1009)。
木のエントリポイントから始めて、ラベルとしてレコー
ド名を持つ節のみに着目し、右端の子から始めてレベル
優先(複数の子が存在したとき、隣の子を処理する前に
その子の子を先に処理する)で走査し、アクセスモジュ
ールを生成する(ステップ1009)。
【0049】図13はアクセスモジュールの一例を示す
説明図である。図を参照すると、アクセスモジュールは
、検索操作記述部1201と、AND条件記述部120
2と、OR条件記述部1203と、論理レコード操作記
述部1204と、論理レコード条件記述部1205とか
ら構成されている。
説明図である。図を参照すると、アクセスモジュールは
、検索操作記述部1201と、AND条件記述部120
2と、OR条件記述部1203と、論理レコード操作記
述部1204と、論理レコード条件記述部1205とか
ら構成されている。
【0050】図10におけるステップ1009では、ラ
ベルが「操作」である子の子をアクセスモジュールの検
索操作記述部1201へ書写す。このとき、AND条件
記述部1202内の条件を満たさなかったとき、次に実
行すべきアクセスモジュールは、エントリ条件がOWN
ERなどは一つ手前のもの、MEMBERなどは自分自
身となるが、その指示も同時に検索操作記述部1201
へ書写す。
ベルが「操作」である子の子をアクセスモジュールの検
索操作記述部1201へ書写す。このとき、AND条件
記述部1202内の条件を満たさなかったとき、次に実
行すべきアクセスモジュールは、エントリ条件がOWN
ERなどは一つ手前のもの、MEMBERなどは自分自
身となるが、その指示も同時に検索操作記述部1201
へ書写す。
【0051】さらに、同ステップでは、「条件AND」
である子の子のアクセスモジュールのAND条件記述部
1202へ書写し、「条件OR」である子の子をアクセ
スモジュールのOR条件記述部1203へ書写す。
である子の子のアクセスモジュールのAND条件記述部
1202へ書写し、「条件OR」である子の子をアクセ
スモジュールのOR条件記述部1203へ書写す。
【0052】また、ラベルとしてレコード名が「論理レ
コード」である節であれば、ラベルが「操作」である子
の子をアクセスモジュールの論理レコード操作記述部1
204へ書写し、他の一つの子を親とする部分木(条件
木)をアクセスモジュールの論理レコード条件記述部1
205へ書写す。
コード」である節であれば、ラベルが「操作」である子
の子をアクセスモジュールの論理レコード操作記述部1
204へ書写し、他の一つの子を親とする部分木(条件
木)をアクセスモジュールの論理レコード条件記述部1
205へ書写す。
【0053】そして、走査した順番にアクセスモジュー
ルを並べれば、階層ネットワーク型データベースファイ
ル13をアクセスするアクセスモジュールの並びが得ら
れる。そこで、これをアクセスモジュール実行手段10
に送出する。
ルを並べれば、階層ネットワーク型データベースファイ
ル13をアクセスするアクセスモジュールの並びが得ら
れる。そこで、これをアクセスモジュール実行手段10
に送出する。
【0054】アクセスモジュール生成手段9の過程を図
14に示すアクセスモジュール生成木の一具体例を用い
て補足説明する。アクセスモジュール生成木は、最初ラ
ベルがレコード名である節1301のみからなる(ステ
ップ1001)。次に、図9の条件木から、まずラベル
が「条件AND」であり、節1304と、ラベルが「A
ND」および「OR」以外の二項演算子であり必ず子を
持つ節1305と、ラベルがフィールド名であり子を持
たない節1306と、ラベルが検索条件指定部83で指
定された定数であり子を持たない節1307とがCレコ
ードに対応する節の下に付加される(ステップ1104
および1105)。
14に示すアクセスモジュール生成木の一具体例を用い
て補足説明する。アクセスモジュール生成木は、最初ラ
ベルがレコード名である節1301のみからなる(ステ
ップ1001)。次に、図9の条件木から、まずラベル
が「条件AND」であり、節1304と、ラベルが「A
ND」および「OR」以外の二項演算子であり必ず子を
持つ節1305と、ラベルがフィールド名であり子を持
たない節1306と、ラベルが検索条件指定部83で指
定された定数であり子を持たない節1307とがCレコ
ードに対応する節の下に付加される(ステップ1104
および1105)。
【0055】同様にAレコードに対応する節の下にも、
ラベルが「条件AND」である節を親とする部分木が付
加される(ステップ1104および1105)。図9の
条件木の「OR」を親とする部分木は、Eレコード,D
レコード,およびBレコードに対応する節の下に、ラベ
ルを「条件OR」とする節と共に付加され(ステップ1
108,ステップ1109,およびステップ1110)
、同時に、ラベルを「論理レコード」とする節1309
が根の下に付加され(ステップ1111)、「AND」
および「OR」以外の二項演算子と定数を取除いた部分
木1310がその下に付加される(ステップ1112,
ステップ1116,およびステップ1117)。
ラベルが「条件AND」である節を親とする部分木が付
加される(ステップ1104および1105)。図9の
条件木の「OR」を親とする部分木は、Eレコード,D
レコード,およびBレコードに対応する節の下に、ラベ
ルを「条件OR」とする節と共に付加され(ステップ1
108,ステップ1109,およびステップ1110)
、同時に、ラベルを「論理レコード」とする節1309
が根の下に付加され(ステップ1111)、「AND」
および「OR」以外の二項演算子と定数を取除いた部分
木1310がその下に付加される(ステップ1112,
ステップ1116,およびステップ1117)。
【0056】エントリポイントについては、Dレコード
がCALCレコードであり、検索条件指定部83に「=
」で条件が指定してあるが(ステップ1004)、図9
の条件木の「OR」を親とする部分木にその条件が含ま
れるため有効なエントリポイントとはならない(ステッ
プ1005)。したがって、エントリポイントとしては
、Eレコードが選ばれ、ラベルが「操作」である節13
02と共にラベルが検索条件「SCAN」である節13
03が付加される(ステップ1007)。Eレコードを
基準とすると、他のレコードは全てエントリー条件とし
て「OWNER」が付加される(ステップ1008)。
がCALCレコードであり、検索条件指定部83に「=
」で条件が指定してあるが(ステップ1004)、図9
の条件木の「OR」を親とする部分木にその条件が含ま
れるため有効なエントリポイントとはならない(ステッ
プ1005)。したがって、エントリポイントとしては
、Eレコードが選ばれ、ラベルが「操作」である節13
02と共にラベルが検索条件「SCAN」である節13
03が付加される(ステップ1007)。Eレコードを
基準とすると、他のレコードは全てエントリー条件とし
て「OWNER」が付加される(ステップ1008)。
【0057】アクセスモジュール実行手段10では、ア
クセスモジュール生成手段9から受取ったアクセスモジ
ュールの並びを順次実行する。
クセスモジュール生成手段9から受取ったアクセスモジ
ュールの並びを順次実行する。
【0058】図15はアクセスモジュール実行手段10
の動作を示す流れ図である。図を参照すると、アクセス
モジュール実行手段10では、検索操作記述部1201
を見てレコードをアクセスし(ステップ1405)、ア
クセスしたレコード内のフィールドについてAND条件
記述部1202とOR条件記述部1203との内部の条
件を評価していく(ステップ1406およびステップ1
407)。
の動作を示す流れ図である。図を参照すると、アクセス
モジュール実行手段10では、検索操作記述部1201
を見てレコードをアクセスし(ステップ1405)、ア
クセスしたレコード内のフィールドについてAND条件
記述部1202とOR条件記述部1203との内部の条
件を評価していく(ステップ1406およびステップ1
407)。
【0059】ここで、OR条件記述部1203の内部の
評価結果は、論理レコード内に書込まれ(ステップ14
07)、論理レコード条件記述部1205で評価される
(ステップ1404)。
評価結果は、論理レコード内に書込まれ(ステップ14
07)、論理レコード条件記述部1205で評価される
(ステップ1404)。
【0060】受取ったアクセスモジュールの並びを全て
実行し終わると(ステップ1408)、検索要求の問合
せ文内の条件を満たす論理レコードが得られる。実際に
は、検索操作記述部1201内にカレントデータベース
キー値を出力するように指示されていれば、内部的にカ
レントデータベースキー値を記憶していくので、基本レ
コードのデータベースキーの集合が得られる。最後に、
レコード件数などを出力手段11に送る。
実行し終わると(ステップ1408)、検索要求の問合
せ文内の条件を満たす論理レコードが得られる。実際に
は、検索操作記述部1201内にカレントデータベース
キー値を出力するように指示されていれば、内部的にカ
レントデータベースキー値を記憶していくので、基本レ
コードのデータベースキーの集合が得られる。最後に、
レコード件数などを出力手段11に送る。
【0061】利用者が検索したレコードの中身を表示し
たければ、再度入力手段1からレコードイメージ表示の
問合せ文を入力する。以後の動作は、上記説明した検索
時とほぼ同じであるが、既に論理レコード(基本レコー
ド)のデータベースキー値が得られているので、エント
リ条件としては最も有効なエントリ条件「DIRECT
」が適用でき、アクセスモジュール生成木のエントリポ
イントは基本レコードとし、ラベルを「操作」とする子
の下に付加される節はラベルとしてエントリ条件の「D
IRECT」を持ち、他のレコードに対応する節ではラ
ベルを「操作」とする子の下に付加される節はラベルと
してエントリ条件の「OWNER」を持つように生成さ
れる。
たければ、再度入力手段1からレコードイメージ表示の
問合せ文を入力する。以後の動作は、上記説明した検索
時とほぼ同じであるが、既に論理レコード(基本レコー
ド)のデータベースキー値が得られているので、エント
リ条件としては最も有効なエントリ条件「DIRECT
」が適用でき、アクセスモジュール生成木のエントリポ
イントは基本レコードとし、ラベルを「操作」とする子
の下に付加される節はラベルとしてエントリ条件の「D
IRECT」を持ち、他のレコードに対応する節ではラ
ベルを「操作」とする子の下に付加される節はラベルと
してエントリ条件の「OWNER」を持つように生成さ
れる。
【0062】また、条件の評価を行う必要がないので、
ラベルが「条件AND」,「条件OR」,および「論理
レコード」となる節は生成されない。このようにして生
成されたアクセスモジュールの並びを順次実行し、表示
フィールドをアクセスしたらその内容をUWA等へ出力
すれば、論理レコードイメージが得られる。
ラベルが「条件AND」,「条件OR」,および「論理
レコード」となる節は生成されない。このようにして生
成されたアクセスモジュールの並びを順次実行し、表示
フィールドをアクセスしたらその内容をUWA等へ出力
すれば、論理レコードイメージが得られる。
【0063】以上、検索について説明してきたが、更新
・追加・削除についても同様に行うことができる。次に
、更新・追加・削除について、検索時との差を中心に説
明する。
・追加・削除についても同様に行うことができる。次に
、更新・追加・削除について、検索時との差を中心に説
明する。
【0064】図16は更新要求の問合せ文の具体例を示
す説明図である。図において更新要求の問合せ文は、テ
ーブル名指定部1501と、更新内容指定部1502と
、検索条件式1503とから構成されている。
す説明図である。図において更新要求の問合せ文は、テ
ーブル名指定部1501と、更新内容指定部1502と
、検索条件式1503とから構成されている。
【0065】図17は更新要求時にアクセスモジュール
生成手段9で生成されるアクセスモジュールの検索要求
時との違いを示す具体例の説明図である。図において、
当該アクセスモジュールは、論理レコード操作記述部1
601と、論理レコード条件記述部1602と、論理レ
コード更新内容記述部1603とから構成される。
生成手段9で生成されるアクセスモジュールの検索要求
時との違いを示す具体例の説明図である。図において、
当該アクセスモジュールは、論理レコード操作記述部1
601と、論理レコード条件記述部1602と、論理レ
コード更新内容記述部1603とから構成される。
【0066】利用者が入力手段1から更新要求の問合せ
文を入力すると、問合せ文解析手段2で入力された更新
要求の問合せ文の正当性をチェックし(ステップ21)
、正常であれば指定されたテーブル名と、更新カラム(
フィールド)名と、更新内容と、検索条件式とを更新条
件解析手段5に送り(ステップ22およびステップ25
)、異常であればエラーメッセージを出力手段11に送
出する。
文を入力すると、問合せ文解析手段2で入力された更新
要求の問合せ文の正当性をチェックし(ステップ21)
、正常であれば指定されたテーブル名と、更新カラム(
フィールド)名と、更新内容と、検索条件式とを更新条
件解析手段5に送り(ステップ22およびステップ25
)、異常であればエラーメッセージを出力手段11に送
出する。
【0067】更新条件解析手段5では、検索条件解析手
段4と同様に検索条件式から条件木を生成し、当該条件
木と、テーブル名と、更新カラム(フィールド)名と、
更新内容とをアクセスモジュール生成手段9に送出する
。
段4と同様に検索条件式から条件木を生成し、当該条件
木と、テーブル名と、更新カラム(フィールド)名と、
更新内容とをアクセスモジュール生成手段9に送出する
。
【0068】アクセスモジュール生成手段9では、検索
要求時と同様にアクセスモジュールを生成するが、図1
7に示すように論理レコード操作において、更新内容を
記述した論理レコード更新内容記述部1603を付加す
る(ステップ1009)。
要求時と同様にアクセスモジュールを生成するが、図1
7に示すように論理レコード操作において、更新内容を
記述した論理レコード更新内容記述部1603を付加す
る(ステップ1009)。
【0069】アクセスモジュール生成手段10では、検
索要求時と同様にアクセスモジュールを順次実行するが
論理レコード操作において、検索条件式を満足するレコ
ードのカラムが更新される。このとき、当該レコードの
他のカラム(テーブルとして論理レコード内に登録され
ていないカラム、およびテーブルとして論理レコード内
に登録されているが、更新内容指定部1502で指定さ
れていないカラム)は、更新しない。
索要求時と同様にアクセスモジュールを順次実行するが
論理レコード操作において、検索条件式を満足するレコ
ードのカラムが更新される。このとき、当該レコードの
他のカラム(テーブルとして論理レコード内に登録され
ていないカラム、およびテーブルとして論理レコード内
に登録されているが、更新内容指定部1502で指定さ
れていないカラム)は、更新しない。
【0070】図18は追加要求の問合せ文の具体例を示
す説明図である。図において、追加要求の問合せ文は、
テーブル名指定部1701と、追加内容指定部1702
とから構成されている。
す説明図である。図において、追加要求の問合せ文は、
テーブル名指定部1701と、追加内容指定部1702
とから構成されている。
【0071】図19は追加要求時にアクセスモジュール
生成手段9で生成されるアクセスモジュールの検索要求
時との違いを示す具体例の説明図である。図において、
当該アクセスモジュールは、論理レコード操作記述部1
801と、論理レコード条件記述部1802と、論理レ
コード追加内容記述部1803とから構成される。
生成手段9で生成されるアクセスモジュールの検索要求
時との違いを示す具体例の説明図である。図において、
当該アクセスモジュールは、論理レコード操作記述部1
801と、論理レコード条件記述部1802と、論理レ
コード追加内容記述部1803とから構成される。
【0072】利用者が入力手段1から追加要求の問合せ
文を入力すると、問合せ文解析手段2で入力された追加
要求の問合せ文の正当性をチェックし(ステップ21)
、正常であれば指定されたテーブル名と、追加カラム(
フィールド)名と、追加内容とを追加要求解析手段6に
送り(ステップ22およびステップ26)、異常であれ
ばエラーメッセージを出力手段11に送出する。本実施
例では、追加内容指定部1702には、必ず基本レコー
ド内のカラムを指定することとする。
文を入力すると、問合せ文解析手段2で入力された追加
要求の問合せ文の正当性をチェックし(ステップ21)
、正常であれば指定されたテーブル名と、追加カラム(
フィールド)名と、追加内容とを追加要求解析手段6に
送り(ステップ22およびステップ26)、異常であれ
ばエラーメッセージを出力手段11に送出する。本実施
例では、追加内容指定部1702には、必ず基本レコー
ド内のカラムを指定することとする。
【0073】追加要求解析手段6では、検索条件解析手
段4と同様に追加内容を検索条件とみなして条件木を生
成し、当該条件木と、テーブル名と、追加カラム(フィ
ールド)名と、追加内容とをアクセスモジュール生成手
段9に送出する。
段4と同様に追加内容を検索条件とみなして条件木を生
成し、当該条件木と、テーブル名と、追加カラム(フィ
ールド)名と、追加内容とをアクセスモジュール生成手
段9に送出する。
【0074】アクセスモジュール生成手段9では、検索
要求時と同様にアクセスモジュールを生成するが、図1
9に示すように論理レコード操作において、追加内容を
記述した論理レコード更新内容記述部1803を付加す
る(ステップ1009)。
要求時と同様にアクセスモジュールを生成するが、図1
9に示すように論理レコード操作において、追加内容を
記述した論理レコード更新内容記述部1803を付加す
る(ステップ1009)。
【0075】アクセスモジュール生成手段10では、検
索要求時と同様にアクセスモジュールを順次実行するが
論理レコード操作において、追加内容指定部1702で
指定した全ての追加内容を満足する基本レコードがある
か否かをチェックする。もし存在すれば、基本レコード
に当該追加内容の基本レコードを追加する。
索要求時と同様にアクセスモジュールを順次実行するが
論理レコード操作において、追加内容指定部1702で
指定した全ての追加内容を満足する基本レコードがある
か否かをチェックする。もし存在すれば、基本レコード
に当該追加内容の基本レコードを追加する。
【0076】このとき、基本レコードの他のカラム(テ
ーブルとして論理レコード内に登録されていないカラム
、およびテーブルとして論理レコード内に登録されてい
るが、追加内容指定部1702で指定されていないカラ
ム)には、NULL値(値が不定であるという値)を設
定しておく。存在しないときは、データ構造上で基本レ
コードの先祖(親を辿ると現れるレコード)にあたるレ
コードで、なおかつ最も基本レコードに近い(親を辿っ
ていくとき、現れるのが速い)レコードのうち、追加内
容指定部1702で指定した追加内容を満足するカラム
をもつレコードを見つけ、当該レコードの子孫(子を辿
ると現れるレコード)として新たに追加内容指定部17
02で指定した追加内容のカラムをもつレコードを追加
する。
ーブルとして論理レコード内に登録されていないカラム
、およびテーブルとして論理レコード内に登録されてい
るが、追加内容指定部1702で指定されていないカラ
ム)には、NULL値(値が不定であるという値)を設
定しておく。存在しないときは、データ構造上で基本レ
コードの先祖(親を辿ると現れるレコード)にあたるレ
コードで、なおかつ最も基本レコードに近い(親を辿っ
ていくとき、現れるのが速い)レコードのうち、追加内
容指定部1702で指定した追加内容を満足するカラム
をもつレコードを見つけ、当該レコードの子孫(子を辿
ると現れるレコード)として新たに追加内容指定部17
02で指定した追加内容のカラムをもつレコードを追加
する。
【0077】レコードの追加にあたっては、テーブル定
義でセット関係を指定し、なおかつ追加内容指定部17
02で指定しなかったカラムをもつレコードが、データ
構造上存在するときは、カラム値が全てNULL値とな
るレコードを追加した後、その子として前記追加内容指
定部1702で指定した追加内容のカラムをもつレコー
ドを追加する。
義でセット関係を指定し、なおかつ追加内容指定部17
02で指定しなかったカラムをもつレコードが、データ
構造上存在するときは、カラム値が全てNULL値とな
るレコードを追加した後、その子として前記追加内容指
定部1702で指定した追加内容のカラムをもつレコー
ドを追加する。
【0078】図20は削除要求の問合せ文の具体例を示
す説明図である。図において、削除要求の問合せ文は、
テーブル名指定部1901と、削除内容指定部1902
とから構成されている。
す説明図である。図において、削除要求の問合せ文は、
テーブル名指定部1901と、削除内容指定部1902
とから構成されている。
【0079】図21は削除要求時にアクセスモジュール
生成手段9で生成されるアクセスモジュールの検索要求
時との違いを示す具体例の説明図である。図において、
当該アクセスモジュールは、論理レコード操作記述部2
001と、論理レコード条件記述部2002と、論理レ
コード削除内容記述部2003とから構成される。
生成手段9で生成されるアクセスモジュールの検索要求
時との違いを示す具体例の説明図である。図において、
当該アクセスモジュールは、論理レコード操作記述部2
001と、論理レコード条件記述部2002と、論理レ
コード削除内容記述部2003とから構成される。
【0080】利用者が入力手段1から削除要求の問合せ
文を入力すると、問合せ文解析手段2で入力された追加
要求の問合せ文の正当性をチェックし(ステップ21)
、正常であれば指定されたテーブル名と、削除カラム(
フィールド)名と、削除内容とを削除条件解析手段7に
送り(ステップ22およびステップ27)、異常であれ
ばエラーメッセージを出力手段11に送出する。本実施
例では、追加内容指定部2002には必ず基本レコード
内のカラムを指定することとする。
文を入力すると、問合せ文解析手段2で入力された追加
要求の問合せ文の正当性をチェックし(ステップ21)
、正常であれば指定されたテーブル名と、削除カラム(
フィールド)名と、削除内容とを削除条件解析手段7に
送り(ステップ22およびステップ27)、異常であれ
ばエラーメッセージを出力手段11に送出する。本実施
例では、追加内容指定部2002には必ず基本レコード
内のカラムを指定することとする。
【0081】削除条件解析手段7では、検索条件解析手
段4と同様に削除内容を検索条件とみなして条件木を生
成し、当該条件木と、テーブル名と、削除カラム(フィ
ールド)名と、削除内容とをアクセスモジュール生成手
段9に送出する。
段4と同様に削除内容を検索条件とみなして条件木を生
成し、当該条件木と、テーブル名と、削除カラム(フィ
ールド)名と、削除内容とをアクセスモジュール生成手
段9に送出する。
【0082】アクセスモジュール生成手段9では、検索
要求時と同様にアクセスモジュールを生成するが、図2
1に示すように論理レコード操作において、削除内容を
記述した論理レコード更新内容記述部2003を付加す
る(ステップ1009)。
要求時と同様にアクセスモジュールを生成するが、図2
1に示すように論理レコード操作において、削除内容を
記述した論理レコード更新内容記述部2003を付加す
る(ステップ1009)。
【0083】アクセスモジュール生成手段10では、検
索要求時と同様にアクセスモジュールを順次実行するが
論理レコード操作において、削除内容指定部1902で
指定した全ての削除内容を満足する基本レコードがある
か否かをチェックする。もし存在すれば、削除内容指定
部1902で指定した基本レコードのカラムを削除する
(NULL値とする)。
索要求時と同様にアクセスモジュールを順次実行するが
論理レコード操作において、削除内容指定部1902で
指定した全ての削除内容を満足する基本レコードがある
か否かをチェックする。もし存在すれば、削除内容指定
部1902で指定した基本レコードのカラムを削除する
(NULL値とする)。
【0084】このとき、基本レコードの他のカラム(テ
ーブルとして論理レコード内に登録されていないカラム
、およびテーブルとして論理レコード内に登録されてい
るが、削除内容指定部1902で指定されていないカラ
ム)は、修正しない。存在しないときは、エラーを出力
手段11へ送出する。
ーブルとして論理レコード内に登録されていないカラム
、およびテーブルとして論理レコード内に登録されてい
るが、削除内容指定部1902で指定されていないカラ
ム)は、修正しない。存在しないときは、エラーを出力
手段11へ送出する。
【0085】
【発明の効果】本発明によれば、問合せ文を基にレコー
ド関連木及び条件木を生成し、これ等関連木及び条件木
から階層ネットワーク型データベースシステムを直接ア
クセスするアクセスモジュールを生成し、このアクセス
モジュールを順次実行することにより、複雑なデータ処
理要求であっても、処理効率が高まるという効果がある
。
ド関連木及び条件木を生成し、これ等関連木及び条件木
から階層ネットワーク型データベースシステムを直接ア
クセスするアクセスモジュールを生成し、このアクセス
モジュールを順次実行することにより、複雑なデータ処
理要求であっても、処理効率が高まるという効果がある
。
【図1】本発明の実施例を示すシステムブロック図であ
る。
る。
【図2】図1の問合わせ文解析手段の動作を示す流れ図
である。
である。
【図3】図1の関連レコード結合手段の動作を示す流れ
図である。
図である。
【図4】データ構造の具体例を示す図である。
【図5】テーブル定義の問合わせ文の具体例を示す図で
ある。
ある。
【図6】レコード関連木の具体例を示す図である。
【図7】図1の検索条件解析手段の動作を示す流れ図で
ある。
ある。
【図8】検索要求の問合わせ文の具体例を示す図である
。
。
【図9】条件木の具体例を示す図である。
【図10】図1のアクセスモジュール生成手段の動作を
示す流れ図である。
示す流れ図である。
【図11】図10の再帰的実行ステップ1003の動作
を示す流れ図である。
を示す流れ図である。
【図12】図10の再帰的実行ステップ1003の動作
を示す流れ図である。
を示す流れ図である。
【図13】アクセスモジュールの一例を示す図である。
【図14】アクセスモジュール生成木の具体例を示す図
である。
である。
【図15】アクセスモジュール実行手段の動作を示す流
れ図である。
れ図である。
【図16】更新要求問合せ文の具体例を示す図である。
【図17】更新要求時のアクセスモジュールの一例を示
す図である。
す図である。
【図18】追加要求の問合せ文の具体例を示す図である
。
。
【図19】追加要求時のアクセスモジュールの一例を示
す図である。
す図である。
【図20】削除要求時の問合せ文の具体例を示す図であ
る。
る。
【図21】削除要求時のアクセスモジュールの実施例を
示す図である。
示す図である。
1 入力手段
2 問合せ文解析手段
3 関連レコード結合手段
4 検索条件解析手段
5 更新条件解析手段
6 追加要求解析手段
7 削除条件解析手段
8 レコード関連木記憶手段
9 アクセスモジュール生成手段
10 アクセスモジュール実行手段
11 出力手段
12 階層ネットワーク型データベーススキーマファ
イル
イル
Claims (3)
- 【請求項1】 階層ネットワーク型データベースシス
テムをリレーショナル型データベースシステムとみなし
てアクセスするデータベースアクセスシステムであって
、入力された問合せ文を解析する問合せ文解析手段と、
前記問合せ文解析手段の第一の出力として得られる当該
問合せ文に指定された検索条件に関与する個々のフィー
ルドを有する各々のレコードに対して、当該レコード間
の関連(親子従属関係)を示すレコード関連木を生成す
る関連レコード結合手段と、生成されたレコード関連木
を記憶するレコード関連木記憶手段と、前記解析手段の
第二の出力として得られる当該問合せ文が検索要求また
は更新要求のとき、指定された検索条件または更新条件
に対して、当該検索条件または更新条件を二項演算の集
合に分解し、当該二項演算を構成する各々の二項演算子
を節とする条件木を生成する検索条件解析手段および更
新条件解析手段と、前記レコード関連木および当該条件
木を入力し、階層ネットワーク型データベースシステム
をアクセスするための条件と手順を示すアクセスモジュ
ールの並びを生成するアクセスモジュール生成手段と、
前記アクセスモジュールの並びを順次解析し実行するア
クセスモジュール実行手段と、当該実行結果を出力する
出力手段とを含むことを特徴とするデータベースアクセ
スシステム。 - 【請求項2】 階層ネットワーク型データベースシス
テムをリレーショナル型データベースシステムとみなし
てアクセスするデータベースアクセスシステムであって
、入力された問合せ文を解析する問合せ文解析手段と、
前記問合せ文解析手段の第一の出力として得られる当該
問合せ文に指定された検索条件に関与する個々のフィー
ルドを有する各々のレコードに対して、当該レコード間
の関連(親子従属関係)を示すレコード関連木を生成す
る関連レコード結合手段と、生成されたレコード関連木
を記憶するレコード関連木記憶手段と、前記解析手段の
第二の出力として得られる当該問合せ文が、追加要求の
とき、指定された追加要求に対して、当該追加要求を二
項演算の集合に分解し、当該二項演算を構成する各々の
二項演算子を節とする条件木を生成する追加要求解析手
段と、前記レコード関連木および当該条件木を入力し、
階層ネットワーク型データベースシステムをアクセスす
るための条件と手順を示すアクセスモジュールの並びを
生成するアクセスモジュール生成手段と、前記アクセス
モジュールの並びを順次解析し実行するアクセスモジュ
ール実行手段と、当該実行結果を出力する出力手段とを
含むことを特徴とするデータベースアクセスシステム。 - 【請求項3】 階層ネットワーク型データベースシス
テムをリレーショナル型データベースシステムとみなし
てアクセスするデータベースアクセスシステムであって
、入力された問合せ文を解析する問合せ文解析手段と、
前記問合せ文解析手段の第一の出力として得られる当該
問合せ文に指定された検索条件に関与する個々のフィー
ルドを有する各々のレコードに対して、当該レコード間
の関連(親子従属関係)を示すレコード関連木を生成す
る関連レコード結合手段と、生成されたレコード関連木
を記憶するレコード関連木記憶手段と、前記解析手段の
第二の出力として得られる当該問合せ文が削除要求のと
き、指定された削除条件に対して、当該削除条件を二項
演算の集合に分解し、当該二項演算を構成する各々の二
項演算子を節とする条件木を生成する削除条件解析手段
と、前記レコード関連木および当該条件木を入力し、階
層ネットワーク型データベースシステムをアクセスする
ための条件と手順を示すアクセスモジュールの並びを生
成するアクセスモジュール生成手段と、前記アクセスモ
ジュールの並びを順次解析し実行するアクセスモジュー
ル実行手段と、当該実行結果を出力する出力手段とを含
むことを特徴とするデータベースアクセスシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3087789A JPH04299459A (ja) | 1991-03-27 | 1991-03-27 | データベースアクセスシステム |
US08/411,923 US5581756A (en) | 1991-03-27 | 1995-03-28 | Network database access system to which builds a table tree in response to a relational query |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3087789A JPH04299459A (ja) | 1991-03-27 | 1991-03-27 | データベースアクセスシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04299459A true JPH04299459A (ja) | 1992-10-22 |
Family
ID=13924751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3087789A Pending JPH04299459A (ja) | 1991-03-27 | 1991-03-27 | データベースアクセスシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5581756A (ja) |
JP (1) | JPH04299459A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06282576A (ja) * | 1993-03-27 | 1994-10-07 | Nec Corp | ネットワーク型データベースのリレーショナルアクセス方式 |
KR100290623B1 (ko) * | 1999-02-24 | 2001-05-15 | 이계철 | 데이터베이스의 데이터 제어방법 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930765A (en) * | 1990-06-15 | 1999-07-27 | Martin; John R. | Downloading method for songs and advertisements |
US6003033A (en) * | 1992-02-28 | 1999-12-14 | International Business Machines Corporation | System and method for describing and creating a user defined arbitrary data structure corresponding to a tree in a computer memory |
US5829003A (en) * | 1995-05-23 | 1998-10-27 | Casio Computer Co., Ltd. | Record processing apparatus, method and computer readable storage having attribute information representing a hierarchical connection for display of data |
US5749080A (en) * | 1995-06-05 | 1998-05-05 | Shigeru Matsumoto | Data retrieval method and link-information adding method |
JP3747525B2 (ja) * | 1996-08-28 | 2006-02-22 | 株式会社日立製作所 | 並列データベースシステム検索方法 |
US5764979A (en) * | 1996-10-25 | 1998-06-09 | International Business Machines Corporation | Method for capturing and cataloging program characteristics for the usage of datastore persistent classes |
US5737597A (en) * | 1996-10-25 | 1998-04-07 | International Business Machines Corporation | Method for cataloging datastore characteristics and defining and generating datastore persistent objects |
US5737598A (en) * | 1996-10-25 | 1998-04-07 | International Business Machines Corporation | Method for capturing and cataloging specifications for datastore persistent classes |
JPH10333953A (ja) * | 1997-04-01 | 1998-12-18 | Kokusai Zunou Sangyo Kk | 統合データベースシステムおよびそのデータベース構造を管理するプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US5978790A (en) * | 1997-05-28 | 1999-11-02 | At&T Corp. | Method and apparatus for restructuring data in semi-structured databases |
US5960425A (en) * | 1997-05-28 | 1999-09-28 | At&T Corp. | Database access system with optimizable expressions |
US6006027A (en) * | 1997-08-20 | 1999-12-21 | Synopsys, Inc. | Method and apparatus for event simulation |
US5974407A (en) * | 1997-09-29 | 1999-10-26 | Sacks; Jerome E. | Method and apparatus for implementing a hierarchical database management system (HDBMS) using a relational database management system (RDBMS) as the implementing apparatus |
US6128622A (en) * | 1997-11-26 | 2000-10-03 | International Business Machines Corporation | IMS web studio taskguide |
US6085188A (en) * | 1998-03-30 | 2000-07-04 | International Business Machines Corporation | Method of hierarchical LDAP searching with relational tables |
US6128619A (en) * | 1998-04-30 | 2000-10-03 | International Business Machines Corporation | Generating an internet application for accessing a hierarchical database |
US6141660A (en) * | 1998-07-16 | 2000-10-31 | International Business Machines Corporation | Command line interface for creating business objects for accessing a hierarchical database |
US6430571B1 (en) | 1998-07-16 | 2002-08-06 | International Business Machines Corporation | Multi-frame output form that facilitates internet search and update in a hierarchical database |
JP2000250791A (ja) * | 1999-03-03 | 2000-09-14 | Nec Corp | Dmlオブジェクト再生成時におけるメッセージ表示方法ならびに装置及び同方法がプログラムされ記録された記録媒体 |
US6215325B1 (en) | 1999-03-29 | 2001-04-10 | Synopsys, Inc. | Implementing a priority function using ripple chain logic |
US6502088B1 (en) | 1999-07-08 | 2002-12-31 | International Business Machines Corporation | Method and system for improved access to non-relational databases |
US20020046273A1 (en) * | 2000-01-28 | 2002-04-18 | Lahr Nils B. | Method and system for real-time distributed data mining and analysis for network |
US6542883B1 (en) | 2000-03-09 | 2003-04-01 | International Business Machines Corporation | Ordering relational database operations according to referential integrity constraints |
MXPA02009198A (es) * | 2000-03-22 | 2004-09-06 | Arac Man Services Inc | Aparatos y metodos para recuperacion y manejo de informacion interactiva de alquiler.. |
US7136821B1 (en) | 2000-04-18 | 2006-11-14 | Neat Group Corporation | Method and apparatus for the composition and sale of travel-oriented packages |
US20050119980A1 (en) * | 2000-06-29 | 2005-06-02 | Neat Group Corporation | Electronic negotiation systems |
DE10104831A1 (de) * | 2001-02-01 | 2002-08-08 | Sap Ag | Datenstruktur für Informationssysteme |
US20030172010A1 (en) * | 2002-03-08 | 2003-09-11 | Agile Software Corporation | System and method for analyzing data |
US7548935B2 (en) * | 2002-05-09 | 2009-06-16 | Robert Pecherer | Method of recursive objects for representing hierarchies in relational database systems |
US20030218640A1 (en) * | 2002-05-24 | 2003-11-27 | International Business Machines Corporation | System and method for displaying results in tabular and tree views |
JP2004326583A (ja) * | 2003-04-25 | 2004-11-18 | Toshiba Corp | データ変換装置、データ交換方法およびプログラム |
WO2005091702A2 (es) * | 2004-03-23 | 2005-10-06 | Angel Palacios | Sistema, procedimiento y programa para la gestión de expresiones de cálculo mediante estructuras gráficas arbóreas |
US7769783B2 (en) * | 2004-04-20 | 2010-08-03 | Reuters Limited | Computing algebraic equations |
US7925658B2 (en) * | 2004-09-17 | 2011-04-12 | Actuate Corporation | Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report |
US20070022081A1 (en) * | 2005-07-19 | 2007-01-25 | Ritter Gerd M | Record of data repository access |
WO2008024917A2 (en) * | 2006-08-23 | 2008-02-28 | Innovative Solution, Inc. | Efficient search result update mechanism |
CN101237449B (zh) * | 2008-02-01 | 2012-08-22 | 中国建设银行股份有限公司 | 一种访问ims数据库的方法及系统 |
US8799315B2 (en) | 2009-01-30 | 2014-08-05 | International Business Machines Corporation | Selective construction of data search result per search request specifying path information |
JP2010238123A (ja) * | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | 情報複製プログラム、情報複製装置および情報複製方法 |
WO2015015622A1 (ja) * | 2013-08-01 | 2015-02-05 | 松崎 務 | 装置及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4429385A (en) * | 1981-12-31 | 1984-01-31 | American Newspaper Publishers Association | Method and apparatus for digital serial scanning with hierarchical and relational access |
US4908759A (en) * | 1985-08-29 | 1990-03-13 | Bell Communications Research, Inc. | Hierarchical database conversion with conditional write |
JPH022459A (ja) * | 1987-12-11 | 1990-01-08 | Hewlett Packard Co <Hp> | 問合わせ処理方法 |
SE466029B (sv) * | 1989-03-06 | 1991-12-02 | Ibm Svenska Ab | Anordning och foerfarande foer analys av naturligt spraak i ett datorbaserat informationsbehandlingssystem |
US5201047A (en) * | 1989-12-21 | 1993-04-06 | International Business Machines Corporation | Attribute-based classification and retrieval system |
US5257365A (en) * | 1990-03-16 | 1993-10-26 | Powers Frederick A | Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records |
US5295261A (en) * | 1990-07-27 | 1994-03-15 | Pacific Bell Corporation | Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure |
US5208899A (en) * | 1990-07-31 | 1993-05-04 | Carnegie Group | Method and apparatus for storing information about and associating slot behaviors of a slot in a frame-based semantic network |
US5440730A (en) * | 1990-08-09 | 1995-08-08 | Bell Communications Research, Inc. | Time index access structure for temporal databases having concurrent multiple versions |
US5388196A (en) * | 1990-09-07 | 1995-02-07 | Xerox Corporation | Hierarchical shared books with database |
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
US5295256A (en) * | 1990-12-14 | 1994-03-15 | Racal-Datacom, Inc. | Automatic storage of persistent objects in a relational schema |
JP2819517B2 (ja) * | 1990-12-17 | 1998-10-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データベース照会を行う方法およびシステム |
US5307484A (en) * | 1991-03-06 | 1994-04-26 | Chrysler Corporation | Relational data base repository system for managing functional and physical data structures of nodes and links of multiple computer networks |
-
1991
- 1991-03-27 JP JP3087789A patent/JPH04299459A/ja active Pending
-
1995
- 1995-03-28 US US08/411,923 patent/US5581756A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06282576A (ja) * | 1993-03-27 | 1994-10-07 | Nec Corp | ネットワーク型データベースのリレーショナルアクセス方式 |
KR100290623B1 (ko) * | 1999-02-24 | 2001-05-15 | 이계철 | 데이터베이스의 데이터 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
US5581756A (en) | 1996-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04299459A (ja) | データベースアクセスシステム | |
US7103611B2 (en) | Techniques for retaining hierarchical information in mapping between XML documents and relational data | |
Astrahan et al. | Implementation of a structured English query language | |
US9436779B2 (en) | Techniques of efficient XML query using combination of XML table index and path/value index | |
US5873079A (en) | Filtered index apparatus and method | |
US8332389B2 (en) | Join order for a database query | |
US7634498B2 (en) | Indexing XML datatype content system and method | |
US7398265B2 (en) | Efficient query processing of XML data using XML index | |
US5884304A (en) | Alternate key index query apparatus and method | |
US5870739A (en) | Hybrid query apparatus and method | |
US7590650B2 (en) | Determining interest in an XML document | |
US7188116B2 (en) | Method and apparatus for deleting data in a database | |
US8478760B2 (en) | Techniques of efficient query over text, image, audio, video and other domain specific data in XML using XML table index with integration of text index and other domain specific indexes | |
US7844633B2 (en) | System and method for storage, management and automatic indexing of structured documents | |
CN110291517A (zh) | 图数据库中的查询语言互操作性 | |
US20060206466A1 (en) | Evaluating relevance of results in a semi-structured data-base system | |
US10262076B2 (en) | Leveraging structured XML index data for evaluating database queries | |
WO2004066062A2 (en) | A system and method for providing content warehouse | |
JP2001167087A (ja) | 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法 | |
US20120096054A1 (en) | Reading rows from memory prior to reading rows from secondary storage | |
JP4247108B2 (ja) | 構造化文書検索方法、構造化文書検索装置、及びプログラム | |
US7159171B2 (en) | Structured document management system, structured document management method, search device and search method | |
US7213011B1 (en) | Efficient processing of multi-column and function-based in-list predicates | |
Lin et al. | Towards Accurate and Efficient Document Analytics with Large Language Models | |
US20050060307A1 (en) | System, method, and service for datatype caching, resolving, and escalating an SQL template with references |