JPH0333979A - 関係データベースの限定述語処理方法 - Google Patents
関係データベースの限定述語処理方法Info
- Publication number
- JPH0333979A JPH0333979A JP1168186A JP16818689A JPH0333979A JP H0333979 A JPH0333979 A JP H0333979A JP 1168186 A JP1168186 A JP 1168186A JP 16818689 A JP16818689 A JP 16818689A JP H0333979 A JPH0333979 A JP H0333979A
- Authority
- JP
- Japan
- Prior art keywords
- result
- predicate
- subquery
- stack
- column
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は、関係データベースへの問合せにおける限定述
語処理方法に関し、特に比較演算子が=限定子がANY
である限定述語処理方法に関する。 〔従来の技術] 関係データベースは、例えばC0L、DATErデータ
ベース・システムの概論Jl(丸善(株)発行)に記載
されているように、行と列の表形式により表現されてい
る論理的なデータ構造を持ったデータベースのことであ
る。また、限定述語とは、関係データベースへの問合せ
の中で、副問合せを含む条件式の中に出現するものであ
り、例えば″列名′ ゛比較演算子″限定子° ゛
副問合せ゛の形式により表現される。限定子の種類によ
り、副問合せの結果の要素の任意の1つないし全ての値
と主問合せの列の値とを比較して、比較演算子の条件を
満足するか否かを判定するものである。 一例を挙げて説明する。いま、データベース言語5QL
(JIS X 3005−1987)1’表現する
と、下記のように表わされる。 5ELECT Al、A2.A3 FROM TI W+−(ERE A2=100 ANDA3=AN
Y(SELECT BI FROM T2 WHERE B3<500) なお、上記表現中で、S E L ECTは出力列を指
定し、FROMはアクセス対象の表を指定し、WHER
Eは検索の条件を示している。また、WHE REの後
の条件式は、列A2の値が100に等しく、かつ列A3
の値が副問合せ結果の複数の値の任意の1つの値と等し
い行を返却することを示している。副問合せは、表T2
の列B3の値が500より小さい行の列Blを返却する
ことを示している。 限定子の種類は、ANY/SOMEとALLとがあり、
このうちANY/SOMEは副問合せの結果の要素値の
任意の1つが比較演算子を満足することを意味しており
、ALLは副問合せの結果の要素値の全てが比較41[
算子を満足することを意味する。 第4図は、従来における限定述語の処理システムの機能
ブロック図であり、第5図は第4図における動作フロー
チャートである。 第4図において、401は検索の条件を生成するための
プログラムを備えた検索条件作成部、402は実際に主
問合せの表の条件式と副問合せの表の条件式を満足する
ものを検索するためのプログラムを備えた検索処理部、
410は外部から人力する検索命令、411は副問合せ
の表の条件式、412は主問合せの表の条件式、421
は副問合せで検索する表、422は主問合せで検索する
表、423は副問合せ結果の要素群、424は検索結果
を格納するレジスタである。 次に、限定述語を含む検索処理の動作を、第5図により
述べる。 先ず、検索条件作成部401が検索命令410から副問
合せで検索する表421に対する条件式411を作成す
る(ステップ501)、次に、検索処理部402は、副
問合せで検索する表421に対する条件式411を評価
して、その結果を副問合せ結果の要素群423に格納す
る(ステップ502)0次に、検索条件作成部401は
検索命令410から主問合せで検索する表422に対す
る条件式412を作成する(ステップ503)、次に、
検索処理部402は、主問合せで検索する表422に対
する条件式412のうち、限定述語を除いた条件を評価
する(ステップ504)、次に、検索処理部402では
、副問合せ結果の要素群から要素を1個取り出し、限定
述語の比較演算子を満足するか否かを判定する(ステッ
プ505)、また、検索処理部402は、要素が比較演
算子を満足すれば(ステップ506)、限定述語の判定
結果を真として限定述語の評価を終了する(ステップ5
08)0次に、検索処理部402は、副問合せ結果の要
素群423から全ての要素を順次取り出し、要素がなく
なるまで上記処理を繰り返し行う(ステップ510)
、次に、検索処理部402は、全ての要素の比較が終了
した時点で、限定述語の真偽判定を行う(ステップ51
1)。いずれかの評価が真であれば真、それ以外は偽と
する0次に、検索処理部402は、限定述語以外の評価
結果と限定述語の評価結果をまとめて評価し、該当行が
条件を満足するか否かを判定しくステップ512)、満
足する行を検索結果レジスタ424に格納する(ステッ
プ513)、次に、検索処理部402は。 表422から次の行を取り出し、取り出す行がなくなる
まで、ステップ504以降を繰り返し行う(ステップ5
14)。 このようにして、限定述語を含む検索処理が実行される
。なお、主問合せの検索対象の表422からは、全ての
行を取り出す必要がなく、限定述語以外の述語が限定述
語とANDで結合されている場合には、限定述語以外の
評価結果が真である行のみが限定述語の評価対象となる
。 〔発明が解決しようとする課題] 第4図および第5図に示すような従来の限定述語処理方
法では、副問合せの結果の要素がN個の場合、限定述語
を含む述語の評価は副問合せの結果の各要素に対して比
較演算子が満足するか否かを判定しているので、評価に
かかる時間は副問合せの結果の要素数Nに比例して増加
する。すなわち、限定子がANY/SOMEの場合、平
均N/2かかることになり、また限定子がALLの場合
にも、平均N/2だけかかることになる。その結果、評
価対象の行数がMの場合には、限定述語の評価時間は、
MXN/2だけ必要となるため、全体の処理時間は極め
て長くなってしまう。 本発明の目的は、このような従来の課題を解決し、主問
合せの各行の列と副問合せ結果の要素との比較回数を削
減し、限定述語処理を高速に実行できる関係データベー
スの限定述語処理方法を提供することにある。
語処理方法に関し、特に比較演算子が=限定子がANY
である限定述語処理方法に関する。 〔従来の技術] 関係データベースは、例えばC0L、DATErデータ
ベース・システムの概論Jl(丸善(株)発行)に記載
されているように、行と列の表形式により表現されてい
る論理的なデータ構造を持ったデータベースのことであ
る。また、限定述語とは、関係データベースへの問合せ
の中で、副問合せを含む条件式の中に出現するものであ
り、例えば″列名′ ゛比較演算子″限定子° ゛
副問合せ゛の形式により表現される。限定子の種類によ
り、副問合せの結果の要素の任意の1つないし全ての値
と主問合せの列の値とを比較して、比較演算子の条件を
満足するか否かを判定するものである。 一例を挙げて説明する。いま、データベース言語5QL
(JIS X 3005−1987)1’表現する
と、下記のように表わされる。 5ELECT Al、A2.A3 FROM TI W+−(ERE A2=100 ANDA3=AN
Y(SELECT BI FROM T2 WHERE B3<500) なお、上記表現中で、S E L ECTは出力列を指
定し、FROMはアクセス対象の表を指定し、WHER
Eは検索の条件を示している。また、WHE REの後
の条件式は、列A2の値が100に等しく、かつ列A3
の値が副問合せ結果の複数の値の任意の1つの値と等し
い行を返却することを示している。副問合せは、表T2
の列B3の値が500より小さい行の列Blを返却する
ことを示している。 限定子の種類は、ANY/SOMEとALLとがあり、
このうちANY/SOMEは副問合せの結果の要素値の
任意の1つが比較演算子を満足することを意味しており
、ALLは副問合せの結果の要素値の全てが比較41[
算子を満足することを意味する。 第4図は、従来における限定述語の処理システムの機能
ブロック図であり、第5図は第4図における動作フロー
チャートである。 第4図において、401は検索の条件を生成するための
プログラムを備えた検索条件作成部、402は実際に主
問合せの表の条件式と副問合せの表の条件式を満足する
ものを検索するためのプログラムを備えた検索処理部、
410は外部から人力する検索命令、411は副問合せ
の表の条件式、412は主問合せの表の条件式、421
は副問合せで検索する表、422は主問合せで検索する
表、423は副問合せ結果の要素群、424は検索結果
を格納するレジスタである。 次に、限定述語を含む検索処理の動作を、第5図により
述べる。 先ず、検索条件作成部401が検索命令410から副問
合せで検索する表421に対する条件式411を作成す
る(ステップ501)、次に、検索処理部402は、副
問合せで検索する表421に対する条件式411を評価
して、その結果を副問合せ結果の要素群423に格納す
る(ステップ502)0次に、検索条件作成部401は
検索命令410から主問合せで検索する表422に対す
る条件式412を作成する(ステップ503)、次に、
検索処理部402は、主問合せで検索する表422に対
する条件式412のうち、限定述語を除いた条件を評価
する(ステップ504)、次に、検索処理部402では
、副問合せ結果の要素群から要素を1個取り出し、限定
述語の比較演算子を満足するか否かを判定する(ステッ
プ505)、また、検索処理部402は、要素が比較演
算子を満足すれば(ステップ506)、限定述語の判定
結果を真として限定述語の評価を終了する(ステップ5
08)0次に、検索処理部402は、副問合せ結果の要
素群423から全ての要素を順次取り出し、要素がなく
なるまで上記処理を繰り返し行う(ステップ510)
、次に、検索処理部402は、全ての要素の比較が終了
した時点で、限定述語の真偽判定を行う(ステップ51
1)。いずれかの評価が真であれば真、それ以外は偽と
する0次に、検索処理部402は、限定述語以外の評価
結果と限定述語の評価結果をまとめて評価し、該当行が
条件を満足するか否かを判定しくステップ512)、満
足する行を検索結果レジスタ424に格納する(ステッ
プ513)、次に、検索処理部402は。 表422から次の行を取り出し、取り出す行がなくなる
まで、ステップ504以降を繰り返し行う(ステップ5
14)。 このようにして、限定述語を含む検索処理が実行される
。なお、主問合せの検索対象の表422からは、全ての
行を取り出す必要がなく、限定述語以外の述語が限定述
語とANDで結合されている場合には、限定述語以外の
評価結果が真である行のみが限定述語の評価対象となる
。 〔発明が解決しようとする課題] 第4図および第5図に示すような従来の限定述語処理方
法では、副問合せの結果の要素がN個の場合、限定述語
を含む述語の評価は副問合せの結果の各要素に対して比
較演算子が満足するか否かを判定しているので、評価に
かかる時間は副問合せの結果の要素数Nに比例して増加
する。すなわち、限定子がANY/SOMEの場合、平
均N/2かかることになり、また限定子がALLの場合
にも、平均N/2だけかかることになる。その結果、評
価対象の行数がMの場合には、限定述語の評価時間は、
MXN/2だけ必要となるため、全体の処理時間は極め
て長くなってしまう。 本発明の目的は、このような従来の課題を解決し、主問
合せの各行の列と副問合せ結果の要素との比較回数を削
減し、限定述語処理を高速に実行できる関係データベー
スの限定述語処理方法を提供することにある。
上記目的を達成するため1本発明による関係データベー
スの限定述語処理方法は、関係データベースの問合せ中
、列名、比較演算子、限定子および副問合せの形式で表
現され、上記限定子の種類により副問合せの結果の要素
の任意の1つないし全ての4+(iと主問合せ列の値と
比較し、比較演算子の条件を満足するか否かを判定する
限定述語処理システムにおいて、上記比較演算子が=、
上記限定子がANYの場合に、副問合せ結果に対して同
じ値を持つ要素の除去とソートを行い、また主問合せの
行に対して副問合せ結果の要素以外の列の値を持つ行の
削除と限定述語で指定された列でのソートを行った後、
主問合せ結果の各行の列の値と副問合せ結果の要素とを
比較することに特徴がある。 【作 用J 本発明においては、主問合せの各行の限定述語で指定さ
れた列と、副問合せ結果の要素との比較を行う前に、副
問合せ結果に対して重複して同じ値を持つ要素を除去す
るとともに、ソートを行い、かつ主問合せの行から副問
合せ結果の要素以外の列の値を持つ行を除去し、限定述
語で指定された列でのソートを行う、これにより、主問
合せの各行の列と副問合せ結果の要素との比較回数を削
減することができるので、限定述語処理を高速かつ能率
的に行うことが可能である。 【実施例] 以下、本発明の実施例を、図面により祥細に説明する。 第1図は、本発明の一実施例を示す関係データベース検
索システムの構成図であり、第3図は第1図における限
定述語処理の動作フローチャートである。 第1図において、101は検索条件を作成するためのプ
ログラムを備えた検索条件作成部、102は検索処理プ
ログラムを備えた検索処理部、103は副問合せ結果に
対して重複して同じ値を持つ要素の除去とソートを行う
プログラムを備えた重複除去・ソート部、104は主問
合せの行から副問合せ結果の要素以外の列の値を持つ行
の除去と限定述語で指定された列でのソートを行うプロ
グラムを備えたふるい落とし・ソート部、105は限定
述語を判定するプログラムを備えた限定述語判定部、1
10は検索命令、Illは副問合せの表の条件式、11
2は主問合せの表の条件式、1’21は副問合せで検索
する表、122は主問合せで検索する表、123は副問
合せ結果を格納するスタック、124は主問合せ結果を
格納するスタック、125は副問合せ結果の重複除去・
ソートした結果を格納するスタック、126は主問合せ
結果のふるい落とし・ソートした結果を格納するスタッ
ク、127は検索結果を格納するスタックである。 第1図を第5図と比較すれば明らかなように、本発明で
は、新たに重複除去・ソート部103とふるい落とし・
ソート部104と、それらの結果および対象を格納する
ための副問合せ結果の重複除去・ソート結果格納スタッ
ク125と主問合せ結果のふるい落とし・ソート結果格
納スタック126と主問合せ結果格納スタック124と
、限定述語判定部105を設けている。 第3図により、本発明の限定述語処理の手順を説明する
。 先ず、検索条件作成部101が検索命令110から副問
合せで検索する表121に対する条件式Illを作成す
る(ステップ301)、次に、検索処理部102は、副
問合せで検索する表121に対する条件式111を評価
して、その結果を副問合せ結果スタック123に格納す
る(ステップ302)0次に、重複除去・ソート部10
3において、副問合せ結果スタック123から重複して
同じ値を持つ要素を除去し、かつソートを行い、副問合
せ結果の重複除去・ソートした結果スタック125に格
納する(ステップ303)0次に、検索条件作成部10
1は、検索命令110から主問合せでM索する表122
に対する条件式(限定述語を除<)l l 2を作成す
る(ステップ304)、検索処理部102は、主問合せ
で検索する表122に対する条件式112を評価して、
その結果を主問合せ結果スタック124に格納する(ス
テップ305)、次に、ふるい落とし・ソート部104
は、副問合せ結果の重複除去・ソートした結果スタック
125を参照して、主問合せ結果スタック124から副
問合せ結果の要素以外の列の値を持つ行の除去とソート
を行い、主問合せ結果のふルい落とし・ソートした結果
スタック126に格納する(ステップ306)、限定述
語判定部105は、主問合せ結果のふるい落とし・ソー
トした結果スタック126の行の限定述語で指定された
列の値と、副問合せ結果の重複除去・ソートした結果ス
タック125の要素を比較することにより、限定述語の
判定を行い(ステップ307)、満足するスタック12
6中の行を検索結果スタック127に格納する(ステッ
プ308,309)。 このようにして、少ない比較回数で限定述3/1処理を
行うことができるので、処理時mノの短縮が可能となる
。 第2図は、第1図による限定述語処理の具体例を示す図
である。 第2図において、201は検索条件作成部、202は検
索処理部、203は重複除去・ソート部、204はふる
い落とし・ソート部、205は限定述語判定部、210
は検索命令、211は副問合せの表の条件式、212は
主問合せの表の条件式、221は副問合せが検索する表
、222は主問合せが検索する表、223は副問合せ結
果、224は主問合せ結果、225は副問合せ結果の重
複除去・ソート結果、226は主問合せ結果のふるい落
とし・ソート結果、227は検索結果である。 検索命令は、以下に示すものを用いて行われたものとす
る。 5ELECT本 FROM 会社 WHERE 地区=“東京’ AND社番社格NY
(SELECT社番 FRO社格 ff11品 WHERE 在車≦50) この検索命令は、部品表の中から在1dlが50以下の
部品を仇給する会社に関する情報を会社から返却するこ
とを示している。 限定述語の処理は、第3図に従って、次の順序で行われ
る。 (i)先ず、検索条件作成部201では、検索命令21
0から副問合せで検索する表221(部品表)に対する
条件式211を作成する(ステップ31)。 (1i)検索処理部202では、副問合せで検索する表
221に対する条件式211を評価して、その結果を副
問合せ結果スタック223に格納する(ステップ302
)、すなわち、表221で在車が50以下のもは電池と
ソケットと電球の3種であり、その社番は2と3である
ため、スタック223には、社格2.3.2が格納され
る。 (iii)次に、ffif重複除去−ト部203では、
副問合せ結果223から重複して同じ値を持つ要素の除
去を行うとともに、ソートを行い(社格2を除去)、副
問合せ結果の重複除去・ソートした結果225にこれら
を格納する(ステップ303)。 (iv )検索条件作成部201で、検索命令210か
ら主問合せで検索する表222に対する条件式(限定述
語を除<)212を作成する(ステップ304)、すな
わち、地区が東京の会社を返却する検索条件である。 (v)検索処理rfrJ202では、主rm合せで検索
する表222に対する条件式212を評価して、主問合
せ結果224に格納する(ステップ305)、すなわち
、格納された会社は1社番が3のB社と、社格が4の0
社と、社格が2のD社である。 (vi)ふるい落とし・ソート部204では、副問合せ
結果の重複除去・ソートした結果225を参照して、主
問合せ結果の表224から副問合せ結果の要素以外の列
の値を持つ打の除去(社格4の行の除去)とソートを行
い、その結果を主問合せ結果のふるい落とし・ソートし
た結果226に格納する(ステップ306)。 (Vii)限定述語判定部205では、主問合せ結果の
ふるい落とし・ソートした結果226の行の限定述語で
指定された列の値と、副問合せ結果の重複除去・ソート
した結果225の要素を比較することにより、限定述語
の判定を行い(ステップ307)、満足する行がどれか
を調べ(ステップ308)、結果226の中の満足する
行(社格2と3)を検索結果227に格納する(ステッ
プ309)。 このようにして、部品表の中から在庫が50以下の部品
を供給する会社を検索することができた。 次に、本発明による限定述語の処理において、比較演算
子が=、限定子がANYの場合、副問合せ結果の要素数
をM1要素の重複度(全要素数と異なる値を持つ要素数
との比≧1)をD、主問合せの行数をN1ふるい落とし
率(全行数と副問合せ結果の要素と同じ値を持つ行数の
比≧1)をSとすると、比較回数は次のようになる。 すなわち、従来の方法では、前述のように平均比較回数
A、は、A、=MXN/2であるのに対して、本発明で
は、平均比較回数A1が、A、= (M/D)+(N/
S)である。 本発明の値が従来の値よりも小さいことを確認するため
に、A、をA、で除算すると、次の値になる。 A、NDMS 本発明による比較回数が従来方法の回数よりも少なくな
るのは、D=S=1の時で、M、N)4のときであるが
、−股間にはM)10.N)100程度であるため、限
定述語処理時間の短縮が図れる。 〔発明の効果J 以上説明したように、本発明によれば、主問合せの各行
の限定述語で指定された列と1.副問合せ結果の要素と
を比較する前に、副問合せ結果に対して重複して同じ値
を持つ要素の除去とソート、主問合せの行から副問合せ
結果の要素以外の列の値を持つ行の除去と限定述語で指
定された列でのソートを行うので、主問合せの各行の列
と副問合せ結果の要素との比較回数を削減することがで
き、従って限定述語処理を高速に行うことが可能である
。
スの限定述語処理方法は、関係データベースの問合せ中
、列名、比較演算子、限定子および副問合せの形式で表
現され、上記限定子の種類により副問合せの結果の要素
の任意の1つないし全ての4+(iと主問合せ列の値と
比較し、比較演算子の条件を満足するか否かを判定する
限定述語処理システムにおいて、上記比較演算子が=、
上記限定子がANYの場合に、副問合せ結果に対して同
じ値を持つ要素の除去とソートを行い、また主問合せの
行に対して副問合せ結果の要素以外の列の値を持つ行の
削除と限定述語で指定された列でのソートを行った後、
主問合せ結果の各行の列の値と副問合せ結果の要素とを
比較することに特徴がある。 【作 用J 本発明においては、主問合せの各行の限定述語で指定さ
れた列と、副問合せ結果の要素との比較を行う前に、副
問合せ結果に対して重複して同じ値を持つ要素を除去す
るとともに、ソートを行い、かつ主問合せの行から副問
合せ結果の要素以外の列の値を持つ行を除去し、限定述
語で指定された列でのソートを行う、これにより、主問
合せの各行の列と副問合せ結果の要素との比較回数を削
減することができるので、限定述語処理を高速かつ能率
的に行うことが可能である。 【実施例] 以下、本発明の実施例を、図面により祥細に説明する。 第1図は、本発明の一実施例を示す関係データベース検
索システムの構成図であり、第3図は第1図における限
定述語処理の動作フローチャートである。 第1図において、101は検索条件を作成するためのプ
ログラムを備えた検索条件作成部、102は検索処理プ
ログラムを備えた検索処理部、103は副問合せ結果に
対して重複して同じ値を持つ要素の除去とソートを行う
プログラムを備えた重複除去・ソート部、104は主問
合せの行から副問合せ結果の要素以外の列の値を持つ行
の除去と限定述語で指定された列でのソートを行うプロ
グラムを備えたふるい落とし・ソート部、105は限定
述語を判定するプログラムを備えた限定述語判定部、1
10は検索命令、Illは副問合せの表の条件式、11
2は主問合せの表の条件式、1’21は副問合せで検索
する表、122は主問合せで検索する表、123は副問
合せ結果を格納するスタック、124は主問合せ結果を
格納するスタック、125は副問合せ結果の重複除去・
ソートした結果を格納するスタック、126は主問合せ
結果のふるい落とし・ソートした結果を格納するスタッ
ク、127は検索結果を格納するスタックである。 第1図を第5図と比較すれば明らかなように、本発明で
は、新たに重複除去・ソート部103とふるい落とし・
ソート部104と、それらの結果および対象を格納する
ための副問合せ結果の重複除去・ソート結果格納スタッ
ク125と主問合せ結果のふるい落とし・ソート結果格
納スタック126と主問合せ結果格納スタック124と
、限定述語判定部105を設けている。 第3図により、本発明の限定述語処理の手順を説明する
。 先ず、検索条件作成部101が検索命令110から副問
合せで検索する表121に対する条件式Illを作成す
る(ステップ301)、次に、検索処理部102は、副
問合せで検索する表121に対する条件式111を評価
して、その結果を副問合せ結果スタック123に格納す
る(ステップ302)0次に、重複除去・ソート部10
3において、副問合せ結果スタック123から重複して
同じ値を持つ要素を除去し、かつソートを行い、副問合
せ結果の重複除去・ソートした結果スタック125に格
納する(ステップ303)0次に、検索条件作成部10
1は、検索命令110から主問合せでM索する表122
に対する条件式(限定述語を除<)l l 2を作成す
る(ステップ304)、検索処理部102は、主問合せ
で検索する表122に対する条件式112を評価して、
その結果を主問合せ結果スタック124に格納する(ス
テップ305)、次に、ふるい落とし・ソート部104
は、副問合せ結果の重複除去・ソートした結果スタック
125を参照して、主問合せ結果スタック124から副
問合せ結果の要素以外の列の値を持つ行の除去とソート
を行い、主問合せ結果のふルい落とし・ソートした結果
スタック126に格納する(ステップ306)、限定述
語判定部105は、主問合せ結果のふるい落とし・ソー
トした結果スタック126の行の限定述語で指定された
列の値と、副問合せ結果の重複除去・ソートした結果ス
タック125の要素を比較することにより、限定述語の
判定を行い(ステップ307)、満足するスタック12
6中の行を検索結果スタック127に格納する(ステッ
プ308,309)。 このようにして、少ない比較回数で限定述3/1処理を
行うことができるので、処理時mノの短縮が可能となる
。 第2図は、第1図による限定述語処理の具体例を示す図
である。 第2図において、201は検索条件作成部、202は検
索処理部、203は重複除去・ソート部、204はふる
い落とし・ソート部、205は限定述語判定部、210
は検索命令、211は副問合せの表の条件式、212は
主問合せの表の条件式、221は副問合せが検索する表
、222は主問合せが検索する表、223は副問合せ結
果、224は主問合せ結果、225は副問合せ結果の重
複除去・ソート結果、226は主問合せ結果のふるい落
とし・ソート結果、227は検索結果である。 検索命令は、以下に示すものを用いて行われたものとす
る。 5ELECT本 FROM 会社 WHERE 地区=“東京’ AND社番社格NY
(SELECT社番 FRO社格 ff11品 WHERE 在車≦50) この検索命令は、部品表の中から在1dlが50以下の
部品を仇給する会社に関する情報を会社から返却するこ
とを示している。 限定述語の処理は、第3図に従って、次の順序で行われ
る。 (i)先ず、検索条件作成部201では、検索命令21
0から副問合せで検索する表221(部品表)に対する
条件式211を作成する(ステップ31)。 (1i)検索処理部202では、副問合せで検索する表
221に対する条件式211を評価して、その結果を副
問合せ結果スタック223に格納する(ステップ302
)、すなわち、表221で在車が50以下のもは電池と
ソケットと電球の3種であり、その社番は2と3である
ため、スタック223には、社格2.3.2が格納され
る。 (iii)次に、ffif重複除去−ト部203では、
副問合せ結果223から重複して同じ値を持つ要素の除
去を行うとともに、ソートを行い(社格2を除去)、副
問合せ結果の重複除去・ソートした結果225にこれら
を格納する(ステップ303)。 (iv )検索条件作成部201で、検索命令210か
ら主問合せで検索する表222に対する条件式(限定述
語を除<)212を作成する(ステップ304)、すな
わち、地区が東京の会社を返却する検索条件である。 (v)検索処理rfrJ202では、主rm合せで検索
する表222に対する条件式212を評価して、主問合
せ結果224に格納する(ステップ305)、すなわち
、格納された会社は1社番が3のB社と、社格が4の0
社と、社格が2のD社である。 (vi)ふるい落とし・ソート部204では、副問合せ
結果の重複除去・ソートした結果225を参照して、主
問合せ結果の表224から副問合せ結果の要素以外の列
の値を持つ打の除去(社格4の行の除去)とソートを行
い、その結果を主問合せ結果のふるい落とし・ソートし
た結果226に格納する(ステップ306)。 (Vii)限定述語判定部205では、主問合せ結果の
ふるい落とし・ソートした結果226の行の限定述語で
指定された列の値と、副問合せ結果の重複除去・ソート
した結果225の要素を比較することにより、限定述語
の判定を行い(ステップ307)、満足する行がどれか
を調べ(ステップ308)、結果226の中の満足する
行(社格2と3)を検索結果227に格納する(ステッ
プ309)。 このようにして、部品表の中から在庫が50以下の部品
を供給する会社を検索することができた。 次に、本発明による限定述語の処理において、比較演算
子が=、限定子がANYの場合、副問合せ結果の要素数
をM1要素の重複度(全要素数と異なる値を持つ要素数
との比≧1)をD、主問合せの行数をN1ふるい落とし
率(全行数と副問合せ結果の要素と同じ値を持つ行数の
比≧1)をSとすると、比較回数は次のようになる。 すなわち、従来の方法では、前述のように平均比較回数
A、は、A、=MXN/2であるのに対して、本発明で
は、平均比較回数A1が、A、= (M/D)+(N/
S)である。 本発明の値が従来の値よりも小さいことを確認するため
に、A、をA、で除算すると、次の値になる。 A、NDMS 本発明による比較回数が従来方法の回数よりも少なくな
るのは、D=S=1の時で、M、N)4のときであるが
、−股間にはM)10.N)100程度であるため、限
定述語処理時間の短縮が図れる。 〔発明の効果J 以上説明したように、本発明によれば、主問合せの各行
の限定述語で指定された列と1.副問合せ結果の要素と
を比較する前に、副問合せ結果に対して重複して同じ値
を持つ要素の除去とソート、主問合せの行から副問合せ
結果の要素以外の列の値を持つ行の除去と限定述語で指
定された列でのソートを行うので、主問合せの各行の列
と副問合せ結果の要素との比較回数を削減することがで
き、従って限定述語処理を高速に行うことが可能である
。
ft51図は本発明の一実施例を示す関係データベース
検索システムの機能ブロック図、第2図は第1図におけ
る具体例を示す説明図、第3図は第1図における限定述
語処理の動作フローチャート、第4図は従来の関係デー
タベース検索システムの機能ブロック図、第5図は第4
図における限定述語処理の動作フローチャートである。 101.201,401 :検索条件作成部、1’02
,202,402 :検索処理部、103゜203=重
複除去・ソート部、104,204:ふるい落とし・ソ
ート部、105,205:限定述語判定部、110,2
10,410:検索命令、Il!、211,411:周
問合せの表の条件式、112.212,412:主問合
せの表の条件式、121.221,421 :副問合せ
で検索する表、122.222,422:主問合せで検
索する表、123.223,423:副問合せ結果の要
素群、124.224:主問合せ結果スタック、125
゜225=副問合せ結果の重複除去・ソート結果スタッ
ク、、126,226:主問合せ結果のふるい落とし・
ソート結果スタック、127,227゜424:検索結
果スタック。
検索システムの機能ブロック図、第2図は第1図におけ
る具体例を示す説明図、第3図は第1図における限定述
語処理の動作フローチャート、第4図は従来の関係デー
タベース検索システムの機能ブロック図、第5図は第4
図における限定述語処理の動作フローチャートである。 101.201,401 :検索条件作成部、1’02
,202,402 :検索処理部、103゜203=重
複除去・ソート部、104,204:ふるい落とし・ソ
ート部、105,205:限定述語判定部、110,2
10,410:検索命令、Il!、211,411:周
問合せの表の条件式、112.212,412:主問合
せの表の条件式、121.221,421 :副問合せ
で検索する表、122.222,422:主問合せで検
索する表、123.223,423:副問合せ結果の要
素群、124.224:主問合せ結果スタック、125
゜225=副問合せ結果の重複除去・ソート結果スタッ
ク、、126,226:主問合せ結果のふるい落とし・
ソート結果スタック、127,227゜424:検索結
果スタック。
Claims (1)
- (1)関係データベースの問合せ中、列名、比較演算子
、限定子および副問合せの形式で表現され、上記限定子
の種類により副問合せの結果の要素の任意の1つないし
全ての値と主問合せ列の値と比較し、比較演算子の条件
を満足するか否かを判定する限定述語処理システムにお
いて、上記比較演算子が=、上記限定子がANYの場合
に、副問合せ結果に対して同じ値を持つ要素の除去とソ
ートを行い、また主問合せの行に対して副問合せ結果の
要素以外の列の値を持つ行の削除と限定述語で指定され
た列でのソートを行った後、主問合せ結果の各行の列の
値と副問合せ結果の要素とを比較することを特徴とする
関係データベースの限定述語処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1168186A JP2836103B2 (ja) | 1989-06-29 | 1989-06-29 | 関係データベースの限定述語処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1168186A JP2836103B2 (ja) | 1989-06-29 | 1989-06-29 | 関係データベースの限定述語処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0333979A true JPH0333979A (ja) | 1991-02-14 |
| JP2836103B2 JP2836103B2 (ja) | 1998-12-14 |
Family
ID=15863380
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1168186A Expired - Lifetime JP2836103B2 (ja) | 1989-06-29 | 1989-06-29 | 関係データベースの限定述語処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2836103B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05128164A (ja) * | 1990-03-27 | 1993-05-25 | Internatl Business Mach Corp <Ibm> | データベース処理装置 |
| KR20030039018A (ko) * | 2001-11-09 | 2003-05-17 | 노기문 | 밀폐용기 |
| KR20030097240A (ko) * | 2002-06-20 | 2003-12-31 | 하나코비 주식회사 | 밀폐용기의 뚜껑밀봉용 패킹 |
-
1989
- 1989-06-29 JP JP1168186A patent/JP2836103B2/ja not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05128164A (ja) * | 1990-03-27 | 1993-05-25 | Internatl Business Mach Corp <Ibm> | データベース処理装置 |
| KR20030039018A (ko) * | 2001-11-09 | 2003-05-17 | 노기문 | 밀폐용기 |
| KR20030097240A (ko) * | 2002-06-20 | 2003-12-31 | 하나코비 주식회사 | 밀폐용기의 뚜껑밀봉용 패킹 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2836103B2 (ja) | 1998-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5960428A (en) | Star/join query optimization | |
| US6185557B1 (en) | Merge join process | |
| O'Neil et al. | Multi-table joins through bitmapped join indices | |
| CA2232938C (en) | Method and apparatus for performing a join query in a database system | |
| EP0444358B1 (en) | Dynamic optimization of a single relation access | |
| US5241648A (en) | Hybrid technique for joining tables | |
| US5987467A (en) | Method of calculating tuples for data cubes | |
| US5822748A (en) | Group by and distinct sort elimination using cost-based optimization | |
| US7111025B2 (en) | Information retrieval system and method using index ANDing for improving performance | |
| US5598559A (en) | Method and apparatus for optimizing queries having group-by operators | |
| US20090055350A1 (en) | Aggregate query optimization | |
| CN100399324C (zh) | 嵌入式数据库查询的处理方法 | |
| AU4867699A (en) | Value-instance-connectivity computer-implemented database | |
| US20030097354A1 (en) | Method and system for index sampled tablescan | |
| US7536379B2 (en) | Performing a multiple table join operating based on generated predicates from materialized results | |
| US6925463B2 (en) | Method and system for query processing by combining indexes of multilevel granularity or composition | |
| Silva et al. | Database similarity join for metric spaces | |
| US7373340B2 (en) | Computer implemented method and according computer program product for storing data sets in and retrieving data sets from a data storage system | |
| JPH0333979A (ja) | 関係データベースの限定述語処理方法 | |
| US6694324B1 (en) | Determination of records with a specified number of largest or smallest values in a parallel database system | |
| Barg et al. | A fast and versatile path index for querying semi-structured data | |
| Kotsis et al. | Elimination of redundant views in multidimensional aggregates | |
| JP6828334B2 (ja) | データベース管理装置、データベース管理システム、データベース管理方法、および、データベース管理プログラム | |
| KR100333682B1 (ko) | 객체-관계 데이터베이스 관리 시스템에서의 역 포인터를이용한 그루핑 연산 방법 및 그 방법에서 생성된 그룹테이블을 이용한 집계 함수 획득 방법 | |
| Scheufele et al. | Optimal ordering of selections and joins in acyclic queries with expensive predicates |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071009 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081009 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091009 Year of fee payment: 11 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091009 Year of fee payment: 11 |