JPH0926967A - データベース検索方式 - Google Patents

データベース検索方式

Info

Publication number
JPH0926967A
JPH0926967A JP7176078A JP17607895A JPH0926967A JP H0926967 A JPH0926967 A JP H0926967A JP 7176078 A JP7176078 A JP 7176078A JP 17607895 A JP17607895 A JP 17607895A JP H0926967 A JPH0926967 A JP H0926967A
Authority
JP
Japan
Prior art keywords
search
selection
database
result
tables
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.)
Withdrawn
Application number
JP7176078A
Other languages
English (en)
Inventor
Yoshiyuki Someya
▲吉▼幸 染矢
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7176078A priority Critical patent/JPH0926967A/ja
Publication of JPH0926967A publication Critical patent/JPH0926967A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 本発明は、共通キーを有する複数のデータベ
ースを検索するデータベース検索方式に関し、検索効率
を大幅に高めることを目的とする。 【解決手段】 共通の検索キーを有する複数の表につい
て、論理演算子を介して連結された複数の条件式からな
る検索条件が与えられ、これらの条件式に基づいて選択
演算を個別に行う選択演算手段11と、選択演算手段1
1が行った選択演算の結果に論理演算子に基づく集合演
算を施し、検索条件に基づく複数の表の検索を行う集合
演算手段12とを備えたデータベース検索方式におい
て、複数の表を構成する個々の属性について、格納され
た情報の態様の頻度を求める累積手段13を備え、集合
演算手段12には、選択演算手段11によって行われた
選択演算の結果について、その結果を示す属性とその属
性の値とに対して累積手段13が求めた頻度が小さい順
に集合演算の順序を優先する手段を含んで構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、共通のキーを有す
る複数の表に分散されたデータベースにおいて、検索条
件に適合したレコードあるいはそのレコードに含まれる
フィールドを得るデータベース検索方式に関する。
【0002】
【従来の技術】近年、パソコンやワークステーション等
が急速に普及し、これらのデータ端末を利用して高機能
のデータベースを容易にかつ安価に構築することを可能
とするために、汎用のデータベースパッケージが開発さ
れて多くの分野に適用されつつある。
【0003】また、このようにして構築されたデータベ
ースの内、単位レコード当たりに含まれるフィールドの
数や情報量が大きいものについては、そのレコード単位
に共通のキーが付加された複数の表に分割されて構成さ
れ、かつ各種のデータベース管理システム(DBMS)
やデータベース言語を適用することにより、見かけ上単
一のデータベースとして取り扱われる。
【0004】さらに、特に、上述したフィールドの数が
大きく、かつこれらのフィールドの全ての内容が同時に
設定されたり確定されるとは限らない場合には、処理の
簡略化および効率化をはかるために、各レコードは敢え
て複数の表に分散される。図15は、従来のデータベー
ス検索方式の構成例を示す図である。図において、処理
装置131には、ハードディスクその他の外部記憶13
2に併せて、表示装置133、キーボード134および
フロッピーディスクドライブ1351 、1352 が接続
され、その外部記憶132には予め生成された3つの表
136A〜136Cが予め決められた形式のファイルとし
て格納される。また、表136A〜136Cは、それぞれ
図16〜図18に示すように、レコード単位に共通の検
索キー(以下、単に「共通キー」という。)「00
1」、「002」、…を有し、かつ複数のフィールドを
有する。
【0005】なお、以下では、簡単のため、これらの表
136A〜136Cの各フィールドについては、「フィー
ルド」を示す文字「f」に、「1」から昇順に付与され
た連続番号からなる第一の添え文字と、そのフィールド
が属する表の符号に付与された添え文字と同じ第二の添
え文字(「A」〜「C」の何れか)とを付与して示す。
このような構成のデータベース検索方式では、表136
A〜136Cの検索条件は、フロッピーディスクドライブ
1351(1352)に装着されたフロッピーディスクに格
納されたファイル、キーボード134を介して入力され
る文字列その他の情報として与えられる。また、このよ
うな検索条件は、所定のデータベース操作言語の規約に
適合し、例えば、表136A の第一フィールドf1Aの値
が「1」であり、かつ表136B の第三フィールドf3B
の値と表136C の第一フィールドf1Cの値とが共に
「2」である共通のレコードを検索し、そのレコードを
出力データベース(ここでは、簡単のため、外部記憶1
32の記憶領域に配置されるものとする。)として出力
することを要求する文字列で構成される。
【0006】処理装置131は、このような検索条件が
与えられると、その検索条件によって示される全ての表
136A〜136Cを共通キーに基づいて一旦結合し、そ
の検索条件に適合したレコードを順次検索する。なお、
以下では、検索によって得られたレコードの集合を単に
「中間結果」という。
【0007】
【発明が解決しようとする課題】しかし、このような従
来例では、上述した結合によって得られた情報の情報量
が大きいために、検索処理に長時間を要した。また、中
間結果には所望のフィールド以外の多くのフィールドも
含まれるために、その所望のフィールドを抽出する中間
処理にも長時間を要した。
【0008】さらに、上述した結合によって得られた情
報と中間結果とについては、情報量が大きいためにアク
セス時間が主記憶に比べて大きい外部記憶に一旦格納さ
れ、その外部記憶の高速化をはかることのみによって
は、検索効率を十分に高めることはできなかった。本発
明は、既存のハードウエアの構成を変更することなく検
索効率が大幅に向上するデータベース検索方式を提供す
ることを目的とする。
【0009】
【課題を解決するための手段】図1は、請求項1、5、
6に記載の発明の原理ブロック図である。請求項1に記
載の発明は、共通の検索キーを有する複数の表につい
て、論理演算子を介して連結された複数の条件式からな
る検索条件が与えられ、これらの条件式に基づく選択演
算を個別に行う選択演算手段11と、選択演算手段11
によって行われた選択演算の結果に論理演算子に基づく
集合演算を施し、検索条件に基づく複数の表の検索を行
う集合演算手段12とを備えたデータベース検索方式に
おいて、複数の表を構成する個々の属性について、格納
された情報の態様の頻度を求める累積手段13を備え、
集合演算手段12には、選択演算手段11によって行わ
れた選択演算の結果について、その結果を示す属性とそ
の属性の値とに対して累積手段13が求めた頻度が小さ
い順に集合演算の順序を優先する手段を含むことを特徴
とする。
【0010】図2は、請求項2、5、6に記載の発明の
原理ブロック図である。請求項2に記載の発明は、共通
の検索キーを有する複数の表について、論理演算子を介
して連結された複数の条件式からなる検索条件が与えら
れ、これらの条件式に基づく選択演算を個別に行う選択
演算手段11と、選択演算手段11によって行われた選
択演算の結果に論理演算子に基づく集合演算を施し、検
索条件に基づく複数の表の検索を行う集合演算手段12
とを備えたデータベース検索方式において、複数の表を
構成する個々の属性について、格納された情報の態様の
数を求める属性値態様累積手段21を備え、集合演算手
段12には、選択演算手段11によって行われた選択演
算の結果について、その結果を示す属性に対して属性値
態様累積手段21が求めた数が大きい順に集合演算の順
序を優先する手段を含むことを特徴とする。
【0011】図3は、請求項3、5、6に記載の発明の
原理ブロック図である。請求項3に記載の発明は、共通
の検索キーを有する複数の表について、論理演算子を介
して連結された複数の条件式からなる検索条件が与えら
れ、これらの条件式に基づく選択演算を個別に行う選択
演算手段11と、選択演算手段11によって行われた選
択演算の結果に論理演算子に基づく集合演算を施し、検
索条件に基づく複数の表の検索を行う集合演算手段12
とを備えたデータベース検索方式において、複数の表を
構成する個々の属性について、空の状態の割合を求める
空白率計数手段31を備え、集合演算手段12には、選
択演算手段11によって行われた選択演算の結果につい
て、その結果を示す属性に対して空白率計数手段31に
よって求められた割合が大きい順に集合演算の順序を優
先する手段を含むことを特徴とする。
【0012】図4は、請求項4〜6に記載の発明の原理
ブロック図である。請求項4に記載の発明は、共通の検
索キーを有する複数の表について、論理演算子を介して
連結された複数の条件式からなる検索条件が与えられ、
これらの条件式に基づく選択演算を個別に行う選択演算
手段11と、選択演算手段11が行う選択演算の結果の
件数を計数し、これらの結果に施すべき集合演算の手順
の組み合わせに適応した閾値との大小関係を判別する判
別手段41と、判別手段41によって判別された大小関
係の下で件数が閾値を上回るときに、結果を示すタプル
の属性の識別情報で検索条件を示すデータベース操作指
令を生成し、下回るときにこれらのタプルの属性の値と
論理演算子とに基づいてその検索条件を示すデータベー
ス操作指令の列を生成し、これらのデータベース操作指
令をその複数のデータベース管理システムに与える集合
演算手段43とを備えたことを特徴とする。
【0013】請求項5に記載の発明は、請求項1ないし
請求項4に記載のデータベース検索方式において、選択
演算手段11が行う選択演算の結果の件数を計数し、こ
れらの結果に施すべき集合演算の手順に適応した閾値と
の大小関係を判別する判別手段41を備え、選択演算手
段11には、判別手段41によって判別された大小関係
の下で件数が閾値を下回るときに、選択演算に併せて、
その選択演算を示す条件式に先行する論理演算子に基づ
く集合演算を行う手段を含み、集合演算手段には、判別
手段41によって判別された大小関係の下で件数が閾値
を下回るときに集合演算を省略する手段を含むことを特
徴とする。
【0014】請求項6に記載の発明は、請求項1ないし
請求項5に記載のデータベース検索方式において、集合
演算手段には、選択演算手段11によって行われた選択
演算の結果の内、論理和演算子の演算対象となる結果を
優先して集合演算の対象とする手段を含むことを特徴と
する。
【0015】
【作用】請求項1に記載の発明にかかわるデータベース
検索方式では、選択演算手段11は、論理演算子を介し
て連結された複数の条件式からなる検索条件が共通の検
索キーを有する複数の表について与えられると、これら
の条件式に基づく選択演算を個別に行う。累積手段13
は、これらの表を構成する個々の属性に格納された情報
の態様の頻度を求める。集合演算手段12は、上述した
選択演算の結果について、その結果を示す属性およびそ
の属性の値に対して累積手段13が求めた頻度を比較
し、その頻度が小さいものほど優先して集合演算を施
す。
【0016】すなわち、選択演算の結果として得られる
タプル(あるいは属性)の数が少ないものが優先的に集
合演算の対象となるので、その集合演算の手順の内、連
続した論理積演算子で連結された区間については、その
区間の結果として得られるタプル(あるいは属性)の数
が速やかに小さな値に収束して後続の論理積演算子の演
算対象の数が抑圧され、演算効率が高められる。
【0017】請求項2に記載の発明にかかわるデータベ
ース検索方式では、選択演算手段11は、論理演算子を
介して連結された複数の条件式からなる検索条件が共通
の検索キーを有する複数の表について与えられると、こ
れらの条件式に基づく選択演算を個別に行う。属性値態
様累積手段21は、これらの表を構成する個々の属性に
格納された情報の態様の数を求める。集合演算手段12
は、上述した選択演算の結果について、その結果を示す
属性およびその属性の値に対して属性値態様累積手段2
1が求めた数を比較し、その数が大きいものほど優先し
て集合演算を施す。
【0018】また、選択演算手段11が行う選択演算の
結果として得られるタプル(あるいは属性)について
は、一般に、上述した数が大きいものほど多くの態様に
分散して少ない頻度で存在すると見なし得る。すなわ
ち、このような頻度が少ないものが優先的に集合演算の
対象となるので、その集合演算の手順の内、連続した論
理積演算子で連結された区間については、その区間の結
果として得られるタプル(あるいは属性)の数が速やか
に小さな値に収束して後続の論理積演算子の演算対象の
数が抑圧され、演算効率が高められる。
【0019】請求項3に記載の発明にかかわるデータベ
ース検索方式では、選択演算手段11は、論理演算子を
介して連結された複数の条件式からなる検索条件が共通
の検索キーを有する複数の表について与えられると、こ
れらの条件式に基づく選択演算を個別に行う。空白率計
数手段31は、これらの表を構成する個々の属性につい
て、空の状態の割合を求める。集合演算手段12は、上
述した選択演算の結果について、その結果を示す属性お
よびその属性の値に対して空白率計数手段31が求めた
割合を比較し、その割合が大きいものほど優先して集合
演算を施す。
【0020】また、選択演算手段11が行う選択演算の
結果として得られるタプル(あるいは属性)について
は、一般に、上述した割合が大きいものほど少ないと見
なし得る。すなわち、このような少ないものが優先的に
集合演算の対象となるので、その集合演算の手順の内、
連続した論理積演算子で連結された区間については、そ
の区間の結果として得られるタプル(あるいは属性)の
数が速やかに小さな値に収束して後続の論理積演算子の
演算対象の数が抑圧され、演算効率が高められる。請求
項4に記載の発明にかかわるデータベース検索方式で
は、選択演算手段11は、論理演算子を介して連結され
た複数の条件式からなる検索条件が共通の検索キーを有
する複数の表について与えられると、これらの条件式に
基づく選択演算を個別に行う。判別手段41は、このよ
うな選択演算の結果の件数を計数し、その件数と予め決
められた閾値との大小関係を判別する。集合演算手段4
3は、このような判別の結果に基づいて上述した件数が
閾値を上回ったときには、その結果を示すタプルおよび
属性について複数の表を参照し、反対に下回ったときに
はこれらのタプルおよび属性の識別情報と上述した論理
演算子とに基づいて検索条件を示すデータベース操作指
令の列を生成すると共に、そのデータベース操作指令を
順次実行することによりこれらの表を検索する。
【0021】また、このようにして集合演算手段43が
行う2通りの検索手順における演算所要時間について
は、一般に、選択演算手段11が行う選択演算の結果の
件数に応じた内部処理の処理量と、複数工程に処理が分
割されたことに起因する処理量の増加分との均衡関係に
よって大小関係が左右され、上述した閾値はその大小関
係が逆転する件数に予め設定される。
【0022】すなわち、集合演算の演算対象の件数の大
小に適応した検索手順に基づいて確実に検索が行われる
ので、演算効率が高められる。請求項5に記載の発明に
かかわるデータベース検索方式では、判別手段41は選
択演算手段11が行う選択演算の結果の件数を計測して
閾値との大小関係を判別し、選択演算手段11は、その
大小関係の下で前者が後者を下回るときには、このよう
な選択演算を示す条件式に先行する論理演算子に基づい
て集合演算を並行して行う。また、集合演算手段は、同
様にして上述した件数が閾値を下回るときには、集合演
算を省略する。
【0023】また、選択演算と集合演算とが個別に行わ
れる場合と並行して順次行われる場合とにおける演算所
要時間については、一般に、前者では選択演算の結果を
集合演算のために再度参照することが必要となって長く
なるが、その参照の対象となる件数が多い場合には、こ
れらの結果が格納された記憶媒体のアクセスにブロック
転送方式を適用することが可能となって後者の演算所要
時間より短くなる。
【0024】したがって、このような演算所要時間が逆
転する件数の値に上述した閾値を設定することにより、
検索時間の短縮が可能となる。請求項6に記載の発明に
かかわるデータベース検索手段では、請求項1ないし請
求項5に記載のデータベース検索手段を構成する集合演
算手段は、検索条件に含まれる個々の条件式を連結する
論理演算子に論理和演算子が含まれる場合には、選択演
算手段11によって行われた選択演算の結果の内、その
論理和演算子の演算対象となる結果を優先して集合演算
を行う。
【0025】すなわち、集合演算の過程では、論理積演
算子による演算のように、検索結果の絞り込みを行う演
算に先行してその絞り込みの対象となる演算対象が先行
して確定するので、無用な演算の試行が排除されて演算
効率が高められる。
【0026】
【発明の実施の形態】以下、図面に基づいて本発明の実
施例について詳細に説明する。
【0027】図5は、請求項1〜3、5、6に記載の発
明に対応した実施例の動作フローチャート(1)であ
る。図6は、請求項1〜3、5に記載の発明に対応した
実施例の動作フローチャート(2)である。下記の各実
施例の特徴は、図15に示す処理装置131に代えて備
えられた処理装置61が実行するソフトウエアの処理手
順にある。
【0028】なお、本実施例と図1〜図3に示すブロッ
ク図との対応関係については、処理装置61は、選択演
算手段11、集合演算手段12、累積手段13、属性値
態様累積手段21、空白率計数手段31および判別手段
41に対応する。以下、図5、図6、図15〜図18を
参照して、請求項1および請求項3に記載の発明に対応
した実施例の動作を説明する。
【0029】処理装置61は、図7および図8に示すよ
うに表136A〜136Cに個別に含まれるフィールド
(フィールド名FNで示される。)毎に、格納されたデ
ータDとそのデータの態様毎の件数Nとをそれぞれ示す
フィールド値分布テーブル71と、その態様の数nと全
レコード数に対する空のフィールドの数の比率であるス
ペース率Sとを示すスペース率テーブル81とを有す
る。さらに、処理装置61は、図9に示すように、全て
の表136A〜136Cとこれらの表に含まれる全てのフ
ィールドについて後述する優先度Pを示す優先度テーブ
ル91を有する。
【0030】なお、フィールド値分布テーブル71、ス
ペース率テーブル81および優先度テーブル91につい
ては、処理装置61の主記憶に限らず、例えば、外部記
憶132その他、如何なる記憶装置に格納されてもよ
い。
【0031】処理装置61は、表136A〜136Cに更
新処理が施されると、その更新処理の対象となった表と
フィールドの更新前および更新後の値とに基づいてフィ
ールド値分布テーブル71を参照し、その更新前の値に
対応した件数をデクリメントすると共に更新後の値に対
応した件数をインクリメントする(図5)。さらに、
処理装置61は、このような更新処理の過程で該当する
フィールドに何らかの情報が書き込まれあるいは新たに
空の状態となった場合には、スペース率テーブル81の
該当するスペース率Sおよび数nとを適宜更新する(図
5)。また、処理装置61は、スペース率テーブル8
1に示される数nが小さくかつスペース率Sが大きい順
にフィールド名FNをソーティングし(図5)、これ
らのフィールド名の全てに共通の連続番号からなる優先
度をフィールド単位に付与して優先度テーブル91に登
録する(図5)。
【0032】処理装置61は、フロッピーディスクドラ
イブ1351 に予め格納されたファイルあるいはキーボ
ード134を介して入力される文字列として、表136
A 〜136C の検索条件が与えられると、その検索条件
を図示されないレジスタに一旦格納して予め決められた
構文規約に基づいて解析し、検索の対象となる表および
その表のフィールドに基づいて優先度テーブル91を参
照する。
【0033】また、処理装置61は、図10に示すよう
に、上述した検索条件の内、個々の表とフィールドとの
組み合わせに対応した部分(以下、「検索指示」とい
う。)と、その組み合わせに含まれるフィールドの優先
度とに割り付けられた記憶領域からなる検索制御テーブ
ル101を有する。さらに、処理装置61は、このよう
な検索指示と、その検索指示に含まれるフィールドにつ
いて優先度テーブル91に設定されている優先度とを順
次取得し、その優先度の順にソーティングしながら検索
制御テーブル101に格納する(図6(1))。
【0034】なお、上述した検索条件については、従来
例と同様にして、「表136A の第一フィールドf1A
値が「1」であり、かつ表136B の第三フィールドf
3Bの値が「2」であって表136C の第一フィールドf
1Cの値とが共に「2」であるレコードを検索し、かつそ
のレコードに含まれるフィールドの内、f1A、f3Bおよ
びf1Cを抽出して出力データベースとする」ことを要求
するものとする。ただし、以下では、これらの検索条件
によって表136A〜136Cに個別になされるべき選択
演算を示す検索指示については、それぞれ検索指示A,
B,Cと表記することとする。
【0035】また、処理装置61は、図11に示すよう
に、表136A〜136C毎に割り付けられた記憶領域か
らなる出力指示テーブル111を有し、上述した検索条
件に含まれる出力指示A,B,Cを抽出してその出力指
示テーブルに格納する(図6(2))。さらに、処理装置6
1は、検索条件に含まれる全ての検索指示について、異
なる表に含まれるフィールドの間の論理和演算を要求す
る論理演算子が含まれているか否かを判別し(図6
(3))、含まれる場合には集合演算としてその論理和をと
る検索処理を起動する。
【0036】しかし、反対に含まれない場合には、処理
装置61は、検索制御テーブル101に優先度の順に格
納された検索指示A,B,Cをその優先度の順に実行し
(図6(4))、これらの検索指示との対応をとりつつ図1
2に示す検索レコード番号テーブル121に、その実行
によって得られたレコードの番号(共通キーを示す。)
を順次格納する(図6(5))。
【0037】処理装置61は、検索レコード番号テーブ
ル121に格納されたレコードの番号の内、全ての表に
ついて共通に含まれるもののみを抽出し、これらのレコ
ードの番号とこれに対応した検索条件に含まれる出力指
示とを対応付けてその検索レコード番号テーブルに格納
する(以下では、このような処理を単に「間接処理」と
いう。)(図6(6))。
【0038】さらに、処理装置61は、このような間接
処理を完結すると、その処理に基づいて得られたレコー
ドの番号に基づいて出力指示あるいはその出力指示で示
されるフィールドの内容を結合し(図6(7))、その結果
得られたデータベースを出力データベースとして外部記
憶132に出力したり、表示装置133に所定の帳票形
式で出力する(図6(8))。
【0039】このように本実施例によれば、検索条件に
含まれる複数の検索指示は、その検索指示に基づく選択
処理の対象となるフィールドの内容の頻度の小さいもの
を優先して実行され、かつその実行の結果が複数の表の
共通キーであるレコードの番号と出力指示として一旦求
められた後に、結合がはかられる。したがって、検索条
件の如何にかかわらず全ての表が一旦結合された後に検
索処理が施されていた従来例に比べて、処理の対象とな
るレコードの数が小さな値に抑えられて急速に収束する
ので処理効率が高められ、かつその検索処理の結果が検
索指示に適応したフィールドの内容ではなく該当するレ
コードの番号等として得られるので、情報量が大幅に低
減されて資源の利用効率と信頼性とが高められる。
【0040】なお、本実施例では、フィールドの内容の
分布に基づいて上述した頻度が少ないフィールドにかか
わる検索指示が優先的に実行されているが、本発明はこ
のような構成に限定されず、例えば、フィールド毎の更
新に際して適宜そのフィールドの内容がとり得る態様の
数を積算し、その数が大きいフィールドほど頻度が少な
いものとして扱うことにより、処理を簡略化しつつ処理
効率が高められる。
【0041】以下、図5〜図12、図15〜図18を参
照して、請求項2に記載の発明に対応した実施例の動作
を説明する。本実施例と既述の実施例との相違点は、検
索制御テーブル101の内容について施される以下の処
理にある。処理装置61は、表136A〜136Cに何ら
かの更新処理がなされると、請求項1および請求項3に
記載の発明に対応した実施例と同様にして、フィールド
値分布テーブル71、スペース率テーブル81および優
先度テーブル91を更新する(図5〜)。
【0042】また、処理装置61は、何らかの検索条件
が与えられて検索制御テーブル101の内容を設定する
(図6(1))と、その検索条件が論理積演算子のみによっ
て連結された複数の検索指示で構成されるか否かを判別
し、その判別の結果が「偽」である場合には請求項1お
よび請求項3に記載の発明に対応した実施例と同様の検
索処理(図6(2)〜(8))を行う。
【0043】しかし、その判別の結果が反対に「真」で
ある場合には、処理装置61は、上述した検索処理の開
始に先行して、以下の処理を行う。処理装置61は、検
索制御テーブル101に優先度順に格納された個々の検
索指示A,B,Cの対象となる表およびフィールドを求
め、かつこれらの表およびフィールドについてスペース
率テーブル81に格納されているデータの態様の数nを
順次求める(図6(a))。
【0044】さらに、処理装置61は、検索制御テーブ
ル101に格納されている検索指示を個々の検索対象と
なるフィールドについて求められた数nが大きい順に並
び換えた(図6(b))後に、請求項1および請求項3に記
載の発明に対応した実施例と同様の検索処理(図6(2)
〜(8))を行う。このような数nが大きい場合には該当す
るフィールドの内容が多くの態様をとるために、検索指
示に適応したレコードの数は、その数nが小さい場合に
比べて少ない可能性が高い。
【0045】すなわち、本実施例によれば、検索処理の
過程で検索指示毎に得られるレコードの数は少ないもの
が優先して順に得られるので、これらの検索指示毎の処
理が完了した後に行われる結合の処理(図6(7))は、そ
の検索指示に含まれるフィールドの内容の組み合わせが
大きい順に優先されて効率的に進められる。
【0046】なお、上述した各実施例では、検索条件に
含まれる全ての検索指示が論理積演算子のみによって連
結されているが、本発明は、このような検索条件に限定
されず、例えば、論理和演算子を含んだり、その他の論
理演算子を含んで構成されたいかなる検索条件について
も適用可能である。また、上述した各実施例では、検索
条件には個々の表について単一の検索指示のみが含まれ
ているが、本発明はこのような検索条件に限定されず、
各表について任意の論理演算子を介して連結された複数
の検索指示が含まれたり、特定の表について何ら検索指
示が含まれない場合にも同様にして適用可能である。
【0047】以下、図6〜図12、図15〜図18を参
照して請求項4に記載の発明に対応した実施例の動作を
説明する。なお、本実施例と図4に示すブロック図との
対応関係については、処理装置61は、選択演算手段1
1、判別手段41および集合演算手段43に対応する。
検索処理を行うためにデータベース管理システムに与え
られ、かつ所定のデータベース操作言語の規約に適合し
たコマンドの形式には、一般に、検索レコード番号テー
ブル121に格納されたレコード番号を指定して表13
A〜136Cを参照する第一の形式と、そのレコード番
号で示されるレコードの内容が組み込まれた第二の形式
とがある。
【0048】ところで、このような第一の形式が適用さ
れた検索処理(既述の「間接処理」と同じである。)で
は、単一のコマンドに基づいて検索結果が得られる。ま
た、第二の形式が適用された検索処理(以下、「直接処
理」という。)では、コマンドは、長くなるためにその
語長の上限の下で複数の検索コマンドの列に分割され、
かつ検索の処理も個々のコマンドの単位に段階的に行わ
れる。
【0049】しかし、間接処理の過程では、処理装置6
1は検索データを得るために内部処理として検索を行う
ために、検索の対象となるレコードの数が少ない場合に
は、直接処理に比べて処理時間は長くなるが、これらの
処理の所要時間の大小関係が逆転するレコードの数(以
下、単に「閾値」といい、Xで示す。)については、例
えば、図13に一点鎖線と実践とで示すように、シミュ
レーションその他の方法で予め求めることは可能であ
る。
【0050】一方、処理装置61は、何らかの検索条件
が与えられると、上述した請求項1ないし請求項3に記
載の発明に対応した実施例と同様にして全ての検索指示
に適応した処理(図6(1)〜(5))を行い、かつその処理の
過程では並行して検索レコードの総数を計数する。さら
に、処理装置61は、このようにして計数されたレコー
ドの総数と、上述した閾値Xとの大小関係を判別し、前
者が後者より大きい場合には間接処理を行い(図6
(6))、反対に小さい場合には上述した直接処理を行った
(図6(c))後に、再び従来例と同様の処理(図6(7)、
(8)) を続行する。
【0051】このように本実施例によれば、検索結果の
件数に適応した処理手順が確実に選択されて適用される
ので、処理効率が高められる。図14は、請求項5に記
載の発明に対応した実施例の動作フローチャートであ
る。以下、図6〜図13、図15〜図18を参照して請
求項5に記載の発明に対応した実施例の動作を説明す
る。
【0052】本実施例の特徴は、検索指示に適応したレ
コードを各表から抽出する下記の処理の手順にある。処
理装置61は、図6(1)、(2)に示す手順に基づいて検索
制御テーブル101および出力指示テーブル111の内
容を確定すると、図6(4)、(5)に示す手順に基づいて優
先度の順に検索指示を反復して実行し、かつその実施に
よって得られたレコード番号を順次検索レコード番号テ
ーブル121に格納する。
【0053】さらに、処理装置61は、このような反復
の過程では、個々の検索指示の処理を完結する度に、検
索レコード番号テーブル121に格納されたレコード番
号の数を計数する。
【0054】ところで、このようにして検索指示に基づ
く検索処理を行う手順には、既述の実施例と同様にして
単に個々の検索指示に適応したレコードを検索する第一
の手順と、先行して得られたレコードの内、後続する検
索指示に適応したレコードと重複するレコードのレコー
ド番号を順次求める第二の手順とがある。これらの手順
に基づく処理の演算所要時間については、一般に、第一
の手順では得られた検索結果に対して一括して集合演算
が施されるために、これらの検索結果を再度参照するこ
とが必要となって第二の手順に比べて長くなる。しか
し、その検索結果の件数が多い場合には、これらの結果
が格納された記憶媒体のアクセスにブロック転送方式が
適用可能となるために、第一の手順の演算所要時間は第
二の手順の演算所要時間より短くなる。
【0055】第一の手順と第二の手順との間でこのよう
な演算所要時間の大小関係が反転するレコードの数(以
下、単に「閾値」といい、Yで示す。)は、予めシミュ
レーションその他の方法で求められて処理装置61に与
えられる。処理装置61は、上述したように計数された
レコードの数と閾値Yとを比較して前者が後者を下回る
場合には、図14に示すように、先行して得られたレコ
ード番号の内、新たに得られたレコード番号と重複する
ものを求め、かつ検索レコード番号テーブル121の特
定の領域(ここでは、簡単のため、先頭に割り付けられ
た所定のサイズの領域とする。)に重ね書きして格納す
る。
【0056】しかし、反対に上回る場合には、請求項1
ないし請求項3に記載の発明に対応した実施例と同様に
して図6(5) に示す処理(第一の手順による。)を行
い、かつ得られたレコード番号については、検索レコー
ド番号テーブル121の領域の内、上述した特定の領域
と異なる領域(ここでは、簡単のため、その特定の領域
に隣接する領域とする。)に格納する。
【0057】さらに、処理装置61は、このようにして
検索レコード番号テーブル121に対する書き込みが完
了すると、全ての検索指示について同様の処理を反復
し、かつ請求項1ないし請求項4に記載の発明に対応し
た実施例と同様にして間接処理あるいは直接処理を行っ
た(図6(6)、(C))後に、結合処理を行う(図6(7)、
(8))。
【0058】このように本実施例によれば、検索指示に
基づいて得られる検索結果の件数に適応した処理手順が
確実に選択されて適用されるので、処理効率が高められ
る。以下、図6〜図13、図15〜図18を参照して請
求項6に記載の発明に対応した実施例の動作を説明す
る。本実施例の特徴は、検索条件に含まれる複数の検索
指示を連結する論理演算子に基づく集合演算の手順にあ
る。
【0059】処理装置61は、図6(7) に示す結合処理
の過程では、検索条件に含まれる各条件式を連結する論
理演算子に論理和演算子が含まれるか否かを判別し、含
まれる場合には、検索レコード番号テーブル121に格
納されたレコード番号の集合の内、その論理和演算子の
演算対象となるものを優先して集合演算を行う。すなわ
ち、集合演算の過程では、論理積演算のような検索結果
の絞り込みを行う演算に先行して、その絞り込みの対象
となる演算対象が先行して確定するので、その演算対象
以外に対する無用な演算が排除されて演算効率が高めら
れる。
【0060】なお、上述した各実施例では、データベー
ス操作言語を生成してデータベース管理システムに与え
ることにより、検索処理が行われているが、本発明は、
このような構成のデータベースシステムに限定されず、
共通のキーを有する複数の表からなるデータベースに対
して行われる処理の一形態としても適用可能であり、そ
の場合には、優先度に基づく処理の起動については、単
一の処理装置内に形成されたタスク間通信やプロセス間
通信を介して行ったり、機能分散あるいは負荷分散がは
かられた複数の処理装置が適用されたデータベースにお
いては、物理的にこれらの処理装置の間に形成された通
信リンクを介して行ってもよい。
【0061】また、上述した各実施例では、集合演算の
手順を示す演算子には論理積演算子および論理和演算子
のみが含まれているが、本発明は、このような演算子に
限らず、論理積演算子や論理和演算子に併せて、例え
ば、「差」をとることを示す演算子が含まれた検索条件
についても同様にして適用可能である。さらに、上述し
た各実施例では、結合処理が行われているが、本発明
は、このような結合処理が行われる場合に限定されず、
例えば、検索指示に基づいて得られたレコード番号に基
づいて所望のフィールドの内容が確実に参照可能である
ならば、これらのレコード番号を検索結果とし、かつそ
の結合処理を保留したり行わなくてもよい。
【0062】
【発明の効果】上述したように請求項1ないし請求項3
に記載の発明では、選択演算の結果として得られるタプ
ル(あるいは属性)の数が少ないものあるいは少ないと
見なし得るものが優先して集合演算の対象となるので、
その集合演算の手順の内、連続した論理積演算子で連結
された区間については、その区間の結果として得られる
タプル(あるいは属性)の数が小さな値に抑えられて速
やかに収束し、後続の論理積演算子の演算対象が抑圧さ
れて演算効率が高められる。
【0063】請求項4および請求項5に記載の発明で
は、集合演算の演算対象の件数の大小に適応した演算手
順に基づいて確実に検索が行われ、同様にして演算効率
が高められる。請求項6に記載の発明では、集合演算の
過程で論理積演算子による演算のような検索結果の絞り
込みを行う演算に先行して、その絞り込みの対象となる
演算対象が先行して確定するので、無用な演算の試行が
排除されて演算効率が高められる。
【0064】したがって、これらの発明が適用されたデ
ータベースシステムでは、資源の有効利用と信頼性とを
維持しつつ応答性が高められ、運用効率の向上とランニ
ングコストの低減とがはかられる。
【図面の簡単な説明】
【図1】請求項1、5、6に記載の発明の原理ブロック
図である。
【図2】請求項2、5、6に記載の発明の原理ブロック
図である。
【図3】請求項3、5、6に記載の発明の原理ブロック
図である。
【図4】請求項4〜6に記載の発明の原理ブロック図で
ある。
【図5】請求項1〜3、5、6に記載の発明に対応した
実施例の動作フローチャート(1)である。
【図6】請求項1〜3、5、6に記載の発明に対応した
実施例の動作フローチャート(2)である。
【図7】フィールド値分布テーブルの構成を示す図であ
る。
【図8】スペース率テーブルの構成を示す図である。
【図9】優先度テーブルの構成を示す図である。
【図10】検索制御テーブルの構成を示す図である。
【図11】出力指示テーブルの構成を示す図である。
【図12】検索レコード番号テーブルの構成を示す図で
ある。
【図13】検索された件数と検索所要時間との関係を示
す図である。
【図14】請求項5に記載の発明に対応した実施例の動
作フローチャートである。
【図15】従来のデータベース検索方式の構成例を示す
図である。
【図16】第一の表の構成を示す図である。
【図17】第二の表の構成を示す図である。
【図18】第三の表の構成を示す図である。
【符号の説明】
11 選択演算手段 12 集合演算手段 13 累積手段 21 属性値態様累積手段 31 空白率計数手段 41 判別手段 61,131 処理装置 71 フィールド値分布テーブル 81 スペース率テーブル 91 優先度テーブル 101 検索制御テーブル 111 出力指示テーブル 121 検索レコード番号テーブル 132 外部記憶 133 表示装置 134 キーボード 135 フロッピーディスクドライブ 136 表

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 共通の検索キーを有する複数の表につい
    て、論理演算子を介して連結された複数の条件式からな
    る検索条件が与えられ、これらの条件式に基づく選択演
    算を個別に行う選択演算手段と、 前記選択演算手段によって行われた選択演算の結果に前
    記論理演算子に基づく集合演算を施し、前記検索条件に
    基づく前記複数の表の検索を行う集合演算手段とを備え
    たデータベース検索方式において、 前記複数の表を構成する個々の属性について、格納され
    た情報の態様の頻度を求める累積手段を備え、 前記集合演算手段には、 前記選択演算手段によって行われた選択演算の結果につ
    いて、その結果を示す属性とその属性の値とに対して前
    記累積手段13が求めた頻度が小さい順に前記集合演算
    の順序を優先する手段を含むことを特徴とするデータベ
    ース検索方式。
  2. 【請求項2】 共通の検索キーを有する複数の表につい
    て、論理演算子を介して連結された複数の条件式からな
    る検索条件が与えられ、これらの条件式に基づく選択演
    算を個別に行う選択演算手段と、 前記選択演算手段によって行われた選択演算の結果に前
    記論理演算子に基づく集合演算を施し、前記検索条件に
    基づく前記複数の表の検索を行う集合演算手段とを備え
    たデータベース検索方式において、 前記複数の表を構成する個々の属性について、格納され
    た情報の態様の数を求める属性値態様累積手段を備え、 前記集合演算手段には、 前記選択演算手段によって行われた選択演算の結果につ
    いて、その結果を示す属性に対して前記属性値態様累積
    手段が求めた数が大きい順に前記集合演算の順序を優先
    する手段を含むことを特徴とするデータベース検索方
    式。
  3. 【請求項3】 共通の検索キーを有する複数の表につい
    て、論理演算子を介して連結された複数の条件式からな
    る検索条件が与えられ、これらの条件式に基づく選択演
    算を個別に行う選択演算手段と、 前記選択演算手段によって行われた選択演算の結果に前
    記論理演算子に基づく集合演算を施し、前記検索条件に
    基づく前記複数の表の検索を行う集合演算手段とを備え
    たデータベース検索方式において、 前記複数の表を構成する個々の属性について、空の状態
    の割合を求める空白率計数手段を備え、 集合演算手段には、 前記選択演算手段によって行われた選択演算の結果につ
    いて、その結果を示す属性に対して前記空白率計数手段
    によって求められた割合が大きい順に前記集合演算の順
    序を優先する手段を含むことを特徴とするデータベース
    検索方式。
  4. 【請求項4】 共通の検索キーを有する複数の表につい
    て、論理演算子を介して連結された複数の条件式からな
    る検索条件が与えられ、これらの条件式に基づく選択演
    算を個別に行う選択演算手段と、 前記選択演算手段が行う選択演算の結果の件数を計数
    し、これらの結果に施すべき集合演算の手順に適応した
    閾値との大小関係を判別する判別手段と、 前記判別手段によって判別された大小関係の下で前記件
    数が前記閾値を上回るときに、前記結果を示すタプルの
    属性の識別情報で前記検索条件を示すデータベース操作
    指令を生成し、下回るときにこれらのタプルの属性の値
    と前記論理演算子とに基づいてその検索条件を示すデー
    タベース操作指令の列を生成し、これらのデータベース
    操作指令をその複数のデータベース管理システムに与え
    る集合演算手段とを備えたことを特徴とするデータベー
    ス検索方式。
  5. 【請求項5】 請求項1ないし請求項4に記載のデータ
    ベース検索方式において、 選択演算手段が行う選択演算の結果の件数を計数し、こ
    れらの結果に施すべき集合演算の手順に適応した閾値と
    の大小関係を判別する判別手段を備え、 前記選択演算手段には、 前記判別手段によって判別された大小関係の下で前記件
    数が前記閾値を下回るときに、前記選択演算に併せて、
    その選択演算を示す条件式に先行する論理演算子に基づ
    く集合演算を行う手段を含み、 集合演算手段には、 前記判別手段によって判別された大小関係の下で前記件
    数が前記閾値を下回るときに集合演算を省略する手段を
    含むことを特徴とするデータベース検索方式。
  6. 【請求項6】 請求項1ないし請求項5に記載のデータ
    ベース検索方式において、 集合演算手段には、 選択演算手段によって行われた選択演算の結果の内、論
    理和演算子の演算対象となる結果を優先して集合演算の
    対象とする手段を含むことを特徴とするデータベース検
    索手段。
JP7176078A 1995-07-12 1995-07-12 データベース検索方式 Withdrawn JPH0926967A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7176078A JPH0926967A (ja) 1995-07-12 1995-07-12 データベース検索方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7176078A JPH0926967A (ja) 1995-07-12 1995-07-12 データベース検索方式

Publications (1)

Publication Number Publication Date
JPH0926967A true JPH0926967A (ja) 1997-01-28

Family

ID=16007341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7176078A Withdrawn JPH0926967A (ja) 1995-07-12 1995-07-12 データベース検索方式

Country Status (1)

Country Link
JP (1) JPH0926967A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123601A (ja) * 2009-12-09 2011-06-23 Nec Corp イベント一致判定装置、イベント一致判定方法、および、イベント一致判定プログラム
JP2012053619A (ja) * 2010-08-31 2012-03-15 Fujitsu Ltd 情報検索装置、情報検索プログラム、及び情報検索方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123601A (ja) * 2009-12-09 2011-06-23 Nec Corp イベント一致判定装置、イベント一致判定方法、および、イベント一致判定プログラム
JP2012053619A (ja) * 2010-08-31 2012-03-15 Fujitsu Ltd 情報検索装置、情報検索プログラム、及び情報検索方法

Similar Documents

Publication Publication Date Title
KR101137147B1 (ko) 질의 강제 인덱싱
US5987453A (en) Method and apparatus for performing a join query in a database system
US6081805A (en) Pass-through architecture via hash techniques to remove duplicate query results
US5884320A (en) Method and system for performing proximity joins on high-dimensional data points in parallel
US7092954B1 (en) Optimizing an equi-join operation using a bitmap index structure
US8135703B2 (en) Multi-partition query governor in a computer database system
US7610263B2 (en) Reusing intermediate workflow results in successive workflow runs
JPH11120203A (ja) データベースを合併する方法およびデータベースからドキュメントを検索する装置
JP2001014329A (ja) データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体
JPH09293006A (ja) 並列データベースの分割方法及びその管理システム
CN107209768A (zh) 用于数据集的可扩展排序的方法和设备
JPWO2003034279A1 (ja) 情報検索方法、情報検索プログラム、情報検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH07152771A (ja) 利用者情報管理装置、情報フィルタ、情報分類装置、情報再生装置、情報検索装置及び仮名漢字変換装置
Malhotra et al. An ingenious pattern matching approach to ameliorate web page rank
JP2008165622A (ja) マルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
JPH0926967A (ja) データベース検索方式
JPH09305622A (ja) 文書検索機能を有するデータベース管理方法およびシステム
JPH0773187A (ja) 検索システム
JPH09305611A (ja) データベースの検索装置
JP2639804B2 (ja) データベース検索装置
JP2000250921A (ja) データベースの管理方法およびシステム
JP7495269B2 (ja) データ管理システムおよびデータ管理方法
JPH113354A (ja) データキューブ制御方式
Welch et al. Retrieval using ordered lists in inverted and multilist files
JPH05313971A (ja) リレーショナル・データベースにおけるキーワード管理方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021001