JPS61110233A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS61110233A
JPS61110233A JP59231252A JP23125284A JPS61110233A JP S61110233 A JPS61110233 A JP S61110233A JP 59231252 A JP59231252 A JP 59231252A JP 23125284 A JP23125284 A JP 23125284A JP S61110233 A JPS61110233 A JP S61110233A
Authority
JP
Japan
Prior art keywords
record
records
output
buffer memory
stored
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
Application number
JP59231252A
Other languages
English (en)
Other versions
JPH0373019B2 (ja
Inventor
Shigeo Kamiya
神谷 茂雄
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP59231252A priority Critical patent/JPS61110233A/ja
Publication of JPS61110233A publication Critical patent/JPS61110233A/ja
Publication of JPH0373019B2 publication Critical patent/JPH0373019B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、ソート処理されたりレーションに対してマー
ジ・ソート処理を基本にした関係演算により射影演算を
効率良く実行し得るデータ処理装置に関する。
〔発明の技術的背景とその問題点〕
大容量記憶装置の進歩に伴い、その大容量記憶装置上で
大規模なデータベースを構築する計算機システムが増え
てきている。ところが、データベースが大規模になる程
、該データベースから必要なデータを検索するに必要な
時間が長くなるという問題が生じている。これを解決す
る方法の1つとして、検索に必要な処理、つまり関係演
算を専用ハードウェアで実行することが種々提唱されて
いる。
しかして、マージ・ソート処理をベースとした関係演算
を実行する従来のデータ処理装置にあっては、予めソー
ト処理されている2つのりレーション間の各レコードを
相互に比較し、その比較結果に応じて上記2つのりレー
ションの一方から選択的にレコードを出力する動作を基
本としているので、例えば上記データベース検索で必要
な射影演算を行うことが困難であると云う不具合があっ
た。
即ち、この射影演算(projection)は、例え
ばから、そのキイ(属性A、属性B)の値が等しいレコ
ードを取り除いて、析しいりレーション(Rとして得る
ものである。つまりこの射影演算は、1つのりレーショ
ン中に重複するレコードを除去して新しいりレーション
を生成するものである。
従って2つのりレージョン層のマージ・ソート処理を行
うデータ処理装置では、この種の1つのりレーションに
対して施される射影演算に対処することができなかった
そこで従来、予め処理対象となる1つのりレーションか
ら2つのりレーションを作り、これらの2リレーシヨン
閏で上述したマージ・ソート処理することが考えられて
いる。然し乍ら、上記マージ・ソート処理における比較
処理にはレコードの重複を除く機能がないので、結局従
来のデータ処理装置で、上述した射影演算を実行するこ
とができなかった。この為、射影演算は専らソフトウェ
アで処理されており、その実行に多くの時間を費やして
いると云う不具合があった。
(発明の目的〕 本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、例えばデータベース検索処理に
必要な射影演算を簡易に、且つ高速に実現することがで
きるデータ処理装置を提供することにある。
(発明の概要) 本発明は、ルコードを処理するたびに反転されるメモリ
選択フラグを演算部に用意し、この演算部に所定の規則
に従ってソート処理が施された複数のレコードからなる
リレーションを入力する時、上記メモリ選択フラグが指
定する第1または第2のレコードバッファメモリに上記
リレーションのレコードをルコードづつ交互に格納する
ようにし、且つ前記第1のレコードバッファメモリから
読み出される第1のレコードと、前記第2のレコードバ
ッファメモリから読み出される第2のレコードとを比較
回路で比較するように上記演算部を構成し、出力選択部
においては前記メモリ選択フラグに従って出力対象とす
るレコードが前記第1のレコードか、或いは前記第2の
レコードかを選択し、この選択したレコードを出力する
か否かを前記比較回路の比較結果に従って制御すること
によって射影演算を処理可能としたことを特徴とするも
のである。
〔発明の効果〕
かくして本発明によれば、入力リレーションの各レコー
ドを交互に第1および第2のレコードバッファメモリに
格納して該第1および第2のレコードバッファメモリに
2つのりレーションを作成し、これらのりレーション間
で各レコードの比較を行いつつ、その比較結果に従って
前記第1および第2のレコードバッファメモリから交互
に読出されるレコードの出力を制御するので、前記2つ
のりレーション間のレコードが等しいとき、そのレコー
ド出力を阻止してJ!重複レコードないリレーションを
簡易に、且つ効果的に作成することが可能となる。つま
り、入力リレーションを交互に振分けて作成した2つの
りレーション間の各レコードの比較結果に従って、同一
レコードが検出されたとき、そのレコードの出力を阻止
するので、ソフトウェアに頼ることなしに、入力リレー
ション中の重複レコードを除去することができ、上記人
力リレーションに対する射影演算を簡易に高速に実行す
ることが可能となる。
(発明の実施例〕 以下、図面を参照して本発明の一実施例につき説明する
図は実施例装置の概略構成図である。データ処理装置は
、基本的にはマージ・ソート処理をベースとした関係演
算を実行する演算部1と、その関係演算結果の出力制御
を行う出力制御部2とにより構成される。
所定の規則に従ってソート処理が施されたりレーション
を構成する複数のレコードは、データ処理装置に順次入
力される。演算部1は、入力レコードを111づつセッ
トする入力レジスタ11と、ルコード分の記憶容量を持
ち、且つFIFO()7−スト・イン・ファースト・ア
ウト)機能を有する第1および第2のレコードバッファ
メモリ12゜13と、上記第1のレコードバッファメモ
リ12から読み出される値と第2のレコードバッファメ
モリ13から読み出される値とを相互に比較して、上記
多値が相互に等しいときにイコール信号を出力する比較
回路14と、前記第1および第2のレコードバッファメ
モリ12.13を選択IIIIIlするフラグ回路15
とを備えて構成される。
尚、上記フラグ回路15にセットされるメモリ選択フラ
グFは、入力されたルーコードが処理される都度、つま
り1サイクル毎に反転制−される。
そして上記メモリ選択フラグFが1″のときには、前記
第1のレコードバッファメモリ12が選択されて、入力
レジスタ11に格納された値が該第1′のレコードバッ
ファメモリ12に格納される。そして上記メモリ選択フ
ラグFが0″のときには、NOT回路16を介して前記
第2のレコードバッファメモリ13が選択され、前記入
力レジスタ11に格納された値が該第2のレコードバッ
ファメモリ13に格納される。このメモリ選択フラグF
に従って、前記入力レジスタ11に順次入力されるデー
タ(レコード)が、前記第1および第2のレコードバッ
ファメモリ12.13に交互に格納される。尚、前記レ
コードが複数の語(データ)からなり、語単位で入力レ
ジスタ11にデータが入力される場合には、複数の語か
らなる1つのレコードが一方のレコードバッフ1メモリ
に格納されたのち、前記メモリ選択フラグFが反転され
る。
しかして前記比較回路14は、上記第1F3よび第2の
レコードバッファメモリ12.13にそれぞれ格納され
たデータ(レコード)を相互に比較し、そのデータ(レ
コード)が等しいとき、イコール信@Eを出力している
。尚、比較回路14が、前記複数の語からなるレコード
を語単位で比較する場合には、レコードを構成する各語
間での比較結果の全てが等しいときにのみ、当該レコー
ドが等しいことになるので、各レコードの最後の語の比
較結果を得たとき、前記イコール信号Eが有効となる。
ところで処理対象としているレコードが、その後に続く
レコードと重複していることが判明するタイミングは、
該レコードの最後の語の比較結果を得たときとなる。こ
の為、該レコードを一旦、バッフ1リングする必要があ
る。出力IIIIWJ部2に設けられた第3のレコード
バッファメモリ17は、前記第1J5よび第2のレコー
ドバッファメモリ12゜13から順次読み出される語を
、前記メモリ選択フラグFに従って選択制御される選択
回路18を介して入力し、これを格納してそのレコード
をバッファリングしている。この結果、第3のレコード
バッファメモリ17には、処理対象としているレコード
が格納されることになる。
しかして出力制御回路19は前記第3のレコードバッフ
ァメモリ17に格納されたレコードが、その後に続くレ
コードと重複しているか否かを前記イコール信@Eから
判定しており、重複していない場合(E−0)には、該
第3のレコートバツフ7メモリ17に格納されたレコー
ドを出力レジスタ20を介して出力している。また上記
イコール信号Eが(E−1)の場合には、該第3のレコ
ードバッファメモリ11に格納されたレコードが債に続
くレコードとI?Iしているとして、その出力を阻止し
ている。このようにして、ソート処理されたりレーショ
ンの各レコードが、その後に続くレコードと等しい場合
、そのレコードの出力が阻止されて1つのりレーション
中の重複レコードの除去、つまり射影8JIillが行
われるようになっている。
尚、ここでは本発明の要旨と直接関係していないことか
ら図示していないが、演算部1には現在キイ・フィール
ドを処理中か否かを示す回路や、レコードの最後の11
Iを処理中か否かを示す回路等が設けられることは云う
までもない。
次に、本装置における射影演算処理の流れを具体例を挙
げて説明する。
本装置における射影演算は、基本的には次のように行わ
れる。
(I)  先ずリレーション(Rx)をそのキイの値に
対して、例えば昇順にソート処理する。例えばりレーシ
ョン(R1)の属性Aと属性Bを1つが得られる。
このようなりレーションの各レコードを語単位で順次入
力して、本装置による射影演算が次のようにして実行さ
れる。
(IF)演算部1では、先ず前記メモリ選択フラグFに
従って入力レコードを交互に振分け、前記第1および第
2のレコードバッファメモリ12.13上で2つのりレ
ーション(Rxl)と(Rx2)を作成する。
(■)しかる後、両リレーション(Rx1)(RX2)
の先頭のレコードにポインタを置いて比較対像とするレ
コードを特定し、前記メモリ選択フラグFを(Rx1)
側にする(F−1)。
(IV)次に上記ポインタが示すレコード間でそのキイ
(属性)の値を比較する。
(IV)そして上記レコード間のキイ(属性)の値が等
しければ、そのレコードが重複しているとして前記メモ
リ選択フラグFが示す側のレコードの出力を阻止する。
また上記レコード間のキイ(属性)の値が等しくなけれ
ば、レコードが重複していないとじで前記メモリ選択フ
ラグFが示す側のレコードを出力する。
(V)その後、前記メモリ選択フラグFが指す側のポイ
ンタを次のレコードに進め、該メモリ選択フラグFを反
転する。
(Vl)そして次のレコードがあれば、前記(IV)の
処理に戻り、次のレコードがない場合には、前記メモリ
選択フラグFが指す銅のレコードを出力してその処理を
終了する。
この処理フローにおける前記(IV)〜(VI)の処理
について更に詳しく説明する。先ず前記(I)に示す処
理によって前記第1および第2のレコードバッファメモ
リ12.13に振分けられて作成される2つのりレーシ
ョン(RXI)(RX2)は次のようになる。
2各サイクルで前記メモリ選択フラグFが示すリレーシ
ョンを表している。
しかして第1サイクル■では、[1/r]と[2/Q]
とを比較する。この場合、両レコードは等しくないので
、前記メモリ選択フラグF(F−1)が選択しているレ
コード[1/rlが出力され、その後、メモリ選択フラ
グFを“0″に反転する。
次の第2サイクル■では、[2/(13と[2/q]を
比較する。この場合、両レコードが等しいのでメモリ選
択フラグF (F−0)が選択しているレコード[2/
qlの出力が阻止される。つまり、そのレコードが出力
されない。そして前記メモリ選択フラグFが“1”に反
転される。
第3サイクル■、第4サイクル■、第5サイクル■では
、そのレコードの値が等しくないので、前記第1サイク
ル■の場合と同様に、そのレコードが出力される。
以上が、本装置の基本的に射影演算の流れである。
ところで前述したりレーション(R1)の各レコードは
、複数の語(属性)からなる。今、各属性の語長を、全
て1gl長とし、各レコードのレコード長が2N長で与
えられるものとする。そして実施例装置では1開を処理
する時間を1フエーズとし、ルーコードを処理する時間
を1サイクルとして、つまり2フエーズを1サイクルと
して動作するものとする。
この場合実施例@藁では、ソート処理されたりレーショ
ンを入力するに際し、先ず前記メモリ選択フラグFを“
1″初期設定する。
しかして第〈−1)サイクルでは、上記リレーションの
1番目のレコード[1/rlを入力し、第1のレコード
バッファメモリ12に記憶する。
この第(−1)サイクルでの動作を更に詳しく説明する
と、その第1フエーズで属性Aのデータ[1]を入力し
、これを入力レジスタ11にセットする。このとき前記
メモリ選択フラグFが“1nであることから、上記入力
レジスタ11にセットされたデータ[1]を第1のレコ
ードバッファメモリ12に格納する。
次の第27エーズでは、[rlを入力レジスタ111に
セットし、これを同様にして第1のレコードバッファメ
モリ12に格納する。これによって、最初のレコードの
入力が終了する。その後、前記メモリ選択フラグFをO
″に反転して第(−1)サイクルを終え、次の第(0)
サイクルに移る。
第(0)サイクルでは、レコード[2/qlを入力し、
このとき前記メモリ選択フラグFが“0″であることか
ら、これを第2のレコードバッファメモリ13に記憶す
る。この処理は上記第(−1)サイクルと同様にして行
われるが、そのサイクルの最後で前記メモリ選択フラグ
Fを反転して“1”にする。
続く第1サイクルでは、次の3つの処理が平行して行わ
れる。
その1つは3番目のレコード[2/Q]を入力し、第1
のレコードバッファメモリ12に格納する動作であり、
その処理は前述した第(−1)サイクルと同様に行われ
る。2つ目の動作は、第1のレコードバッファメモリ1
2から1番目のレコード[1/r]を、また第2のレコ
ードバッファメモリ13から2番目のレコード[2/q
lをそれぞれ読出し、これらのレコードを比較回路14
で比較する処理動作である。そして3つ目の動作は、前
記メモリ選択フラグFに従って、前記第1のレコードバ
ッファメモリ12から読み出した1番目のレコードを第
3のレコードバッファメモリ17に格納する動作である
即ち、このサイクルの第17エーズでは、処理■は、3
番目のレコードの先頭の1glである〔2]を入力して
入力レジスタ11にセットし、これを第1のレコードバ
ッファメモリ12に格納する第1の動作、F I FO
II能を有する第1および第2のレコードバッファメモ
リ12.13から、前に配憶したレコード(−1番目の
レコードと2番目のレコード)の先頭の各!i[1][
2]をそれぞれ読み出し、その語を比較する第2の動作
、および上記第1のレコードバッファメモリ12から読
出した先頭の珀[1]を第3のレコードバッファメモリ
17に格納する第3の動作からなる。
そして、その第27エーズでは、入力した3番目のレコ
ードの2語口[Q]を第1のレコードバッファメモリ1
2に格納する動作、第1および第2のレコードバッファ
メモリ12.13から、前に記憶したレコード(−1番
目のレコードと2番目のレコード)の2番目の各I[r
l  [Q]をそれぞれ読み出して比較する動作、同時
に上記第1のレコードバッファメモリ12から読出した
2番目の語[rlを第3のレコードバッファメモリ17
に格納する第3の動作からなる。
この第27エーズは、レコードの最後の1語の処理なの
で、前記比較回路14のイコール信号E(E−0)を出
力する。出力1i1110回路19は、このイコール信
号Eに従って、次の第2サイクルで前なることを示して
いるから、次の4つの処理が平行に行われる。
この4つの処理のうちの3つは上述した第1サイクルと
同様であり、これに加えて出力制御部2におけるレコー
ドの出力制御が前記イコール信号Eに応じて行われる。
つまり前記イコール信号Eが“Onの場合にのみ、次の
第4の動作が行われる。この第4の動作は、第1フエー
ズで前記第3のレコードバッファメモリ17から、レコ
ードの1語目を読み出して出力レジスタ20にセットし
て出力し、次の第2フエーズで前記第3のレコードバッ
ファメモリ17から、レコードの2I!目を読み出して
出力レジスタ20にセットして出力する。これによりレ
コードM /r ]が出力される。
尚、前記イコール信号εが“1”の場合、前記その前の
サイクルで比較されたレコードが等しいことを示すから
、そのレコードの出力を阻止するべく、第4の動作は行
われない。
以降のサイクルでは、上述した第2サイクルと同様な処
理が繰返して行われる。
従ってこのリレーション中からイコール信号Eが“1”
であるレコードの出力を阻止し、つまり重複したレコー
ドを取除くことによって、次のような新しいりレーショ
ン(R2)を得ることが回収上のように本装置によれば
、メモリ選択フラグに従って第1および第2のレコード
バッファメモリ12.13に入力レコードを交互に記憶
し、その後各レコードを読み出して比較して、その結果
により該レコードを出力するか否かを決定し、上記メモ
リ選択フラグにより示されるレコードの出力を制御する
ので、データ処理装置を用いて射影演算を効果的に、且
つ高速に実行することができる。
しかも、その処理アルゴリズムが簡単であり、ハードウ
ェアにおける実現が容易である。
尚、本発明は上述した実施例に限定されるものではない
。例えばレコードを構成する属性の数や、その語長等は
処理対象とするデータベースの構造等に応じて定めれば
良い。またこれに応じて1サイクルのフェーズ数を定め
れば良い。その他、本発明はその要旨を逸脱しない範囲
で種々変形して・実施することができる。
【図面の簡単な説明】
図は本発明の一実施例装置の概略構成図である。 1・・・演算部、2・・・出力制御部、11・・・入力
レジスタ、12・・・第1のレコードバッファメモリ、
13・・・第2のレコードバッファメモリ、14・・・
比較回路、15・・・フラグ回路、16・・・NOT回
路、17・・・第3のレコードバッファメモリ、18・
・・選択回路、19・・・出力制罪回路、20・・・出
力レジスタ。

Claims (2)

    【特許請求の範囲】
  1. (1)所定の規則に従ってソート処理された複数のレコ
    ードを順次入力すると共に、1つの入力レコードを処理
    する都度メモリ選択フラグを反転する手段と、この反転
    制御されるメモリ選択フラグに従って上記入力レコード
    を交互に記憶する第1および第2のレコードバッファメ
    モリと、これらの第1および第2の各レコードバッファ
    メモリにそれぞれ格納された各入力レコードを相互に比
    較する比較回路と、前記メモリ選択フラグに従って前記
    第1または第2のレコードバッファメモリに格納された
    レコードを選択し、この選択したレコードを出力するか
    否かを前記比較回路の比較結果に従って制御する出力制
    御部とを具備したことを特徴とするデータ処理装置。
  2. (2)第1および第2のレコードバッファメモリは、そ
    れぞれFIFO機能を有するものであって、出力制御部
    は、メモリ選択フラグに従って選択的に入力レコードの
    書込みが行われるレコードバッファメモリに書込まれて
    いたレコードを読出し、このレコードを比較結果が不一
    致のとき出力し、且つ該比較結果が一致したとき、その
    出力を阻止するものである特許請求の範囲第1項記載の
    データ処理装置。
JP59231252A 1984-11-05 1984-11-05 デ−タ処理装置 Granted JPS61110233A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59231252A JPS61110233A (ja) 1984-11-05 1984-11-05 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59231252A JPS61110233A (ja) 1984-11-05 1984-11-05 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS61110233A true JPS61110233A (ja) 1986-05-28
JPH0373019B2 JPH0373019B2 (ja) 1991-11-20

Family

ID=16920702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59231252A Granted JPS61110233A (ja) 1984-11-05 1984-11-05 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS61110233A (ja)

Also Published As

Publication number Publication date
JPH0373019B2 (ja) 1991-11-20

Similar Documents

Publication Publication Date Title
JPS63155336A (ja) デ−タ処理装置
JPS6137654B2 (ja)
JPS5826584B2 (ja) デ−タ処理装置
JPS61110233A (ja) デ−タ処理装置
JP3061486B2 (ja) データソート処理システム
JP2735255B2 (ja) ハツシング処理方法
JPS61110235A (ja) デ−タ処理装置
JPH01273132A (ja) マイクロプロセッサ
JPH04127321A (ja) 相対キーを利用したカウント分類法によるソート方式
JPS60128529A (ja) マ−ジ処理器
JPH05298893A (ja) 連想記憶装置
JP2895892B2 (ja) データ処理装置
JPH0833812B2 (ja) ソート処理装置
JPH03290741A (ja) エラーロギング方法
JP2588932B2 (ja) ソート処理装置
JP2590866B2 (ja) データ検索装置
JPS63257841A (ja) 論理シミユレ−タ
JPS6364123A (ja) デ−タ検索方式
JPS61224731A (ja) 変化点検出方式
JPS59158441A (ja) パイプライン制御方式
JPH03105467A (ja) 検索論理演算回路
JPH04167134A (ja) ビット転記方式
JPH0477349B2 (ja)
JPH1021053A (ja) データ処理装置
JPH01114962A (ja) ダイレクトメモリアクセス制御装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term