JPH0373019B2 - - Google Patents

Info

Publication number
JPH0373019B2
JPH0373019B2 JP59231252A JP23125284A JPH0373019B2 JP H0373019 B2 JPH0373019 B2 JP H0373019B2 JP 59231252 A JP59231252 A JP 59231252A JP 23125284 A JP23125284 A JP 23125284A JP H0373019 B2 JPH0373019 B2 JP H0373019B2
Authority
JP
Japan
Prior art keywords
record
records
output
memory
buffer memory
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
JP59231252A
Other languages
English (en)
Other versions
JPS61110233A (ja
Inventor
Shigeo Kamya
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)

Description

【発明の詳細な説明】
〔発明の技術分野〕 本発明は、ソート処理されたリレーシヨンに対
してマージ・ソート処理を基本にした関係演算に
より射影演算を効率良く実行し得るデータ処理装
置に関する。 〔発明の技術的背景とその問題点〕 大容量記憶装置の進歩に伴い、その大容量記憶
装置上で大規模なデータベースを構築する計算機
システムが増えてきている。ところが、データベ
ースが大規模になる程、該データベースから必要
なデータを検索するに必要な時間が長くなるとい
う問題が生じている。これを解決する方法の1つ
として、検索に必要な処理、つまり関係演算を専
用ハードウエアで実行することが種々提唱されて
いる。 しかして、マージ・ソート処理をベースとした
関係演算を実行する従来のデータ処理装置にあつ
ては、予めソート処理されている2つのリレーシ
ヨン間の各レコードを相互に比較し、その比較結
果に応じて上記2つのリレーシヨンの一方から選
択的にレコードを出力する動作を基体としている
ので、例えば上記データベース検索で必要な射影
演算を行なうことが困難であると云う不具合があ
つた。 即ち、この射影演算(projection)は、例えば
リレーシヨン{R1}
【表】 から、そのキイ(属性A、属性B)の値が等しい
レーコドを取り除いて、新しいリレーシヨン
{R2}を
〔発明の目的〕
本発明はこのような事情を考慮してなされたも
ので、その目的とするところは、例えばデータベ
ース検索処理に必要な射影演算を簡易に、且つ高
速に実現することができるデータ処理装置を提供
することにある。 〔発明の概要〕 本発明は、1レコードを処理するためびに反転
されるメモリ選択フラグを演算部に用意し、この
演算部に所定の規則に従つてソート処理が施され
た複数のレコードからなるリレーシヨンを入力す
る時、上記メモリ選択フラグが指定する第1また
は第2のレコードバツフアメモリに上記リレーシ
ヨンのレコードを1レコードづつ交互に格納する
ようにし、且つ前記第1のレコードバツフアメモ
リから読み出される第1のレコードと、前記第2
のレコードバツフアメモリから読み出される第2
のレコードとを比較回路で比較するように上記演
算部を構成し、出力選択部においては前記メモリ
選択フラグに従つて出力対象とするレコードが前
記第1のレコードか、或いは前記第2のレコード
かを選択し、この選択したレコードを出力するか
否かを前記比較回路の比較結果に従つて制御する
ことによつて射影演算を処理可能としたことを特
徴とするものである。 〔発明の効果〕 かくして本発明によれば、入力リレーシヨンの
各レコードを交互に第1および第2のレコードバ
フアメモリに格納して該第1および第2のレコー
ドバツフアメモリに2つのリレーシヨンを作成
し、これらのリレーシヨン間で各レコードの比較
を行いつつ、その比較結果に従つて前記第1およ
び第2のレコードバツフアメモリから交互に読出
されるレコードの出力を制御するので、前記2つ
のリレーシヨン間のレコードの属性を示すキイの
値が等しいとき、そのレコード出力を阻止して重
複レコードのないリレーシヨンを簡易に、且つ効
果的に作成することが可能となる。つまり、入力
リレーシヨンを交互に振分けて作成した2つのリ
レーシヨン間の各レコードの比較結果に従つて、
同一レコードが検出されたとき、そのレコードの
出力を阻止するので、ソフトウエアに頼ることな
しに、入力リレーシヨン中の重複レコードを除去
することができ、上記入力リレーシヨンに対する
射影演算を簡易に高速に実行することが可能とな
る。 〔発明の実施例〕 以下、図面を参照して本発明の一実施例につき
説明する。 図は実施例装置の概略構成図である。データ処
理装置は、基本的にはマージ・ソート処理をベー
スとした関係演算を実行する演算部1と、その関
係演算結果の出力制御を行う出力制御部2とによ
り構成される。 所定の規則に従つてソート処理が施されたリレ
ーシヨンを構成する複数のレコードは、データ処
理装置に順次入力される。演算部1は、入力レコ
ードを1語づつセツトする入力レジスタ11と、
1レコード分の記憶容量を持ち、且つFIFO(フア
ースト・イン・フアースト・アウト)機能を有す
る第1および第2のレコードバツフアメモリ1
2,13と、上記第1のレコードバツフアメモリ
12から読み出される値と第2のレコードバツフ
アメモリ13から読み出される値とを相互に比較
して、上記各値が相互に等しいときにイコール信
号を出力する比較回路14と、前記第1および第
2のレコードバツフアメモリ12,13を選択制
御するフラグ回路15とを備えて構成される。 尚、上記フラグ回路15にセツトされるメモリ
選択フラグFは、入力された1レコードが処理さ
れる都度、つまり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つのレコードが一方のレコードバツフアメモ
リに格納されたのち、前記メモリ選択フラグFが
反転される。 しかして前記比較回路14は、上記第1および
第2のレコードバツフアメモリ12,13にそれ
ぞれ格納されたデータ(レコード)を相互に比較
し、そのデータ(レコード)が等しいとき、イコ
ール信号Eを出力している。尚、比較回路14
が、前記複数の語からなるレコードを語単位で比
較する場合には、レコードを構成する各語間での
比較結果の全てが等しいときにのみ、当該レコー
ドが等しいことになるので、各レコードの最後の
語の比較結果を得たとき、前記イコール信号Eが
有効となる。 ところで処理対象としているレコードが、その
後に続くレコードと重複していることが判明する
タイミングは、該レコードの最後の語の比較結果
を得たときとなる。この為、該レコードを一旦、
バツフアリングする必要がある。出力制御部2に
設けられた第3のレコードバツフアメモリ17
は、前記第1および第2のレコードバツフアメモ
リ12,13から順次読み出される語を、前記メ
モリ選択フラグFに従つて選択制御される選択回
路18を介して入力し、これを格納してそのレコ
ードをバツフアリングしている。この結果、第3
のレコードバフアメモリ17には、処理対象とし
ているレコードが格納されることになる。 しかして出力制御回路19は前記第3のレコー
ドバツフアメモリ17に格納されたレコードのキ
イの値が、その後に続くレコードのキイの値と重
複しているか否かを前記イコール信号Eから判定
しており、重複していない場合(E=0)には、
該第3のレーコドバツフアメモリ17に格納され
たレコードを出力レジスタ20を介して出力して
いる。また上記イコール信号Eが(E=1)の場
合には、該第3のレコードバツフアメモリ17に
格納されたレコードが後に続くレコードと重複し
ているとして、その出力を阻止している。このよ
うにして、ソート処理されたリレーシヨンの各レ
コードのキイの値が、その後に続くレコードのキ
イ値と等しい場合、そのレコードの出力が阻止さ
れて1つのリレーシヨン中の重複レコードの除
去、つまり射影演算が行われるようになつてい
る。 尚、ここでは本発明の要旨と直接関係していな
いことから図示していないが、演算部1には現在
キイ・フイールドを処理中か否かを示す回路や、
レコードの最後の1語を処理中か否かを示す回路
等が設けられることは云うまでもない。 次に、本装置における射影演算処理の流れを具
体例を挙げて説明する。 本装置における射影演算は、基本的に次のよう
に行われる。 () 先ずリレーシヨン{Rx}をそのキイの値
に対して、例えば昇順にソート処理する。例え
ばリレーシヨン{R1}の属性Aと属性Bを1
つの属性と看做してソート処理を行う。このソ
ート処理は、ソフトウエア、或るいはソート処
理専用のハードウエア(図示していない)によ
つて行われる。この結果、例えば次のようなリ
レーシヨンが得られる。
【表】 このようなリレーシヨンの各レコードを語単
位で順次入力して、本装置による射影演算が次
のようにして実行される。 () 演算部1では、先ず前記メモリ選択フラグ
Fに従つて入力レコードを交互に振分け、前記
第1および第2のレコードバツフアメモリ1
2,13上で2つのリレーシヨン{R×1}と
{R×2}を作成する。 () しかる後、両リレーシヨン{R×1}{R
×2}の先頭のレコードにポインタを置いて比
較対象とするレコードを特定し、前記メモリ選
択フラグFを{R×1}側にする(F=1)。 () 次に上記ポインタが示すレコード間でその
キイ(属性)の値を比較する。 () そして上記レコード間のキイ(属性)の値
が等しければ、そのレコードが重複していると
して前記メモリ選択フラグFが示す側のレコー
ドの出力を阻止する。 また上記レコード間のキイ(属性)の値が等
しくなければ、レコードが重複していないとし
て前記メモリ選択フラグFが示す側のレコード
を出力する。 () その後、前記メモリ選択フラグFが指す側
のポインタを次のレコードに進め、該メモリ選
択フラグFを反転する。 () そして次のレコードがあれば、前記()
の処理に戻り、次のレコードがない場合には、
前記メモリ選択フラグFが指す側のレコードを
出力してその処理を終了する。 この処理フローにおける前記()〜()の
処理について更に詳しく説明する。先ず前記
()に示す処理によつて前記第1および第2の
レコードバツフアメモリ12,13に振分けられ
て作成される2つのリレーシヨン{R×1}{R
×2}は次のようになる。
【表】 ここで、上記丸数字…は1つのレコード
を処理する為の各サイクルを示しており、下線は
上記各サイクルで前記メモリ選択フラグFが示す
リレーシヨンを表している。 しかして第1サイクルでは[1/r]と
[2/q]とを比較する。この場合、両レコード
は等しくないので、前記メモリ選択フラグF(F
=1)が選択しているレコード[1/r]出力さ
れ、その後、メモリ選択フラグFを“0”に反転
する。 次の第2サイクルでは[2/q]と[2/
q]を比較する。この場合、両レコードが等しい
のでメモリ選択フラグ(F=0)が選択している
レコード[2/q]の出力が阻止される。つま
り、そのレコードが出力されない。そして前記メ
モリ選択フラグFが“1”に反転される。 第3サイクル、第4サイクル、第5サイク
ルでは、そのレコードのキイの値が等しくない
ので、前記第1サイクルの場合と同様に、その
レコードが出力される。 以上が、本装置の基本的に射影演算の流れであ
る。 ところで前述したリレーシヨン{R1}の各レ
コードは、複数の語(属性)からなる。今、各属
性の語長を、全て1語長とし、各レコードのレコ
ード長が2語長で与えられるものとする。そして
実施例装置では1語を処理する時間を1フエーズ
とし、1レコードを処理する時間を1サイクルと
して、つまり2フエーズを1サイクルとして動作
するものとする。 この場合実施例装置では、ソート処理されたリ
レーシヨンを入力するに際し、先ず前記メモリ選
択フラグFを“1”初期設定する。 しかして第(−1)サイクルでは、上記リレー
シヨンの1番目のレコード[1/r]を入力し、
第1のレコードバツフアメモリ12に記憶する。 この第(−1)サイクルでの動作を更に詳しく
説明すると、その第1フエーズで属性Aのデータ
[1]を入力し、これを入力レジスタ11にセツ
トする。このとき前記メモリ選択フラグFが
“1”であることから、上記入力レジスタ11に
セツトされたデータ[1]を第1のレコードバツ
フアメモリ12に格納する。 次の第2フエーズでは、[r]を入力レジスタ
11にセツトし、これを同様にして第1のレコー
ドバツフアメモリ12に格納する。これによつ
て、最初のレコードの入力が終了する。その後、
前記メモリ選択フラグFを“0”に反転して第
(−1)サイクルを終え、次の第(0)サイクル
に移る。 第(0)サイクルでは、レコード[2/q]を
入力し、このとき前記メモリ選択フラグFが
“0”であることから、これを第2のレコードバ
ツフアメモリ13に記憶する。この処理は上記第
(−1)サイクルと同様にして行われるが、その
サイクルの最後で前記メモリ選択フラグFを反転
して“1”にする。 続く第1サイクルでは、次の3つの処理が平行
して行われる。 その1つは3番目のレコード[2/q]を入力
し、第1のレコードバツフアメモリ12に格納す
る動作であり、その処理は前述した第(−1)サ
イクルと同様に行われる。2つ目の動作は、第1
のレコードバツフアメモリ12から1番目のレコ
ード[1/r]を、また第2のレコードバツフア
メモリ13から2番目のレコード[2/q]をそ
れぞれ読出し、これらのレコードを比較回路14
で比較する処理動作である。そして3つ目の動作
は、前記メモリ選択フラグFに従つて、前記第1
のレコードバツフアメモリ12から読み出した1
番目のレコードを第3のレコードバツフアメモリ
17に格納する動作である。 即ち、このサイクルの第1フエーズでは、処理
は、3番目のレコードの先頭の1語である
[2]を入力して入力レジスタ11にセツトし、
これを第1のレコードバツフアメモリ12に格納
する第1の動作、FIFO機能を有する第1および
第2のレコードバツフアメモリ12,13から、
前に記憶したレコード(=1番目のレコードと2
番目のレコード)の先頭の各語[1][2]をそ
れぞれ読み出し、その語を比較する第2の動作、
および上記第1のレコードバツフアメモリ12か
ら読出した先頭の語[1]を第3のレコードバツ
フアメモリ17に格納する第3の動作からなる。 そして、その第2フエーズでは、入力した3番
目のレコードの2語目[q]を第1のレコードバ
ツフアメモリ12に格納する動作、第1および第
2のレコードバツフアメモリ12,13から、前
に記憶したレコード(=1番目のレコードと2番
目のレコード)の2番目の各語[r][q]をそ
れぞれ読み出して比較する動作、同時に上記第1
のレコードバツフアメモリ12から読出した2番
目の語[r]を第3のレコードバツフアメモリ1
7に格納する第3の動作からなる。 この第2フエーズは、レコードの最後の1語の
処理なので、前記比較回路14のイコール信号E
(E=0)を出力する。出力制御回路19は、こ
のイコール信号Eに従つて、次の第2サイクルで
前記第3のレコードバツフアメモリ17に格納し
たレコード[1/r]の出力を制御する。 しかして第2サイクルでは、前記第1サイクル
におけるレコードの比較結果が、両レコードが異
なることを示しているから、次の4つの処理が平
行に行われる。 この4つの処理のうちの3つは上述した第1サ
イクルと同様であり、これに加えて出力制御部2
におけるレコードの出力制御が前記イコール信号
Eに応じて行われる。つまり前記イコール信号E
が“0”の場合にのみ、次の第4の動作が行われ
る。この第4の動作は、第1フエーズで前記第3
のレコードバツフアメモリ17から、レコードの
1語目を読み出して出力レジスタ20にセツトし
て出力し、次の第2フエーズで前記第3のレコー
ドバツフアメモリ17から、レコードの2語目を
読み出して出力レジスタ20にセツトして出力す
る。これによりレコード[1/r]が出力され
る。 尚、前記イコール信号Eが“1”の場合、前記
その前のサイクルで比較されたレコードが等しい
ことを示すから、そのレコードの出力を阻止する
べく、第4の動作は行われない。 以降のサイクルでは、上述した第2サイクルと
同様な処理が繰返して行われる。 かくして本装置によれば第3のレコードバツフ
アメモリ17に、比較回路14のイコール信号E
を付加した形として、次のようにリレーシヨンを
得る。
【表】 従つてこのリレーシヨン中からイコール信号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 (1)

  1. 【特許請求の範囲】 1 所定の規則に従つてソート処理された複数の
    レコードを順次入力すると共に、1つの入力レコ
    ードを処理する都度メモリ選択フラグを反転する
    手段と、この反転制御されるメモリ選択フラグに
    従つて上記入力レコードを交互に記憶する第1お
    よび第2のレコードバツフアメモリと、これらの
    第1および第2の各レコードバツフアメモリにそ
    れぞれ格納された各入力レコードを交互に読出
    し、該レコードの属性を示すキイの値を相互に比
    較する比較回路と、前記メモリ選択フラグに従つ
    て前記第1または第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 JPS61110233A (ja) 1986-05-28
JPH0373019B2 true 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
JPS61110233A (ja) 1986-05-28

Similar Documents

Publication Publication Date Title
JPS6142031A (ja) ソ−ト処理装置
JPH0373019B2 (ja)
JPH0782429B2 (ja) 複数ファイルのマージ方法
EP3940571A1 (en) Data substitution device, data substitution method, and program
GB1104407A (en) Digital calculating arrangements
JPS61110235A (ja) デ−タ処理装置
SU658598A1 (ru) Устройство дл выборки информации из блоков пам ти
JP2735255B2 (ja) ハツシング処理方法
JP2835366B2 (ja) 高速フーリエ変換用アドレス情報発生装置
JP2586172B2 (ja) 学習機能付テーブル検索装置
Gries Recursion as a programming tool
JPH04205173A (ja) 情報検索システム
JPS60128529A (ja) マ−ジ処理器
JPH0370826B2 (ja)
JPH0926872A (ja) パイプラインマージソータ
JPH02204861A (ja) ベクトルデータ処理装置
Jones et al. Unions of certain bounded deterministic languages
JPH04281550A (ja) 最適化問題解決処理装置
JPH02294729A (ja) ソート処理方式
JPH01287745A (ja) データ処理装置
JPS63257841A (ja) 論理シミユレ−タ
JPS5875245A (ja) 関係代数演算装置
JPH0373021B2 (ja)
JPH0531790B2 (ja)
JPH04175973A (ja) 機能等価論理回路生成方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term