JPS63225824A - 集合演算方式 - Google Patents

集合演算方式

Info

Publication number
JPS63225824A
JPS63225824A JP62058922A JP5892287A JPS63225824A JP S63225824 A JPS63225824 A JP S63225824A JP 62058922 A JP62058922 A JP 62058922A JP 5892287 A JP5892287 A JP 5892287A JP S63225824 A JPS63225824 A JP S63225824A
Authority
JP
Japan
Prior art keywords
index
records
record
file
value
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
JP62058922A
Other languages
English (en)
Inventor
Mitsunori Wada
光教 和田
Shoji Yamashita
祥司 山下
Haruaki Yamazaki
晴明 山崎
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 JP62058922A priority Critical patent/JPS63225824A/ja
Publication of JPS63225824A publication Critical patent/JPS63225824A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は同一の属性集合を有するレコードからなるファ
イルをレコードを要素とする集合とみなした際の複数の
ファイル間での集合演算方式に関するものである。
(従来の技術) 従来、同一の属性集合を有するレコードからなる複数個
のファイル間での集合演算では演算が適用されるファイ
ル間で同一値を持つレコードを検出する必要があり、そ
の検出にはネステッドルーブ方式により複数個のファイ
ル間でレコードを比較する方法が一般に用いられている
ネステッドルーブ方式は集合和、集合積、集合差演算を
実行する際に適用でき、演算結果は結果ファイル上に生
成される。集合和、集合積を行う場合には、演算を適用
する複数個のファイル中から任意のファイルを抽出し、
そのファイルのレコードと残ったファイルの全てのレコ
ードとを比較する。もし、残ったファイル中に同一値を
持つレコードが存在すれば、集合和を実行する場合には
そのレコードの複製を結果ファイルに格納し、集合和を
実行する場合にはなにもしない。もし、残ったファイル
中に同一値を持つレコー ドが存在しなければ、集合和
を実行する場合にはなにもせず、集合和を実行する場合
にはそのレコードの複製を結果ファイルに格納しつつ残
ったファイル中の同一値を持つ全てのレコードに印を付
は以降の比較の対象から外す。最初に抽出したファイル
の全レコードについて比較を行ったならば、そのファイ
ルを除く残ったファイル中より任意のファイルを抽出し
て同様の処理を縁り返す。残りファイルが1つになった
ならば、集合和を実行する場合にはそのファイル中で比
較の対象から外されたレコードを除く全てのレコードを
結果ファイルに格納し、集合和を実行する場合には何も
しない。このファイルの処理が終了した時点での結果フ
ァイルの内容が演算の結果となる。ネステッドルーブ方
式により集合差を実行するには、差をとられるファイル
のレコードを残ったファイルのレコードと比較する。も
し、残ったファイル中に同一値を持つレコードが存在す
る場合にはなにもしない。
もし、残ったファイル中に同一値を持つレコードが存在
しないならば、そのレコードの複製を結果ファイルに格
納する。この処理を差をとられるファイル中の全レコー
ドに対して適用した結果生成された結果ファイルの内容
が集合差の結果となる。
(発明が解決しようとする問題点) しかし、以上の方法では、レコードが複数個の属性から
構成される場合には比較処理においてレコードの物理構
成に応じた処理を要求される。ところが論理的に同一と
みなされるつまり同一の属性集合から構成されるレコー
ドどうしでも、物理的にはレコード中の属性の配置は異
なる場合があり、そのため属性の物理的な配置を考慮し
た属性ごとの比較を実行する必要が生じ、属性数が多く
なるにつれ比較にかかる時間が増大する欠点があった。
更に、演算を施すファイルが二次記憶上に格納されてい
る際に、レコード数が膨大であったり、レコード長が長
大であるとファイルを一次記憶上へ転送するのにかかる
時間も膨大なものとなる欠点があった。
本発明は、以上の如き従来技術の問題点を解消するため
になされたものであって、ファイルをレコードの集合と
みなして集合演算を実行する際に、レコードの比較処理
およびレコードの転送処理にかかる時間を短縮し、高速
処理が可能な集合演算方式を提供することを目的とする
(問題点を解決するための手段) 本発明は、同一の属性集合を有するレコードからなる複
数のファイル間での集合演算方式を対象とし、前記従来
技術の問題点を解決するため、前記ファイルの各レコー
ドについて、属性の種類に応じて各属性値を予め指定さ
れた長さの2進値に変換する変換手段と、該変換手段に
より得られたレコード中の各属性値対応の2進値をビッ
トごとにオア演算するオア演算手段と、該オア演算手段
により得られた2進値を索引値としたものとその値を生
成したレコードを指定するポインタとを対としたものを
そのレコードについて索引レコードとして構成する索引
レコード作成手段を設け、演算時にまず索引レコードの
索引値どうしで比較検査を行い、索引値が一致している
ものについてのみ索引値を生成したレコードの比較検査
を行うことにより集合演算を実行するようにしたもので
ある。
(作 用) 本発明では、集合演算を行う前に、集合演算を施すファ
イルのレコードに対し変換手段はその各属性値を2進値
に変換してオア演算手段に出力する。オア演算手段はこ
の出力を受け、1つのレコードの全ての属性値に対応す
る2進値をビットごとにオア演算し、索引値とする。索
引レコード作成手段はオア演算手段からの索引値とポイ
ンタとを対として索引レコードを作成する。以上の作業
が集合演算を行う前に実行される。そしてファイル間で
集合演算の実行する際には、まず索引レコードどうしの
比較を行い、次にそのうちで索引値が一致したものにつ
きその索引値を生成したレコードの比較を行う。そして
その結果により演算結果を得る。索引レコードのファイ
ルはもとのファイルに較べ十分小さく作ることができ、
また直接比較するレコードの数も十分小さくてすむので
、演算時間が短縮でき高速処理が可能となる。
(実施例) 以下、本発明の一実施例を図面を参照して詳細に説明す
る。
第1図は本実施例の構成を示す機能ブロック図である。
本実施例はファイル1に対し索引を与え、その索引を通
じてファイル1のレコードを検索できるように索引を構
成しておき、その索引を用いて複数のファイル間での集
合演算を実現するものである。変換手段2は属性の種類
に応じて属性値を予め指定された長さの2進値に変換す
るものであり、ファイル1中の各レコードについて前記
の変換手続きを属性に応じて適用しレコード中の各属性
値についての2進値を得る。オア演算手段3は1つのレ
コードの全ての属性について得た2進値をビットごとに
オア(OR)演算しその結果得た2進値(以後、重ね合
せ符号と呼ぶ)を索引値として出力する。索引レコード
作成手段4は索引値とその値を生成したレコードを指定
するポインタとを対としてそのレコードについての索引
レコードとする。ファイル1の全てのレコードに対して
用意した索引レコードの集りがそのファイルに対する索
引となり、索引ファイル5に格納される。演算手段6は
索引ファイル5の索引およびファイル1のレコードに基
づき集合演算を行い、その結果は結果ファイル7に格納
される。
集合演算を行う場合、集合演算を施す複数のファイル1
には同一の属性については変換手段2による同一の変換
手続きを適用し、更にオア演算手段3および索引レコー
ド作成手段4による上述した所定の処理を施して、それ
ぞれのレコードに対して予め索引を作成して索引ファイ
ル5に格納しておく。そして集合演算を実行する際にレ
コードの値が等しいか否かを判定するわけであるが、本
実施例の演算手段6では、まず索引レコードの索引値ど
うしで比較を行い、索引レコードの比較だけではもとの
レコードの値が等しいか否かを決定できない場合にのみ
、索引レコードが指すレコードどうしでさらに比較を行
う。上記のようにして構成された索引レコード間におい
て索引値が異なる索引レコードが指定するレコードは必
ず同一値をとらないことが保証される。但し、索引レコ
ード間において索引値が同一である索引レコードが指定
するレコードは必ずしも等しい値とはならないため、索
引レコードが指すレコードどうしでさらに比較が行われ
る。集合演算の結果は索引レコードの集合として結果フ
ァイル7に与えられる。
次に第2図によりファイル1の索引を作成する手順につ
いて詳細に説明する。ここではファイル1の一例として
人名−年齢ファイルを用いる。この人名−年齢ファイル
は「人名」属性および「年齢」属性から構成され、3つ
のレコードXI、 X2゜×3を持つ。「人名変換手続
き」では「人名」属性を、「年齢変換手続き」では「年
齢」属性を共に4ビツト長の2進値に変換する。この変
換は変換手段2(第1図)によりなされる。レコードX
tの「人名」属性は人名変換手続きにより2進値“00
1O”に変換され、「年齢」属性は年齢変換手続きによ
り2進値“1000“に変換され、この2つの2進値に
オア演算手段3によるオア演算を施した結果“1010
”がレコードXIに対する索引レコードx1の索引値と
なる。同様にレコード×2の「人名」属性は2進値“1
000”に変換され、「年齢」属性は2進値“0100
”に変換され、この2つの2進値にオア演算を施した結
果“1100”がレコード×2に対する索引レコード×
2の索引値となる。更に、レコード×3の「人名」属性
は“0100”に変換され、「年齢」属性は“100【
”に変換され、この2つの2進値にオア演算を施した結
果“II旧”がレコードX3に対する索引レコード×3
の索引値となる。また、索引レコードxlはレコードx
1を、索引レコード×2はレコード×2を、索引レコー
ドx3はレコード×3をそわぞれポインタにより指して
おり、索引レコードからレコードをアクセスすることが
できるようになっている。この索引レコードの作成は索
引レコード作成手段4により行われる。
第3図は2つのファイルとその索引が与えられた際の本
実施例による集合和、集合和および集合差演算の一例を
示すものである。ファイル「集団A」およびファイル「
集団B」は「人名」属性および「年齢」属性とから構成
されており、各集団に対して索引A’ 、B’が与えら
れている。「集団A」と「集団B」の集合和の結果は索
引C′からアクセスできるレコードの集合として与えら
れ、「集団A」と「集団B」の集合和の結果は索引D′
からアクセスできるレコードの集合として与えられ、「
集団A」から「集団B」の集合差演算をとった結果は索
引E′からアクセスできるレコードの集合として与えら
れる。ここで、説明の都合上、各レコードを(人名、年
齢)の組で表し、この組をレコード値と呼ぶこととする
。各レコードの人名と年齢がそれぞれ同一であることを
2つのレコードにおいてレコード値が一致するという。
索引C′が指す(小野、84)および(清水、79)の
組は「集団A」にも「集団B」にも含まれている。とこ
ろが、「集団A」の(山田。
12)と「集団B」の(山田、56)は「年齢」が異な
るために集合積演算の解にはなれない。同様に、「集団
A」の(小面、5)と「集団B」の(斉藤、5)は「人
名」が異なるために集合積演算の解にはなれない。
索引D′が指すレコードは「集団A」もしくは「集団B
」に含まれているが、「集団A」および「集団B」で同
一の値を持つレコードについては字引D′の索引レコー
ドはそのいずれか一方しか指さない。つまり、(清水、
79)および(小野。
8.4)は「集団A」および「集団B」のいずれにも存
在するので、索引D′は(清水、79)(小野。
84)については「集団A」に存在するレコードもしく
は「集団B」に存在するレコードのうち何れか1つのレ
コードを指す。索引E′が指すレコードは「集団A」に
含まれるレコードのうち「集団B」に同一値をもつレコ
ードが存在しないものである。
まず、 「集団A」と「集団B」の集合積演算について
説明する。まず、「集団A」もしくは「集団B」いずれ
かのファイルを抽出するが、ここでは「集団A」が抽出
されたものとする。「集団A」の索引となる索引A′の
各索引レコードa1〜a4について、残ったファイルで
ある「集団B」の索引の索引レコードb1〜b5全てと
索引値が等しいか否かを調べる。もし、索引値が異なれ
ば、その索引レコードが指すレコードの値も異なるから
集合和の解とはならず何もしないで、次の索引レコード
についての比較処理を行う。もし、索引値が等しければ
、レコードの値が一致する可能性があるため、更にその
索引レコードどうしが指す「集団A」および「集団B」
のレコードどうしでレコード値が一致するか否かを調べ
、もしレコード値が一致しなければ集合和の解とはなら
ないから何もしないで、次の索引レコードについての比
較処理を行い、もしレコード値が一致すればそのレコー
ドは集合和の解であるから、一致した索引レコードいず
れかについてその複製を索引C′ファイルへ格納する。
以上の比較処理を索引A′の索引レコードa1〜a4の
全てについて実行すると、演算は終了しその結果は索引
C′からアクセスできるレコードの集合として与えられ
る。
次に、「集団A」と「集団B」の集合和演算について説
明する。まず、「集団A」もしくは「集団B」いずれか
のファイルを抽出するが、ここでは「集団A」が抽出さ
れたものとする。「集団A」の索引となる索引A′の各
索引レコードa1〜a4について、残ったファイルであ
る「集団B」の索引の索引レコードb1〜b5全てと索
引値が等しいか否かを調べる。もし、索引値が異なれば
、抽出したファイル側の索引レコードについてその複製
を索引D′ファイルへ格納する。もし、索引値が等しけ
れば、レコードの値が一致する可能性があるため、更に
その索引レコードどうしが指す「集団A」および「集団
B」のレコードどうしでレコード値が一致するか否かを
調べ、もしレコード値が一致しなければ抽出したファイ
ル側の索引レコードについてその複製を索引D′ファイ
ルへ格納し、もしレコード値が一致すれば抽出したファ
イル側の索引レコードについてその複製を索引D′ファ
イルへ格納するとともに、残ったファイル側の索引レコ
ードについては同一値を持つ旨を履歴がとられる。以上
の比較処理を索引A′の索引レコードa1〜a4の全て
について実行した後、履歴を調べ索引B′の索引レコー
ドのうちで他ファイルと同一値を持たないレコードに対
応する索引レコードについてその複製を索引D′ファイ
ルへ格納する。すると、演算は終了しその結果は索引D
′からアクセスできるレコードの集合として与えられる
次に、「集団A」から「集団B」の集合差をとる演算に
ついて説明する。「集団A」の索引となる索引A′の各
索引レコードa1〜a4について、差をとる集合である
「集団B」の索引の索引レコードb1〜b5全てと索引
値が等しいか否かを調べる。もし索引値が異なれば、索
引A′のその索引レコードについて複製を索引E′ファ
イルへ格納する。もし、索引値が等しけわば、レコード
の値が一致する可能性があるため、更にその索引レコー
ドどうしが指す「集団A」および「集団B」のレコード
どうしでレコード値が一致するか否かを調べ、もしレコ
ード値が一致しなければ索引A′の索引レコードについ
てその複製を索引E′ファイルへ格納し、もしレコード
値が一致すれば集合差の解とはならないから何もしない
で。
次の索引レコードについての比較処理を行う。以上の比
較処理を索引A′の索引レコードa1〜a4の全てにつ
いて実行すると、演算は終了しその結果は索引E′から
アクセスできるレコードの集合として与えられる。
(発明の効果) 以上、詳細に説明したように本発明によれば、ファイル
間で集合演算を実行する際に、索引どうしの比較を行い
一部についてのみファイルのレコードどうじでの比較を
行うこととなる。したがって、重ね合せ符号を適切に作
成すれば、索引をもとのファイルより十分小さく作るこ
とができ、かつ索引値が等しいために直接比較するレコ
ードの数も十分小さくできるから、索引および比較が必
要になるレコードの大きさをもとのファイルの大きさに
比べ十分小さくすることができる。本発明により集合演
算を実現する方式とファイルの全レコードを直接比較し
て集合演算を実現する方式とを比べた場合、一般的には
ファイルも索引も二次記憶上にあり比較処理は一次記憶
上に転送され、結果は一次記憶上に生成されるものであ
るから、本発明による方式のほうが二次記憶から一次記
憶への転送にかかる時間を短縮できると共に、−次記憶
上での比較処理にかかる時間も短縮でき、全体としての
演算の実行時間を短縮できる。更に、索引はもとのファ
イルより小さく作れるので、−次記憶に余裕があれば索
引を一次記憶に常駐させることができ、この場合には索
引の転送が省かれることとなり、集合演算の実行時間を
更に短縮することが可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示す機能ブロック図
、第2図はファイルの索引作成手順の説明図、第3図は
本発明の一実施例による集合演算の説明図である。 1・・・ファイル、2−変換手段、 3・・・オア演算手段、 4・・・索引レコード作成手段、 5・−索引ファイル、6・・・演算手段、7・・・結果
ファイル。

Claims (1)

  1. 【特許請求の範囲】 同一の属性集合を有するレコードからなる複数のファイ
    ル間での集合演算方式において、 前記ファイルの各レコードについて、属性の種類に応じ
    て各属性値を予め指定された長さの2進値に変換する変
    換手段と、 該変換手段により得られたレコード中の各属性値対応の
    2進値をビットごとにオア演算するオア演算手段と、 該オア演算手段により得られた2進値を索引値としたも
    のとその値を生成したレコードを指定するポインタとを
    対としたものをそのレコードについての索引レコードと
    して構成する索引レコード作成手段を設け、 演算時にまず索引レコードの索引値どうしで比較検査を
    行い、 索引値が一致しているものについてのみ索引値を生成し
    たレコードの比較検査を行うことにより集合演算を実行
    することを特徴とする集合演算方式。
JP62058922A 1987-03-16 1987-03-16 集合演算方式 Pending JPS63225824A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62058922A JPS63225824A (ja) 1987-03-16 1987-03-16 集合演算方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62058922A JPS63225824A (ja) 1987-03-16 1987-03-16 集合演算方式

Publications (1)

Publication Number Publication Date
JPS63225824A true JPS63225824A (ja) 1988-09-20

Family

ID=13098316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62058922A Pending JPS63225824A (ja) 1987-03-16 1987-03-16 集合演算方式

Country Status (1)

Country Link
JP (1) JPS63225824A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH035886A (ja) * 1989-06-02 1991-01-11 Agency Of Ind Science & Technol 開係データベース演算システム
WO2002086717A1 (en) * 2001-04-16 2002-10-31 Xaxon R & D Corporation Computer virus check device and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH035886A (ja) * 1989-06-02 1991-01-11 Agency Of Ind Science & Technol 開係データベース演算システム
WO2002086717A1 (en) * 2001-04-16 2002-10-31 Xaxon R & D Corporation Computer virus check device and method

Similar Documents

Publication Publication Date Title
US20230342403A1 (en) Method and system for document similarity analysis
JPH08255176A (ja) データベースのテーブルを比較する方法及びシステム
CN111506608A (zh) 一种结构化文本的比较方法和装置
JPH02130673A (ja) データ検索方式
JPS63225824A (ja) 集合演算方式
JPH024026B2 (ja)
JPH0786875B2 (ja) ベクトル処理装置
Yammahi et al. An efficient technique for searching very large files with fuzzy criteria using the pigeonhole principle
Fisher Copying cyclic list structures in linear time using bounded workspace
Delcaro et al. A method for transposing externally stored matrices
JPS63225825A (ja) 包含関係検査方式
US11687572B2 (en) Computer security using context triggered piecewise hashing
US11809728B2 (en) Data storage method for massive datasets
JP2596332B2 (ja) データ組合せ抽出方法およびその装置
CN116881283A (zh) 基于HBase的数据分页查询方法和装置、电子设备
US20200356391A1 (en) Computer architecture for emulating a node in conjunction with stimulus conditions in a correlithm object processing system
JPH04279973A (ja) 文字列比較方式
JPH04129429A (ja) データ圧縮装置の辞書検索方式
JPH04123619A (ja) データ圧縮及び復元装置
CN116305126A (zh) 主机文件检测方法、电子设备及存储介质
CN117539862A (zh) 一种基于Spark的表关系探测方法及系统、介质
JPH01175651A (ja) アドレス変換方式
JPS63286930A (ja) 文字列検索装置
JPH0467660B2 (ja)
JPS5850044A (ja) インデクス・レコ−ドの検索処理方式