JP2836103B2 - 関係データベースの限定述語処理方法 - Google Patents

関係データベースの限定述語処理方法

Info

Publication number
JP2836103B2
JP2836103B2 JP1168186A JP16818689A JP2836103B2 JP 2836103 B2 JP2836103 B2 JP 2836103B2 JP 1168186 A JP1168186 A JP 1168186A JP 16818689 A JP16818689 A JP 16818689A JP 2836103 B2 JP2836103 B2 JP 2836103B2
Authority
JP
Japan
Prior art keywords
result
subquery
predicate
search
main query
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 - Lifetime
Application number
JP1168186A
Other languages
English (en)
Other versions
JPH0333979A (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.)
Hitachi Ltd
Nippon Telegraph and Telephone Corp
Original Assignee
Hitachi Ltd
Nippon Telegraph and Telephone Corp
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 Hitachi Ltd, Nippon Telegraph and Telephone Corp filed Critical Hitachi Ltd
Priority to JP1168186A priority Critical patent/JP2836103B2/ja
Publication of JPH0333979A publication Critical patent/JPH0333979A/ja
Application granted granted Critical
Publication of JP2836103B2 publication Critical patent/JP2836103B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、関係データベースへの問合せにおける限定
述語処理方法に関し、特に比較演算子が=、限定子がAN
Yである限定述語処理方法に関する。
〔従来の技術〕
関係データベースは、例えばC.L.DATE『データベース
・システムの概論』(丸善(株)発行)に記載されてい
るように、行と列の表形式により表現されている論理的
なデータ構造を持ったデータベースのことである。ま
た、限定述語とは、関係データベースへの問合せの中
で、副問合せを含む条件式の中に出現するものであり、
例えば‘列名',‘比較演算子',‘限定子',‘副問合せ’
の形式により表現される。限定子の種類により、副問合
せの結果の要素の任意の1つないし全ての値と主問合せ
の列の値とを比較して、比較演算子の条件を満足するか
否かを判定するものである。
一例を挙げて説明する。いま、データベース言語SQL
(JIS X 3005−1987)で表現すると、下記のように
表わされる。
SELECT A1,A2,A3 FROM T1 WHERE A2=100 AND A3=ANY(SELECT B1 FROM T2 WHERE B3<500) なお、上記表現中で、SELECTは出力列を指定し、FROM
はアクセス対象の表を指定し、WHEREは検索の条件を示
している。また、WHEREの後の条件式は、列A2の値が100
に等しく、かつ列A3の値が副問合せ結果の複数の値の任
意の1つの値と等しい行を返却することを示している。
副問合せは、表T2の列B3の値が500より小さい行の列B1
を返却することを示している。
限定子の種類は、ANY/SOMEとALLとがあり、このうちA
NY/SOMEは副問合せの結果の要素値の任意の1つが比較
演算子を満足することを意味しており、ALLは副問合せ
の結果の要素値の全てが比較演算子を満足することを意
味する。
第4図は、従来における限定述語の処理システムの機
能ブロック図であり、第5図は第4図における動作フロ
ーチャートである。
第4図において、401は検索の条件を生成するための
プログラムを備えた検索条件作成部、402は実際に主問
合せの表の条件式と副問合せの表の条件式を満足するも
のを検索するためのプログラムを備えた検索処理部、41
0は外部から入力する検索命令、411は副問合せの表の条
件式、412は主問合せの表の条件式、421は副問合せで検
索する表、422は主問合せで検索する表、423は副問合せ
結果の要素群、424は検索結果を格納するレジスタであ
る。
次に、限定述語を含む検索処理の動作を、第5図によ
り述べる。
先ず、検索条件作成部401が検索命令410から副問合せ
で検索する表421に対する条件式411を作成する(ステッ
プ501)。次に、検索処理部402は、副問合せで検索する
表421に対する条件式411を評価して、その結果を副問合
せ結果の要素群423に格納する(ステップ502)。次に、
検索条件作成部401は検索命令410から主問合せで検索す
る表422に対する条件式412を作成する(ステップ50
3)。次に、検索処理部402は、主問合せで検索する表42
2に対する条件式412のうち、限定述語を除いた条件を評
価する(ステップ504)。次に、検索処理部402では、副
問合せ結果の要素群から要素を1個取り出し、限定述語
の比較演算子を満足するか否かを判定する(ステップ50
5)。また、検索処理部402は、要素が比較演算子を満足
すれば(ステップ506)、限定述語の判定結果を真とし
て限定述語の評価を終了する(ステップ508)。次に、
検索処理部402は、副問合せ結果の要素群423から全ての
要素を順次取り出し、要素がなくなるまで上記処理を繰
り返し行う(ステップ510)。次に、検索処理部402は、
全ての要素の比較が終了した時点で、限定述語の真偽判
定を行う(ステップ511)。いずれかの評価が真であれ
ば真、それ以外は偽とする。次に、検索処理部402は、
限定述語以外の評価結果と限定述語の評価結果をまとめ
て評価し、該当行が条件を満足するか否かを判定し(ス
テップ512)、満足する行を検索結果レジスタ424に格納
する(ステップ513)。次に、検索処理部402は、表422
から次の行を取り出し、取り出す行がなくなるまで、ス
テップ504以降を繰り返し行う(ステップ514)。
このようにして、限定述語を含む検索処理が実行され
る。なお、主問合せの検索対象の表422からは、全ての
行を取り出す必要がなく、限定述語以外の述語が限定述
語とANDで結合されている場合には、限定述語以外の評
価結果が真である行のみが限定述語の評価対象となる。
〔発明が解決しようとする課題〕
第4図および第5図に示すような従来の限定述語処理
方法では、副問合せの結果の要素がN個の場合、限定述
語を含む述語の評価は副問合せの結果の各要素に対して
比較演算子が満足するか否かを判定しているので、評価
にかかる時間は副問合せの結果の要素数Nに比例して増
加する。すなわち、限定子がANY/SOMEの場合、平均N/2
かかることになり、また限定子がALLの場合にも、平均N
/2だけかかることになる。その結果、評価対象の行数が
Mの場合には、限定述語の評価時間は、M×N/2だけ必
要となるため、全体の処理時間は極めて長くなってしま
う。
本発明の目的は、このような従来の課題を解決し、主
問合せの各行の列と副問合せ結果の要素との比較回数を
削減し、限定述語処理を高速に実行できる関係データベ
ースの限定述語処理方法を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明による関係データベ
ースの限定述語処理方法は、関係データベースの問合せ
中、列名、比較演算子、限定子および副問合せの形式で
表現され、上記限定子の種類により副問合せの結果の要
素の任意の1つないし全ての値と主問合せ列の値と比較
し、比較演算子の条件を満足するか否かを判定する限定
述語処理システムにおいて、上記比較演算子が=、上記
限定子がANYの場合に、副問合せ結果に対して同じ値を
持つ要素の除去とソートを行い、また主問合せの行に対
して副問合せ結果の要素以外の列の値を持つ行の削除と
限定述語で指定された列でのソートを行った後、主問合
せ結果の各行の列の値と副問合せ結果の要素とを比較す
ることに特徴がある。
〔作用〕
本発明においては、主問合せの各行の限定述語で指定
された列と、副問合せ結果の要素との比較を行う前に、
副問合せ結果に対して重複して同じ値を持つ要素を除去
するとともに、ソートを行い、かつ主問合せの行から副
問合せ結果の要素以外の列の値を持つ行を除去し、限定
述語で指定された列でのソートを行う。これにより、主
問合せの各行の列と副問合せ結果の要素との比較回数を
削減することができるので、限定述語処理を高速かつ能
率的に行うことが可能である。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明す
る。
第1図は、本発明の一実施例を示す関係データベース
検索システムの構成図であり、第3図は第1図における
限定述語処理の動作フローチャートである。
第1図において、101は検索条件を作成するためのプ
ログラムを備えた検索条件作成部、102は検索処理プロ
グラムを備えた検索処理部、103は副問合せ結果に対し
て重複して同じ値を持つ要素の除去とソートを行うプロ
グラムを備えた重複除去・ソート部、104は主問合せの
行から副問合せ結果の要素以外の列の値を持つ行の除去
と限定述語で指定された列でのソートを行うプログラム
を備えたふるい落とし・ソート部、105は限定述語を判
定するプログラムを備えた限定述語判定部、110は検索
命令、111は副問合せの表の条件式、112は主問合せの表
の条件式、121は副問合せで検索する表、122は主問合せ
で検索する表、123は副問合せ結果を格納するスタッ
ク、124は主問合せ結果を格納するスタック、125は副問
合せ結果の重複除去・ソートした結果を格納するスタッ
ク、126は主問合せ結果のふるい落とし・ソートした結
果を格納するスタック、127は検索結果を格納するスタ
ックである。
第1図を第5図と比較すれば明らかなように、本発明
では、新たに重複除去・ソート部103とふるい落とし・
ソート部104と、それらの結果および対象を格納するた
めの副問合せ結果の重複除去・ソート結果格納スタック
125と主問合せ結果のふるい落とし・ソート結果格納ス
タック126と主問合せ結果格納スタック124と、限定述語
判定部105を設けている。
第3図により、本発明の限定述語処理の手順を説明す
る。
先ず、検索条件作成部101が検索命令110から副問合せ
で検索する表121に対する条件式111を作成する(ステッ
プ301)。次に、検索処理部102は、副問合せで検索する
表121に対する条件式111を評価して、その結果を副問合
せ結果スタック123に格納する(ステップ302)。次に、
重複除去・ソート部103において、副問合せ結果スタッ
ク123から重複して同じ値を持つ要素を除去し、かつソ
ートを行い、副問合せ結果の重複除去・ソートした結果
スタック125に格納する(ステップ303)。次に、検索条
件作成部101は、検索命令110から主問合せで検索する表
122に対する条件式(限定述語を除く)112を作成する
(ステップ304)。検索処理部102は、主問合せで検索す
る表122に対する条件式112を評価して、その結果を主問
合せ結果スタック124に格納する(ステップ305)。次
に、ふるい落とし・ソート部104は、副問合せ結果の重
複除去・ソートした結果スタック125を参照して、主問
合せ結果スタック124から副問合せ結果の要素以外の列
の値を持つ行の除去とソートを行い、主問合せ結果のふ
ルい落とし・ソートした結果スタック126に格納する
(ステップ306)。限定述語判定部105は、主問合せ結果
のふるい落とし・ソートした結果スタック126の行の限
定述語で指定された列の値と、副問合せ結果の重複除去
・ソートした結果スタック125の要素を比較することに
より、限定述語の判定を行い(ステップ307)、満足す
るスタック126中の行を検索結果スタック127に格納する
(ステップ308,309)。
このようにして、少ない比較回数で限定述語処理を行
うことができるので、処理時間の短縮が可能となる。
第2図は、第1図による限定述語処理の具体例を示す
図である。
第2図において、201は検索条件作成部、202は研削処
理部、203は重複除去・ソート部、204はふるい落とし・
ソート部、205は限定述語判定部、210は検索命令、211
は副問合せの表の条件式、212は主問合せの表の条件
式、221は副問合せが検索する表、222は主問合せが検索
する表、223は副問合せ結果、224は主問合せ結果、225
は副問合せ結果の重複除去・ソート結果、226は主問合
せ結果のふるい落とし・ソート結果、227は検索結果で
ある。
検索命令は、以下に示すものを用いて行われたものと
する。
SELECT * FROM 会社 WHERE 地区=‘東京'AND 社番=ANY(SELECT社番 FROM 部品 WHERE 在庫≦50) この検索命令は、部品表の中から在庫が50以下の部品
を供給する会社に関する情報を会社から返却することを
示している。
限定述語の処理は、第3図に従って、次の順序で行わ
れる。
(i)先ず、検索条件作成部201では、検索命令210から
副問合せで検索する表221(部品表)に対する条件式211
を作成する(ステップ31)。
(ii)検索処理部202では、副問合せで検索する表221に
対する条件式211を評価して、その結果を副問合せ結果
スタック223に格納する(ステップ302)。すなわち、表
221で在庫が50以下のもは電池とソケットと電球の3種
であり、その社番は2と3であるため、スタック223に
は、社番2、3、2が格納される。
(iii)次に、重複除去・ソート部203では、副問合せ結
果223から重複して同じ値を持つ要素の除去を行うとと
もに、ソートを行い(社番2を除去)、副問合せ結果の
重複除去・ソートした結果225にこれらを格納する(ス
テップ303)。
(iv)検索条件作成部201で、検索命令210から主問合せ
で検索する表222に対する条件式(限定述語を除く)212
を作成する(ステップ304)。すなわち、地区が東京の
会社を返却する検索条件である。
(v)検索処理部202では、主問合せで検索する表222に
対する条件式212を評価して、主問合せ結果224に格納す
る(ステップ305)。すなわち、格納された会社は、社
番が3のB社と、社番が4のC社と、社番が2のD社で
ある。
(vi)ふるい落とし・ソート部204では、副問合せ結果
の重複除去・ソートした結果225を参照して、主問合せ
結果の表224から副問合せ結果の要素以外の列の値を持
つ行の除去(社番4の行の除去)とソートを行い、その
結果を主問合せ結果のふるい落とし・ソートした結果22
6に格納する(ステップ306)。
(vii)限定述語判定部205では、主問合せ結果のふるい
落とし・ソートした結果226の行の限定述語で指定され
た列の値と、副問合せ結果の重複除去・ソートした結果
225の要素を比較することにより、限定述語の判定を行
い(ステップ307)、満足する行がどれかを調べ(ステ
ップ308)、結果226の中の満足する行(社番2と3)を
検索結果227に格納する(ステップ309)。
このようにして、部品表の中から在庫が50以下の部品
を供給する会社を検索することができた。
次に、本発明による限定述語の処理において、比較演
算子が=、限定子がANYの場合、副問合せ結果の要素数
をM、要素の重複度(全要素数と異なる値を持つ要素数
との比≧1)をD、主問合せの行数をN、ふるい落とし
率(全行数と副問合せ結果の要素と同じ値を持つ行数の
比≧1)をSとすると、比較回数は次のようになる。
すなわち、従来の方法では、前述のように平均比較回
数A0は、A0=M×N/2であるのに対して、本発明では、
平均比較回数A1が、A1=(M/D)+(N/S)である。
本発明の値が従来の値よりも小さいことを確認するた
めに、A1をA0で除算すると、次の値になる。
本発明による比較回数が従来方法の回数よりも少なく
なるのは、D=S=1の時で、M,N>4のときである
が、一般的にはM>10,N>100程度であるため、限定述
語処理時間の短縮が図れる。
〔発明の効果〕
以上説明したように、本発明によれば、主問合せの各
行の限定述語で指定された列と、副問合せ結果の要素と
を比較する前に、副問合せ結果に対して重複して同じ値
を持つ要素の除去とソート、主問合せの行から副問合せ
結果の要素以外の列の値を持つ行の除去と限定述語で指
定された列でのソートを行うので、主問合せの各行の列
と副問合せ結果の要素との比較回数を削減することがで
き、従って限定述語処理を高速に行うことが可能であ
る。
【図面の簡単な説明】
第1図は本発明の一実施例を示す関係データベース検索
システムの機能ブロック図、第2図は第1図における具
体例を示す説明図、第3図は第1図における限定述語処
理の動作フローチャート、第4図は従来の関係データベ
ース検索システムの機能ブロック図、第5図は第4図に
おける限定述語処理の動作フローチャートである。 101,201,401:検索条件作成部、102,202,402:検索処理
部、103,203:重複除去・ソート部、104,204:ふるい落と
し・ソート部、105,205:限定述語判定部、110,210,410:
検索命令、111,211,411:副問合せの表の条件式、112,21
2,412:主問合せの表の条件式、121,221,421:副問合せで
検索する表、122,222,422:主問合せで検索する表、123,
223,423:副問合せ結果の要素群、124,224:主問合せ結果
スタック、125,225:副問合せ結果の重複除去・ソート結
果スタック、126,226:主問合せ結果のふるい落とし・ソ
ート結果スタック、127,227,424:検索結果スタック。
フロントページの続き (72)発明者 土谷 往久 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウエア工場内 (72)発明者 堀内 孝 神奈川県横浜市戸塚区戸塚町5030番地 株式会社日立製作所ソフトウエア工場内 (56)参考文献 板倉,芳西,中村,「データベースプ ロセッサRINDAの副問合せ最適化方 式」,情報処理学会第38回(昭和64年前 期)全国大会講演論文集(▲II▼), p952−953(平1−3−15) (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 JICST科学技術文献ファイル

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】関係データベースの問合せ中、列名、比較
    演算子、限定子および副問合せの形式で表現され、上記
    限定子の種類により副問合せの結果の要素の任意の1つ
    ないし全ての値と主問合せ列の値と比較し、比較演算子
    の条件を満足するか否かを判定する限定述語処理システ
    ムにおいて、上記比較演算子が=、上記限定子がANYの
    場合に、副問合せ結果に対して同じ値を持つ要素の除去
    とソートを行い、また主問合せの行に対して副問合せ結
    果の要素以外の列の値を持つ行の削除と限定述語で指定
    された列でのソートを行った後、主問合せ結果の各行の
    列の値と副問合せ結果の要素とを比較することを特徴と
    する関係データベースの限定述語処理方法。
JP1168186A 1989-06-29 1989-06-29 関係データベースの限定述語処理方法 Expired - Lifetime JP2836103B2 (ja)

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 JPH0333979A (ja) 1991-02-14
JP2836103B2 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210870A (en) * 1990-03-27 1993-05-11 International Business Machines Database sort and merge apparatus with multiple memory arrays having alternating access
KR20030039018A (ko) * 2001-11-09 2003-05-17 노기문 밀폐용기
KR20030097240A (ko) * 2002-06-20 2003-12-31 하나코비 주식회사 밀폐용기의 뚜껑밀봉용 패킹

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
板倉,芳西,中村,「データベースプロセッサRINDAの副問合せ最適化方式」,情報処理学会第38回(昭和64年前期)全国大会講演論文集(▲II▼),p952−953(平1−3−15)

Also Published As

Publication number Publication date
JPH0333979A (ja) 1991-02-14

Similar Documents

Publication Publication Date Title
EP0877327B1 (en) Method and apparatus for performing a join query in a database system
US5307485A (en) Method and apparatus for merging sorted lists in a multiprocessor shared memory system
US5241648A (en) Hybrid technique for joining tables
O'Neil et al. Multi-table joins through bitmapped join indices
Park et al. Using a hash-based method with transaction trimming for mining association rules
US8200657B2 (en) Processing cross-table non-boolean term conditions in database queries
US6105020A (en) System and method for identifying and constructing star joins for execution by bitmap ANDing
US5960428A (en) Star/join query optimization
Yan et al. Eager aggregation and lazy aggregation
US4967341A (en) Method and apparatus for processing data base
US6339777B1 (en) Method and system for handling foreign key update in an object-oriented database environment
US6343286B1 (en) Efficient technique to defer large object access with intermediate results
KR20010083096A (ko) 가치-사례-연결을 통한 컴퓨터에 의해 구현되는데이터베이스
CN106991141B (zh) 一种基于深度剪枝策略的关联规则挖掘方法
US5842208A (en) High performance recover/build index system by unloading database files in parallel
Lima et al. Parallel OLAP query processing in database clusters with data replication
US8214408B2 (en) Method, database system and computer program for joining temporal database tables
US6925463B2 (en) Method and system for query processing by combining indexes of multilevel granularity or composition
JP2836103B2 (ja) 関係データベースの限定述語処理方法
US20050060302A1 (en) Computer implemented method and according computer program product for storing data sets in and retrieving data sets from a data storage system
US20040220930A1 (en) System and method for slow materialization sorting of partially ordered inputs in a database system
Babb Joined normal form: a storage encoding for relational databasess
Page A study of a parallel database machine and its performance the NCR/Teradata DBC/1012
US6694324B1 (en) Determination of records with a specified number of largest or smallest values in a parallel database system
US7487140B2 (en) Method for executing a query having multiple distinct key columns

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