JPH0240772A - インデックス生成方式 - Google Patents

インデックス生成方式

Info

Publication number
JPH0240772A
JPH0240772A JP63190810A JP19081088A JPH0240772A JP H0240772 A JPH0240772 A JP H0240772A JP 63190810 A JP63190810 A JP 63190810A JP 19081088 A JP19081088 A JP 19081088A JP H0240772 A JPH0240772 A JP H0240772A
Authority
JP
Japan
Prior art keywords
field
record
data
data record
conversion
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
JP63190810A
Other languages
English (en)
Inventor
Toshiro Nakajima
利朗 中島
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63190810A priority Critical patent/JPH0240772A/ja
Publication of JPH0240772A publication Critical patent/JPH0240772A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明は、データ管理システムにおいてデ、−タレコー
ドを構成する複数のフィールドに対してインデックスを
生成するインデックス生成方式に関するものである。
〔従来の技術〕
比較的規模の大きなデータ管理システムにおいては、デ
ータレコードの検索を高速化するために、データレコー
ドを構成する複数のフィールドに対するそれぞれのイン
デックスを予め生成して格納しておき、そのインデック
スを用いて検索を行うようにしたものが一般的となって
いる。
この種のデータ管理システムにおける従来のインデック
ス生成方式としては、データレコードを読み込み、その
データレコードを構成する複数のフィールドの中からイ
ンデックスを作成しようとする単一のフィールドを取り
出し、そのフィールドの値に該データレコードのアドレ
スを付加した中間レコード(第2のレコード)を生成し
て中間ファイルに出力し、対象とするデータレコードの
全てに対してこれらの処理を行い、その後、中間レコー
ドをフィールドの値をキー値としてソートすることによ
り、単一のフィールドに対するインデックスを生成して
いた。そして、データレコードを構成する他のフィール
ドに対してもインデックスを生成する場合には、上記の
処理をそれぞれのフィールドについて繰り返すものであ
った。
〔発明が解決しようとする課題〕
上述したように、従来のインデックス生成方式では、デ
ータレコードを構成する複数のフィールドに対するイン
デックスの生成において、フィールド毎に中間レコード
を生成してソートを行っていたため、一連のデータレコ
ードに対する処理がインデックスを作成しようとするフ
ィールドの個数分だけ必要となり、 ■一連のデータレコードに対する読み込み要求がインデ
ックスを作成しようとするフィールドの個数分だけ発生
し、処理速度の低下を招く。
■ソート手段を起動する回数がインデックスを作成しよ
うとするフィールドの個数分だけ発生し、ソート手段起
動のためのオーバーヘッドにより処理速度の低下を招く
等の欠点があった。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、データレコードの読み込み要求の回
数を削減すると共に、ソート手段の起動によるオーバー
ヘッドを減少させ、処理速度の高速化を図ることのでき
るインデックス生成方式を提供することにある。
〔課題を解決するための手段〕
本発明は上記の目的を達成するため、データレコードを
読み込み、複数のフィールドの値を取り出し、それぞれ
のフィールドの属性に従いストリングデータとして大小
比較が行える変換キー値に変換し、該変換キー値と該デ
ータレコードのアドレスと該フィールドを識別するフィ
ールド識別子とから構成される中間レコードを中間ファ
イルに出力するレコード入力手段と、 前記中間ファイル上の中間レコードに対し、フィールド
識別子を第1ソートキー、変換キー値を第2ソートキー
としてソートするソート手段と、ソートされた中間レコ
ードを入力し、前記レコード入力手段における変換の逆
変換を行ってフィールドの値を取り出し、フィールド識
別子の値に従って個々のフィールドに対するインデック
スを生成するインデックス生成手段とを備えるようにし
ている。
〔作用〕
本発明のインデックス生成方式にあっては、レコード入
力手段がデータレコードを読み込み、複数のフィールド
の値を取り出し、それぞれのフィールドの属性に従いス
トリングデータとして大小比較が行える変換キー値に変
換し、該変換キー値と該データレコードのアドレスと3
亥フイールドを識別するフィールド識別子とから構成さ
れる中間レコードを中間ファイルに出力し、 ソート手段が前記中間ファイル上の中間レコードに対し
、フィールド識別子を第1ソートキー変換キー値を第2
ソートキーとしてソートし、インデックス生成手段がソ
ートされた中間レコードを入力し、前記レコード入力手
段における変換の逆変換を行ってフィールドの値を取り
出し、フィールド識別子の値に従って個々のフィールド
に対するインデックスを生成する。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明のインデックス生成方式の一実施例を示
す構成図である。第1図において、lはデータレコード
の格納されたレコードファイル、2はレコードファイル
1からデータレコードを読み込んで中間レコードを生成
するレコード入力手段、3はレコード入力手段2で生成
された中間レコードを格納する中間ファイル、4は中間
ファイル3に格納された中間レコードをソートするソー
ト手段、5は中間ファイル3上のソートされた中間レコ
ードからフィールド毎のインデックスを生成するインデ
ックス生成手段、6はインデックス生成手段5で生成さ
れたインデックスを格納するインデックスファイルであ
る。
更に詳述すると、レコード入力手段2はレコードファイ
ルlから例えば第2図に示すようなデータレコードRを
読み込み、データレコードRを構成する複数のフィール
ドF1.F2.F3の値を取り出し、それぞれのフィー
ルドの属性に従いストリングデータとして大小比較が行
える変換キー値に変換(キー値変換)し、該変換キー値
と該データレコードRのアドレスと該フィールドを識別
するフィールド識別子とから構成される中間レコードR
°を生成し、中間ファイル3に出力する機能を有してい
る。なお、レコード入力手段2における処理のフローチ
ャートを第3図に示す。
第3図において、レコード入力手段2は、先ず、データ
レコードの各フィールドの定義から全てのフィールドの
中での最大の長さを算出しくステップ201)、次いで
データレコードを入力しくステップ202)、データレ
コードの終了の判定を行い(ステップ203)、終了で
あれば処理を終了しくステップ208)、終了でなけれ
ば入力したデータレコード中から順にフィールド値を取
り出しくステップ204)、フィールドの終了の判定を
行う(ステップ205)、ここで、終了と判定されれば
ステップ202に戻り、終了でなければ取り出したフィ
ールド値をフィールドの属性に従ってストリングデータ
として大小比較ができるようにステップ201で算出し
た最大の長さに適合する変換キー値に変換しくステップ
206)、ステップ206で変換された変換キー値の前
後にフィールド識別子とデータレコードのアドレスとを
付加して中間レコードを生成し、中間ファイル3に出力
しくステップ207>、ステップ204に戻って同様の
動作を繰り返す。
第4図ないし第7図は上記のレコード入力手段2のフィ
ールドの値から変換キー値への変換の具体的手法を示し
たものであり、第4図はストリングデータフィールドに
対するキー値変換、第5図は符号付き10進データフイ
ールドに対するキー値変換、第6図は固定小数点2進デ
ータフイールドに対するキー値変換、第7図は浮動小数
点2進データフイールドに対するキー値変換である。す
なわち、本実施例ではフィールドのデータ属性として、
ストリング比較がそのまま可能な英数字・漢字・符号無
し10進数のストリングデータと、符号付き10進数の
符号付き10進データと、固定小数点2進数の固定小数
点2進データと、浮動小数点2進数の浮動小数点2進デ
ータとの計4種類を許しており、よって、それぞれに対
応してレコード人力手段2のキー値変換の処理にも第4
図〜第7図のように4種類が存在する。なお、いずれの
キー値変換も長さの同じストリングデータとして大小関
係を比較できるような変換キー値に変換することを目的
としている。
しかして、第4図のストリングデータフィールド用のキ
ー値変換では、最大の長さに合わせて後ろにゼロを付加
する(ステップ211)ことにより、長さの揃った変換
キー値を得ている。なお、Fはフィールドの値の例、F
o は変換キー値の例である。
第5図の符号付きlO進データフィールド用のキー値変
換では、小数点位置を右端とみなして数値桁分の最大値
(999・・・9)を10進加算して正の符号無しlO
道データに変換しくステップ221)、最大の長さに合
わせて後ろにゼロを付加する(ステップ222)、これ
によって大小関係を維持したストリングデータを得てい
る。
第6図の固定小数点2進データフイールド用のキー値変
換では、2の補数形式で表された2進データの符号ビッ
トであるビット0を反転して正の符号無し2進データと
しくステップ231)、最大の長さに合わせて後ろにゼ
ロを付加する(ステップ232)、これにより、大小関
係を維持したストリングデータを得ている。
第7図の浮動小数点2進データフイールド用のキー値変
換では、正規化を行い(ステップ241)、指数部・仮
数部のそれぞれについて2の補数形式で表された2進デ
ータの符号ビットであるビット0を反転し、正の符号無
し2進データとしくステップ242)、仮数部のビット
0.指数部、仮数部のビット1以降の順に詰め替え(ス
テップ243)、最大の長さに合わせて後ろにゼロを付
加する(ステップ244)、これによって大小関係を維
持したストリングデータを得ている。
次いで、第1図において、ソート手段4は上述のように
して中間ファイル3に格納された中間レコード(Ro)
に対し、フィールド識別子を第1ソートキー、変換キー
値を第2ソートキーとしてソートする。すなわち、フィ
ールド識別子を第1ソートキーとしてソートすることに
より中間レコードはフィールドの同じもの同士がまとま
った配列となり、変換キー値を第2ソートキーとしてソ
ートすることにより、各フィールド毎のまとまりの中で
データ属性の大小関係に従った配列となる。
次いで、インデックス生成手段5はソートされた中間レ
コードを中間ファイル3から入力し、レコード入力手段
2における変換の逆変換を行ってフィールドの値を取り
出し、フィールド識別子の値に従って個々のフィールド
に対するインデックスを生成する。なお、インデックス
生成手段5における処理のフローチャートを第8図に示
す。
第8図において、インデックス生成手段5は中間ファイ
ル3からソートされた中間レコードR゛を入力しくステ
ップ501)、フィールド識別子に対応するフィールド
のインデックスをオープン(開設)する(ステップ50
2)、次に、変換キー値を元のフィールドの値に逆変換
しくステップ503)、逆変換されたフィールドの値と
データレコードのアドレスとから構成されるインデック
スレコードをオーブンしたインデックスに記憶する(ス
テップ504)、次いで、再び中間ファイル3からソー
トされた中間レコードR゛を入力しくステップ505)
、レコードの終了判定を行う(ステップ506)、ここ
で終了と判定されれば処理を終了しくステップ508)
、判定されなければフィールド識別子が変わったかどう
かを判定しくステップ507)、変わっていればステッ
プ502に移行し、変わっていなければステップ503
に移行して同様の動作を繰り返す。
〔発明の効果〕
以上説明したように、本発明のインデックス生成方式に
あっては、対象となるデータレコード中の属性の異なる
フィールドを同じ長さのストリングデータに一律に変換
し、−括してソートを行ってフィールド毎のインデック
スを生成するため、■一連のデータレコードに対する読
み込み要求が1回で済むため、読み込み処理に要する時
間が短縮され、処理速度が向上する。
■ソート手段を起動する回数も一連のデータレコードに
対して1回で済むため、ソート手段起動のためのオーバ
ーヘッドが大幅に削減でき、処理速度が向上する。
等の効果がある。
【図面の簡単な説明】
第1図は本発明のインデックス生成方式の一実施例を示
す構成図、 第2図は中間レコードの説明図、 第3図はレコード入力手段の処理例を示すフローチャー
ト、 第4図ないし第7図はレコード入力手段におけるキー値
変換の処理例を示すフローチャートおよび、 第8図はインデックス生成手段の処理例を示すフローチ
ャートである。 図において、1・・・レコードファイル、2・・・レコ
ード入力手段、3・・・中間ファイル、4・・・ソート
手段、5・・・インデックス生成手段、6・・・インデ
ックスファイル、R・・・データレコード、Ro・・・
中間レコード、Fl、F2.F3・・・フィールド、F
・・・フィールドの値、Fo・・・変換キー値。

Claims (1)

  1. 【特許請求の範囲】 データレコードを読み込み、複数のフィールドの値を取
    り出し、それぞれのフィールドの属性に従いストリング
    データとして大小比較が行える変換キー値に変換し、該
    変換キー値と該データレコードのアドレスと該フィール
    ドを識別するフィールド識別子とから構成される中間レ
    コードを中間ファイルに出力するレコード入力手段と、 前記中間ファイル上の中間レコードに対し、フィールド
    識別子を第1ソートキー、変換キー値を第2ソートキー
    としてソートするソート手段と、ソートされた中間レコ
    ードを入力し、前記レコード入力手段における変換の逆
    変換を行ってフィールドの値を取り出し、フィールド識
    別子の値に従って個々のフィールドに対するインデック
    スを生成するインデックス生成手段とを備えたことを特
    徴とするインデックス生成方式。
JP63190810A 1988-07-30 1988-07-30 インデックス生成方式 Pending JPH0240772A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63190810A JPH0240772A (ja) 1988-07-30 1988-07-30 インデックス生成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63190810A JPH0240772A (ja) 1988-07-30 1988-07-30 インデックス生成方式

Publications (1)

Publication Number Publication Date
JPH0240772A true JPH0240772A (ja) 1990-02-09

Family

ID=16264126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63190810A Pending JPH0240772A (ja) 1988-07-30 1988-07-30 インデックス生成方式

Country Status (1)

Country Link
JP (1) JPH0240772A (ja)

Similar Documents

Publication Publication Date Title
US20220179849A1 (en) Accelerated filtering, grouping and aggregation in a database system
US5051745A (en) String searcher, and compressor using same
US10909078B2 (en) Query predicate evaluation and computation for hierarchically compressed data
JPH11212980A (ja) インデクス作成方法および検索方法
JP2003044267A (ja) データソート方法、データソート装置およびデータソートプログラム
CN110569629A (zh) 二进制代码文件溯源方法
JPH09245043A (ja) 情報検索装置
CN107506394B (zh) 一种消除大数据规范关系连接冗余的优化方法
Jenkins et al. Analytics-driven lossless data compression for rapid in-situ indexing, storing, and querying
JPH04326164A (ja) データベース検索システム
CN108228905A (zh) 面向海量规格化数据的并行比较模型及方法
JPH0240772A (ja) インデックス生成方式
EP1836612A1 (en) Method and system for formatting and indexing data
JP2745710B2 (ja) ストリングサーチ方法およびそのための装置
Cheng et al. Unique-order interpolative coding for fast querying and space-efficient indexing in information retrieval systems
CN113343638B (zh) 面向精细化内容重组的服务内容多重语义自动编码方法
JP7540830B2 (ja) データセットのためのデータ記憶方法およびシステム
JP2959497B2 (ja) データ処理装置及びデータ処理方法
JPH0452967A (ja) 集合ファイルに対する論理積演算処理方式
JPH03216729A (ja) 電子計算機
JP2708625B2 (ja) 均質ハッシング処理方式
Zhang Research on Malicious Code Detection Techniques Based on Data Mining and Machine Learning
JPH06162096A (ja) レコード検索方法
JPS6295628A (ja) インデクスキ−管理方式
Tharp A comparison of Cobol, Fortran, PL-I and Spitbol