JP3163141B2 - リレーショナルデータベース処理装置および処理方法 - Google Patents

リレーショナルデータベース処理装置および処理方法

Info

Publication number
JP3163141B2
JP3163141B2 JP01522492A JP1522492A JP3163141B2 JP 3163141 B2 JP3163141 B2 JP 3163141B2 JP 01522492 A JP01522492 A JP 01522492A JP 1522492 A JP1522492 A JP 1522492A JP 3163141 B2 JP3163141 B2 JP 3163141B2
Authority
JP
Japan
Prior art keywords
execution procedure
query
execution
view
view table
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.)
Expired - Fee Related
Application number
JP01522492A
Other languages
English (en)
Other versions
JPH05204983A (ja
Inventor
裕 関根
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP01522492A priority Critical patent/JP3163141B2/ja
Priority to US08/010,291 priority patent/US6269359B1/en
Publication of JPH05204983A publication Critical patent/JPH05204983A/ja
Application granted granted Critical
Publication of JP3163141B2 publication Critical patent/JP3163141B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24535Query rewriting; Transformation of sub-queries or views
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,リレーショナルデータ
ベースにおけるビュー表定義に関して,ビュー表定義内
容の問い合わせを実現する実行手順をあらかじめビュー
表定義時に作成しておくことにより,定義されたビュー
表に対する問い合わせの実行を高速に実現できるように
したリレーショナルデータベース処理装置および処理方
法に関する。
【0002】リレーショナルデータベースでは,データ
を表(table)の形で利用者に提示し,データを管
理するが,それらの表の一部や,複数の表を結合したよ
うなものについても,ビュー表と呼ばれる外部スキーマ
に相当するものを定義することにより,そのビュー表に
ついて実際の表と同じようなデータ操作が可能になって
いる。このようなリレーショナルデータベースシステム
における問い合わせ実現処理において,実行時に問い合
わせ文の解析を行う必要がある場合に,この問い合わせ
を,できるだけ高速化する必要がある。
【0003】実行時に問い合わせ文の解析を行う必要の
ある場合とは,データベースシステムにテキスト形式で
問い合わせを要求する場合であり,特に,パーソナルコ
ンピュータなどからの問い合わせや,異なるデータベー
スシステム間でのリモートデータベースアクセスの場合
などに顕著に利用される。
【0004】
【従来の技術】リレーショナルデータベースへの問い合
わせ言語の代表的なものとしてSQL言語がある。従
来,ビュー表定義は,定義内容の問い合わせ文であるS
QLテキストそのままか,もしくは構文解析程度の加工
を施したレベルで記憶している。このビュー表に対する
問い合わせには,このビュー表定義内容を使って,表へ
の問い合わせに変換(ビューリゾルーション)した後で
実行手順を生成していた。
【0005】図7は従来技術によるビューリゾルーショ
ンの説明図,図8は従来技術の説明図である。データベ
ースに「倉庫部品表」という表があり,これをもとに
「在庫部品表」というビュー表を定義するとする。「在
庫部品表」のカラムは「部品番号」と「在庫数量」であ
る。この場合,図7の(ロ)に示すように,ビュー表定
義を行う。この定義内容は,図8に示す定義情報辞書8
0に格納しておく。
【0006】このビュー表に対する問い合わせを行う場
合,普通の表への問い合わせと同様に,図7の(ロ)に
示すようなSQL問い合わせ文のテキストを作成し入力
する。これに対して,データベース管理システムは,図
8に示す処理により,構文解析処理を行い,次に処理
により,定義情報辞書80から論理情報を得て,意味
解析を行う。このとき,問い合わせ対象がビュー表であ
ることを認識し,ビュー表の定義内容を使って,図7の
(ハ)に示すような表に対する問い合わせ文に変換す
る。これをビューリゾルーションという。
【0007】表に対する問い合わせに変換したならば,
処理により,定義情報辞書80から表の格納情報を得
て,問い合わせを高速に実行できるような最適化処理を
行う。その結果によって,処理により問い合わせの実
行手順を作成し,処理によってその実行手順を実行す
ることにより,問い合わせの実行結果を得る。
【0008】ビューリゾルーションの結果は,ひとつの
問い合わせ文で表現できる場合もあるし,複数の問い合
わせ文の並びによってしか表現できない場合もある。こ
のように,実行時にビュー表の意味解析を行って表への
問い合わせに変換し,最適化処理によって実行手順を作
成する方式を,ここではビューリゾルーション方式と呼
ぶ。実行手順は,機械語のオブジェクトであっても,ま
たは機械語に近いレベルの中間テキストであってもよ
い。
【0009】
【発明が解決しようとする課題】ビューリゾルーション
後の実行手順の生成は,表(table)の格納構造に
依存して,可能な複数の実行手順の中から,適切な実行
手順を選択する必要があり,最適な実行手順の作成処理
には,かなりの時間がかかる。
【0010】本発明は上記問題点の解決を図り,問い合
わせをテキスト形式で入力とする場合のデータベースア
クセスの応答時間を短縮することを目的とする。
【0011】
【課題を解決するための手段】図1は本発明の原理説明
図である。図1において,10はCPUおよびメモリな
どからなるリレーショナルデータベース処理装置,11
はディスプレイ・キーボード等を備えた利用者端末,1
2はSQL言語による問い合わせテキストを入力し結果
を出力するユーザ・インタフェース部,13は例えばC
OBOLやPL/Iなどの他のホスト言語から呼び出さ
れてデータベースへの問い合わせを処理するホスト言語
インタフェース部,14はビュー表アーリィバインド定
義手段,15は表およびビュー表の論理構造および格納
構造などの各種の定義情報が格納された定義情報辞書,
16はビュー表に対する定義情報を記憶する表定義管理
簿,17はビュー表の定義内容を記憶するビュー表内容
管理簿,18はあらかじめ作成された表およびビュー表
の実行手順を記憶する実行手順管理簿,19は表の格納
構造に応じて設けられたインデックスの情報を記憶する
インデックス管理簿,20はSQLテキストの入力によ
り問い合わせがあった場合に実行手順を合成する実行手
順合成手段,21は実行手順を実行する実行部,22は
データベースを表す。
【0012】本発明は,問い合わせの実行時に問い合わ
せ文の解析を行い,ビュー表を指定する問い合わせに対
してビュー表の定義内容を使用することにより,表への
問い合わせに変換して実行手順を作成するビューリゾル
ーション機能を有するリレーショナルデータベース処理
装置10を前提としている。
【0013】ビュー表アーリィバインド定義手段14
は,定義されたビュー表について,そのビュー表に対す
る問い合わせを実現する複数の実行手順を,ビュー表に
対する問い合わせ構造に対応してあらかじめ作成する処
理を行うものである。ビュー表アーリィバインド定義手
段14によって作成された実行手順は,実行手順管理簿
18に格納される。表定義管理簿16には,そのビュー
表が実行手順を持つことが記録される。
【0014】実行手順合成手段20は,ユーザ・インタ
フェース部12を介して,定義されたビュー表に対する
問い合わせがあった場合に,定義情報辞書15中の実行
手順管理簿18からその問い合わせを実現する実行手順
を取り出し,入力された問い合わせに対する実行手順を
合成する処理を行うものである。
【0015】こうして合成された実行手順を実行部21
により実行することにより,データベース22へのアク
セスが行われる。特に,ビュー表アーリィバインド定義
手段14では,ビュー表の定義時に次の処理が行われ
る。
【0016】(1) ビュー表定義の内容である問い合わせ
指定に関して,最適な実行手順を作成する。すなわち,
指定された問い合わせに対して,同じ結果をもたらすい
くつかの実行手順の中から処理コストの小さい実行手順
を作成する。また,この実行手順による実行時の応答時
間(t1)を見積もる。すなわち,この実行手順を実行
した場合の処理コストを計算する。なお,リレーショナ
ルデータベースにおける処理コストの計算方法について
は,最適化処理で一般に用いられている周知の技術であ
り,本発明の要旨ではないのでここでの詳しい説明は省
略する。 一方,従来技術によるビューリゾルーション方
式を採用した場合の,ビューリゾルーション後の最適な
実行手順作成処理に必要な最小の応答時間(t2)を見
積もる。
【0017】t1<t2ならば,ビュー表に対する問い
合わせでは,常に実行時の最適な実行手順作成の方が応
答時間が長いことを意味する。この場合には,単にここ
で作成した実行手順を保存しておく。
【0018】(2) 前記の応答時間の比較で,t1≧t2
ならば,ビューリゾルーション方式の方が全体の応答時
間を短くなる可能性がある。そこで,それよりも応答時
間の短縮を図るために,ビュー表に対する問い合わせ構
造に依存して,インデックスなどを利用した絞り込み条
件を実現する実行手順を事前に用意する。そのため,ビ
ュー表に対する問い合わせ構造を予測して,対応するい
くつかの最適な実行手順を作成し,実行手順管理簿18
に保存しておく。これらの実行手順には,それぞれ予測
したビュー表に対する問い合わせ構造の情報(例えば列
条件など)を対応付けて持つ。
【0019】また,実行手順合成手段20では,ビュー
表に対する問い合わせ時に次の処理が行われる。 (1) ビュー表に対する問い合わせの構造が単純な条件指
定でなければ,ビューリゾルーション方式による最適な
実行手順の選択,作成処理を行う。
【0020】(2) ビュー表に対する問い合わせの構造
が,単純な条件指定の場合,あらかじめ作成してある,
一つ以上の実行手順の中から最適な手順を選択して,さ
らに付帯的な制約条件,カラム選択の処理を追加して,
ビュー表に対する問い合わせの実行手順として作成(合
成)する。最適な実行手順の選択は,ビュー表に対する
問い合わせの構造と,保存された実行手順に対応付けて
持つ問い合わせ構造の予測とを突き合わせることで実現
する。
【0021】(3) 前記で,予測した以外の問い合わせ構
造であった場合には,従来と同様なビューリゾルーショ
ン方式によって最適な実行手順の選択,作成処理を行
う。本発明は,主としてユーザ・インタフェース部12
を介した問い合わせテキストの入力時に用いられるが,
ホスト言語でダイナミックに問い合わせテキストを作成
する,いわゆる動的SQLの場合にも,ホスト言語イン
タフェース部13を経由して利用可能である。問い合わ
せテキストが事前にホスト言語に静的に組み入れられて
いる場合には,コンパイルの際にバインド処理によって
実行オブジェクトが結合されるので,本発明による処理
は不要である。
【0022】
【作用】リレーショナルデータベース(SQL言語)に
おけるビュー表定義において,ビュー表定義内容の問い
合わせを実現する実行手順をビュー表定義時に作成して
保存しておく。さらに,このビュー表を指定した問い合
わせ文に対して,あらかじめ作成したビュー表に対応し
た実行手順を利用して実行手順を作成(合成)する。
【0023】こうすることにより,実行時に問い合わせ
文をテキストの形式で入力して,データベースアクセス
を行う場合に,実行時の実行手順作成処理が大幅に省力
化でき,ビュー表定義時に実行手順を作成しておかない
場合に比べて,応答時間が短縮される。
【0024】ビュー表定義内容の問い合わせの対象とな
る表の格納構造によっては,ビュー表に対する問い合わ
せ構造を想定して,適切な実行手順を複数個作成してお
く。ビュー表に対する問い合わせを解析した段階で,こ
の中から,必要な実行手順を選択する。
【0025】また,ビュー表に対する問い合わせとし
て,検索(SELECT)だけではなく,削除(DEL
ETE),更新(UPDATE),挿入(INSER
T)のそれぞれを想定し,それぞれに対応する実行手順
を作成することができる。
【0026】なお,ビュー表に対する問い合わせに関し
て,あらかじめ作成した実行手順の利用を選択する場合
に,この実行手順の利用が適切であるか否かを判定し,
最適であることを保証できない場合には,従来通り格納
構造の解析に基づく実行手順の作成処理を行う。
【0027】図2は,本発明の処理概要説明図である。 ビュー表の定義時には,まずビュー表定義文を解析
してその論理構造の定義情報を,定義情報辞書15に登
録する。
【0028】 ビュー表の定義に対して,アーリィバ
インド対象のビュー表指定があると,そのビュー表に対
する問い合わせを実現する実行手順を作成し,定義情報
辞書15に保存する。この実行手順の作成・登録を,ア
ーリィバインド定義という。
【0029】 例えばSQL言語によるビュー表に対
する問い合わせテキストが入力されたならば,その構文
を解析する。 定義情報辞書15の論理情報を参照し,問い合わせ
テキストの意味解析を行う。このとき,使用できる実行
手順の有無を判定し,従来と同様なビューリゾルーショ
ンを行うか,本発明に係る実行手順の合成を行うかを決
める。
【0030】 使用できる実行手順があったならば,
付帯的な制約条件やカラム選択の処理を追加してビュー
表に対する問い合わせの実行手順を合成する。 合成した実行手順を実行することにより,問い合わ
せの実行結果を得る。
【0031】本発明は,上記処理の,の一部,の
部分に関係している。本発明によって,ビュー表に対す
る問い合わせの高速レスポンスが可能になる。
【0032】
【実施例】図3は本発明の実施例に係るビュー表のアー
リィバインド定義説明図,図4は本発明の実施例に係る
実行手順合成説明図である。
【0033】本発明では,リレーショナルデータベース
システムとして,図3に示す論理構造定義手段30と,
格納構造定義手段31などの一般的な定義手段に加え
て,ビュー表アーリィバインド定義手段14を持つ。
【0034】ビュー表アーリィバインド定義手段14
は,論理構造定義手段30によって定義されたビュー表
を指定して,実行手順を作成する。作成した実行手順
は,定義情報辞書15中の実行手順管理簿18に格納す
る。また,定義情報辞書15中の表定義管理簿16に,
このビュー表に実行手順が作成されている旨の表示を付
ける。図3の表定義管理簿16において,アーリィバイ
ンド(EB)が“あり”となっているのが,この実行手
順が作成されていることを示す表示である。
【0035】ビュー表での問い合わせでは,図4に示す
意味解析処理41により定義情報辞書15を参照して,
対象となる表がビュー表であり,かつアーリィバインド
(EB)されているかどうかを調べる。ビュー表であっ
て,かつアーリィバインドされていれば,問い合わせの
構造から判断して,可能な場合には,通常のビューリゾ
ルーションに代えて,作成済みの実行手順の利用を試み
る。問い合わせに含まれる条件に適合した列条件を持つ
実行手順があれば,これに,問い合わせにおけるその他
の制約条件,および選択式の算出手順を追加して,入力
された問い合わせに対する実行手順を合成する。
【0036】以下,リレーショナルデータベース言語と
してよく知られているSQL言語による具体例に従っ
て,本発明の実施例を説明する。同じ部品が,いくつか
の倉庫に分散して保管されていることを示す部品倉庫表
があるものとする。この表定義を以下に示す。
【0037】CREATE TABLE 部品倉庫表( 部品番号 INTEGER NOT NULL, 倉庫番号 INTEGER NOT NULL, 在庫数量 INTEGER) このような表定義文の入力があると,図3に示す論理構
造定義手段30によって,定義情報辞書15内の表定義
管理簿16に,部品倉庫表の定義情報が登録される。
【0038】この表の格納構造として,インデックスが
二つ付いているものとする。このインデックスを構成す
るカラムを指定した条件検索に関しては,高速な処理手
順を作成することができる。格納構造定義の例を以下に
示す。
【0039】CREATE INDEX 部品番号イン
デックス ON 部品倉庫表(部品番号,倉庫番号) CREATE INDEX 倉庫番号インデックス ON 部品倉庫表(倉庫番号) この格納構造定義文の入力があると,図3に示す格納構
造定義手段31によって,定義情報辞書15のインデッ
クス管理簿19にインデックス定義情報が登録される。
【0040】ここで,部品の所在(どの倉庫にあるか)
には興味がなく,単に在庫数量だけに興味がある場合を
想定する。以下のようなビュー表が定義できる。 CREATE VIEW 部品在庫表(部品番号,在庫
数量) AS SELECT 部品番号,SUM(在庫数量) FROM 倉庫部品表 GROUP 部品番号 このビュー表定義の時点で,まず,従来と同様にビュー
リゾルーョン処理に備えて,図3に示すビュー表内容管
理簿17にビュー表定義内容を保存する。本発明ではさ
らに,AS以下の問い合わせに対する最適な実行手順
(以下,これを実行手順aという)を作成する。
【0041】この手順に従った実行が,実行時における
実行手順作成処理時間に比較して,充分に短いと見積も
られるなら,ビュー表定義時に作成する実行手順は,こ
れ一つでよい。
【0042】この実行手順に従った実行が,実行時にお
ける実行手順作成時間に比較して,長いと見積もられる
なら,部品在庫表に対する条件指定を想定して,より高
速に実行できる手順を作成する。この想定は,表に対し
て設定されている格納構造を基準にして行う。
【0043】部品在庫表に対する条件付けでは,倉庫番
号を指定することはできないから,倉庫番号インデック
スを利用する余地はない。したがって,部品番号インデ
ックスの利用が考慮される。これは,部品在庫表に対す
る問い合わせで,部品番号に関する条件指定を考慮する
ことに相当する。
【0044】部品番号に関して条件が指定された場合の
最適な実行手順(以下,これを実行手順bという)を作
成する。同時に,この実行手順が部品番号による絞り込
みを想定したものであることを,図3に示す実行手順管
理簿18の列条件のカラムに記憶しておく。
【0045】ビュー表である部品在庫表に対する問い合
わせには,以下に示すようないくつかの場合が考えられ
る。部品在庫表への問い合わせがあると,図4に示す構
文解析処理40により,その問い合わせテキストの構文
を解析し,意味解析処理41により,条件に従った場合
分けを行う。そして,条件に応じて実行手順管理簿18
に登録されている実行手順を利用し,実行手順合成手段
20による実行手順の合成を行う。
【0046】(1) 無条件検索 SELECT 部品番号,在庫数量 FROM 部品在庫表 この場合には,ビュー表定義のAS以下に対して作成し
た最適な実行手順aが利用できる。このとき,必要に応
じて,選択式を処理するための手順を追加する。必要と
なるのは,例えば, SELECT 部品番号,在庫数量/100 FROM 部品在庫表 のようにAS以下の構成と異なる選択式が指定された場
合である。選択式の処理に関しては,以降の例でも,す
べて同じである。
【0047】(2) 条件検索(不一致) SELECT 部品番号,在庫数量 FROM 部品在庫表 WHERE 在庫数量>100 ビュー表に対する問い合わせで,条件が指定されている
場合には,条件付けを想定して作成した実行手順bを調
べる。この場合,在庫数量に関する条件付けに対応する
実行手順は作成されていないから,ビュー表定義のAS
以下に対して作成した最適な実行手順aをもとに,指定
された条件による絞り込み手順を追加する。
【0048】(3) 条件検索(一致) SELECT 部品番号,在庫数量 FROM 部品在庫表 WHERE 部品番号=100 部品番号に関する条件指定は,条件付けを想定して作成
した実行手順bとして作成されている。そこで,この実
行手順に,対応する値(100)を引き数として与えて
実行する。
【0049】(4) 複雑な検索 SELECT 部品名,在庫数量 FROM 部品在庫表 WHERE 部品在庫表.部品番号=品名表.部品番号 このような複数表からなる問い合わせにビュー表が含ま
れているなど,複雑な検索の場合には,あらかじめ作成
した実行手順を利用せずに,従来のビューリゾルーショ
ン方式によって実行手順の作成を行う。
【0050】図5は,本発明の実施例に係るアーリィバ
インド定義のフローチャートを示す。以下,図5に示す
処理(a) 〜(k) に従って説明する。 (a) アーリィバインド対象のビュー表指定に対して,図
3に示す表定義管理簿16に,指定ビュー表が実行手順
を持つことを表示する。すなわち,EBを“あり”に設
定する。
【0051】(b) 指定されたビュー表の定義内容をビュ
ー表内容管理簿17から取り出す。 (c) ビュー表定義内容の問い合わせ指定に対して,最適
な実行手順を作成する。
【0052】(d) 作成した実行手順を,定義情報辞書1
5中の実行手順管理簿18に格納する。これの列条件は
“なし”とする。 (e) 作成した実行手順の実行時の応答時間を見積もり,
この時間をt1とする。
【0053】(f) 実行時に表に対する問い合わせに変換
して最適化を行うリゾルーション方式を採用した場合
に,その最適な実行手順作成処理に必要な最小の応答時
間を見積もる。この時間をt2とする。
【0054】(g) 応答時間t1とt2とを比較し,t1
が小さければ,処理(c) で作成した実行手順を利用する
ことにより,従来のリゾルーション方式を採用した場合
より高速に実行することができるので,処理を終了す
る。t1が大きければ,問い合わせ構造に応じて,イン
デックスなどを利用した高速実行が可能な実行手順を作
成するために,処理(h) へ移る。この判定処理によっ
て,必要以上に多くの実行手順をビュー表に対して事前
に作成するのを回避することができる。
【0055】(h) ビュー表の問い合わせ指定に持つ表の
格納構造を,図3に示すインデックス管理簿19から一
つずつ順に取り出す。 (i) すべての格納構造について処理が終了したならば,
アーリィバインド定義の処理を終了する。
【0056】(j) 取り出した格納構造(インデックス
等)を利用する絞り込み条件を想定した実行手順を作成
する。 (k) 作成した実行手順を,定義情報辞書15中の実行手
順管理簿18に格納する。この際に,想定した絞り込み
条件の情報(例えば,列条件として“部品番号”を用い
ること)を設定する。その後,処理(h) へ戻り,同様に
処理を繰り返す。
【0057】図6は,本発明の実施例に係る実行時にお
ける実行手順の作成フローチャートを示す。以下,図6
に示す処理(a) 〜(n) に従って説明する。 (a) SQL言語による問い合わせがあったならば,その
問い合わせの構文を解析する。
【0058】(b) 問い合わせ構造が,表に対する単純条
件問い合わせであるかを解析する。 (c) 単純条件問い合わせでない場合,従来処理と同様な
処理手順により問い合わせの実行手順を作成する。
【0059】(d) 単純条件問い合わせである場合には,
図4に示す表定義管理簿16を参照し,問い合わせの対
象表がアーリィバインドビューであるか否かを調べる。 (e) アーリィバインドビューでない場合,すなわち実行
手順が作成されていない場合には,従来処理と同様な処
理手順により問い合わせの実行手順を作成する。
【0060】(f) 入力の問い合わせに条件指定(WHE
RE句等)がある場合には,実行手順管理簿18から条
件列を取り出す。 (g) 該当する条件指定がある場合,処理(i) へ進む。な
い場合,処理(h) を実行する。
【0061】(h) ビュー表の定義内容から作成した実行
手順管理簿18中の実行手順(列条件なしのもの)を取
り出して,実行手順の結果とする。 (i) 条件指定がある場合,条件列のそれぞれに対して,
条件付けを想定した実行手順を,実行手順管理簿18か
ら一つずつ取り出す。
【0062】(j) 処理(i) を条件列が終了するまで繰り
返す。 (k) 取り出した実行手順の数を数える。 (l) 該当する実行手順が0個であれば,処理(h) に移
る。
【0063】(m) 該当する実行手順が2個以上であれ
ば,どの実行手順が最適であるか不明であるので,従来
処理と同様な処理手順により最適化を行い,問い合わせ
の実行手順を作成する。
【0064】(n) 取り出した実行手順が1個の場合,こ
の条件列に関して想定した実行手順を結果とする。本発
明を拡張して,ビュー表だけではなく,通常の表に対し
ても,表定義時に,同様に複数個の実行手順をあらかじ
め作成して,実行時にそれを利用することができるよう
にすることも可能である。しかし,特にビュー表の場合
には,問い合わせの実行時におけるビューリゾルーショ
ンと最適化処理という比較的時間のかかる処理を削減で
きるので,高速レスポンスの効果が大きい。
【0065】
【発明の効果】以上説明したように,本発明によれば,
ビュー表を指定した問い合わせに関して,従来のビュー
リゾルーション方式に比べて,より速い応答時間を達成
することができる。ビュー表に対して,複雑な問い合わ
せを行う場合には適用されないが,ビュー表本来の目的
から考えても,このような複雑な問い合わせが行われる
ことは少ないので,全体としての高速化が可能になる。
なお,このような複雑な問い合わせに関しては,ビュー
リゾルーション方式を適用することができ,本方式を適
用することによる応答時間への悪影響はない。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の処理概要説明図である。
【図3】本発明の実施例に係るビュー表のアーリィバイ
ンド定義説明図である。
【図4】本発明の実施例に係る実行手順合成説明図であ
る。
【図5】本発明の実施例に係るアーリィバインド定義の
フローチャートを示す図である。
【図6】本発明の実施例に係る実行時における実行手順
の作成フローチャートを示す図である。
【図7】従来技術によるビューリゾルーションの説明図
である。
【図8】従来技術の説明図である。
【符号の説明】
10 リレーショナルデータベース処理装置 11 利用者端末 12 ユーザ・インタフェース部 13 ホスト言語インタフェース部 14 ビュー表アーリィバインド定義手段 15 定義情報辞書 16 表定義管理簿 17 ビュー表内容管理簿 18 実行手順管理簿 19 インデックス管理簿 20 実行手順合成手段 21 実行部 22 データベース
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−2459(JP,A) 特開 昭62−251925(JP,A) 特開 昭58−3037(JP,A) 特開 昭64−42731(JP,A) 特開 平2−171858(JP,A) 特開 平1−102656(JP,A) 特開 平2−130673(JP,A) 特開 昭59−188765(JP,A) 特開 昭59−188766(JP,A) 特開 平2−128246(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 問い合わせの実行時に問い合わせ文の解
    析を行い,ビュー表を指定する問い合わせに対してビュ
    ー表の定義内容を使用することにより,表への問い合わ
    せに変換して実行手順を作成するビューリゾルーション
    機能を有するリレーショナルデータベース処理装置(10)
    において,定義されたビュー表について,そのビュー表
    に対する問い合わせを実現する複数の実行手順を,ビュ
    ー表に対する問い合わせ構造に対応してあらかじめ作成
    するビュー表アーリィバインド定義手段(14)と,あらか
    じめ作成されたビュー表に対する問い合わせを実現する
    複数の実行手順を,ビュー表の定義情報辞書(15)中に記
    憶する実行手順管理手段(18)と,定義されたビュー表に
    対する問い合わせがあった場合に,前記定義情報辞書(1
    5)中の実行手順情報を検索して,適合する実行手順を抽
    出し,入力された問い合わせに対する実行手順を合成す
    る実行手順合成手段(20)とを備えたことを特徴とするリ
    レーショナルデータベース処理装置。
  2. 【請求項2】 請求項1記載のリレーショナルデータベ
    ース処理装置(10)におけるビュー表アーリィバインド定
    義の処理方法において,ビュー表への問い合わせ指定に
    対して最適な実行手順を作成する過程と,作成した実行
    手順を定義情報辞書(15)に保存する過程と,作成した実
    行手順による実行時の第1の応答時間を見積もる過程
    と,実行時に最適化処理を行うビューリゾルーション方
    式を採用した場合の実行手順作成処理に必要な最小の第
    2の応答時間を見積もる過程と,前記第1の応答時間が
    第2の応答時間より大きいときに,問い合わせを実現す
    る実行手順を,ビュー表の基礎となる表の格納構造に応
    じた絞り込み条件を想定してあらかじめ作成する過程
    と,作成した実行手順を絞り込み条件とともに定義情報
    辞書(15)に保存する過程とを備えたことを特徴とするリ
    レーショナルデータベース処理方法。
  3. 【請求項3】 請求項1記載のリレーショナルデータベ
    ース処理装置(10)における実行手順合成の処理方法にお
    いて,入力された問い合わせの構文を解析する過程と,
    問い合わせ対象のビュー表に対して,その定義情報辞書
    (15)を参照することにより,あらかじめ実行手順が作成
    されているか否かを判定する過程と,あらかじめ実行手
    順が作成されている場合に,問い合わせにおける条件の
    有無に応じた実行手順の選択を行い,該当する実行手順
    を用いて問い合わせを実現する実行手順を合成する過程
    とを備えたことを特徴とするリレーショナルデータベー
    ス処理方法。
JP01522492A 1992-01-30 1992-01-30 リレーショナルデータベース処理装置および処理方法 Expired - Fee Related JP3163141B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01522492A JP3163141B2 (ja) 1992-01-30 1992-01-30 リレーショナルデータベース処理装置および処理方法
US08/010,291 US6269359B1 (en) 1992-01-30 1993-01-28 Relational data base system and method for rapidly realizing a query to a database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01522492A JP3163141B2 (ja) 1992-01-30 1992-01-30 リレーショナルデータベース処理装置および処理方法

Publications (2)

Publication Number Publication Date
JPH05204983A JPH05204983A (ja) 1993-08-13
JP3163141B2 true JP3163141B2 (ja) 2001-05-08

Family

ID=11882899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01522492A Expired - Fee Related JP3163141B2 (ja) 1992-01-30 1992-01-30 リレーショナルデータベース処理装置および処理方法

Country Status (2)

Country Link
US (1) US6269359B1 (ja)
JP (1) JP3163141B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122627A (en) * 1997-05-09 2000-09-19 International Business Machines Corporation System, method, and program for object building in queries over object views
US6594653B2 (en) * 1998-03-27 2003-07-15 International Business Machines Corporation Server integrated system and methods for processing precomputed views
EP1271342A1 (en) * 2001-04-30 2003-01-02 Sun Microsystems, Inc. Method for accessing database table columns
US8005870B1 (en) * 2001-06-19 2011-08-23 Microstrategy Incorporated System and method for syntax abstraction in query language generation
US6938031B1 (en) * 2001-10-19 2005-08-30 Data Return Llc System and method for accessing information in a replicated database
CA2365372A1 (en) * 2001-12-18 2003-06-18 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for editing a production data store by shadowing content
US7120648B2 (en) * 2002-02-26 2006-10-10 International Business Machines Corporation System and method for predicting execution time of a database utility command
US7395437B2 (en) * 2004-01-05 2008-07-01 International Business Machines Corporation System and method for fast querying of encrypted databases
US7356524B2 (en) * 2005-05-13 2008-04-08 Sap Ag Query runtime estimation using statistical query records
EP3140753A4 (en) * 2015-03-28 2017-06-07 Huawei Technologies Co. Ltd. A system and method to optimize queries on a view

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4330822A (en) * 1971-09-02 1982-05-18 Burroughs Corporation Recursive system and method for binding compiled routines
US4829427A (en) * 1984-05-25 1989-05-09 Data General Corporation Database query code generation and optimization based on the cost of alternate access methods
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
JPS61204733A (ja) * 1985-03-07 1986-09-10 Oki Electric Ind Co Ltd 視野管理システム
JPH022459A (ja) * 1987-12-11 1990-01-08 Hewlett Packard Co <Hp> 問合わせ処理方法
JP2760794B2 (ja) * 1988-01-29 1998-06-04 株式会社日立製作所 データベース処理方法および装置
US5257366A (en) * 1990-03-27 1993-10-26 International Business Machines Corporation Query language execution on heterogeneous database servers using a bind-file bridge between application and database languages
US5379419A (en) * 1990-12-07 1995-01-03 Digital Equipment Corporation Methods and apparatus for accesssing non-relational data files using relational queries
US5367675A (en) * 1991-12-13 1994-11-22 International Business Machines Corporation Computer automated system and method for optimizing the processing of a query in a relational database system by merging subqueries with the query
US5301317A (en) * 1992-04-27 1994-04-05 International Business Machines Corporation System for adapting query optimization effort to expected execution time

Also Published As

Publication number Publication date
US6269359B1 (en) 2001-07-31
JPH05204983A (ja) 1993-08-13

Similar Documents

Publication Publication Date Title
US6233578B1 (en) Method and system for information retrieval
US8713048B2 (en) Query processing with specialized query operators
CN1705945B (zh) 提供查询的属性的方法和系统
US8886686B2 (en) Making and using abstract XML representations of data dictionary metadata
EP1383056A2 (en) Querying an object-relational database system
US20130254171A1 (en) Query-based searching using a virtual table
JP3058672B2 (ja) データベース管理システム
US20040220908A1 (en) Information retrieval system and method for optimizing queries having maximum or minimum function aggregation predicates
JP3163141B2 (ja) リレーショナルデータベース処理装置および処理方法
JP4207438B2 (ja) Xml文書格納/検索装置及びそれに用いるxml文書格納/検索方法並びにそのプログラム
US20100169760A1 (en) Apparatus for displaying instance data, method, and computer program product
EP4430483A1 (en) Late materialization of queried data in database cache
US8433729B2 (en) Method and system for automatically generating a communication interface
US5557788A (en) Relational access system for network type data bases which uses a unique declarative statement
JP3786233B2 (ja) 情報検索方法および情報検索システム
CN110008448B (zh) 将SQL代码自动转换为Java代码的方法和装置
US8312030B2 (en) Efficient evaluation of XQuery and XPath full text extension
JP2008077285A (ja) Sql管理システムとsql管理方法およびプログラム
JP3292160B2 (ja) Cobol言語のソースプログラムのコンバージョン方法及び装置並びに記録媒体
JP3016799B2 (ja) データベース問い合わせ処理装置
JP2001134597A (ja) 複数異種情報源アクセス方法及び装置及び複数異種情報源アクセスプログラムを格納した記憶媒体
CN113743130A (zh) 翻译方法、装置、设备和存储介质
JP3538322B2 (ja) データベース管理システムおよび問合せの処理方法
US20240028328A1 (en) Storage medium, information processing method, and information processing device
JP5696280B1 (ja) 用語統一システム及び用語統一プログラム、並びに用語統一方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080223

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees