JPH03216729A - 電子計算機 - Google Patents
電子計算機Info
- Publication number
- JPH03216729A JPH03216729A JP1210690A JP1210690A JPH03216729A JP H03216729 A JPH03216729 A JP H03216729A JP 1210690 A JP1210690 A JP 1210690A JP 1210690 A JP1210690 A JP 1210690A JP H03216729 A JPH03216729 A JP H03216729A
- Authority
- JP
- Japan
- Prior art keywords
- key
- data
- sorting
- record
- keys
- 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
Links
- 238000013500 data storage Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 11
- 230000001174 ascending effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、電子計算機において、データの効率的なソー
トを行なうためのソート条件(以降、キーと呼ぶ)の構
造に関する。
トを行なうためのソート条件(以降、キーと呼ぶ)の構
造に関する。
[従来の技術]
第6図は、従来のソート方法を示すフローチャートであ
る。まず最初に、データ入力装置からデータを入力する
61。入力されたデータを固定長または可変長の1レコ
ード毎に分割するβ2。最も優先順位の高いキー情報を
キー作成のためのキー情報とする63。そのキー情報に
基づいて、全てのデータレコードに対してキーを作成す
る64。
る。まず最初に、データ入力装置からデータを入力する
61。入力されたデータを固定長または可変長の1レコ
ード毎に分割するβ2。最も優先順位の高いキー情報を
キー作成のためのキー情報とする63。そのキー情報に
基づいて、全てのデータレコードに対してキーを作成す
る64。
昇順ソート、降順ソートの2種類のソート処理を用意し
、昇順または降順の指定により実行するソート処理を選
択し、ソートを行う65。ソート終了後、次に優先順位
の高いキーを、キー作成のためのキー情報とする66。
、昇順または降順の指定により実行するソート処理を選
択し、ソートを行う65。ソート終了後、次に優先順位
の高いキーを、キー作成のためのキー情報とする66。
そして、そのキー情報に基づいて、再び、キーを作成し
、これまでのソートによって順番.が確定していない部
分のデータレコードのソートを行う。また、ソニトされ
た結果、キーが全く同一であった場合に、同一なデータ
レコードはデータ入力順に並べたいという要求があった
場合、ソートした結果を元の順番も含めて見直すか、ソ
ートの時に、キーの値が同じであった場合には順番が入
れ替わらないようにする。
、これまでのソートによって順番.が確定していない部
分のデータレコードのソートを行う。また、ソニトされ
た結果、キーが全く同一であった場合に、同一なデータ
レコードはデータ入力順に並べたいという要求があった
場合、ソートした結果を元の順番も含めて見直すか、ソ
ートの時に、キーの値が同じであった場合には順番が入
れ替わらないようにする。
指定されたキー情報すべてが参照されるか、データが完
全にソートされるまでキーの作成とソートを繰り返し、
終了した時点で、ソートした結果を出力装置へ出力する
67。
全にソートされるまでキーの作成とソートを繰り返し、
終了した時点で、ソートした結果を出力装置へ出力する
67。
[発明が解決しようとする課題コ
しかし、前記の従来技術では、複数個のキー情報が指定
されていれば、キー情報のそれぞれに対して、その都度
キー作成とソートを行うため、キー情報の指定が多けれ
ば多いほど、キー作成とソートのための繰り返し処理が
多くなってしまう。
されていれば、キー情報のそれぞれに対して、その都度
キー作成とソートを行うため、キー情報の指定が多けれ
ば多いほど、キー作成とソートのための繰り返し処理が
多くなってしまう。
さらに、2番目以降のキーでソートを行う場合、それ以
前のキー情報によるソートで順番が確定したデータに関
しては、ソートを行う必要がない。
前のキー情報によるソートで順番が確定したデータに関
しては、ソートを行う必要がない。
そのため、確定されていないデータかどうかの区別を行
うために、データレコードそれぞれにフラグを設ける、
または、確定していないデータ範囲を記憶する等の、な
んらかの処理を行わなければならない。また、データレ
コードのキー情報に対応するキーをキー情報の数だけ最
初に作成しておく方法の場合、最も優先順位の高いキー
情報によるキーで比較し、大小関係が決まれば昇順降順
の指定に従ってソートする。比較したキーが同じであれ
ば、次に優先順位の高いキーを取り出して、昇順または
降順に分けてソートする。このようにして、キーが同じ
であった場合は、順次、次の優先順位のキーを比較対象
として比較していく。しかし、この方法では、キー毎に
異なるソート方向を指定されていた場合には、次のキー
の比較に移る度に、ソート方向の判定をし、ソート処理
を選択しなければならない。このような点から、従来の
方法でソートを行う場合、キー情報の数とそのキ一部分
に位置するデータの性質によっては、繰り返し処理が非
常に多くなり、処理時間が長くなると同時に、ソートが
終了していない範囲を特定しておかなければならない、
といった煩雑な処理が必要になるという問題があった。
うために、データレコードそれぞれにフラグを設ける、
または、確定していないデータ範囲を記憶する等の、な
んらかの処理を行わなければならない。また、データレ
コードのキー情報に対応するキーをキー情報の数だけ最
初に作成しておく方法の場合、最も優先順位の高いキー
情報によるキーで比較し、大小関係が決まれば昇順降順
の指定に従ってソートする。比較したキーが同じであれ
ば、次に優先順位の高いキーを取り出して、昇順または
降順に分けてソートする。このようにして、キーが同じ
であった場合は、順次、次の優先順位のキーを比較対象
として比較していく。しかし、この方法では、キー毎に
異なるソート方向を指定されていた場合には、次のキー
の比較に移る度に、ソート方向の判定をし、ソート処理
を選択しなければならない。このような点から、従来の
方法でソートを行う場合、キー情報の数とそのキ一部分
に位置するデータの性質によっては、繰り返し処理が非
常に多くなり、処理時間が長くなると同時に、ソートが
終了していない範囲を特定しておかなければならない、
といった煩雑な処理が必要になるという問題があった。
また、複数のキーが指定されていた場合、キー毎にソー
ト方向の判定と、ソート処理の選択を行わなければなら
ず、非効率的であるという欠点があった。このような問
題に鑑み、高速かつ効率的なソートを実現するための手
段を提供することを目的とする。
ト方向の判定と、ソート処理の選択を行わなければなら
ず、非効率的であるという欠点があった。このような問
題に鑑み、高速かつ効率的なソートを実現するための手
段を提供することを目的とする。
[課題を解決するための手段コ
本発明は、データ入力装置と、データ出力装置と、入力
データを1レコード毎に分割する手段と、データ記憶装
置と、ソートのためのキーをデータから作成する手順と
、入力された前記データの順番を特定する手段と、同一
のデータレコードに対するキーを1′)のキーレコード
としてまとめる手段と、ソートのために作成された前記
キーの記憶装置と、前記キーに基づいてソートを行う手
段とを備えたことを特徴とする。
データを1レコード毎に分割する手段と、データ記憶装
置と、ソートのためのキーをデータから作成する手順と
、入力された前記データの順番を特定する手段と、同一
のデータレコードに対するキーを1′)のキーレコード
としてまとめる手段と、ソートのために作成された前記
キーの記憶装置と、前記キーに基づいてソートを行う手
段とを備えたことを特徴とする。
[作用コ
本発明においては、複数個のキーが指定された場合、1
つのデータレコードに対して、指定された複数個のキー
情報全てに対応するキーを最初に作成し、それらのキー
を図3のように1つのキーレコードにまとめる.さらに
、各キー毎にそのソート方向を考慮して昇順用にキーを
作成した後、降順が指定されているキーについては、大
小関係を逆にするために、そのキーの全てのビットを反
転させた値をキーレコードに登録する。データレコード
と、複数のキーからなるキーレコードを1対1に対応さ
せることによって、キーレコード全体を比較することに
より、複数のキーでの比較を繰り返し行ったものと同じ
結果が得られるようになる。また、指定されたソートの
ためのキーが全く同じデータレコードが存在した場合に
、キーが同一のデータを元のデータ順番で並べることが
必要な場合がある。この場合、優先順位の最も低いキー
として、元のデータレコードの順番をキーレコード内に
設定する。この方法により、キー作成とソートを繰り返
し行うことなくソートをすることができ、処理時間を減
らすことができ、さらに、繰り返しによる煩雑さをなく
すことができる。また、ソート実行時、比較するキー全
てを1つのキーレコードとしてまとめてしまうことによ
り、ソートのためのキーがデータエリア内に散在せず、
一カ所で管理できるという利点がある。
つのデータレコードに対して、指定された複数個のキー
情報全てに対応するキーを最初に作成し、それらのキー
を図3のように1つのキーレコードにまとめる.さらに
、各キー毎にそのソート方向を考慮して昇順用にキーを
作成した後、降順が指定されているキーについては、大
小関係を逆にするために、そのキーの全てのビットを反
転させた値をキーレコードに登録する。データレコード
と、複数のキーからなるキーレコードを1対1に対応さ
せることによって、キーレコード全体を比較することに
より、複数のキーでの比較を繰り返し行ったものと同じ
結果が得られるようになる。また、指定されたソートの
ためのキーが全く同じデータレコードが存在した場合に
、キーが同一のデータを元のデータ順番で並べることが
必要な場合がある。この場合、優先順位の最も低いキー
として、元のデータレコードの順番をキーレコード内に
設定する。この方法により、キー作成とソートを繰り返
し行うことなくソートをすることができ、処理時間を減
らすことができ、さらに、繰り返しによる煩雑さをなく
すことができる。また、ソート実行時、比較するキー全
てを1つのキーレコードとしてまとめてしまうことによ
り、ソートのためのキーがデータエリア内に散在せず、
一カ所で管理できるという利点がある。
[実施例]
以下に、本発明の実施例を図面に基づいて説明する.
(実施例1)
第1図は本発明のブロック図であり、データ記憶装置1
3と、ソートのために作成されたキーの記憶装置14と
、データを入力する装置11と、ソートされたデータを
出力する装置12から構成され、さらに、入力されたデ
ータ全体から1つ1つのデータレコードへ分割する手段
15と、データからキーを作成する手段16と、複数個
のキーをまとめて1つのキーレコードを作成する手段1
7と、データの入力された順番を特定する手段18と、
ソートを実行する手段19を備えている。
3と、ソートのために作成されたキーの記憶装置14と
、データを入力する装置11と、ソートされたデータを
出力する装置12から構成され、さらに、入力されたデ
ータ全体から1つ1つのデータレコードへ分割する手段
15と、データからキーを作成する手段16と、複数個
のキーをまとめて1つのキーレコードを作成する手段1
7と、データの入力された順番を特定する手段18と、
ソートを実行する手段19を備えている。
第5図は、本発明のフローチャートである。2種類のキ
ー情報が指定されたものとじ、優先順位の高い方からキ
ー情報1、キー情報2とする。また、データは、ある一
定の長さで区切られる固定長のレコードの集まりとする
。最初に、入力装置からデータを読み込む51。続いて
、固定長のデータの集まりなので、一定の長さ毎にデー
タを分け、データレコードに分割する52。データレコ
ードへの分割が終了した後、それぞれのデータレコード
に対してキーレコードを作成する53。データレコード
とキーレコードの関係は第2図のようになる.管理情報
は必要に応じて使用し、また、なくても構わない。まず
、優先順位の高いキー情報1に基づいてデータからキー
に変換してキー1を得、キー1をキーレコードエリアに
登録する.この時、昇順か降順かを判断し、昇順ソート
が指定されていれば、そのまま登録する.降順ソートの
場合は、キーが大きい値のデータを前に、小さい値のデ
ータを後に並べる必要があるので、キーの値を全て大小
、逆にする必要がある。そのため、全ビットを反転させ
ることによって大小を反転させ、昇順ソートと同じ手順
で比較処理し、降順にソートされるようにする。続いて
、キー情報2に基づいてデータからキー2を作成する。
ー情報が指定されたものとじ、優先順位の高い方からキ
ー情報1、キー情報2とする。また、データは、ある一
定の長さで区切られる固定長のレコードの集まりとする
。最初に、入力装置からデータを読み込む51。続いて
、固定長のデータの集まりなので、一定の長さ毎にデー
タを分け、データレコードに分割する52。データレコ
ードへの分割が終了した後、それぞれのデータレコード
に対してキーレコードを作成する53。データレコード
とキーレコードの関係は第2図のようになる.管理情報
は必要に応じて使用し、また、なくても構わない。まず
、優先順位の高いキー情報1に基づいてデータからキー
に変換してキー1を得、キー1をキーレコードエリアに
登録する.この時、昇順か降順かを判断し、昇順ソート
が指定されていれば、そのまま登録する.降順ソートの
場合は、キーが大きい値のデータを前に、小さい値のデ
ータを後に並べる必要があるので、キーの値を全て大小
、逆にする必要がある。そのため、全ビットを反転させ
ることによって大小を反転させ、昇順ソートと同じ手順
で比較処理し、降順にソートされるようにする。続いて
、キー情報2に基づいてデータからキー2を作成する。
キー2についてもキー1と同様に昇順、降順のための処
理を行う。得られたキー2をキーレコード内のキー1の
後ろに続けて設定する。キーレコードは、図3のように
なり、キーl、キー2をまとめた形で1つのキーレコー
ドとする。全てのデータレコードに対して、図3のよう
なキーレコードを作成し、データレコードとキーレコー
ドを1対1に対応させる。キーレコードをすべて作成し
終わったところで、このキーレコードを比較して昇順に
ソートする54.ソートの方法はクィックソート、バブ
ルソート等どの様なソート方法を用いてもよい。
理を行う。得られたキー2をキーレコード内のキー1の
後ろに続けて設定する。キーレコードは、図3のように
なり、キーl、キー2をまとめた形で1つのキーレコー
ドとする。全てのデータレコードに対して、図3のよう
なキーレコードを作成し、データレコードとキーレコー
ドを1対1に対応させる。キーレコードをすべて作成し
終わったところで、このキーレコードを比較して昇順に
ソートする54.ソートの方法はクィックソート、バブ
ルソート等どの様なソート方法を用いてもよい。
キーレコードがソートできれば、キーレコードとデータ
レコードは1対1に対応するので、データレコードのソ
ートも完了したことになる。最後に、データレコードを
ソートされた順番で出力装置へ出力すれば終了である5
5。
レコードは1対1に対応するので、データレコードのソ
ートも完了したことになる。最後に、データレコードを
ソートされた順番で出力装置へ出力すれば終了である5
5。
(実施例2)
キー情報が3種類指定されたものとし、優先順位の高い
順にキー情報l、キー情報2、キー情報3とし、キー情
報1は昇順、2、3は降順が指定されたものとする。さ
らに、キーが全く同じであった場合には、入力された順
番が先のデータレコードが前になるようにソートを行う
。データは、ある区切り記号で区切られる可変長のデー
タレコードの集まりとする。まず、入力装置からソート
するデータを読み込み、区切り記号によって7’ −タ
をデータレコードに分割する。その後、それぞれのデー
タレコードに対応するキーレコードを作成する.キー情
報1、キー情報2、キー情報3に従って得られたキーを
それぞれ、キー1、キー2、キー3とする。キー情報2
、3が降順であるので、キー2、3の値の大小関係が逆
になるようにキー2、3の値を、全ビットを反転する。
順にキー情報l、キー情報2、キー情報3とし、キー情
報1は昇順、2、3は降順が指定されたものとする。さ
らに、キーが全く同じであった場合には、入力された順
番が先のデータレコードが前になるようにソートを行う
。データは、ある区切り記号で区切られる可変長のデー
タレコードの集まりとする。まず、入力装置からソート
するデータを読み込み、区切り記号によって7’ −タ
をデータレコードに分割する。その後、それぞれのデー
タレコードに対応するキーレコードを作成する.キー情
報1、キー情報2、キー情報3に従って得られたキーを
それぞれ、キー1、キー2、キー3とする。キー情報2
、3が降順であるので、キー2、3の値の大小関係が逆
になるようにキー2、3の値を、全ビットを反転する。
得られたキーを、優先順位の高いキーから順番に並べて
キーレコードを作成する。ここで、入力データ内でのデ
ータレコードの位置または順番を示すデータを、優先順
位の最も低いキーとして、キー3に続けてキーレコード
に登録し、第4図のようなキーレコードを作成する。こ
の時に登録する値は、順番が前方にあるデータレコード
の方が、後に入力されたデータレコードよりも小さい値
になるようなデータであれば、どのような値でも構わな
い。このようにして、各データレコードに対応するキー
レコードをすべて作成した後で、キーレコードを比較す
ることによってデータレコード間の大小関係を決め、ソ
ートを行う。ソート終了後、結果を出力装置へ出力する
。
キーレコードを作成する。ここで、入力データ内でのデ
ータレコードの位置または順番を示すデータを、優先順
位の最も低いキーとして、キー3に続けてキーレコード
に登録し、第4図のようなキーレコードを作成する。こ
の時に登録する値は、順番が前方にあるデータレコード
の方が、後に入力されたデータレコードよりも小さい値
になるようなデータであれば、どのような値でも構わな
い。このようにして、各データレコードに対応するキー
レコードをすべて作成した後で、キーレコードを比較す
ることによってデータレコード間の大小関係を決め、ソ
ートを行う。ソート終了後、結果を出力装置へ出力する
。
キーレコードには、データ長等の管理情報を含んでいて
も良い。ただし、ソート実行時の比較キーには含まない
ようにする。また、キーレコード1つ1つは、可変長で
も固定長でもよいが、複数のキーが指定されている場合
には、キーレコード内で、それぞれのキー情報に対応す
るキーの長さがわかるようにする。また、複数のキー情
報が指定された場合、それぞれのキー情報が、元のデー
タのどの位置のキーとして指定されていても構わない。
も良い。ただし、ソート実行時の比較キーには含まない
ようにする。また、キーレコード1つ1つは、可変長で
も固定長でもよいが、複数のキーが指定されている場合
には、キーレコード内で、それぞれのキー情報に対応す
るキーの長さがわかるようにする。また、複数のキー情
報が指定された場合、それぞれのキー情報が、元のデー
タのどの位置のキーとして指定されていても構わない。
また、キー位置が元のデータ上で重なっていても構わな
い。
い。
[発明の効果]
以上、説明した本発明によれば、複数のキー情報に基づ
いてソートする場合も、キー情報の数の分だけキーを作
成してソートを行うことを繰り返す必要がなくなり、処
理時間の効率化を図ることができる。さらに、1回目の
ソートの後、順番が確定していない部分だけを抜き出し
て2回目以降のソートを行うという煩雑さをなくすこと
ができるという効果がある。また、データが入力された
順番もキーの一部として扱う。このように、ソートする
ときに比較するデータは、全てキーの一部にしてしまう
ことにより、データを内部に散在させることなく一カ所
で管理でき、データ構造がわかりやすくなるという効果
がある。
いてソートする場合も、キー情報の数の分だけキーを作
成してソートを行うことを繰り返す必要がなくなり、処
理時間の効率化を図ることができる。さらに、1回目の
ソートの後、順番が確定していない部分だけを抜き出し
て2回目以降のソートを行うという煩雑さをなくすこと
ができるという効果がある。また、データが入力された
順番もキーの一部として扱う。このように、ソートする
ときに比較するデータは、全てキーの一部にしてしまう
ことにより、データを内部に散在させることなく一カ所
で管理でき、データ構造がわかりやすくなるという効果
がある。
第1図は、本発明の電子計算機の構成を示すためのブロ
ック図である.第2図は、データレコードとキーレコー
ドの関係を示す図である。第3図、第4図は、キーレコ
ードの構造を示す図である。 第5図は、本発明の一実施例を示すフローチャートであ
る。第6図は、従来のソートを行う手段を示すフローチ
ャートである。 l1 ・・・・・・ データ入力装置 1 2 1 3 1 4 1 5 データ出力装置 データ記憶装置 キー記憶装置 入力データをレコードに 分割する手段 キー作成手段 キーレコード作成手段 データ順番特定手段 ソート手段 以上
ック図である.第2図は、データレコードとキーレコー
ドの関係を示す図である。第3図、第4図は、キーレコ
ードの構造を示す図である。 第5図は、本発明の一実施例を示すフローチャートであ
る。第6図は、従来のソートを行う手段を示すフローチ
ャートである。 l1 ・・・・・・ データ入力装置 1 2 1 3 1 4 1 5 データ出力装置 データ記憶装置 キー記憶装置 入力データをレコードに 分割する手段 キー作成手段 キーレコード作成手段 データ順番特定手段 ソート手段 以上
Claims (1)
- データ入力装置と、データ出力装置と、入力データを1
レコード毎に分割する手段と、データ記憶装置と、ソー
トのためのソート条件をデータから作成する手順と、入
力された前記データの順番を特定する手段と、同一のデ
ータレコードに対するソート条件を1つのソート条件レ
コードとしてまとめる手段と、ソートのために作成され
た前記ソート条件の記憶装置と、前記ソート条件に基づ
いてソートを行なう手段とを備えたことを特徴とする電
子計算機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1210690A JPH03216729A (ja) | 1990-01-22 | 1990-01-22 | 電子計算機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1210690A JPH03216729A (ja) | 1990-01-22 | 1990-01-22 | 電子計算機 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03216729A true JPH03216729A (ja) | 1991-09-24 |
Family
ID=11796317
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1210690A Pending JPH03216729A (ja) | 1990-01-22 | 1990-01-22 | 電子計算機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03216729A (ja) |
-
1990
- 1990-01-22 JP JP1210690A patent/JPH03216729A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10733508B2 (en) | Methods and systems for data analysis in a state machine | |
| US6678687B2 (en) | Method for creating an index and method for searching an index | |
| US4959785A (en) | Character processing system with spelling check function that utilizes condensed word storage and indexed retrieval | |
| KR100467638B1 (ko) | 특허 데이터베이스로부터 관련 특허들의 인용관계를 빠른시간내에 검색하여 분석하기 위한 방법 | |
| JP2003044267A (ja) | データソート方法、データソート装置およびデータソートプログラム | |
| Thorup | Faster deterministic sorting and priority queues in linear space | |
| JP2888188B2 (ja) | 情報検索装置 | |
| US20070239663A1 (en) | Parallel processing of count distinct values | |
| JPH03216729A (ja) | 電子計算機 | |
| JPS59121436A (ja) | デ−タ群のソ−ト方法 | |
| WO2009147794A1 (ja) | 有限オートマトン生成システム | |
| JPH07191827A (ja) | スペース適応方式でシーケンシャル・リストを安定的にソート、又はマージするための方法、及び装置 | |
| JPH0782429B2 (ja) | 複数ファイルのマージ方法 | |
| JP3061486B2 (ja) | データソート処理システム | |
| JPH0452967A (ja) | 集合ファイルに対する論理積演算処理方式 | |
| JPS6227836A (ja) | ドキユメントデ−タの格納方式 | |
| JP2926803B2 (ja) | ソート処理方法 | |
| JPH0518148B2 (ja) | ||
| JPS6266326A (ja) | 日本語デ−タ整列処理方式 | |
| EP4500355A1 (en) | Methods and systems for performing a vectorized delete in a distributed database system | |
| JPS63149728A (ja) | 索引生成方式 | |
| JPH03259329A (ja) | 大容量データのキー相対アドレス分類方式 | |
| CN120429426A (zh) | 领域知识应答结果的生成方法及装置、介质、终端 | |
| JPH0240772A (ja) | インデックス生成方式 | |
| JPH06195414A (ja) | 論理設計支援システム |