JPH03242764A - 算術演算条件結合方式 - Google Patents

算術演算条件結合方式

Info

Publication number
JPH03242764A
JPH03242764A JP2040059A JP4005990A JPH03242764A JP H03242764 A JPH03242764 A JP H03242764A JP 2040059 A JP2040059 A JP 2040059A JP 4005990 A JP4005990 A JP 4005990A JP H03242764 A JPH03242764 A JP H03242764A
Authority
JP
Japan
Prior art keywords
record
column
arithmetic operation
value
records
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
Application number
JP2040059A
Other languages
English (en)
Inventor
Takao Mugitani
麦谷 尊雄
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2040059A priority Critical patent/JPH03242764A/ja
Publication of JPH03242764A publication Critical patent/JPH03242764A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は関係型データベースシステムにおける算術演算
条件結合方式に関するものである。
〔従来の技術〕
関係型データベースシステムにおいては、格納されてい
る複数の表から目的の情報を得るために種々の基本演算
が用意されており、その一つとして次の算術演算結合条
件式 a1×第1のカラムの値+b1 −a2×第2のカラムの値+b2 で表される結合演算が存在する。ここで、第1のカラム
は第1の表のカラム、第2のカラムは第2の表のカラム
であり、a1、alは零でない定数、b1、b2は零を
含む定数である。
しかして、利用者から第1の表、第2の表、第1のカラ
ム、第2のカラムおよび各定数が指定されて上記の算術
演算結合条件式に基づく結合演算が実行されると、第1
の表の第10カラムの値と第2の表の第2のカラムの値
の全てCごついて算術演算結合条件式が満たされるか否
かが判断され、条件を満たすレコードのレコード番号(
表のレコードを一意に識別するための識別子)の組が出
力される。
従来、この種の算術演算条件結合方式は具体的には次の
ように行われていた。
■定数a1、a2がともに「1」であり、定数b1.b
2がともに「0」である場合、すなわち、算術演算結合
条件式が 第1のカラムの値−第2のカラムの値 となる場合には、第1のカラムもしくは第2のカラムに
対して構築された索引が存在すればそれを利用し、索引
が存在しない場合は第1の表と第2の表とをそれぞれ第
1のカラムと第2のカラムの値でソートし、周知のマー
ジ結合方式等の高速な結合方式を用いて処理する。
■上記の■の条件を満たさない場合、つまり、定数a1
もしくは定数a2の値が「1」以外の場合であるか定数
b1もしくは定数b2の値がrOJ以外の場合は、入れ
子ループ結合(nestecl 1oop join)
方式により処理を行う。
すなわち、先ず、第1の表の先頭のレコードを読み込み
、これに対して第2の表のレコードを先頭から最後まで
順番に読み込む。この際、第2の表のレコードを一件読
み込む毎に、第1の表のカレントレコード(現段階で読
み込まれている最新のレコード〉の第1のカラムの値と
第2の表のカレントレコードの第2のカラムの値とを基
にして算術演算結合条件式を満たすか否か判定し、満た
す場合に第1の表と第2の表のカレントレコードのレコ
ード番号の組を出力する。同様の処理を第1の表の次の
レコードを読み込む毎に繰り返し、全てのレコードに対
して繰り返す。
〔発明が解決しようとする課題〕
従来の算術演算条件結合方式は上述したように行われて
おり、定数a1、a2がともに「1」であり、定数b1
、b2がともに「0」である場合については高速に処理
が行えるものであったが、それ以外の一般の場合には算
術演算結合条件式を判定する回数が非常に多く、それに
伴って表のレコードを格納する二次記憶装置に対しての
入出力動作が頻繁に発生し、二次記憶装置に対しての入
出力動作は中央処理装置の処理速度と比較して極めて遅
いことから、全体の処理時間が非常に長くなるという欠
点があった。すなわち、定数al。
alがともに「1」であり、定数bI、b2がともにr
OJである場合のマージ結合方式等によれば、算術演算
結合条件式を判定する回数は、第1の表に格納されてい
るレコードの件数をc1、第2の表に格納されているレ
コードの件数を02とすると、 CI+C2 となるが、それ以外の一般の場合の入れ子ループ結合方
式によれば、算術演算結合条件式を判定する回数は、 1×C2 となり、その差は歴然である。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、定数が特殊な値でない一般的な場合
であっても、マージ結合方式等と同様に高速な処理が行
える算術演算条件結合方式を提供することにある。
〔課題を解決するための手段〕
本発明は上記の目的を遺戒するため、関係型データヘー
スシステム内の第1の表のカラムである第1のカラムお
よび第2の表のカラムである第2のカラム、零でない定
数a1、a2および定数b1、b2を含む算術演算結合
条件式 a1×第1のカラムの値+b1 =a2×第2×カラムの値+b2 を満たすレコードのレコード番号の組を出力する算術演
算条件結合方式において、 定数a1、a2の正負に応じてレコード読込方向を決定
すると共に、索引のない表に対して第1のカラムの値も
しくは第2のカラムの値でソートするレコード読込方向
決定手段と、 決定されたレコード読込方向に従って読み込まれたレコ
ードにつき算術演算結合条件式を判定する算術演算条件
結合手段とを備えるようにしている。
〔作用〕
本発明の算術演算条件結合方式にあっては、レコード読
込方向決定手段が定数a1、a2の正負に応じてレコー
ド読込方向を決定すると共に、索引のない表に対して第
1のカラムの値もしくは第2のカラムの値でソートし、
決定されたレコード読込方向に従って読み込まれたレコ
ードにつき算術演算条件結合手段が算術演算結合条件式
を判定する。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明の算術演算条件結合方式の一実施例を示
す構成国である。第1図において、本実施例は、検索要
求入力手段1と検索結果出力手段2と算術演算条件結合
手段3とレコード読込方向決定手段4と条件式演算手段
5とレコード読込手段6と人出力制御手段7と二次記憶
装置8とデータベース9とから構成されている。
利用者は検索要求入力手段1を通じて第1の表、第2の
表および結合条件の指定等を行い、検索結果は検索結果
出力手段2を通じて利用者に対して出力される。なお、
本発明では、データベース9に格納された第1の表のカ
ラムである第1のカラムおよび第2の表のカラムである
第2のカラム、零でない定数a1、a2および定数b1
、b2を含む算術演算結合条件式 21x第1のカラムの値+b1 −a2×第2のカラムの値+b2 を対象としている。
算術演算条件結合手段3は、マージ結合方式と同等の結
合処理を用いて高速に条件式を満足するレコードの組を
作成する。処理の詳細は後述する。
レコード読込方向決定手段4は、算術演算条件結合手段
3の制御のもと、条件式を解析し、第1の表と第2の表
のレコードを読み込む方向(昇順もしくは降順)を決定
すると共に、第1の表および第2の表にそれぞれ第1の
カラムおよび第2のカラムについての索引が存在するか
否かを確かめ、存在しない場合は第1のカラム、第2の
カラムの値についてそれぞれの表をソートする。処理の
詳細は後述する。
条件式演算手段5は、算術演算条件結合手段3の制御の
もと、算術演算結合条件式に読み込んだレコードのカラ
ムの値を代入して算術演算を行い、その結果の値を返す
レコード読込手段6は、算術演算条件結合手段3の制御
のもと、指定されたレコードを入出力制御手段7を介し
て二次記憶装置8上に構築されたデータベース9から読
み込む。
入出力制御手段7.二次記憶装置8.データベース9は
通常の関係型データベースシステムにおけるものと同様
である。
以下、フローチャートに基づき、実施例の動作を詳細に
説明する。
第2図は第1図における算術演算条件結合手段3の処理
を示すフローチャートである。
第2図において、算術演算条件結合手段3は、先ず、検
索要求入力手段1を介して利用者から第1の表、第2の
表および結合条件の指定を受け(ステップ201)、第
1の表と第2の表の存在と条件式の有効性をチエツクす
る(ステップ202)。
第1の表、第2の表が存在しない場合または条件式の形
式が 21x第1のカラムの値+b1 =a2×第2×カラムの値+b2 でない場合(ステップ202のNo)は、エラーを通知
しくステップ203)、処理を終了する。
チエツクの結果が有効である場合(ステップ202のY
ES)は、入力された第1の表、第2の表および結合条
件を指定してレコード読込方向決定手段4を呼び出し、
第1の表のレコードと第2の表のレコードの読込方向の
決定等を行わせる(ステップ204)。処理の詳細につ
いては後述する(第3図)。
次に、レコード読込手段6を介して、先に決定された方
向で第1の表と第2の表の先頭のレコードをそれぞれ読
み込み、それぞれレコード(カレントレコード)r1、
r2とする(ステップ205.206)。
次いで、第1の表のレコードr1と第2の表のレコー)
r2とがそれぞれ存在するか否かを判定しくステップ2
07,208)、存在しない場合(ステップ207,2
08のNO)には処理を終了する。
次に、レコードr1、r2とも存在する場合(ステップ
208のYES)には、読み込んだレコードの値をも乙
に、条件式演算手段5を用いて条件式中の等号演算子「
=」の左辺と右辺の演算式の値をそれぞれ計算する(ス
テップ209,210)。
次いで、左辺の値と右辺の値とを比較しくステップ21
1)、両者が等しい場合(ステ・ノブ211のYES)
には第1の表と第2の表のカレントレコードr1、r2
のレコード番号を出力しくステップ212)、第1の表
と第2の表のそれぞれから次のレコードをレコード読込
手段6を介して読み込んでレコードr1.r2としくス
テップ213.214)、ステップ207に戻って処理
を継続する。
一方、条件式の左辺の値と右辺の値とが等しくない場合
(ステップ211のNo)には、更に左辺の値と右辺の
値との大小関係を判断しくステップ215)、左辺の値
が右辺の値よりも小さい場合(ステップ215のYES
)には、第1の表から次のレコードをレコード読込手段
6を介して読み込んでレコードr1としくステ・ノブ2
16〉、ステップ207に戻って処理を継続する。
また、左辺の値が右辺の値よりも小さくない場合(ステ
ップ215のNo)には、第2の表から次のレコードを
レコード読込手段6を介して読み込んでレコードr2と
しくステップ217)、ステップ207に戻って処理を
w1続する。
第3図は、第2図のステップ204で呼び出されるレコ
ード読込方向決定手段4の処理を示すフローチャートで
ある。
第3図において、レコード読込方向決定手段4は、先ず
、条件式中の定数a1の値が負であるか否かを判定しく
ステップ301)、定数alO値が負の場合(ステップ
301のYES)は第1の表の読込方向を降順と決定し
くステップ302)、定数a1の値が正の場合(ステン
ー1301のNO)は読込方向を昇順と決定する(ステ
ップ303)。
次に、第1のカラムに対して索引が存在するか否かを判
定しくステ、プ304)、索引が存在しない場合(ステ
ップ304のNO)には、第1の表の既に決定された読
込方向に従い、第1の表を第10カラムの値でソートす
る(ステップ305)。
索引が存在する場合(ステップ304のYES)にはス
テップ305は実行しない。
同様に、条件式中の定数a2の値が負であるか否かを判
定しくステップ306)、定数32の値が負の場合(ス
テップ306のYES)は第2の表の読込方向を降順と
決定しくステップ307)、定数a2の値が正の場合は
読込方向を昇順と決定する(ステップ308)。
次に、第2のカラムに対して索引が存在するか否かを判
定しくステップ309)、索引が存在しない場合(ステ
ップ309のNO)には、第2の表の既に決定された読
込方向に従い、第2の表を第2のカラムの値でソートし
くステップ310)、処理を終了する。索引が存在する
場合(ステ・ノブ309のYES)にはステップ310
は実行しない。
第4図は、第2図のステップ205,206゜213.
214,216.217で呼び出されるレコード読込手
段6の処理を示すフローチャートである。
第4図において、レコード読込手段6は、呼び出し側か
ら表、カラム、読込方向、読込モードの入力を受け(ス
テップ401)、読込モードが先頭のレコードか次のレ
コードかを判定する(ステ・7ブ402)。
先頭レコードの場合(ステップ402のYES)は、カ
ラムに索引が存在するか否かを判定しくステップ403
)、索引が存在しない場合(ステップ403のNo)は
、その表がソートされている順番で、先頭のレコード(
FIR3Tレコード)を返しくステップ404)、処理
を終了する。
また、索引が存在する場合(ステップ403のYES)
は、更に読込方向が昇順であるか否かを判定しくステッ
プ405)、方向が昇順である場合(ステップ405の
YES)は、その索引を用いてカラムの値が最も小さい
レコード(MINレコード)を返しくステップ406)
、降順である場合(ステップ405ONo)は、索引を
用いてカラムの値が最も大きいレコード(MAXレコー
ド)を返しくステップ407)、処理を終了する。
一方、入力した要求の読込モードが次のレコードの場合
(ステップ402のNo)には、更にカラムに索引が存
在するか否かを判定しくステップ40B)、存在しない
場合(ステップ40BのNO)は、その表がソートされ
ている順番で、前回返したレコードの次に位置するレコ
ード(SEXTレコード)を返しくステップ409〉、
処理を終了する。
また、索引が存在する場合(ステップ408のYES)
には、更に読込方向が昇順であるか否かを判定しくステ
ップ410)、方向が昇順である場合(ステップ410
のYES)は、その索引を用いてカラムの値が前回返し
たレコードのカラムの値よりも大きいか同しであるレコ
ード(GTEレコード)を返しくステップ411)、降
順である場合(ステップ410のNO)は、索引を用い
てカラムの値が前回返したレコードのカラムの値よりも
小さいか同しであるレコード(LTEレコード)を返し
くステップ412)、処理を終了する。
いずれの場合も、そのようなレコードが存在しない場合
には、呼び出し側に存在しない旨が通知され、処理を終
了する。
〔発明の効果〕
以上説明したように、本発明の算術演算条件結合方式に
あっては、 a1×第1のカラムの値+b1 =a2×第2×カラムの値+b2 なる算術演算結合条件式に含まれる定数a1、a2の正
負に応じてレコード読込方向を決定すると共に、索引の
ない表に対して第1のカラムの値もしくは第2のカラム
の値でソートし、決定されたレコード読込方向に従って
読み込まれたレコードにつき算術演算結合条件式を判定
するので、マージ結合方式等と同様に、算術演算結合条
件式を判定する回数は、第1の表に格納されているレコ
ードの件数をCI、第2の表に格納されているレコード
の件数をc2とすると、 CI+C2 にすることができ、二次記憶装置に対するレコードの入
出力処理の回−敗を減らして全体の処理時間を大幅に短
縮化することが可能となる。
【図面の簡単な説明】
第1図は本発明の算術演算条件結合方式の一実施例を示
す構成国、 第2図は第1図における算術演算条件結合手段の処理を
示すフローチャート、 第3図は第1図におけるレコード読込方向決定手段の処
理を示すフローチャートおよび、第4図は第1図におけ
るレコード読込手段の処理を示すフローチャートである
。 図において、 1・・・・・・検索要求入力手段 2・・・・・・検索結果出力手段 3・・・・・・算術演算条件結合手段 4・・・・・・レコード読込方向決定手段5・・・・・
・条件式演算手段 6・・・・・・レコード読込手段 7・・・・・・入出力制御手段 8・・・・・・二次記憶装置 9・・・・・・データベース

Claims (2)

    【特許請求の範囲】
  1. (1)関係型データベースシステム内の第1の表のカラ
    ムである第1のカラムおよび第2の表のカラムである第
    2のカラム、零でない定数a1、a2および定数b1、
    b2を含む算術演算結合条件式 a1×第1のカラムの値+b1 =a2×第2のカラムの値+b2 を満たすレコードのレコード番号の組を出力する算術演
    算条件結合方式において、 定数a1、a2の正負に応じてレコード読込方向を決定
    すると共に、索引のない表に対して第1のカラムの値も
    しくは第2のカラムの値でソートするレコード読込方向
    決定手段と、 決定されたレコード読込方向に従って読み込まれたレコ
    ードにつき算術演算結合条件式を判定する算術演算条件
    結合手段とを備えたことを特徴とする算術演算条件結合
    方式。
  2. (2)算術演算条件結合手段は、索引がある場合は索引
    を利用し、索引がない場合はソートされた順に各表から
    レコードを読み込み、レコードが算術演算結合条件式を
    満たす場合はレコード番号の組を出力して両表から次の
    レコードを読み込んで比較を続行し、満たさない場合は
    値が小さい側の表の次のレコードを読み込んで比較を続
    行することを特徴とした請求項1記載の算術演算条件結
    合方式。
JP2040059A 1990-02-21 1990-02-21 算術演算条件結合方式 Pending JPH03242764A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2040059A JPH03242764A (ja) 1990-02-21 1990-02-21 算術演算条件結合方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2040059A JPH03242764A (ja) 1990-02-21 1990-02-21 算術演算条件結合方式

Publications (1)

Publication Number Publication Date
JPH03242764A true JPH03242764A (ja) 1991-10-29

Family

ID=12570352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2040059A Pending JPH03242764A (ja) 1990-02-21 1990-02-21 算術演算条件結合方式

Country Status (1)

Country Link
JP (1) JPH03242764A (ja)

Similar Documents

Publication Publication Date Title
US5495605A (en) Method to help in optimizing a query from a relational data base management system, and resultant method of syntactical analysis
Antoshenkov Dynamic query optimization in Rdb/VMS
US6339777B1 (en) Method and system for handling foreign key update in an object-oriented database environment
US5822748A (en) Group by and distinct sort elimination using cost-based optimization
US5903888A (en) Method and apparatus for using incompatible types of indexes to process a single query
US5499360A (en) Method for proximity searching with range testing and range adjustment
US6947934B1 (en) Aggregate predicates and search in a database management system
US8060516B2 (en) Methods and systems for compressing indices
KR960706138A (ko) 관계형 데이타베이스 스키마를 생성하기 위한 의미 객체 모델링 시스템(semantic object modeling system for creating relational database schemas)
US20070078874A1 (en) Select indexing in merged inverse query evaluations
US6260037B1 (en) Method and computer program product for implementing skip key processing for database grouping queries involving aggregate operations by using one or more indices
JPH03242764A (ja) 算術演算条件結合方式
JPH03116377A (ja) 情報検索装置
US6697826B1 (en) Information-handling system, method, and article of manufacture including and object search mechanism that provides constraint-based filtering in a distributed object system
JPH08235033A (ja) オブジェクト指向データベース管理システムにおける結合演算方式
JPH04195338A (ja) ファジィ推論方式
JPH02236778A (ja) 問い合わせ最適化処理方法
CN107729496A (zh) 基于甲骨文In‑Memory的SQL语句调优方法
US7348980B2 (en) Method and apparatus for interface for graphic display of data from a Kstore
JPH0352068A (ja) 論理演算方式
JPH05216938A (ja) 仮想ファイルの検索方式
RU2419862C2 (ru) Способ управления реляционной системой базы данных
Bhargava et al. Simplification of outer joins
JPH03223965A (ja) 関係型データベースシステムにおける不等号条件結合方式
JPH0991268A (ja) 集計装置