JPH022459A - 問合わせ処理方法 - Google Patents
問合わせ処理方法Info
- Publication number
- JPH022459A JPH022459A JP63310990A JP31099088A JPH022459A JP H022459 A JPH022459 A JP H022459A JP 63310990 A JP63310990 A JP 63310990A JP 31099088 A JP31099088 A JP 31099088A JP H022459 A JPH022459 A JP H022459A
- Authority
- JP
- Japan
- Prior art keywords
- view
- query
- views
- node
- tables
- 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
- 238000003672 processing method Methods 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 30
- 230000002194 synthesizing effect Effects 0.000 abstract 1
- 238000000354 decomposition reaction Methods 0.000 description 21
- 239000000203 mixture Substances 0.000 description 17
- 239000002131 composite material Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000448053 Toya Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24561—Intermediate data storage techniques for performance improvement
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (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
【発明の詳細な説明】
(発明の技術分野)
本発明はデータベース・システムに関係し、更に詳細に
は、データを複雑な定義を有するビュー(View)を
用いて効率よく検索できるようにする技法に関する。こ
れに限定するものではないが、本発明は特に「構造化問
合せ言語J (StructuredQuery L
anguage、 S Q L )として知られている
関係データベースについての規格およびこのSQLによ
ってもたらされる制約に関する。この規格に関する更に
詳細な情報については、“A GuideTo Th
e S Q L 5tandard” (1987年
)および”八Guide To D B 2 ”
(1985年)を参照すること。
は、データを複雑な定義を有するビュー(View)を
用いて効率よく検索できるようにする技法に関する。こ
れに限定するものではないが、本発明は特に「構造化問
合せ言語J (StructuredQuery L
anguage、 S Q L )として知られている
関係データベースについての規格およびこのSQLによ
ってもたらされる制約に関する。この規格に関する更に
詳細な情報については、“A GuideTo Th
e S Q L 5tandard” (1987年
)および”八Guide To D B 2 ”
(1985年)を参照すること。
SQL規格が関係している形式の関係データベース管理
システムにおいては、データはベース・テーブルの形で
格納される。各ベース・テーブルは実質的にテーブルの
カラム(column)を定義する一連のフィールドか
ら構成されている。テーブルの各行は[タプル(tup
le) Jとも呼ばれる単一のレコードから構成されて
いる。テーブル内のデータの各行について、そのデータ
の対応物がデータベースに物理的に格納されている。デ
ータベースのユーザがベース・テーブルにアクセスする
と、格されている該当部分が検索され、テーブルの形で
ユーザに提示される。
システムにおいては、データはベース・テーブルの形で
格納される。各ベース・テーブルは実質的にテーブルの
カラム(column)を定義する一連のフィールドか
ら構成されている。テーブルの各行は[タプル(tup
le) Jとも呼ばれる単一のレコードから構成されて
いる。テーブル内のデータの各行について、そのデータ
の対応物がデータベースに物理的に格納されている。デ
ータベースのユーザがベース・テーブルにアクセスする
と、格されている該当部分が検索され、テーブルの形で
ユーザに提示される。
ベース・テーブルの他に、データは「ビュー」によって
もアクセスすることができる。ベース・テーブルとは対
照的に、ビューは、テーブルがそのようなものとしては
データベース内に直接存在しないがユーザには恰もその
ように存在しているように見えるという点で「仮想の」
テーブルである。事実、ビューはその定義の形でしかデ
ータベース内に格納されない。たとえば、ビューは、テ
ーブル中の特定のフィールドに所定の値を備えているタ
プルのようなベース・テーブルのサブセットから成るこ
とができる。別の例として、ビューは二つ以上のテーブ
ルのジョイン操作、たとえば、ユニオン、から成ること
ができる。この場合、これらもとのテーブルはベース・
テーブル、他のビュー、あるいは両者の組合わせであっ
てよい。
もアクセスすることができる。ベース・テーブルとは対
照的に、ビューは、テーブルがそのようなものとしては
データベース内に直接存在しないがユーザには恰もその
ように存在しているように見えるという点で「仮想の」
テーブルである。事実、ビューはその定義の形でしかデ
ータベース内に格納されない。たとえば、ビューは、テ
ーブル中の特定のフィールドに所定の値を備えているタ
プルのようなベース・テーブルのサブセットから成るこ
とができる。別の例として、ビューは二つ以上のテーブ
ルのジョイン操作、たとえば、ユニオン、から成ること
ができる。この場合、これらもとのテーブルはベース・
テーブル、他のビュー、あるいは両者の組合わせであっ
てよい。
SQL規格に従った関係データベースでは、所要情報は
問合せ(query)として知られる表現を用いて探索
され、検索される。たとえば、”[!mployee’
(従業員)という名のテーブルにName” (名
前)、”Dept”(部門)、”Age (年令)、
および”5alary” (給賎にいうフィールドがあ
る場合、ユーザが玩具(Toy)部門で働いている従業
員のサブセットを探したければ、次の問合せを行うこと
ができる。
問合せ(query)として知られる表現を用いて探索
され、検索される。たとえば、”[!mployee’
(従業員)という名のテーブルにName” (名
前)、”Dept”(部門)、”Age (年令)、
および”5alary” (給賎にいうフィールドがあ
る場合、ユーザが玩具(Toy)部門で働いている従業
員のサブセットを探したければ、次の問合せを行うこと
ができる。
5ELECT Name、5alary、AgeFR
OM employee WHERBDept=”Toy この問合せにより得られる情報を複数回利用することが
わかっていれば、情報を欲しい都度問合せを再構成する
必要が無いように、ビューを定義することができる。
OM employee WHERBDept=”Toy この問合せにより得られる情報を複数回利用することが
わかっていれば、情報を欲しい都度問合せを再構成する
必要が無いように、ビューを定義することができる。
同じ情報を発生する”Emptoy”という名のビュー
を次のステートメントを用いて定義することができる。
を次のステートメントを用いて定義することができる。
CREATBVIBW Bmptoy (Name、5
alary、Age)ASSELECT Name、
5alary、AgeFROM Bmployee WHERE Dept=”Toy このビューが作り出されると、最初に掲げた問合せは次
のようになる。
alary、Age)ASSELECT Name、
5alary、AgeFROM Bmployee WHERE Dept=”Toy このビューが作り出されると、最初に掲げた問合せは次
のようになる。
5ELBCT*
FROM Bmptoy
(ここでキャラクタ「*」はテーブルまたはビューのあ
らゆるフィールドを指示する万能キャラクタである。)
わかるとおり、ビューを前記のように定義することによ
り問合せを構成するのがはるかに容易になる。
らゆるフィールドを指示する万能キャラクタである。)
わかるとおり、ビューを前記のように定義することによ
り問合せを構成するのがはるかに容易になる。
その他に、このビューは以後の問合せの主題となること
ができる。たとえば、玩具部門のJohnsonという
名前のすべての従業員の給料を得るには、次の問合せを
与えることができる。
ができる。たとえば、玩具部門のJohnsonという
名前のすべての従業員の給料を得るには、次の問合せを
与えることができる。
5ELBCT 5alary
FRO!J Bmptoy
WHERE Name=”Johnson上に注意した
ように、仮想テーブルεmptoyを構成しているデー
タはベーステーブルの場合のように実際に格納されてい
るのではない。そうではなくて、ビューの定義だけが格
納されている。従って、ビューを参照する問合せが入る
と、ビュー分解(View decompositio
n)として知られるプロセスが行われ、この問合せを格
納されているベース・テーブルだけを参照する等価な問
合せに翻訳する。本質的に、ビュー分解プロセスは問合
せ中のビューをそのビューの定義を参照するように置き
換えるステップを含んでいる。従って、上に示した例で
は、玩具部門のJohnsonという名前の従業員の給
料を求める問合せは下記の等価な問合せに修正される。
ように、仮想テーブルεmptoyを構成しているデー
タはベーステーブルの場合のように実際に格納されてい
るのではない。そうではなくて、ビューの定義だけが格
納されている。従って、ビューを参照する問合せが入る
と、ビュー分解(View decompositio
n)として知られるプロセスが行われ、この問合せを格
納されているベース・テーブルだけを参照する等価な問
合せに翻訳する。本質的に、ビュー分解プロセスは問合
せ中のビューをそのビューの定義を参照するように置き
換えるステップを含んでいる。従って、上に示した例で
は、玩具部門のJohnsonという名前の従業員の給
料を求める問合せは下記の等価な問合せに修正される。
5BLBCT Salary
FROM Employee
WHERB Name=”Johnson and D
ept=”Toyわかるとおり、修正された問合せはベ
ース・テーブルとそのテーブルのフィールドだけを参照
している。
ept=”Toyわかるとおり、修正された問合せはベ
ース・テーブルとそのテーブルのフィールドだけを参照
している。
原理的には、問合せは任意の問合せにより定義されたビ
ューを参照し、その問合せをそのビューが基づいている
ベース・テーブル上の相当する操作に翻訳することが可
能なはずである。しかしながら、実際上は、この手順の
利用可能性はSQL規格から受ける制約のため極めて限
られている。
ューを参照し、その問合せをそのビューが基づいている
ベース・テーブル上の相当する操作に翻訳することが可
能なはずである。しかしながら、実際上は、この手順の
利用可能性はSQL規格から受ける制約のため極めて限
られている。
たとえば、”Avgsal”という名のビューは二つの
ベース・テーブルDeptとEmpから定義することが
できる。テーブルDeptはフィールド″’Dno”
(部門番号)、”Dname” (部門名)、”Mg
rname’(マネージャ名)、および”しOC” (
ロケーション)を備えており、テーブルεmρはフィー
ルドEno″(従業員番号) 、’Dno’ 、”5a
lary”、および”Jobtitle” (IJ名)
を備えている。その部門番号、部門名称、およびその従
業員の平均給料により部門を記述するビューAvgsa
iの定義は次のように行うことができる。
ベース・テーブルDeptとEmpから定義することが
できる。テーブルDeptはフィールド″’Dno”
(部門番号)、”Dname” (部門名)、”Mg
rname’(マネージャ名)、および”しOC” (
ロケーション)を備えており、テーブルεmρはフィー
ルドEno″(従業員番号) 、’Dno’ 、”5a
lary”、および”Jobtitle” (IJ名)
を備えている。その部門番号、部門名称、およびその従
業員の平均給料により部門を記述するビューAvgsa
iの定義は次のように行うことができる。
CREATE H[iW Avgsal (Dn
o、Dname、Avgsalary)S S[!LBCT Dno、Dname、^VG(Sa
lary)FROM Dept、Dno=Emp、D
n。
o、Dname、Avgsalary)S S[!LBCT Dno、Dname、^VG(Sa
lary)FROM Dept、Dno=Emp、D
n。
GR口UP BY Dn。
その従業員の平均給料が30.000ドルより多いすべ
ての部門のロケーションを尋ねる問合せにはベース・テ
ーブルDeptとビューAvgsalとのジョイン操作
が必要であり、次のように表すことができる。
ての部門のロケーションを尋ねる問合せにはベース・テ
ーブルDeptとビューAvgsalとのジョイン操作
が必要であり、次のように表すことができる。
SEL[ECT Loc
FROM 0ept、^vgsal
W)IERB Dept、Dno=^vgsal、Dn
o andAvgsal、Avgsalary> 30
.000残念ながら、ビュー分解技法の制限により、こ
の質問の処理はできない。更に詳細に言えば、WHBR
E!節にベース・テーブル中に現にあるカラムに対応し
ない仮想カラムへの参照が含まれているので、この問合
せを処理することができないのである。
o andAvgsal、Avgsalary> 30
.000残念ながら、ビュー分解技法の制限により、こ
の質問の処理はできない。更に詳細に言えば、WHBR
E!節にベース・テーブル中に現にあるカラムに対応し
ない仮想カラムへの参照が含まれているので、この問合
せを処理することができないのである。
基本的には、元の問合せを翻訳した形態は必ずそれ自身
上しい問合せでなければならない。従って、ビュー分解
の利用可能性は比較的簡単なビューに限られる。
上しい問合せでなければならない。従って、ビュー分解
の利用可能性は比較的簡単なビューに限られる。
(発明の目的)
本発明の目的はもっと複雑なビューを問合せ中で参照す
ることができ、データベースの処理能力を拡大すること
ができる技法を提供することにある。
ることができ、データベースの処理能力を拡大すること
ができる技法を提供することにある。
(発明の概要)
本発明の一実施例によれば、ビュー分解に関連する制限
はここでビュー合成と言う技法によって克服することが
できる。この技法では、ビューへの参照を含んでいる問
合せは対応するビューの定義の実行を通して実行時にビ
ューを動的に合成する、すなわち実体化する(mate
rialize)ことにより処理される。−旦ビューが
合成されれば、以後は他のベース・テーブルのように処
理することができる。ビューが他のビューへの参照を含
んでいる場合には、他のビューを最初に処理してこれに
引き続いて合成されるビューに対する情報を発生する。
はここでビュー合成と言う技法によって克服することが
できる。この技法では、ビューへの参照を含んでいる問
合せは対応するビューの定義の実行を通して実行時にビ
ューを動的に合成する、すなわち実体化する(mate
rialize)ことにより処理される。−旦ビューが
合成されれば、以後は他のベース・テーブルのように処
理することができる。ビューが他のビューへの参照を含
んでいる場合には、他のビューを最初に処理してこれに
引き続いて合成されるビューに対する情報を発生する。
実体化されたビューはベース・テーブルとじてを表現す
る。ビュー・ノードは格納されているベース・テーブル
を表すテーブル・ノードと同様に機能する。ただし、テ
ーブル・ノードとは対照的に、ビュー・ノードに対応し
て恒久的に格納されるテーブルはデータベース中には存
在しない。そは格納されているベース・テーブルと正確
に同じ方法でビュー・ノードを処理することができる。
る。ビュー・ノードは格納されているベース・テーブル
を表すテーブル・ノードと同様に機能する。ただし、テ
ーブル・ノードとは対照的に、ビュー・ノードに対応し
て恒久的に格納されるテーブルはデータベース中には存
在しない。そは格納されているベース・テーブルと正確
に同じ方法でビュー・ノードを処理することができる。
その結果、ビュー分解プロセスによりビューに加えられ
ていた制限は取り除かれる。
ていた制限は取り除かれる。
問合せオプテイマイザがビューをテーブルとして処理す
ることができるようにするには、成る統計的情報(たと
えば、ビュー内のタプルの数)が必要である。従来は、
この種の情報はベース・テーブルだけについて利用する
ことができ、ビュー・テーブルでは得られなかった。し
かしながら、本発明のひとつの実施例によれば、このよ
うな情なければならない。この機能を行うには、ここで
報はビューにも同様に維持される。
ることができるようにするには、成る統計的情報(たと
えば、ビュー内のタプルの数)が必要である。従来は、
この種の情報はベース・テーブルだけについて利用する
ことができ、ビュー・テーブルでは得られなかった。し
かしながら、本発明のひとつの実施例によれば、このよ
うな情なければならない。この機能を行うには、ここで
報はビューにも同様に維持される。
本発明の他の特徴および本発明により与えられる利点と
についてこれから特定の例を参照し、添付図面の助けを
借りて一層詳細に説明する。
についてこれから特定の例を参照し、添付図面の助けを
借りて一層詳細に説明する。
(実施例の説明)
第1図を参照すると、データベース・システムの全般的
概観をブロック図の形で示しである。システムの主要構
成要素はCPU (中央処理装置)lO1磁気ディスま
たはテープのような永久記憶装置12、およびRAMの
ような主記憶装置13から成る。ユーザがデータを人力
し、情報を検索できるために、キーボードのような適切
な人力装置14がCP U toに接続されている。加
えて、データベース・システムにより検索された情報は
、ビデオ・モニタあるいはプリンタのような、適切な出
力装置16を通してユーザに提示される。
概観をブロック図の形で示しである。システムの主要構
成要素はCPU (中央処理装置)lO1磁気ディスま
たはテープのような永久記憶装置12、およびRAMの
ような主記憶装置13から成る。ユーザがデータを人力
し、情報を検索できるために、キーボードのような適切
な人力装置14がCP U toに接続されている。加
えて、データベース・システムにより検索された情報は
、ビデオ・モニタあるいはプリンタのような、適切な出
力装置16を通してユーザに提示される。
永久記憶装置12の内部に、制御プログラムがデータベ
ースを構成するデータと共に格納される。
ースを構成するデータと共に格納される。
SQL規格に従って動作する関係データベース管理シス
テムの例としては、IBM社のSQL/DSとDB2、
およびRT I Ingresがある。ユーザが人力
したデータはベース・テーブル18の形で永久記憶装置
12に格納される。最初に、ユーザはテーブル内の各カ
ラムの見出しと各カラムのパラメータを含む各テーブル
の定義を与える。その後で、データを各種ベース・テー
ブルのタプルに詰め込む。
テムの例としては、IBM社のSQL/DSとDB2、
およびRT I Ingresがある。ユーザが人力
したデータはベース・テーブル18の形で永久記憶装置
12に格納される。最初に、ユーザはテーブル内の各カ
ラムの見出しと各カラムのパラメータを含む各テーブル
の定義を与える。その後で、データを各種ベース・テー
ブルのタプルに詰め込む。
これに加えて、特定のテーブルのサブセット、二つ以上
のテーブルの間の関係、あるいは一つ以上のベース・テ
ーブルに対する操作を示すようにビューを定義すること
ができる。ビューの定義により得られる情報は別のテー
ブルの形で出力装置16でユーザに提示されるが、この
テーブルはその形で記憶装置12に永久的に格納される
ものではない。実際にはビュ一定義20自身だけが記憶
装置12に恒久的に格納される。
のテーブルの間の関係、あるいは一つ以上のベース・テ
ーブルに対する操作を示すようにビューを定義すること
ができる。ビューの定義により得られる情報は別のテー
ブルの形で出力装置16でユーザに提示されるが、この
テーブルはその形で記憶装置12に永久的に格納される
ものではない。実際にはビュ一定義20自身だけが記憶
装置12に恒久的に格納される。
問合せを処理しなければならないときは、問合せは最初
、制御プログラムの一部を構成するオプテイマイザに与
えられる。オプテイマイザは問合せとそれが参照してい
るテーブルを評価し、問合せの処理に当たってシステム
の性能を最適化することを意図している問合せ実行プラ
ンを作る。基本的には、オプテイマイザは各テーブルの
基数(cardinality)、すなわち、タプルの
数と、探索条件の選択性(Selectivity)と
、各テーブルに関して定義されていることがあるインデ
クスを考慮する。この情報に基づき、オプテイマイザは
CPUの処理能力を効率良く利用する実行プランを展開
する。
、制御プログラムの一部を構成するオプテイマイザに与
えられる。オプテイマイザは問合せとそれが参照してい
るテーブルを評価し、問合せの処理に当たってシステム
の性能を最適化することを意図している問合せ実行プラ
ンを作る。基本的には、オプテイマイザは各テーブルの
基数(cardinality)、すなわち、タプルの
数と、探索条件の選択性(Selectivity)と
、各テーブルに関して定義されていることがあるインデ
クスを考慮する。この情報に基づき、オプテイマイザは
CPUの処理能力を効率良く利用する実行プランを展開
する。
たとえば、三つのベース・テーブルTI、T2、および
T3のジョイン操作を必要とする問合せは次のように表
すことができる。
T3のジョイン操作を必要とする問合せは次のように表
すことができる。
5ELECT*
FRO!A Tl、T2、T3
WHBRE T 1. f 1 =T 2. f
2 andTl、fl=T3.T3 上記のステートメントで、T1.flの項はベース・テ
ーブルT1の第1フイールドを表し、T2.T2はベー
ス・テーブルT2の第2フイールドを表し、以下同様で
ある。この問合せに対して、オプテイマイザは第2図に
示すように問合せ実行プランを作ることができる。基本
的には、このプランはテーブルT1とT2とのジョイン
操作を最初に実行する。すなわちT1.fl=T2゜T
2となるタプルを捜し出す。この最初のジョイン操作の
結果が次にテーブルT3とジョインされて最終結果を生
じ、これが出力装置16によりユーザに示される。
2 andTl、fl=T3.T3 上記のステートメントで、T1.flの項はベース・テ
ーブルT1の第1フイールドを表し、T2.T2はベー
ス・テーブルT2の第2フイールドを表し、以下同様で
ある。この問合せに対して、オプテイマイザは第2図に
示すように問合せ実行プランを作ることができる。基本
的には、このプランはテーブルT1とT2とのジョイン
操作を最初に実行する。すなわちT1.fl=T2゜T
2となるタプルを捜し出す。この最初のジョイン操作の
結果が次にテーブルT3とジョインされて最終結果を生
じ、これが出力装置16によりユーザに示される。
実行計画における各テーブルのそれぞれの位置は意味を
持っている。動作時、ジョイン・ノードの左側のテーブ
ルは外側テーブノペすなわち一層テーブルとして働く。
持っている。動作時、ジョイン・ノードの左側のテーブ
ルは外側テーブノペすなわち一層テーブルとして働く。
外側テーブルの各タプルが1回選択され、このような各
選択についてノードの右側にある内側テーブル、すなわ
ち二次テーブルのすべてのタプルが走査される。従って
、第2図の例では、内側テーブルT2は外側テーブルT
Iのタプルの数と等しい回数だけ走査されることになる
。次に、上方ノード21がこの最初のジョイン操作の結
果によるタプルを順次要求し、内側テーブルT3がこの
ような各タプルについて走査される。
選択についてノードの右側にある内側テーブル、すなわ
ち二次テーブルのすべてのタプルが走査される。従って
、第2図の例では、内側テーブルT2は外側テーブルT
Iのタプルの数と等しい回数だけ走査されることになる
。次に、上方ノード21がこの最初のジョイン操作の結
果によるタプルを順次要求し、内側テーブルT3がこの
ような各タプルについて走査される。
本発明によれば、ビューを参照する問合せはその問合せ
の実行時にビューの定義を動的に実行することにより処
理できる。所与の問合せに対し、ビューはこのような実
行により、あるいはビュー分解により処理できる。定義
の実行の結果、問合せ実行の間ベース・テーブルのよう
にして以後処理することができるテーブルが合成される
。ビュー分解だけを利用する従来のデータ検索法では、
ビューを参照する問合せはベース・テーブルだけを参照
する等価な問合せに翻訳されていた。従って、問合せ実
行プランはビューを参照することは不要であった。しか
しながら、本発明のビュー合成法により作られる問合せ
実行プランはベース・テーブルの他にビューをも参照す
ることができなければならない。この必要性を満たすに
は、ビュー・ノードと言う別の形式のノードを問合せ実
行プランに導入して、ビューとその実体化を表現する。
の実行時にビューの定義を動的に実行することにより処
理できる。所与の問合せに対し、ビューはこのような実
行により、あるいはビュー分解により処理できる。定義
の実行の結果、問合せ実行の間ベース・テーブルのよう
にして以後処理することができるテーブルが合成される
。ビュー分解だけを利用する従来のデータ検索法では、
ビューを参照する問合せはベース・テーブルだけを参照
する等価な問合せに翻訳されていた。従って、問合せ実
行プランはビューを参照することは不要であった。しか
しながら、本発明のビュー合成法により作られる問合せ
実行プランはベース・テーブルの他にビューをも参照す
ることができなければならない。この必要性を満たすに
は、ビュー・ノードと言う別の形式のノードを問合せ実
行プランに導入して、ビューとその実体化を表現する。
ビュー・ノードは本質的には格納されているベース・テ
ーブルを表すテーブル・ノードと同じである。ただし、
テーブル・ノードと対照的に、データベースの記憶装置
12には所与のビュー・ノードに対応する永久格納テー
ブルは存在しない。
ーブルを表すテーブル・ノードと同じである。ただし、
テーブル・ノードと対照的に、データベースの記憶装置
12には所与のビュー・ノードに対応する永久格納テー
ブルは存在しない。
その代わり、ビュー・ノードはテーブルを定義する部分
問合せ(5ubquery)を備えている。
問合せ(5ubquery)を備えている。
更に例示すると、あるビューを次のステートメントによ
ってベース・テーブルT1とT2とのジョイン操作とし
て定義することができる。
ってベース・テーブルT1とT2とのジョイン操作とし
て定義することができる。
CRBATB VI[!W V ASSELIlIC
T* FROMTI、T2 WHE!R[! T 1. f 1 =T2. f
2ピユーVの実体化されたものを指示するビュー・ノ
ードを備えた問合せ実行プランの一例を次の問合せにつ
いて第3図に示す。
T* FROMTI、T2 WHE!R[! T 1. f 1 =T2. f
2ピユーVの実体化されたものを指示するビュー・ノ
ードを備えた問合せ実行プランの一例を次の問合せにつ
いて第3図に示す。
5ELBCT *
FROM Tl、T2、■
WHERB T 1. f 1 =T2. f 1
andT2.f2=V、f3 ビュー合成法の具体的な長所は、問合せオプテイマイザ
がノードのあらゆる明示的また黙示的な順序の性質やそ
の他通常テーブルに関連付けられている必要な統計的デ
ータ、たとえば、基数、選択性など、を使用することに
加えて、ビュー・ノードをテーブル・ノードと同じ方法
で処理することができるようにする点にある。従来の方
法では、ベース・テーブルだけが内部ノードと考えられ
ていた。しかし、ビュー合成法によれば、ビュー・ノー
ドは問合せ実行プラン中でジョイン・ノードの内部の部
分木(5ubtree)として現れることがでビューを
合成するには種々な方法を利用することができる。ビュ
ー合成法の一可能実施例では、ビューのタプルをビュー
・ノードの親が要求したとき要求に応じて実体化する。
andT2.f2=V、f3 ビュー合成法の具体的な長所は、問合せオプテイマイザ
がノードのあらゆる明示的また黙示的な順序の性質やそ
の他通常テーブルに関連付けられている必要な統計的デ
ータ、たとえば、基数、選択性など、を使用することに
加えて、ビュー・ノードをテーブル・ノードと同じ方法
で処理することができるようにする点にある。従来の方
法では、ベース・テーブルだけが内部ノードと考えられ
ていた。しかし、ビュー合成法によれば、ビュー・ノー
ドは問合せ実行プラン中でジョイン・ノードの内部の部
分木(5ubtree)として現れることがでビューを
合成するには種々な方法を利用することができる。ビュ
ー合成法の一可能実施例では、ビューのタプルをビュー
・ノードの親が要求したとき要求に応じて実体化する。
この戦略は、ビューを実行プランの外側テーブルすなわ
ち、左側テーブルとして選択する入れ子になったループ
のジョイン操作のような場合に最も好ましいかもしれな
い。動作時、ビューの最初のタプルはビュー・ノードの
親から要求されたとき実体化される。この実体化された
タプルはシステム記憶装置(第1図)のタプル・レジス
タ22つまりバッファニー時的に格納することができる
。好ましくは、このタプル・レジスタ22は、記憶装置
12のような永久記憶装置ではなく、主記憶装置13に
設置されている。
ち、左側テーブルとして選択する入れ子になったループ
のジョイン操作のような場合に最も好ましいかもしれな
い。動作時、ビューの最初のタプルはビュー・ノードの
親から要求されたとき実体化される。この実体化された
タプルはシステム記憶装置(第1図)のタプル・レジス
タ22つまりバッファニー時的に格納することができる
。好ましくは、このタプル・レジスタ22は、記憶装置
12のような永久記憶装置ではなく、主記憶装置13に
設置されている。
問合せ実行中に次のタプルが要求されると、それが実体
化されて、タプル・レジスタ22の中の前のタプルと置
き換わる。
化されて、タプル・レジスタ22の中の前のタプルと置
き換わる。
ビュー合成法の別の可能な実施例では、問合せ実行プラ
ン中でビューが最初にアドレスされるとビュー全体を一
時に実体化する。実体化されたビューは記憶装置12に
一時テーブル24として格納される。通常のキャッシュ
技法を適用して一時テーブルを主記憶装置13に移すこ
とができる。主記憶装置13に移されたテーブル24′
が問合せ実行中操作される。実体化されたビューのタプ
ルがビュ・ノードの直上のノードにより要求されると、
それらのタプルは、−時テーブルがキャッシュされてい
るか否かにより、−時テーブル24または24′のいず
れかから得られる。この方法では一層テーブルを作りこ
れに書込むコストがかかるので、この方法はビューを2
回以上参照しなければならない場合に限り使用すること
が望ましい。たとえば、このような状況はビューを内部
テーブルとして選択しなければならないような場合の入
れ子になったループ・ジョイン操作、あるいは同じビュ
ーを複数回参照する問合せ、で発生することがある。
ン中でビューが最初にアドレスされるとビュー全体を一
時に実体化する。実体化されたビューは記憶装置12に
一時テーブル24として格納される。通常のキャッシュ
技法を適用して一時テーブルを主記憶装置13に移すこ
とができる。主記憶装置13に移されたテーブル24′
が問合せ実行中操作される。実体化されたビューのタプ
ルがビュ・ノードの直上のノードにより要求されると、
それらのタプルは、−時テーブルがキャッシュされてい
るか否かにより、−時テーブル24または24′のいず
れかから得られる。この方法では一層テーブルを作りこ
れに書込むコストがかかるので、この方法はビューを2
回以上参照しなければならない場合に限り使用すること
が望ましい。たとえば、このような状況はビューを内部
テーブルとして選択しなければならないような場合の入
れ子になったループ・ジョイン操作、あるいは同じビュ
ーを複数回参照する問合せ、で発生することがある。
問合せオプテイマイザは、もしそれが役に立つと考えれ
ば、実体化されたビューに対して一時的なインデクスを
発生することができる。たとえば、インデクス26は、
実体化されたビューが同じカラムで2回以上アクセスさ
れる場合に発生し、格納されることがある。
ば、実体化されたビューに対して一時的なインデクスを
発生することができる。たとえば、インデクス26は、
実体化されたビューが同じカラムで2回以上アクセスさ
れる場合に発生し、格納されることがある。
上に注意したとおり、ビューの実体化によりオプテイマ
イザの柔軟性が一層大きくなる。たとえば、ビューの基
数や選択性のような、問合せの最適化に重要な統計的情
報を発生することができる。
イザの柔軟性が一層大きくなる。たとえば、ビューの基
数や選択性のような、問合せの最適化に重要な統計的情
報を発生することができる。
その他に、ビューを実体化することにより、データベー
スの機能性が増大する。たとえば、実体化されたビュー
のタプルを成る順序またはグループ化に従って走査する
ことができ、これらに対して数学的または統計的演算を
行うことができる。
スの機能性が増大する。たとえば、実体化されたビュー
のタプルを成る順序またはグループ化に従って走査する
ことができ、これらに対して数学的または統計的演算を
行うことができる。
実体化されたビューは、タプル・レジスタ22にタプル
ごとに格納されていようと、あるいは−時テーブル24
の中にテーブル全体として格納されるのであろうと、そ
こにおいてビューが実体化される問合せが終わるまで維
持されるに過ぎない。従って、実体化されたビューとそ
のビューが基づいているベース・テーブルとの間に一貫
性を維持する必要はない。
ごとに格納されていようと、あるいは−時テーブル24
の中にテーブル全体として格納されるのであろうと、そ
こにおいてビューが実体化される問合せが終わるまで維
持されるに過ぎない。従って、実体化されたビューとそ
のビューが基づいているベース・テーブルとの間に一貫
性を維持する必要はない。
ビュー合成法はビューを実体化するコストが余分にかか
るが、それによって与えられる性能、特に複雑なビュー
を参照する問合せをサポートする能力が増強されるので
、このコストを補って余りがある。ビューVと他のテー
ブルT3によるジョイン操作を指定する問合せは次のよ
うに表すことができる。
るが、それによって与えられる性能、特に複雑なビュー
を参照する問合せをサポートする能力が増強されるので
、このコストを補って余りがある。ビューVと他のテー
ブルT3によるジョイン操作を指定する問合せは次のよ
うに表すことができる。
5BLBCT*
FROM V、、:、 T 3
WHERE V、 f 1 =T 3. f
3ビユ一分解法を利用すれば、可能な問合せ実行プ
ランは第2図に示すように表すことができる。
3ビユ一分解法を利用すれば、可能な問合せ実行プ
ランは第2図に示すように表すことができる。
しかしながら、これは成る場合には最適計画でないこと
がある。たとえば、三つのベース・テーブルがすべて大
きいが、ビューVの基数が小さい場合、ビュー合成によ
る最適質問プランは第4図に示すように表されるかもし
れない。この方法を用いると、ビュー合成から得られる
一層テーブルは、コストがかさむかもしれないTIとT
2のジョイン操作を、分解法が必要とするようにテーブ
ルT3の各タプルに対してではなく、1回だけ行えばよ
い。ビューがデータ管理システムの主記憶装置13に収
まるのに充分なだけ小さければ、テーブルT3と実体化
されたビューとのジョイン操作は一層効率良く行われる
。
がある。たとえば、三つのベース・テーブルがすべて大
きいが、ビューVの基数が小さい場合、ビュー合成によ
る最適質問プランは第4図に示すように表されるかもし
れない。この方法を用いると、ビュー合成から得られる
一層テーブルは、コストがかさむかもしれないTIとT
2のジョイン操作を、分解法が必要とするようにテーブ
ルT3の各タプルに対してではなく、1回だけ行えばよ
い。ビューがデータ管理システムの主記憶装置13に収
まるのに充分なだけ小さければ、テーブルT3と実体化
されたビューとのジョイン操作は一層効率良く行われる
。
ビュー合成は多くの形式の問合せにおいて良好な方法で
あろうが、成る場合にはビュー分解を利用した方がやは
り最適な性能が得られることがある。従って、好ましい
オプテイマイザは最適問合せ実行プランを展開するにあ
たり両方法を考慮すべきである。この概念の比較的簡単
な実現法では、オプテイマイザは単一テーブル・ビュー
、すなわち、唯一のベース・テーブルしか参照しないビ
ューに対しては皆ビュー分解を利用し、他のすべてのビ
ューに対してはビュー合成を用いて良い。しかし、複数
のベース・テーブルを参照する成る別の形式の単純ビュ
ーを含む問合せもビュー分解により良好なパフォーマン
スが得られることがある。
あろうが、成る場合にはビュー分解を利用した方がやは
り最適な性能が得られることがある。従って、好ましい
オプテイマイザは最適問合せ実行プランを展開するにあ
たり両方法を考慮すべきである。この概念の比較的簡単
な実現法では、オプテイマイザは単一テーブル・ビュー
、すなわち、唯一のベース・テーブルしか参照しないビ
ューに対しては皆ビュー分解を利用し、他のすべてのビ
ューに対してはビュー合成を用いて良い。しかし、複数
のベース・テーブルを参照する成る別の形式の単純ビュ
ーを含む問合せもビュー分解により良好なパフォーマン
スが得られることがある。
従って、−層好ましいオプテイマイザはビューを以下の
三つの形式に分類する。
三つの形式に分類する。
l)単一テーブル・ビュー、すなわち、一つのベース・
テーブルだけを参照するもの。
テーブルだけを参照するもの。
2)複合ビュー、すなわち、ステートメントUNION
、 0RDERBY、 GROUP BYSDIST
INCT(7) ウちの一つ以上を使用するもの、また
は組込み関数や演算式からカラムを導出するもの、また
は別の複合ビューを参照するもの。
、 0RDERBY、 GROUP BYSDIST
INCT(7) ウちの一つ以上を使用するもの、また
は組込み関数や演算式からカラムを導出するもの、また
は別の複合ビューを参照するもの。
3)単純ビュー、すなわち、単一テーブル・ビューおよ
び複合ビュー以外のすべてのビューこのオプテイマイザ
はその動作に当たって、複合ビューがすべてビュー合成
により処理され、単一テーブル・ビューがすべてビュー
分解により処理され、単純ビューはどれが最も効率的か
によりいずれかの方法で処理されるように実行プランを
構築する。
び複合ビュー以外のすべてのビューこのオプテイマイザ
はその動作に当たって、複合ビューがすべてビュー合成
により処理され、単一テーブル・ビューがすべてビュー
分解により処理され、単純ビューはどれが最も効率的か
によりいずれかの方法で処理されるように実行プランを
構築する。
前述の原理を利用している問合せ実行プランの一例を第
5図に示す。この問合せはテーブルT1と二つのビュー
VlおよびV2とのジョイン操作を表している。ビュー
V1はビューV3とテーブルT3のジョイン操作として
定義されている。ビューV3は二つのテーブルT4とT
5のジョイン操作として定義され、単純ビューである。
5図に示す。この問合せはテーブルT1と二つのビュー
VlおよびV2とのジョイン操作を表している。ビュー
V1はビューV3とテーブルT3のジョイン操作として
定義されている。ビューV3は二つのテーブルT4とT
5のジョイン操作として定義され、単純ビューである。
ビューV2は三つのビュー■4、V5、およびv6に関
するジョイン操作として定義される。ビューV4は二つ
のテーブルT6とT7に関するジョイン操作として定義
される。ビューV5はテーブル下8上で定義される単一
テーブル・ビューである。ビューV6は二つのテーブル
T9とT10のジョイン操作として定義される複合ビュ
ーである。ビューV2は複合ビー−V6を参照するので
複合ビューである。
するジョイン操作として定義される。ビューV4は二つ
のテーブルT6とT7に関するジョイン操作として定義
される。ビューV5はテーブル下8上で定義される単一
テーブル・ビューである。ビューV6は二つのテーブル
T9とT10のジョイン操作として定義される複合ビュ
ーである。ビューV2は複合ビー−V6を参照するので
複合ビューである。
第5図に示す問合せ木は各ビューが分解および合成と呼
ばれる二つのモードのそれぞれでどう処理されるかを示
すように注釈を付けられている。
ばれる二つのモードのそれぞれでどう処理されるかを示
すように注釈を付けられている。
各ビュー・ノードの左側にはビューが分解モードでどう
処理されるかが示されており、ここでdはビューの分解
を意味し、Cはビューの合成を意味している。右側には
ビューが合成モードでどう処理されるかが示されている
。ビューV6とV2は、複合ビューであるから必ず実体
化され、ビューV5は単一テーブル・ビューであるから
必ず分解される。しかし、問合せオプテイマイザはビュ
ーV1、V3、およびV4に対してビュー合成とビュー
分解の両方を考慮し、最も効率の良い方を選択する。
処理されるかが示されており、ここでdはビューの分解
を意味し、Cはビューの合成を意味している。右側には
ビューが合成モードでどう処理されるかが示されている
。ビューV6とV2は、複合ビューであるから必ず実体
化され、ビューV5は単一テーブル・ビューであるから
必ず分解される。しかし、問合せオプテイマイザはビュ
ーV1、V3、およびV4に対してビュー合成とビュー
分解の両方を考慮し、最も効率の良い方を選択する。
上に示した例では、ビューV1、V3およびV4は、分
解モードが選択されるか合成モードが選択されるかによ
り、常に同じ方法で処理することができる。ただし、単
純ビューについては混合的な戦略を考えるのが望ましい
ことがある。これに関して、ビューの実体化から得られ
る一時テーブルがそれに対して定義されたインデクスを
持つようにし、以後の一時テーブルへのアクセスを容易
にすることができる。
解モードが選択されるか合成モードが選択されるかによ
り、常に同じ方法で処理することができる。ただし、単
純ビューについては混合的な戦略を考えるのが望ましい
ことがある。これに関して、ビューの実体化から得られ
る一時テーブルがそれに対して定義されたインデクスを
持つようにし、以後の一時テーブルへのアクセスを容易
にすることができる。
実体化の概念を問合せプランのビューに関して提示して
来たが、これは問合せ木の部分木に一般化することがで
きる。所与の問合せ木を実体化しておそらくは一時テー
ブル中に格納することができる。この方法はビュー合成
が問合せ性能に資することがあるのと全く同じ理由で問
合せ最適化に使用することができる。たとえば、問合せ
木が多数回実行される部分木(5ubtree)を有し
ていれば、この問合せは部分木を最初に実体化するとき
にその実体化およびその結果の一時テーブルへの格納を
行うことにより、最適化することができる。これにより
部分木の以後の実行はこの一時テーブルの走査に簡略化
される。問合せ最適化のこのような方法は部分木を実体
化した結果の基数が小さいかまたは部分木の計算のコス
トが高くつく場合に有利である。
来たが、これは問合せ木の部分木に一般化することがで
きる。所与の問合せ木を実体化しておそらくは一時テー
ブル中に格納することができる。この方法はビュー合成
が問合せ性能に資することがあるのと全く同じ理由で問
合せ最適化に使用することができる。たとえば、問合せ
木が多数回実行される部分木(5ubtree)を有し
ていれば、この問合せは部分木を最初に実体化するとき
にその実体化およびその結果の一時テーブルへの格納を
行うことにより、最適化することができる。これにより
部分木の以後の実行はこの一時テーブルの走査に簡略化
される。問合せ最適化のこのような方法は部分木を実体
化した結果の基数が小さいかまたは部分木の計算のコス
トが高くつく場合に有利である。
多数回実行される部分木の結果を一時テーブルに格納す
るのは部分木が夫々の実体化の都度同じ値を有している
場合、すなわち、相互に関連する変数(Correla
ted Variable)が部分木中に現れない場合
に限り有益である。しかし、たとえ部分木の値が相互に
関連する変数に依存するとしても、相互に関連する変数
の値に依らない、制約の少ないテーブルを実体化し一時
的に格納することはやはり役に立つこともある。次に部
分木の結果は一時テーブルを更に処理することにより求
めることができる。
るのは部分木が夫々の実体化の都度同じ値を有している
場合、すなわち、相互に関連する変数(Correla
ted Variable)が部分木中に現れない場合
に限り有益である。しかし、たとえ部分木の値が相互に
関連する変数に依存するとしても、相互に関連する変数
の値に依らない、制約の少ないテーブルを実体化し一時
的に格納することはやはり役に立つこともある。次に部
分木の結果は一時テーブルを更に処理することにより求
めることができる。
下記の問合せは問合せ最適化のこの方法の一例を示して
いる。
いる。
5ELBCT *
ROMTI
WIIBRETl、fl IN(
St!LBCT T3. f I
FROM V、、、 T 3
WHεRE T3. f 3=V、 r 1 a
ndV、 f 2=T1. f 1)テーブル
T1、T2、およびT3とビューVは先に第4図の例に
関して記したものと同じである。
ndV、 f 2=T1. f 1)テーブル
T1、T2、およびT3とビューVは先に第4図の例に
関して記したものと同じである。
部分問合せ(5ubquery)はTIの各タプルにつ
いて実行される。ビューVを繰返し実行するコストはビ
ューを一度実体化し、その結果を一時テーブルに格納す
れば回避することができる。たとえビューが実体化され
ても、かなりな量の作業を行うこと、たとえば、T3と
実体化されたビューの選択されたタプルとを結合するこ
とは、部分問合せの結果を計算するためにやはり必要で
ある。この作業はTIの各タプルについて繰返さなけれ
ばならない。部分問合せの再計算は部分問合せ全体を1
同突体化し、これを−時テーブルに格納することにより
回避することができる。
いて実行される。ビューVを繰返し実行するコストはビ
ューを一度実体化し、その結果を一時テーブルに格納す
れば回避することができる。たとえビューが実体化され
ても、かなりな量の作業を行うこと、たとえば、T3と
実体化されたビューの選択されたタプルとを結合するこ
とは、部分問合せの結果を計算するためにやはり必要で
ある。この作業はTIの各タプルについて繰返さなけれ
ばならない。部分問合せの再計算は部分問合せ全体を1
同突体化し、これを−時テーブルに格納することにより
回避することができる。
成る場合には、部分問合せの結果がT1.flの値に依
って変わるので、この方法は全熱実行可能できないこと
がある。代案として、テーブルT3とビニ−Vに関する
ジョインとして下に定義する制約の少ない部分問合せを
実体化することができる。
って変わるので、この方法は全熱実行可能できないこと
がある。代案として、テーブルT3とビニ−Vに関する
ジョインとして下に定義する制約の少ない部分問合せを
実体化することができる。
SBL[ICT T3. fl V、 T2)
゛ FROMV、T3 ノ 1すI(ERB T3. f3=V、 flこ
の制約の少ない部分問合せの値は相互に関連する変数に
依って変わることはないから、1回だけ実体化して、そ
れを再使用のため一時テーブルに格納することができる
。部分問合せ全体を計算するために次に選択された演算
を一時テーブルについて行う。
゛ FROMV、T3 ノ 1すI(ERB T3. f3=V、 flこ
の制約の少ない部分問合せの値は相互に関連する変数に
依って変わることはないから、1回だけ実体化して、そ
れを再使用のため一時テーブルに格納することができる
。部分問合せ全体を計算するために次に選択された演算
を一時テーブルについて行う。
本発明はその精神および本質的特性から逸脱することな
く他の特定の形態に修正できることは当業者は理解でき
るであろう。それ故ここに開示した実施例はすべての局
面において例示であって限定ではないと考える。本発明
の範囲は前述の説明ではなく特許請求の範囲によって示
されるものであり、それと同等の意味および範囲に入る
すべての変更は本願の技術的範囲に入る。
く他の特定の形態に修正できることは当業者は理解でき
るであろう。それ故ここに開示した実施例はすべての局
面において例示であって限定ではないと考える。本発明
の範囲は前述の説明ではなく特許請求の範囲によって示
されるものであり、それと同等の意味および範囲に入る
すべての変更は本願の技術的範囲に入る。
(発明の効果)
以上、詳細に説明したように、本発明によればデータベ
ースに対する問合せ中でビューをベース・テーブルと同
じに取り扱うことができるので、データベース操作の自
由度が向上し複雑な質問を発することができる。
ースに対する問合せ中でビューをベース・テーブルと同
じに取り扱うことができるので、データベース操作の自
由度が向上し複雑な質問を発することができる。
第1図は本発明を適用したデータベース・システムの簡
略ブロック図、第2図は問合せ実行プランを表現する図
、第3図はビュー合成を用いた問合せ実行プランを表現
する図、第4図はビュー合成を用いた別の問合せ実行プ
ランを表現する図、第5図はビュー合成とビュー分解の
両方を用いた問合せ実行プランを表現する図である。 10:CPU 12:永久記憶装置 13:主記憶装置 14:入力装置 16:出力装置 18:ベース・テーブル 20:ビュ一定義 22:タプル・レジスタ 24.24′ニ一時テーブル 26:インデクス
略ブロック図、第2図は問合せ実行プランを表現する図
、第3図はビュー合成を用いた問合せ実行プランを表現
する図、第4図はビュー合成を用いた別の問合せ実行プ
ランを表現する図、第5図はビュー合成とビュー分解の
両方を用いた問合せ実行プランを表現する図である。 10:CPU 12:永久記憶装置 13:主記憶装置 14:入力装置 16:出力装置 18:ベース・テーブル 20:ビュ一定義 22:タプル・レジスタ 24.24′ニ一時テーブル 26:インデクス
Claims (1)
- 【特許請求の範囲】 データがベース・テーブルの形で格納され、1つまたは
複数の前記ベース・テーブルを参照する仮想テーブルの
定義によりビューが生成されるデータベース・システム
において、問合せ中で参照される少なくともひとつのビ
ューについてのビュー・ノードを含む問合せ実行プラン
を作成する段階と、 前記ビューの定義を実行してその結果をバッファに一時
的に格納する段階と、 前記問合せ実行プラン中で前記ビュー・ノードへの参照
の都度前記バッファに一時的に格納されている前記結果
にアクセスする段階と を含むことを特徴とする問合せ処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13187687A | 1987-12-11 | 1987-12-11 | |
US131,876 | 1987-12-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH022459A true JPH022459A (ja) | 1990-01-08 |
Family
ID=22451399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63310990A Pending JPH022459A (ja) | 1987-12-11 | 1988-12-08 | 問合わせ処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5276870A (ja) |
EP (1) | EP0320266A3 (ja) |
JP (1) | JPH022459A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH113359A (ja) * | 1997-05-09 | 1999-01-06 | Internatl Business Mach Corp <Ibm> | 照会処理システム、方法及びプログラム |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3059467B2 (ja) * | 1990-07-17 | 2000-07-04 | シャープ株式会社 | ファイル管理装置 |
JPH04299459A (ja) * | 1991-03-27 | 1992-10-22 | Nec Corp | データベースアクセスシステム |
US5434971A (en) * | 1991-06-28 | 1995-07-18 | Digital Equipment Corp. | System for constructing a table data structure based on an associated configuration data structure and loading it with chemical sample physical data |
US5446575A (en) * | 1991-06-28 | 1995-08-29 | Digital Equipment Corp. | System for constructing and loading a table data structure based on an associated configuration data |
US5666526A (en) * | 1993-09-02 | 1997-09-09 | Microsoft Corp. | Method and system for supporting scrollable, updatable database queries |
US5421008A (en) * | 1991-11-08 | 1995-05-30 | International Business Machines Corporation | System for interactive graphical construction of a data base query and storing of the query object links as an object |
US6578027B2 (en) * | 1996-08-20 | 2003-06-10 | Business Objects, Sa | Relational database access system using semantically dynamic objects |
US5388255A (en) * | 1991-12-19 | 1995-02-07 | Wang Laboratories, Inc. | System for updating local views from a global database using time stamps to determine when a change has occurred |
JP3163141B2 (ja) * | 1992-01-30 | 2001-05-08 | 富士通株式会社 | リレーショナルデータベース処理装置および処理方法 |
US5412804A (en) * | 1992-04-30 | 1995-05-02 | Oracle Corporation | Extending the semantics of the outer join operator for un-nesting queries to a data base |
JPH0689307A (ja) * | 1992-05-04 | 1994-03-29 | Internatl Business Mach Corp <Ibm> | データベース内の情報を表示する装置および方法 |
JPH0748185B2 (ja) * | 1992-08-12 | 1995-05-24 | 株式会社ピーエフユー | 副次問い合わせ編集装置およびその方法 |
US5530854A (en) * | 1992-09-25 | 1996-06-25 | At&T Corp | Shared tuple method and system for generating keys to access a database |
US5701453A (en) * | 1993-07-01 | 1997-12-23 | Informix Software, Inc. | Logical schema to allow access to a relational database without using knowledge of the database structure |
US5414644A (en) * | 1993-11-24 | 1995-05-09 | Ethnographics, Inc. | Repetitive event analysis system |
GB9417314D0 (en) * | 1994-08-27 | 1994-10-19 | Int Computers Ltd | Method for performing joins in a database system |
US5666524A (en) * | 1994-08-31 | 1997-09-09 | Price Waterhouse Llp | Parallel processing system for traversing a transactional database |
US5675785A (en) * | 1994-10-04 | 1997-10-07 | Hewlett-Packard Company | Data warehouse which is accessed by a user using a schema of virtual tables |
US5671403A (en) * | 1994-12-30 | 1997-09-23 | International Business Machines Corporation | Iterative dynamic programming system for query optimization with bounded complexity |
US5701461A (en) * | 1995-01-27 | 1997-12-23 | Microsoft Corporation | Method and system for accessing a remote database using pass-through queries |
US5619692A (en) * | 1995-02-17 | 1997-04-08 | International Business Machines Corporation | Semantic optimization of query order requirements using order detection by normalization in a query compiler system |
US5546576A (en) * | 1995-02-17 | 1996-08-13 | International Business Machines Corporation | Query optimizer system that detects and prevents mutating table violations of database integrity in a query before execution plan generation |
NL9500430A (nl) * | 1995-03-03 | 1996-10-01 | Itopics Holding B V | Werkwijze en inrichting voor het zoeken en vinden van gegevens uit een bestand. |
CA2168287C (en) * | 1995-03-31 | 2000-05-23 | Guy M. Lohman | Method for detecting and optimizing relational queries with encoding/decoding tables |
NL1000125C2 (nl) * | 1995-04-12 | 1996-10-15 | Marketrieve B V | Werkwijze voor het op een scherm zichtbaar maken van gegevens gekozen uit een aantal in een geheugen opgeslagen gegevens. |
USRE37965E1 (en) | 1995-09-27 | 2003-01-07 | International Business Machines Corporation | Method for localizing execution or subqueries and determining collocation of execution of subqueries in a parallel database |
US5745746A (en) * | 1996-06-24 | 1998-04-28 | International Business Machines Corporation | Method for localizing execution of subqueries and determining collocation of execution of subqueries in a parallel database |
US6112199A (en) * | 1995-10-18 | 2000-08-29 | Nelson; Paul M. | Data item values |
US5995961A (en) * | 1995-11-07 | 1999-11-30 | Lucent Technologies Inc. | Information manifold for query processing |
US5740423A (en) * | 1995-12-28 | 1998-04-14 | Csg Systems, Inc. | System and method for accessing distributed data on a plurality of databases |
US5832485A (en) * | 1996-02-14 | 1998-11-03 | Oracle Corporation | Method for editing views created by joins |
US6519601B1 (en) | 1996-05-22 | 2003-02-11 | Universitaire Ziekenhuizen Leuven | Relational database compiled/stored on a memory structure providing improved access through use of redundant representation of data |
CA2253345C (en) * | 1996-05-22 | 2004-10-26 | Universitaire Ziekenhuizen Leuven | Relational database compiled/stored on a memory structure |
US5761654A (en) * | 1996-06-05 | 1998-06-02 | Oracle Corporation | Memory structure and method for tuning a database statement using a join-tree data structure representation, including selectivity factors, of a master table and detail table |
DE19627472A1 (de) * | 1996-07-08 | 1998-01-15 | Ser Systeme Ag | Datenbanksystem |
US5987449A (en) * | 1996-08-23 | 1999-11-16 | At&T Corporation | Queries on distributed unstructured databases |
US5999926A (en) * | 1996-08-23 | 1999-12-07 | At&T Corp. | View maintenance for unstructured databases |
US5897632A (en) * | 1996-08-27 | 1999-04-27 | At&T Corp | Method and system for using materialized views to evaluate queries involving aggregation |
WO2000079434A1 (en) * | 1999-06-22 | 2000-12-28 | Internet Dynamics, Inc. | Query interface to policy server |
US7272625B1 (en) | 1997-03-10 | 2007-09-18 | Sonicwall, Inc. | Generalized policy server |
US7821926B2 (en) * | 1997-03-10 | 2010-10-26 | Sonicwall, Inc. | Generalized policy server |
US7912856B2 (en) * | 1998-06-29 | 2011-03-22 | Sonicwall, Inc. | Adaptive encryption |
US6408336B1 (en) | 1997-03-10 | 2002-06-18 | David S. Schneider | Distributed administration of access to information |
US8914410B2 (en) * | 1999-02-16 | 2014-12-16 | Sonicwall, Inc. | Query interface to policy server |
US7580919B1 (en) | 1997-03-10 | 2009-08-25 | Sonicwall, Inc. | Query interface to policy server |
EP0877328A3 (en) * | 1997-05-09 | 2000-01-19 | International Business Machines Corporation | Database query system and method |
US6134540A (en) * | 1997-05-09 | 2000-10-17 | International Business Machines Corporation | System, method, and program for applying query rewrite technology to object building |
US5873075A (en) * | 1997-06-30 | 1999-02-16 | International Business Machines Corporation | Synchronization of SQL actions in a relational database system |
US6219662B1 (en) * | 1997-07-10 | 2001-04-17 | International Business Machines Corporation | Supporting database indexes based on a generalized B-tree index |
AU8485498A (en) * | 1997-07-14 | 1999-02-08 | Infosquare Corporation | Static views of data bases |
US6006216A (en) * | 1997-07-29 | 1999-12-21 | Lucent Technologies Inc. | Data architecture for fetch-intensive database applications |
US6990458B2 (en) * | 1997-08-28 | 2006-01-24 | Csg Systems, Inc. | System and method for computer-aided technician dispatch and communication |
GB2330221B (en) * | 1997-10-09 | 2002-07-03 | Ibm | Optimisation of relational database queries |
AU761900B2 (en) * | 1998-03-27 | 2003-06-12 | International Business Machines Corporation | Processing precomputed views |
US6272502B1 (en) * | 1998-05-11 | 2001-08-07 | Lucent Technologies Inc. | Refreshing materialized views of a database to maintain consistency with underlying data |
US6339769B1 (en) * | 1998-09-14 | 2002-01-15 | International Business Machines Corporation | Query optimization by transparently altering properties of relational tables using materialized views |
CA2249096C (en) * | 1998-09-30 | 2001-12-04 | Ibm Canada Limited-Ibm Canada Limitee | Method for determining optimal database materializations using a query optimizer |
US6327587B1 (en) | 1998-10-05 | 2001-12-04 | Digital Archaeology, Inc. | Caching optimization with disk and/or memory cache management |
US6601058B2 (en) * | 1998-10-05 | 2003-07-29 | Michael Forster | Data exploration system and method |
US6546381B1 (en) | 1998-11-02 | 2003-04-08 | International Business Machines Corporation | Query optimization system and method |
US6718320B1 (en) | 1998-11-02 | 2004-04-06 | International Business Machines Corporation | Schema mapping system and method |
US6163859A (en) | 1998-12-02 | 2000-12-19 | Support.Com, Inc. | Software vault |
US5991754A (en) * | 1998-12-28 | 1999-11-23 | Oracle Corporation | Rewriting a query in terms of a summary based on aggregate computability and canonical format, and when a dimension table is on the child side of an outer join |
US6513034B1 (en) | 1999-04-16 | 2003-01-28 | International Business Machines Corporation | Deriving uniqueness for indices on summary tables |
EP1049030A1 (en) | 1999-04-28 | 2000-11-02 | SER Systeme AG Produkte und Anwendungen der Datenverarbeitung | Classification method and apparatus |
US6847962B1 (en) | 1999-05-20 | 2005-01-25 | International Business Machines Corporation | Analyzing, optimizing and rewriting queries using matching and compensation between query and automatic summary tables |
US7167853B2 (en) * | 1999-05-20 | 2007-01-23 | International Business Machines Corporation | Matching and compensation tests for optimizing correlated subqueries within query using automatic summary tables |
US6374263B1 (en) * | 1999-07-19 | 2002-04-16 | International Business Machines Corp. | System for maintaining precomputed views |
US6560593B1 (en) * | 1999-07-20 | 2003-05-06 | Computer Associates Think, Inc. | Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query |
US7010580B1 (en) * | 1999-10-08 | 2006-03-07 | Agile Software Corp. | Method and apparatus for exchanging data in a platform independent manner |
US6496828B1 (en) | 1999-12-17 | 2002-12-17 | International Business Machines Corporation | Support for summary tables in a heterogeneous database environment |
US6532470B1 (en) | 1999-12-17 | 2003-03-11 | International Business Machines Corporation | Support for summary tables in a database system that does not otherwise support summary tables |
US7783625B2 (en) * | 1999-12-22 | 2010-08-24 | International Business Machines Corporation | Using data in materialized query tables as a source for query optimization statistics |
ES2208164T3 (es) * | 2000-02-23 | 2004-06-16 | Ser Solutions, Inc | Metodo y aparato para procesar documentos electronicos. |
JP2004509382A (ja) * | 2000-05-26 | 2004-03-25 | コンピュータ アソシエイツ シンク,インコーポレイテッド | データベースクエリーを自動的に発生するシステム及び方法 |
CA2310578A1 (en) | 2000-06-02 | 2001-12-02 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for synchronizing not-logged application temporary tables in a multi-node relational database management system |
US9177828B2 (en) | 2011-02-10 | 2015-11-03 | Micron Technology, Inc. | External gettering method and device |
EP1182577A1 (en) | 2000-08-18 | 2002-02-27 | SER Systeme AG Produkte und Anwendungen der Datenverarbeitung | Associative memory |
US6598041B1 (en) | 2000-09-07 | 2003-07-22 | International Business Machines Corporation | Method, system, and program for processing modifications to data in tables in a database system |
US6671697B1 (en) * | 2000-09-29 | 2003-12-30 | Arthur Thibodeau | Rental property caching and searching system and process |
US6856996B2 (en) | 2001-03-30 | 2005-02-15 | International Business Machines Corporation | Method, system, and program for accessing rows in one or more tables satisfying a search criteria |
US7415438B1 (en) | 2001-06-12 | 2008-08-19 | Microstrategy, Incorporated | System and method for obtaining feedback from delivery of informational and transactional data |
US7574376B1 (en) | 2001-06-12 | 2009-08-11 | Microstrategy Incorporated | System and method for generating and using a transaction enable report |
US6801910B1 (en) | 2001-06-19 | 2004-10-05 | Microstrategy, Incorporated | Method and system for guiding drilling in a report generated by a reporting system |
US8005870B1 (en) | 2001-06-19 | 2011-08-23 | Microstrategy Incorporated | System and method for syntax abstraction in query language generation |
US7302639B1 (en) | 2001-06-19 | 2007-11-27 | Microstrategy, Inc. | Report system and method using prompt in prompt objects |
US7356840B1 (en) | 2001-06-19 | 2008-04-08 | Microstrategy Incorporated | Method and system for implementing security filters for reporting systems |
US7430562B1 (en) | 2001-06-19 | 2008-09-30 | Microstrategy, Incorporated | System and method for efficient date retrieval and processing |
US7559048B1 (en) | 2001-06-19 | 2009-07-07 | Microstrategy Incorporated | System and method for managing objects between projects |
US8051168B1 (en) | 2001-06-19 | 2011-11-01 | Microstrategy, Incorporated | Method and system for security and user account integration by reporting systems with remote repositories |
US7861161B1 (en) | 2001-06-19 | 2010-12-28 | Microstrategy, Inc. | Report system and method using prompt objects |
US7801967B1 (en) | 2001-06-19 | 2010-09-21 | Microstrategy, Incorporated | Method and system for implementing database connection mapping for reporting systems |
US7356758B1 (en) | 2001-06-19 | 2008-04-08 | Microstrategy Incorporated | System and method for run-time report resolution of reports that include prompt objects |
US7925616B2 (en) | 2001-06-19 | 2011-04-12 | Microstrategy, Incorporated | Report system and method using context-sensitive prompt objects |
US7725811B1 (en) | 2001-06-19 | 2010-05-25 | Microstrategy, Inc. | Report system and method using prompt object abstraction |
US6697808B1 (en) | 2001-06-19 | 2004-02-24 | Microstrategy, Inc. | Method and system for performing advanced object searching of a metadata repository used by a decision support system |
US7228303B1 (en) | 2001-06-20 | 2007-06-05 | Microstrategy Inc. | System and method for remote manipulation of analytic reports |
US6772137B1 (en) | 2001-06-20 | 2004-08-03 | Microstrategy, Inc. | Centralized maintenance and management of objects in a reporting system |
US6658432B1 (en) | 2001-06-20 | 2003-12-02 | Microstrategy, Inc. | Method and system for providing business intelligence web content with reduced client-side processing |
US7836178B1 (en) | 2001-06-20 | 2010-11-16 | Microstrategy Incorporated | Technique for limiting access to the resources of a system |
US7003512B1 (en) * | 2001-06-20 | 2006-02-21 | Microstrategy, Inc. | System and method for multiple pass cooperative processing |
US7509671B1 (en) | 2001-06-20 | 2009-03-24 | Microstrategy Incorporated | Systems and methods for assigning priority to jobs in a reporting system |
US8522192B1 (en) | 2001-06-20 | 2013-08-27 | Microstrategy Incorporated | Systems and methods for performing operations in a reporting system |
US6691100B1 (en) | 2001-06-20 | 2004-02-10 | Microstrategy, Incorporated | HTML/DHTML web interface system and method |
US9183317B1 (en) | 2001-06-20 | 2015-11-10 | Microstrategy Incorporated | System and method for exporting report results from a reporting system |
US6996569B1 (en) | 2001-06-20 | 2006-02-07 | Microstrategy Incorporated | Systems and methods for custom grouping of data |
US6859798B1 (en) | 2001-06-20 | 2005-02-22 | Microstrategy, Inc. | Intelligence server system |
US7010518B1 (en) | 2001-06-20 | 2006-03-07 | Microstrategy, Inc. | System and method for user defined data object hierarchy |
US7617201B1 (en) | 2001-06-20 | 2009-11-10 | Microstrategy, Incorporated | System and method for analyzing statistics in a reporting system |
US7113993B1 (en) | 2001-06-20 | 2006-09-26 | Microstrategy, Inc. | Technique for handling server session requests in a system having a plurality of servers |
US6820073B1 (en) | 2001-06-20 | 2004-11-16 | Microstrategy Inc. | System and method for multiple pass cooperative processing |
US6704723B1 (en) | 2001-06-20 | 2004-03-09 | Microstrategy, Incorporated | Method and system for providing business intelligence information over a computer network via extensible markup language |
US8606813B1 (en) | 2001-06-20 | 2013-12-10 | Microstrategy Incorporated | System and method for function selection in analytic processing |
US6996568B1 (en) | 2001-06-20 | 2006-02-07 | Microstrategy Incorporated | System and method for extension of data schema |
ES2375403T3 (es) | 2001-08-27 | 2012-02-29 | BDGB Enterprise Software Sàrl | Un método para la indexación automática de documentos. |
US7158994B1 (en) | 2001-09-28 | 2007-01-02 | Oracle International Corporation | Object-oriented materialized views |
GB0130626D0 (en) * | 2001-12-20 | 2002-02-06 | Ibm | Message filtering |
US7970782B1 (en) | 2002-01-14 | 2011-06-28 | Microstrategy Incorporated | Systems and methods for set filtering of data |
US7111020B1 (en) * | 2002-03-26 | 2006-09-19 | Oracle International Corporation | Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view |
US7089230B2 (en) * | 2002-06-07 | 2006-08-08 | International Business Machines Corporation | Method for efficient processing of multi-state attributes |
US7047251B2 (en) * | 2002-11-22 | 2006-05-16 | Accenture Global Services, Gmbh | Standardized customer application and record for inputting customer data into analytic models |
US7188098B2 (en) * | 2003-09-24 | 2007-03-06 | International Business Machines Corporation | Query transformation for union all view join queries using join predicates for pruning and distribution |
US7383246B2 (en) | 2003-10-31 | 2008-06-03 | International Business Machines Corporation | System, method, and computer program product for progressive query processing |
US7890497B2 (en) | 2004-04-14 | 2011-02-15 | Oracle International Corporation | Using estimated cost to schedule an order for refreshing a set of materialized views (MVS) |
US8478742B2 (en) * | 2004-04-14 | 2013-07-02 | Oracle Corporation | Using estimated cost to refresh a set of materialized views (MVS) |
US7734602B2 (en) | 2004-04-14 | 2010-06-08 | Oracle International Corporation | Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed |
US20050278301A1 (en) * | 2004-05-26 | 2005-12-15 | Castellanos Maria G | System and method for determining an optimized process configuration |
US7971191B2 (en) * | 2004-06-10 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | System and method for analyzing a process |
US20050283458A1 (en) * | 2004-06-22 | 2005-12-22 | Microsoft Corporation | Automatic detection of frequently used query patterns in a query workload |
US7236938B2 (en) * | 2004-08-11 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | System and method for refreshing metric values |
US8412671B2 (en) | 2004-08-13 | 2013-04-02 | Hewlett-Packard Development Company, L.P. | System and method for developing a star schema |
US8185518B2 (en) | 2004-11-12 | 2012-05-22 | International Business Machines Corporation | Method, system and program product for rewriting structured query language (SQL) statements |
US7861253B1 (en) | 2004-11-12 | 2010-12-28 | Microstrategy, Inc. | Systems and methods for accessing a business intelligence system through a business productivity client |
US7711692B2 (en) * | 2004-11-12 | 2010-05-04 | International Business Machines Corporation | Method, system and program product for rewriting view statements in structured query language (SQL) statements |
US20060167825A1 (en) * | 2005-01-24 | 2006-07-27 | Mehmet Sayal | System and method for discovering correlations among data |
US8631391B2 (en) | 2005-01-24 | 2014-01-14 | Hewlett-Packard Development Company, L.P. | Method and a system for process discovery |
US7529790B1 (en) | 2005-01-27 | 2009-05-05 | Hewlett-Packard Development Company, L.P. | System and method of data analysis |
US7516181B1 (en) | 2005-02-08 | 2009-04-07 | Microstrategy, Inc. | Technique for project partitioning in a cluster of servers |
US8761659B1 (en) | 2005-02-11 | 2014-06-24 | Microstrategy, Inc. | Integration of e-learning with business intelligence system |
US7599925B2 (en) * | 2005-03-31 | 2009-10-06 | Microsoft Corporation | Using query expression signatures in view matching |
US7467145B1 (en) | 2005-04-15 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | System and method for analyzing processes |
US8423396B1 (en) | 2005-04-28 | 2013-04-16 | Hewlett-Packard Development Company, L.P. | System and method for process discovery |
US8645313B1 (en) | 2005-05-27 | 2014-02-04 | Microstrategy, Inc. | Systems and methods for enhanced SQL indices for duplicate row entries |
US7376646B2 (en) * | 2005-06-17 | 2008-05-20 | International Business Machines Corporation | Cost-based subquery correlation and decorrelation |
US20070174234A1 (en) * | 2006-01-24 | 2007-07-26 | International Business Machines Corporation | Data quality and validation within a relational database management system |
US7797312B2 (en) * | 2006-04-06 | 2010-09-14 | International Business Machines Corporation | Database query processing method and system |
US7680787B2 (en) * | 2006-04-06 | 2010-03-16 | International Business Machines Corporation | Database query generation method and system |
JP5068062B2 (ja) * | 2006-10-30 | 2012-11-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースを統合するためのシステム、方法、およびプログラム |
US8321357B2 (en) | 2009-09-30 | 2012-11-27 | Lapir Gennady | Method and system for extraction |
US9158833B2 (en) | 2009-11-02 | 2015-10-13 | Harry Urbschat | System and method for obtaining document information |
US9152883B2 (en) | 2009-11-02 | 2015-10-06 | Harry Urbschat | System and method for increasing the accuracy of optical character recognition (OCR) |
US9213756B2 (en) | 2009-11-02 | 2015-12-15 | Harry Urbschat | System and method of using dynamic variance networks |
US8914404B1 (en) * | 2011-03-29 | 2014-12-16 | Emc Corporation | Techniques for performing view indication management |
US9471630B2 (en) * | 2012-03-06 | 2016-10-18 | International Business Machines Corporation | Efficient query processing on ordered views |
US9390174B2 (en) | 2012-08-08 | 2016-07-12 | Google Inc. | Search result ranking and presentation |
US9734221B2 (en) * | 2013-09-12 | 2017-08-15 | Sap Se | In memory database warehouse |
US9734230B2 (en) | 2013-09-12 | 2017-08-15 | Sap Se | Cross system analytics for in memory data warehouse |
WO2016155511A1 (en) * | 2015-03-28 | 2016-10-06 | Huawei Technologies Co., Ltd. | A system and method to optimize queries on a view |
US11074258B2 (en) * | 2019-05-15 | 2021-07-27 | Sap Se | Temporary materialized views |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS583031A (ja) * | 1981-06-30 | 1983-01-08 | Fujitsu Ltd | リレ−シヨナル・モデルにおけるジヨイン演算処理方式 |
US4688195A (en) * | 1983-01-28 | 1987-08-18 | Texas Instruments Incorporated | Natural-language interface generating system |
US4506326A (en) * | 1983-02-28 | 1985-03-19 | International Business Machines Corporation | Apparatus and method for synthesizing a query for accessing a relational data base |
JPH0724036B2 (ja) * | 1983-12-23 | 1995-03-15 | 株式会社日立製作所 | データベース処理方法 |
US4888690A (en) * | 1985-01-11 | 1989-12-19 | Wang Laboratories, Inc. | Interactive error handling means in database management |
US5097408A (en) * | 1985-01-11 | 1992-03-17 | Wang Laboratories, Inc. | Apparatus for specifying a result relation in a relational database system by selection of rows |
US4631673A (en) * | 1985-01-22 | 1986-12-23 | International Business Machines Corporation | Method for refreshing multicolumn tables in a relational data base using minimal information |
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 | 視野管理システム |
US4918593A (en) * | 1987-01-08 | 1990-04-17 | Wang Laboratories, Inc. | Relational database system |
US4791561A (en) * | 1987-04-17 | 1988-12-13 | Wang Laboratories, Inc. | Interactive construction of means for database maintenance |
US4805099A (en) * | 1987-04-17 | 1989-02-14 | Wang Laboratories, Inc. | Retrieval of related records from a relational database |
US4930071A (en) * | 1987-06-19 | 1990-05-29 | Intellicorp, Inc. | Method for integrating a knowledge-based system with an arbitrary database system |
JP2753296B2 (ja) * | 1988-12-26 | 1998-05-18 | 株式会社日立製作所 | 電子銃の製造方法 |
-
1988
- 1988-12-08 EP EP19880311639 patent/EP0320266A3/en not_active Withdrawn
- 1988-12-08 JP JP63310990A patent/JPH022459A/ja active Pending
-
1990
- 1990-10-09 US US07/595,717 patent/US5276870A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH113359A (ja) * | 1997-05-09 | 1999-01-06 | Internatl Business Mach Corp <Ibm> | 照会処理システム、方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0320266A3 (en) | 1992-03-11 |
US5276870A (en) | 1994-01-04 |
EP0320266A2 (en) | 1989-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH022459A (ja) | 問合わせ処理方法 | |
US5797136A (en) | Optional quantifiers in relational and object-oriented views of database systems | |
US6529896B1 (en) | Method of optimizing a query having an existi subquery and a not-exists subquery | |
US5799309A (en) | Generating an optimized set of relational queries fetching data in an object-relational database | |
US6006214A (en) | Database management system, method, and program for providing query rewrite transformations for nested set elimination in database views | |
US6574623B1 (en) | Query transformation and simplification for group by queries with rollup/grouping sets in relational database management systems | |
US6604100B1 (en) | Method for converting relational data into a structured document | |
US7587383B2 (en) | Redundant join elimination and sub-query elimination using subsumption | |
McHugh et al. | Lore: A database management system for semistructured data | |
US5963933A (en) | Efficient implementation of full outer join and anti-join | |
US6574639B2 (en) | Query optimization with deferred updates and autonomous sources | |
Litwin et al. | MSQL: A multidatabase language | |
US5864847A (en) | Reordering of complex SQL queries involving groupbys, joins, outer joins and full outer joins | |
US5778354A (en) | Database management system with improved indexed accessing | |
US7925668B2 (en) | Querying markup language data sources using a relational query processor | |
US5615361A (en) | Exploitation of uniqueness properties using a 1-tuple condition for the optimization of SQL queries | |
US6832219B2 (en) | Method and system for storing and querying of markup based documents in a relational database | |
US6826562B1 (en) | Method of simplifying and optimizing scalar subqueries and derived tables that return exactly or at most one tuple | |
US5367675A (en) | Computer automated system and method for optimizing the processing of a query in a relational database system by merging subqueries with the query | |
US5822750A (en) | Optimization of correlated SQL queries in a relational database management system | |
US7246108B2 (en) | Reusing optimized query blocks in query processing | |
US6449609B1 (en) | Using materialized view to process a related query containing a one to many lossless join | |
US6449605B1 (en) | Using a materialized view to process a related query containing a one to many lossless join | |
US20070061318A1 (en) | System and method of data source agnostic querying | |
Follenfant et al. | RDF modelling and SPARQL processing of SQL abstract syntax trees |