JPH01163826A - リレーショナルデータベースの結合処理方式 - Google Patents

リレーショナルデータベースの結合処理方式

Info

Publication number
JPH01163826A
JPH01163826A JP62321307A JP32130787A JPH01163826A JP H01163826 A JPH01163826 A JP H01163826A JP 62321307 A JP62321307 A JP 62321307A JP 32130787 A JP32130787 A JP 32130787A JP H01163826 A JPH01163826 A JP H01163826A
Authority
JP
Japan
Prior art keywords
join
data
coupling
processing
temporary
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
JP62321307A
Other languages
English (en)
Inventor
Takashi Iwata
岩田 敬
Katsuaki Fuda
附田 克晃
Yukio Murakami
幸夫 村上
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP62321307A priority Critical patent/JPH01163826A/ja
Publication of JPH01163826A publication Critical patent/JPH01163826A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はリレーショナルデータベースの結合処理方式に
係り、特に3個以上のチーシルのデータを高速に結合す
る場合に好適なリレーショナルデータベースの結合処理
方式に関する。
〔従来の技術〕
リレーショナルデータベースの結合処理は、結合するテ
ーブルのデカルト積をとり、結合条件を満足するデータ
の組合せを取出せばよいが、このように処理したのでは
処理速度が遅い。
従来、このようなリレーショナルデータベースの結合処
理を高速に行う方式として、結合する全てのテーブルを
結合条件のフィールドでソートしておき、各テーブルか
ら逐次データを取出し、その大小・相等に対応して結合
結果を得るマージ結合方式が知られている。なお、この
種の結合処理方式として関連するものには、例えば特開
昭58−3031号公報等が挙げられる。
〔発明が解決しようとする問題点〕
上記従来技術では、結合する全てのテーブルを結合条件
のフィールドでソートする必要がある。
その為、2個のテーブルを結合する場合はマージ結合に
より高速に結合結果を得ることができるが、3個以上の
テーブルを結合し、それぞれの結合条件のフィールドが
異なる場合にはマージ結合を行うことができず、処理速
度の向上はあまり期待できない。
本発明の目的は、リレーショナルデータベースにおいて
、3個以上のテーブルを結合し、それぞれの結合条件の
フィールドが異なる場合にも高速処理が可能な結合処理
方式を提供することにある。
〔問題点を解決するための手段〕
上記目的は、結合する一方のテーブルのみをソートして
結合用一時インデックスを動的に作成し、該インデック
スを使って結合条件を満足するデータを探索することに
より、達成される。
〔作 用〕
リレーショナルデータベースの結合処理は、まず一方の
テーブルから1件のデータを取出し、該データに関して
結合条件を満すデータを、他方のテーブルから取出すこ
とによって行われる。この他方のテーブルからデータを
取出すとき、一方のテーブルから取出したデータの結合
条件のフィールドをキーにして結合用一時インデックス
を使い、結合条件を満足するデータをバイナリサーチ方
式で探索する。
このように、結合用一時インデックスを使うことにより
、結合条件を満足するデータを探索する処理にバイナリ
サーチ方式を適用することができるため、処理の高速化
が達成される。
結合用一時インデックスは、結合処理のためにソートさ
れたテーブルに対して、結合条件のフィールドをバイナ
リサーチする際に使う当該テーブルのいくつかの分割点
に関する位置情報を一時的に保持するインデックスであ
る。その為、ソートされたテーブルの全てのデータでは
なく、分割点だけに関する位置情報を保持すればよく、
また。
結合処理を実行する間だけ保持できればよいので、使用
メモリの増加は抑えられる。
〔実施例〕
以下、本発明の一実施例について図面により詳細に説明
する。
第1図は、本発明の一実施例のシステム構成図を示す。
データ処理装置10はデータベース処理機構11とデー
タベース処理機構11のためのプログラムモニュール1
2よりなる。データベース処理機構11は結合演算処理
部110と入出力制御部120を含み、結合演算処理部
110はさらに結合用一時インデックス生成部111を
含む。
データベース格納用メモリ20は複数個の検索対象のテ
ーブルを格納している。作業用メモリ30は中間テーブ
ル、結合用一時インデックスなどを格納するのに用いら
れる。
初めに第2図によりテーブル、中間テーブル、結合用一
時インデックスの関係について説明する。
リレーショナルデータベースでは、データを200に示
す様な表形式のテーブルとして扱う。テーブル200は
、C1,C2などのいくつかのフィールド201,20
2などから構成されている。
こNでは、テーブル200を他のテーブルと、フィール
ドC1を結合条件にして、フィールドc2の値が「10
」であるデータの、フィールドc4の値を検索する場合
を考える。このとき、まず最初にテーブル200から、
フィールドC2の値が「10」であるデータの、フィー
ルドC1と04に基づいて中間テーブル210を生成す
る。次に、この中間テーブル210を結合条件のフィー
ルドC1でソートし、結合用一時インデックスを作成す
る。ソートした中間テーブルを220、結合用一時イン
デックスを230に示す。結合用一時インデックス23
0は、キー値231とそのデータの識別子、例えばアド
レス232から構成され。
ソートした中間テーブル220のいくつかの分割点の位
置情報を保持する。
この結合用一時インデックス230を使って結合処理を
行うことにより、すなわち、結合する相手のテーブルの
データを取出し、そのデータの結合条件のフィールドの
値をキーにして結合用一時インデックスをたどり、バイ
すりサーチを行うことにより、高速に結合処理を実行す
ることができる。この結合用一時インデックス230は
、結合演算を実行する間だけ保持する。
次に、第3L!!Iに示す3つのテーブル301.30
2.303を結合する場合を例にして、本発明による結
合処理を説明する。
テーブル301は売上げテーブルを示し、伝票番号、販
売店コード、商品コード、数量、売上年月などのフィー
ルドから構成される。テーブル302は販売店テーブル
を示し、販売店コード、地区などのフィールドから構成
される。テーブル303は商品テーブルを示し、商品コ
ード、分類、品名、単価などのフィールドから構成され
る。例としては、これらのテーブル301,302,3
03から、87年4月の東京地区の食品の売上げを求め
る結合検索を考える。二Nでは、各テーブル301,3
02,303から条件を満すデータで中間テーブルを作
成し、最初の2個の中間テーブルの結合にはマージ結合
を、その結合結果と3個目の中間テーブルとの結合には
本発明の結合用一時インデックスを使うものとする。
第1図のデータベース格納用メモリ20には。
これらのテーブル301,302,303があらかじめ
格納されている。データベース処理機構110は入出力
制御部120を介して、データベース格納用メモリ20
よりテーブル301,302゜303を順次読取り、以
下の処理を行う。即ち、売上げテーブル301からは、
売上年月の値が87年4月を示すr8704Jであるデ
ータの販売店コード、商品コード、数量で中間テーブル
304を作成し、結合条件のフィールドの1つである販
売店コードでソートしておく。販売店テーブル302か
らは、地区の値が「東京Jであるデータの販売店コード
で中間テーブル305を作成し、結合条件のフィールド
である販売店コードでソートしておく。商品テーブル3
03からは、分類の値が[商品」であるデータの商品コ
ード、単価で中間テーブル306を生成し、結合条件の
フィールドである商品コードでソートしておく。これら
のソート後の中間テーブル304,305,306は、
入出力制御部120を介して作業用メモリ30に格納さ
れる。
次に、データベース処理機構11は結合演算処理部11
0に制御を渡すにれを受けて結合演算処理部110は、
まず結合用一時インデックス生成部111を起動する。
結合用一時インデックス生成部111は、ソートされた
中間テーブル306について結合用一時インデックス3
07を作成して作業用メモリ30に保持し、処理を結合
演算処理部110に返す、結合用一時インデックス30
7は、ソートされた中間テーブル306の商品コード(
食品コード)をいくつかに分割しく本例では8001,
5lot、 5201.・・・)、そのキー値と分割点
の位置情報(アドレス情報)から構成される。
結合演算処理部110では、まず売上げテーブル301
の中間テーブル304と販売店テーブル302の中間テ
ーブル305とでマージ結合を行い、その結果として例
えば310のデータを得る。
次に、この結合結果と商品テーブル303の中間テーブ
ル306との結合演算を行うが、前者の結合結果は、販
売店コードではソートされているが、後者の結合演算の
結合条件のフィールドである商品コードでのソートは保
証されず、マージ結合を行うことができない。そこで、
従来は中間テーブル306を逐一検索する必要があった
にれに対し、本発明では前者の結合結果として得たデー
タ310の結合条件のフィールドの値をキーにして、結
合用一時インデックス307を使い、結合演算処理を行
う。つまり、第3図の例では、データ310の商品コー
ドの値rs10’7Jをキーにして、結合用一時インデ
ックス307を使い、結合するデータ311を直ちに得
る。そして、これら結合するデータ310,311の数
量と単価から、求めるデータである87年4月の東京地
区の食品の売上げを得る。
〔発明の効果〕
以上の説明から明らかな如く、本発明によれば、結合用
一時インデックスを使うことによって、リレーショナル
データベースの結合処理にバイすリサーチを適用するこ
とができるので、n件のデータとm件のデータの結合の
処理を行うのに、nXlog、 m回の判定をすればよ
く、処理を高速化できる。なお、従来のデカルト積をと
る方法では、n×m回の判定が必要である。
【図面の簡単な説明】
第1図は本発明の一実施例のシステム構成図、第211
!lはテーブル、中間テーブル、結合用一時インデック
スの関係を示す図、第3図は本発明の具体的処理例を説
明するための図である。 10・・・データ処理装置、 11・・・データベース処理機構、 110・・・結合演算処理部、 111・・・結合用一時インデックス生成部、120・
・・入出力制御部、 12・・・プログラムモジュール、 20・・・データベース格納メモリ、 30・・・作業用メモリ。 第1図 第3図

Claims (1)

    【特許請求の範囲】
  1. (1)複数のフィールドからなるテーブルを複数個保持
    するリレーショナルデータベースについて、各テーブル
    から結合条件に従ってデータを取出し、結合条件を満足
    するデータを結合する結合処理方式において、あるテー
    ブルから取出したデータを結合条件でソートして結合用
    一時インデックスを作成し、他のテーブルから取出した
    データの結合条件をキーにして、前記結合用一時インデ
    ックスを使い、前記あるテーブルから取出したデータか
    ら結合条件を満足するデータをサーチすることを特徴と
    するリレーショナルデータベースの結合処理方式。
JP62321307A 1987-12-21 1987-12-21 リレーショナルデータベースの結合処理方式 Pending JPH01163826A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62321307A JPH01163826A (ja) 1987-12-21 1987-12-21 リレーショナルデータベースの結合処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62321307A JPH01163826A (ja) 1987-12-21 1987-12-21 リレーショナルデータベースの結合処理方式

Publications (1)

Publication Number Publication Date
JPH01163826A true JPH01163826A (ja) 1989-06-28

Family

ID=18131115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62321307A Pending JPH01163826A (ja) 1987-12-21 1987-12-21 リレーショナルデータベースの結合処理方式

Country Status (1)

Country Link
JP (1) JPH01163826A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0293766A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd リレーショナルデータベースのテーブル結合方式
JPH06168166A (ja) * 1992-11-30 1994-06-14 Pfu Ltd リレーショナルデータベースの結合処理方法
WO2009019930A1 (ja) * 2007-08-07 2009-02-12 Fujitsu Broad Solution & Consulting Inc. データベース管理プログラム及びデータベース管理装置
US9104713B2 (en) 2011-10-05 2015-08-11 International Business Machines Corporation Managing a temporal key property in a database management system
WO2018051697A1 (ja) * 2016-09-14 2018-03-22 株式会社ターボデータラボラトリー データ統合方法、データ統合装置、データ処理システム及びコンピュータプログラム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0293766A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd リレーショナルデータベースのテーブル結合方式
JPH06168166A (ja) * 1992-11-30 1994-06-14 Pfu Ltd リレーショナルデータベースの結合処理方法
WO2009019930A1 (ja) * 2007-08-07 2009-02-12 Fujitsu Broad Solution & Consulting Inc. データベース管理プログラム及びデータベース管理装置
JP2009042869A (ja) * 2007-08-07 2009-02-26 Fujitsu Broad Solution & Consulting Inc データベース管理プログラム及びデータベース管理装置
US9104713B2 (en) 2011-10-05 2015-08-11 International Business Machines Corporation Managing a temporal key property in a database management system
US10262025B2 (en) 2011-10-05 2019-04-16 International Business Machines Corporation Managing a temporal key property in a database management system
WO2018051697A1 (ja) * 2016-09-14 2018-03-22 株式会社ターボデータラボラトリー データ統合方法、データ統合装置、データ処理システム及びコンピュータプログラム
JP2018045441A (ja) * 2016-09-14 2018-03-22 株式会社ターボデータラボラトリー データ統合方法、データ統合装置、データ処理システム及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
US6912540B2 (en) Chaining database records that represent a single customer or multiple customers living in a household
EP0529916A2 (en) System and method for efficient execution of outer join operations
JPS61223941A (ja) 化学構造の検索方法
CN107784102A (zh) 一种基于Oracle数据库的数据差异比较方法
Agarwal et al. Approximate incremental big-data harmonization
US5247662A (en) Join processor for a relational database, using multiple auxiliary processors
JP2003141158A (ja) 順序を考慮したパターンを用いた検索装置および方法
CN110263021B (zh) 一种基于个性化标签体系的主题库生成方法
JPH01163826A (ja) リレーショナルデータベースの結合処理方式
JPH0287274A (ja) オンライン情報検索システム
WO2005043409A1 (ja) 表形式データの結合方法、結合装置およびプログラム
JP6438295B2 (ja) ハイパーグラフソルバーのためのグラフ入力の自動編集
JPH08305724A (ja) 設計支援情報文書管理装置
JP3066836B2 (ja) 知識ベースシステムにおける高速アクセス方式
JP2001142885A (ja) 業務名指定による問合せsql生成装置
JP3245873B2 (ja) ファイル処理装置
JPH04215185A (ja) 条件検索処理方式
JPS61170840A (ja) 結合処理における中間データ生成方法
JPS63238622A (ja) 関連検索方式
JPH03191442A (ja) 関係型データベース管理システム
McKenzie The description and group properties of linear graphs
JPS63131227A (ja) デ−タ処理方式
JPH04116772A (ja) 連結データベース検索装置
JPS63104132A (ja) 部品表サマリ展開方式
JPH01112364A (ja) データ処理装置