JPH0816562A - 属性混在文字列のソート装置及び属性混在文字列のソート方法 - Google Patents

属性混在文字列のソート装置及び属性混在文字列のソート方法

Info

Publication number
JPH0816562A
JPH0816562A JP6145913A JP14591394A JPH0816562A JP H0816562 A JPH0816562 A JP H0816562A JP 6145913 A JP6145913 A JP 6145913A JP 14591394 A JP14591394 A JP 14591394A JP H0816562 A JPH0816562 A JP H0816562A
Authority
JP
Japan
Prior art keywords
attribute
sorting
order
sort
character
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.)
Granted
Application number
JP6145913A
Other languages
English (en)
Other versions
JP3457061B2 (ja
Inventor
Tadao Tsuchimura
忠生 土村
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 JP14591394A priority Critical patent/JP3457061B2/ja
Priority to US08/413,889 priority patent/US5799303A/en
Publication of JPH0816562A publication Critical patent/JPH0816562A/ja
Application granted granted Critical
Publication of JP3457061B2 publication Critical patent/JP3457061B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 各文字の属性ごとに、その文字のもつ意味に
適した順番にソートをすることができるようにする。 【構成】 分割手段12は、データベース11内のソー
ト対象の文字列を、属性別に分割し、属性ごとの管理テ
ーブル14a、14b、14cを作成する。属性別ソー
ト順決定手段13は、それらの管理テーブル14a、1
4b、14cごとに、属性に適した順にソート順を決定
し、前記管理テーブル14a、14b、14c内の各文
字列に対応するソート順インデックスに値を設定する。
ソート手段15は、各文字列を属性ごとに比較し、同一
属性どうしはソート順インデックスの値によりソート順
を判断し、ソートを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は属性の異なった文字が混
在している属性混在文字列のソート装置及び属性混在文
字列のソート方法に関し、特に各文字列のソート順の決
定手段を改良した属性混在文字列のソート装置及び属性
混在文字列のソート方法に関する。
【0002】
【従来の技術】各種データ処理を行うコンピュータで
は、多目的の利用を前提とした、統合化されたファイル
の集まりであるデータベースを有している。このデータ
ベースを作ることによって、ファイルどうしのデータの
重複が避けられ、ファイル間の関係が緊密に保たれる。
そして、多くの場合はデータベースの管理を専門に行う
システムが設けられている。
【0003】このデータベースで扱われるデータには、
複数の文字列からなるものがある。これらの文字は、文
字コードで管理されている。この文字コードは、2進数
データを文字に交換するためのコードを規格化したもの
である。なお、ここでいう文字とは、文字以外の記号等
をも含んだ全てのキャラクターを指す。
【0004】そして、データベース内のデータを検索す
る場合、一定の形式で書かれた大量のレコードを扱うた
め、その目的によって処理し易い順にデータの並び替え
を行う。このように、データをある一定の基準に従って
並べ替えを行うことをソートと呼ぶ。
【0005】従来、文字列のソートを行う場合、まず、
各文字列の先頭の文字の文字コードどうしで比較する。
昇順のソートの場合は、文字コードの値の小さい文字か
ら順に並べ、降順のソートの場合は、文字コードの値の
大きい文字から順に並べる。文字コードの値が同じ場合
は、次の文字同士で比較を行う。このようにして、全て
の文字列をソートすることができる。
【0006】
【発明が解決しようとする課題】しかし、ソートされる
文字列に使用される文字には様々な属性の文字がある。
属性には、数値、英字、仮名文字、及び漢字等がある。
このように多種類の属性があるにも係わらず、従来の方
法では文字コードのみでソート順を決めているため、ソ
ートされる順番が適切でない場合がある。
【0007】例えば、数値の場合「1」よりも「2」の
方が、文字コードが大きい。このとき、文字列「10」
と「2」を比較した場合、「1」と、「2」の文字コー
ドが比較され、「2」の方が大きいと判断される。その
結果、「10」より「2」の方が大きいと判断される。
しかし、算術のための数字としてみた場合、「10」よ
り「2」の方が大きいと判断されるのは適切でない。5
ここで、各文字を算術のための数字としてソートする方
法もあるが、他の属性の文字と混在した場合に適用する
ことができない。例えば「A10」と「A2」の場合、
「A」が数値でないため、算術ソートができない。
【0008】また、英字には、大文字と小文字の2種類
の表記方法があるが、文字コードによるソートでは大文
字(A〜Z)と小文字(a〜z)が全く別の文字として
扱われている。そのため、英字「A2」、「a1」、
「B」の3つの文字を昇順に並べると、「A2」、
「B」、「a1」の順になる。しかし、辞書や書籍類の
インデックス等では、大文字と小文字は同じ順番の文字
として扱われるため、「a1」、「A2」、「B」の順
で記載されている。このように、同じ意味の文字であっ
ても表記方法が違うと、全く別の文字として判断され、
データをソートした際の順番が日常的に使用されている
順番と違ってしまう。以後、「A」と「a」のように、
同じ属性内で、同じ意味を持った別の文字(文字コード
も異なる)どうしを、同種文字と呼ぶ。
【0009】この同種文字の関係は、全角文字(16ビ
ットの文字)と半角文字(8ビットの文字)の間、ある
いは、仮名文字におけるひらがなとカタカナの間でも同
様である。
【0010】このように、各属性には、その文字に適し
た順番があるにも係わらず、従来は全ての属性を、同じ
基準でソートしていたため、不適切な順番でソートされ
てしまう場合があるという問題点があった。
【0011】本発明はこのような点に鑑みてなされたも
のであり、各文字の属性ごとに、その文字のもつ意味に
適した順番にソートをすることができる属性混在文字列
のソート装置を提供することを目的とする。
【0012】また、本発明の別の目的は、各文字の属性
ごとに、その文字のもつ意味に適した順番にソートをす
ることができる属性混在文字列のソート方法を提供する
ことである。
【0013】
【課題を解決するための手段】本発明では上記課題を解
決するために、属性の異なった文字が混在している属性
混在文字列のソート装置において、データベース11内
のソート対象の文字列を、属性別に分割し、属性ごとの
管理テーブル14a、14b、14cを作成する分割手
段12と、前記管理テーブル14a、14b、14cご
とに、属性に適した順にソート順を決定し、前記管理テ
ーブル14a、14b、14c内の各文字列に対応する
ソート順インデックスに値を設定する属性別ソート順決
定手段13と、各文字列を属性ごとに比較し、同一属性
どうしは前記ソート順インデックスの値によりソート順
を判断し、ソートを行うソート手段15と、を有するこ
とを特徴とする属性混在文字列のソート装置が提供され
る。
【0014】また、データベース11内のソート対象の
文字列を、属性別に分割し、各属性ごとに適した順に属
性別ソート順を決定し、各文字列を属性ごとに比較し、
同一属性どうしは、決定されている前記属性別ソート順
によりソート順を判断し、ソートを行うこと、を特徴と
する属性混在文字列のソート方法が提供される。
【0015】
【作用】分割手段12は、データベース11内のソート
対象の文字列を、属性別に分割し、属性ごとの管理テー
ブル14a、14b、14cを作成する。属性別ソート
順決定手段13は、それらの管理テーブル14a、14
b、14cごとに、属性に適した順にソート順を決定
し、前記管理テーブル14a、14b、14c内の各文
字列に対応するソート順インデックスに値を設定する。
ソート手段15は、各文字列を属性ごとに比較し、同一
属性どうしはソート順インデックスの値によりソート順
を判断し、ソートを行う。
【0016】また、データベース内のソート対象の文字
列を、属性別に分割し、各属性ごとに適した順に属性別
ソート順を決定する。そして、ソートを実行する際に、
各文字列を属性ごとに比較し、同一属性どうしは、決定
されている前記属性別ソート順によりソート順を判断
し、ソートを行う。
【0017】これにより、複数の属性が混在している場
合であっても各属性に適した順番にソートを行うことが
できる。
【0018】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図1は本発明の属性混在文字列のソート装置を
示す原理図である。この図は大別して、サーバ10とク
ライアント30に分かれており、お互いに通信ネットワ
ーク20を介して接続されている。サーバ10は、通信
ネットワーク20を介して各種データを提供するための
計算機システムである。クライアント30は、作業者が
直接操作を行い、通信ネットワーク20を介して、サー
バ10内のデータを操作したり、その結果を表示させる
装置である。通信ネットワーク20には、TCP/IP
(Transmission Control Protocol )のような、ローカ
ルエリアネットワークが用いられる。
【0019】クライアント30内のソート条件指定手段
31より、半角文字と全角文字を区別するかどうか、仮
名文字のひらがなとカタカナを区別するかどうか、ある
いは英字の大文字と小文字を区別するかどうかの各条件
を指定する。このような、各属性の分割単位を、ソート
レベルと呼ぶ。また、必要に応じて、ソートの際に優先
する属性を指定することもできる。
【0020】サーバ10内のデータベース11には、ソ
ートの対象となるべき文字列が格納されている。分割手
段12は、文字列のソート要求が出されると、データベ
ース11内のソート対象となる全ての文字列を、ソート
条件指定手段31の指定通りの分割レベルで、属性別に
分割する。分割された属性には、その属性が文字列の何
番目の属性であるかを示す分割順を設定する。そして、
その属性ごとの管理テーブル14a、14b、14cを
作成する。
【0021】属性別ソート順決定手段13は、各属性ご
とにソート順を決定し、各管理テーブル14a、14
b、14cのソート順インデックスにソート順のデータ
を付加する。この際、数値については算術ソートを行
う。算術ソートとは、その文字列の表す数値の大きさを
比較してソート順を決定するソート方法である。
【0022】ソート手段15は、各文字列の先頭の属性
から順に比較し、ソートを行う。このときに比較の基準
は、数値、英字、仮名文字、漢字の順番が優先し、同じ
属性内では、ソート順インデックスの値によって判断す
る。また、ソートの際に優先する属性が指定されている
場合には、その優先する属性の分割順が優先され、同じ
分割順の場合には、その属性のソート順インデックスの
値の小さいものが優先する。
【0023】そのソート結果は、通信ネットワーク20
を介してクライアント30に送られ、クライアント30
内の表示装置32に表示される。なお、ソートに際し、
与えられた条件で順番の確定しない文字列は、データベ
ース11に格納されていたときの順番にソートされる。
【0024】図2は本発明の属性混在文字列のソート方
法の処理手順の前半を示すフローチャートである。 〔S1〕ソート条件指定手段31によって、ソート条件
を指定する。 〔S2〕データベース11内の文字列を読み込む。 〔S3〕ソート指令が、属性ごとの分割を要求している
かどうかを判断し、属性ごとの分割を要求していればス
テップ6に進み、要求していなければステップ4に進
む。つまり、分割しない場合は、従来通りに各文字の文
字コードによってソートを行う。 〔S4〕各文字ごとの文字コードによるソートを行う。 〔S5〕クライアント30において、表示装置32にソ
ート結果を出力し、終了する。 〔S6〕分割手段12は各文字列を属性ごとに分割し、
属性ごとの管理テーブルを作成する。 〔S7〕ソート順インデックスにデータが付加されてい
ない管理テーブルを1つ選択する(図3のステップ8に
進む)。なお、このステップ7から図3のステップ11
までは属性別ソート順決定手段13の実行する機能であ
る。
【0025】図3は本発明の属性混在文字列のソート方
法の処理手順の後半を示すフローチャートである。 〔S8〕選択した管理テーブルの文字の属性が数値かど
うかを判断し、数値であればステップ10にすすみ、数
値でなければステップ9に進む。 〔S9〕管理テーブル内の文字のソート順を決定し、管
理テーブルのソート順インデックスに値を書き込む。こ
のときのソート順は、文字コードによるが、ソートレベ
ル指定で、ソートレベルの区別をしないように指定され
ている場合は、同種文字は同じ順番として扱う。例えば
「A」と「a」である。 〔S10〕管理テーブル内の文字のソート順を算術ソー
トにより決定し、管理テーブルのソート順インデックス
に値を書き込む。 〔S11〕ソート順インデックスに値が設定されていな
い管理テーブルがあるかどうかを判断し、あればステッ
プ7に進み、なければステップ12に進む。 〔S12〕ソート優先の指定により、優先指定された属
性があるかどうかを判断し、優先指定があればステップ
13に進み、優先指定が無ければステップ14に進む。
なお、このステップ12からステップ14までは、ソー
ト手段が実行する機能である。 〔S13〕優先指定された属性を比較しソートを行う。
このとき、この属性の分割順番が早い文字列が優先さ
れ、同じ分割順の場合ソート順インデックスの値を比較
する。それでもソート順が同じになる文字列は、他の属
性の分割順の早い文字から順に比較する。このとき、昇
順のソートの場合は、数値、英字、仮名文字、漢字の順
で属性が優先される。降順の場合は、逆の順番になる。 〔S14〕各文字列の先頭の属性から順番に比較するこ
とによって、ソートをおこなう。昇順のソートの場合
は、数値、英字、仮名文字、漢字の順で属性が優先され
る。降順の場合は、逆の順番になる。同じ属性どうしで
は、ソート順インデックスの値によって判断する。 〔S15〕ソート結果はクライアント30に送られ、表
示装置32にソート結果が出力される。
【0026】このようにして、ソート順の決定を属性ご
とにすることができ、同じ属性内の同種文字どうしは、
同一の文字としてソートすることができ、さらに数値に
ついては、算術ソートを行うことができる。
【0027】ここで、同じ属性内の同種文字どうしを、
同一の文字としてソートする場合について、例を用いて
説明する。図4は全角文字と半角文字及び英字の大文字
と小文字を同一視した場合のソート例を示す図である。
この図の左側は同一視しなかった場合であり、右側は同
一視した場合である。
【0028】全角文字と半角文字及び英字の大文字と小
文字を同一視しなかった場合は、単に文字コードによっ
てソートされており、半角の大文字、半角の小文字、全
角の大文字の順番にソートされている。全角文字と半角
文字及び英字の大文字と小文字を同一視した場合は、同
種文字は同じ順番としてソートされており、英字のアル
ファベット順のみでソートされている。
【0029】次に、算術ソートについて例を用いて説明
する。図5は算術ソートの例を示す図である。この図の
左側は、文字コードによるソートをした場合であり、右
側は算術ソートをした場合である。
【0030】文字コードでソートした場合は、先頭の数
値から順に比較されてソートされている。算術ソートを
した場合は、数値からなる文字列を算術のための数値と
してとらえ、数値の小さい順にソートされている。
【0031】次の図1に示すような構成のシステムにお
いて、ソートが実行される手順を具体的に説明する。ま
ず、ソート条件指定手段31によってソート条件を指定
する。ソート条件の指定は、クライアント30の表示装
置32にソート条件指定画面を表示させ、マウスで各種
メニューから選択することによって、簡単に行うことが
できる。
【0032】図6はソート条件指定画面を示す図であ
る。ソート条件指定画面内の中央には、条件指定項目表
示部32dがあり、その上部には「OK」、「キャンセ
ル」、「HELP」の3種類の制御キー32a、32
b、32cが設けられている。「OK」の制御キー32
aは、全ての条件指定が終了した際に実行させるキーで
ある。この「OK」の制御キー32aの実行によって、
指定した条件をサーバ10に転送することができる。
「キャンセル」の制御キー32bは、ソート指令の出力
を取り止めるためのキーである。「HELP」の制御キ
ー32cは、この画面での操作方法が分からないとき
に、操作方法の説明文を表示させるためのキーである。
そして、マウスのポインタをこれらの制御キー上に移動
し、マウスのボタンをクリックすることにより、各制御
キーの機能を実行させることができる。なお、以下に説
明する各種キーにおいても同様にマウスを用いて、各種
項目の選択や、設定された機能の実行を行うことができ
る。
【0033】条件指定項目表示部32d内において、上
部にはソート対象項目表示部32eがあり、ソートの対
象となるテーブル名が表示される。ソート対象項目表示
部32eの下には、昇順選択キー32fと降順選択キー
32gがある。昇順選択キー32fは、文字コードの
値、あるいは算術ソートにおける数値の小さい順からソ
ートさせる場合に設定するキーである。降順選択キー3
2gは、文字コードの値、あるいは算術ソートにおける
数値の大きい順からソートさせる場合に設定するキーで
ある。
【0034】その下には、ソートレベル指定部32hと
ソート優先順指定部32iとがある。ソートレベル指定
部32hは、属性をどのレベルにまで分割するかを指定
するための項目であり、半角文字と全角文字を同一視す
るかどうか、仮名文字についてひらがなとカタカナを同
一視するかどうか、および英字について大文字と小文字
を同一視するかどうかの設定を行う。ソート優先順指定
部32iは、ソートの際に優先するべき属性を指定する
ための項目であり、指定なし、数値属性を優先、英字属
性を優先、仮名属性を優先、または漢字属性を優先の中
から1つを選択する。
【0035】最下部には、ソート条件確認部32jがあ
る。ソート条件確認部32jには、各ソート対象項目に
設定されているソート条件が表示されている。このソー
ト条件確認部32jの右上に設けられている条件取消キ
ー32kは、設定されている条件を取り消すためのキー
である。
【0036】このようなソート条件指定画面上での操作
により指定されたソート条件は、分割手段12に転送さ
れる。ここで、上記のソートレベル指定部32hにおい
て指定されたデータは、ソートレベル設定フラグの各ビ
ットに設定される。
【0037】図7はソートレベル設定フラグを示す図で
ある。ソートレベル設定フラグ40には、3つのフラグ
ビット41、42、43がある。1つめのフラグビット
41は、英字の大文字と小文字を区別するかどうかのフ
ラグビットであり、区別するなら「1」、区別しないな
ら「0」が設定される。2つめのフラグビット42は、
仮名文字のひらがなとカタカナを区別するかどうかのフ
ラグビットであり、区別するなら「1」、区別しないな
ら「0」が設定される。3つめのフラグビット43は、
半角文字と全角文字を区別するかどうかのフラグビット
であり、区別するなら「1」、区別しないなら「0」が
設定される。なお、これらの指定を省略した際(デフォ
ルト)の設定は、全て「1」(区別有り)である。
【0038】分割手段12は、指定された条件に従い、
各文字列を属性ごとに分割し、属性ごとの管理テーブル
を作成する。作成される管理テーブルを具体的な文字列
の例を用いて説明する。
【0039】図8はソートすべき文字列の例を示す図で
ある。各文字列には、1〜7までの管理番号が付けられ
ており、各管理番号の文字列は、1から順に「2万
円」、「1万円」、「10万円」、「A1」、「a1」、
「A1」、「a1」である。なお、これらの文字列のう
ち、管理番号が4と5の文字列は半角文字である。ここ
でこの文字列に対するソート条件指定は、ソート順は昇
順のソートであり、ソートレベル指定は全ての属性につ
いて同一視するものとし、ソート優先順の指定はないも
のとする。
【0040】管理テーブルを作成する順番は、数値属
性、英字属性、漢字属性の順番である。なお、この例で
は、ソート対象の文字列に仮名文字がないため仮名文字
に対する管理テーブルは作成されないが、仮名文字が含
まれていた場合は、英字の次に仮名文字の管理テーブル
が作成される。
【0041】図9は数値属性の管理テーブルを示す図で
ある。この管理テーブルの項目には、管理番号と、その
管理番号に対応する文字列の、数値属性、分割順番、お
よびソート順インデックスがある。数値属性の項目に
は、その文字列内の数値属性の文字が登録されている。
【0042】さらに、分割順番には、その数値属性が文
字列内の何番目の属性であるかが登録されている。つま
り、図8における管理番号が1〜3の文字列は数値属性
は、その文字列の先頭にあるため、分割順番は1であ
る。そして、管理番号が4〜7の文字列は、先頭に英字
がありその次に数値があるため、分割順番は2である。
ここで、もし先頭の英字が2文字であっても、同じ属性
の文字であるため分割順番に変化はないが、英字と漢字
が数値の前にあった場合は、数値の分割順番は3にな
る。
【0043】ソート順インデックスの項目には、なにも
設定されていない。つまり、ここでは、ソート順インデ
ックスを設定するための領域を確保しているだけであ
る。図10は英字属性の管理テーブルを示す図である。
この管理テーブルの項目には、管理番号と、その管理番
号に対応する文字列の、英字属性、分割順番、およびソ
ート順インデックスがある。英字属性の項目には、その
文字列内の英字属性の文字が登録されている。分割順番
とソート順インデックスの項目については、図9の場合
と同様である。
【0044】図11は漢字属性の管理テーブルを示す図
である。この管理テーブルの項目には、管理番号と、そ
の管理番号に対応する文字列の、漢字属性、分割順番、
およびソート順インデックスがある。漢字属性の項目に
は、その文字列内の漢字属性の文字が登録されている。
分割順番とソート順インデックスの項目については、図
9の場合と同様である。
【0045】ここで、上記の各管理テーブルには、対応
する文字属性フラグが設けられており、ソートレベルが
同一視されない場合に、この文字属性フラグの各フラグ
ビットに、その管理テーブルがどのような属性の管理テ
ーブルであるかが設定されている。
【0046】図12は文字属性フラグを示す図である。
文字属性フラグ50は、4つのフラグビット51、5
2、53、54が設けられている。1つめのフラグビッ
ト51は、英字の大文字であるか、小文字であるかの識
別のためのフラグビットであり、その管理テーブル内の
文字の属性が大文字であれば「0」、小文字であれば
「1」が設定される。なお。このフラグビット51は、
英字が大文字と小文字の区別があるときにのみ有効であ
る。
【0047】2つめのフラグビット52は、仮名文字の
ひらがなであるか、カタカナであるかの識別のためのフ
ラグビットであり、その管理テーブルの文字がひらがな
であれば「0」、カタカナであれば「1」が設定され
る。なお、このフラグビット52は、仮名文字ががひら
がなとカタカナの区別があるときにのみ有効である。
【0048】3つめのフラグビット53は、文字が全角
の文字であるか、半角の文字であるかの識別のためのフ
ラグビットであり、その管理テーブルの文字が半角の文
字であれば「0」、全角の文字であれば「1」が設定さ
れる。このフラグビット53は、半角の文字と全角の文
字との区別があるときにのみ有効である。
【0049】最後のフラグビット54は、文字が数値で
あるか、数値以外であるかの識別のためのフラグビット
であり、その管理テーブルの文字が数値以外の文字であ
れば「0」、数値であれば「1」が設定される。
【0050】以上のように作成された各管理テーブルに
対し、属性別ソート順決定手段13が、ソート順インデ
ックスの値を決定する。このソート順インデックスの値
が管理テーブルごとに決定され、ソート順インデックス
の項目に結果が登録される。このとき、数値以外の文字
は、文字コードによってソート順インデックスに値が決
定されるが、数値については算術ソートが行われる。な
お、半角文字と全角文字の同種文字どうしでは半角文字
を優先し、英字の大文字と小文字の同種文字どうしでは
大文字を優先し、仮名文字のひらがなとカタカナの同種
文字どうしではひらがなを優先する。また、その属性を
含まない文字列は、最も優先されソート順は1番にな
る。
【0051】図13はソート順決定後の数値属性の管理
テーブルを示す図である。これは、図9に示す管理テー
ブルにソート順インデックスの値を登録した状態を示す
図である。この場合、数値属性なので算術ソートが行わ
れる。ここで、同じ「1」でも全角の文字と半角の文字
とがあるため、ソート順インデックスの値は半角の
「1」、全角の「1」、「2」、「10」の順になる。
【0052】図14はソート順決定後の英字属性の管理
テーブルを示す図である。これは、図10に示す管理テ
ーブルにソート順インデックスの値を登録した状態を示
す図である。ここで、管理番号が1〜3の文字列は、英
字を含まないためソート順は最優先となる。また、同じ
英字どうしの大文字と小文字では、大文字が優先され
る。さらに、同じ英字の大文字どうしにおける、半角の
文字と全角の文字とでは、半角の文字が優先される。同
じ英字の小文字どうしの場合も同様である。そのため、
ソート順は英字属性を含まない文字列が最優先とされ、
以降、大文字で半角の「 A」、大文字で全角の「A」、
小文字で半角の「 a」、小文字で全角の「a」の順にな
る。
【0053】図15はソート順決定後の漢字属性の管理
テーブルを示す図である。これは、図11に示す管理テ
ーブルにソート順インデックスの値を登録した状態を示
す図である。ここで、管理番号が4〜7の文字列は、漢
字を含まないためソート順は最優先となる。そのため、
ソート順は漢字属性を含まない文字列が最優先とされ、
次に「万円」の順になる。なお、違う漢字どうしにおい
ては、その漢字に対応する文字コードの大小関係で順番
が判断される。
【0054】ソート手段15は、これらの管理テーブル
を解析することによって、ソートを実行する。このと
き、ソート優先順の優先指定がされていない場合は、始
めに各文字列の分割番号が1の文字どうしで比較し、数
値、英字、仮名文字、漢字の順にソートされる。同じ属
性どうしでは、管理テーブル内に設定されているソート
順インデックスの値で判断される。分割番号が1の文字
どうしでソートの順番が同じになる場合は、分割番号が
2の文字どうしで比較を行う。
【0055】図16はソート優先順の優先指定がされて
いない場合のソート順判断結果を示す図である。これ
は、図9〜図11の管理テーブルを基にソート順を判断
した結果である。この結果は、数値属性の分割順番が1
の文字列(管理番号が1〜3)のソート順インデックス
の値で比較し、1〜3までのソート順が確定している。
次に英字属性の分割順番が1の文字列(管理番号が4〜
7)のソート順インデックスの値で比較し、1〜3まで
のソート順が確定している。
【0056】図17はソート優先順の優先指定がされて
いない場合のソート結果を示す図である。ソート結果
は、「1万円」、「2万円」、「10万円」、「A1」、
「A1」、「a1」、「a1」の順である。このソート結
果は、ソート優先順の優先指定がされていない場合であ
るが、ソート優先順の優先指定がされている場合には、
まず、その優先指定された属性の文字でソート順を判断
し、同じ文字の場合は分割順番が早いものが優先する。
【0057】図18は数値属性を優先指定した場合のソ
ート結果を示す図である。なお、この例では、全角の文
字と半角の文字の区別なしとする。その結果、「1万
円」、「A1」、「A1」、「a1」、「a1」、「2万
円」、「10万円」の順になっている。
【0058】この場合、まず各文字列の数値どうしが比
較される。このとき、数値であるため文字コードではな
く、その数値の大小関係が比較される。その結果、数値
が「1」の文字列(管理番号2、4〜7)、数値が
「2」の文字列(管理番号1)、数値が「10」の文字
列(管理番号3)の順になる。
【0059】そして、数値が「1」の文字列(管理番号
2、4〜7)どうしでは、分割順番が先である文字列が
優先するため、分割順番が「1」の文字列(管理番号
2)、分割順番が「2」の文字列(管理番号4〜7)の
順番になる。そして、管理番号4〜7の文字列は、数値
で比較した順番は同一であるため、英字どうしで比較さ
れる。
【0060】このようにして、属性が混在する文字列に
おいて、それぞれの属性に適した順番でソートを行うこ
とができるようになる。さらに、その属性の分割単位を
ソートレベルとして指定することによって、任意の属性
において、同種文字を同一視するかどうかを指定するこ
とができる。
【0061】また、ソート優先順を指定することによ
り、任意の属性を最優先の判断基準とすることができ
る。なお上記の説明では、ソート結果を表示装置に表示
させると説明したが、ソート結果を、ファイルとしてハ
ードディスク装置等の記憶装置に保存してもよい。
【0062】
【発明の効果】以上説明したように本発明では、属性が
混在する文字列を属性ごとに分割し、それぞれの属性ご
とに属性ごとのソート順を決定し、そのソート順を判断
基準にして属性単位の比較を行うようにしたため、それ
ぞれの属性を、その属性の文字の持つ意味に合ったソー
ト順を決定することができ、各種の属性が混在している
文字列であっても、適切な順番にソートすることができ
る。
【図面の簡単な説明】
【図1】本発明の属性混在文字列のソート装置を示す原
理図である。
【図2】本発明の属性混在文字列のソート方法の処理手
順の前半を示すフローチャートである。
【図3】本発明の属性混在文字列のソート方法の処理手
順の後半を示すフローチャートである。
【図4】全角文字と半角文字及び英字の大文字と小文字
を同一視した場合のソート例を示す図である。
【図5】算術ソートの例を示す図である。
【図6】ソート条件指定画面を示す図である。
【図7】ソートレベル設定フラグを示す図である。
【図8】ソートすべき文字列の例を示す図である。
【図9】数値属性の管理テーブルを示す図である。
【図10】英字属性の管理テーブルを示す図である。
【図11】漢字属性の管理テーブルを示す図である。
【図12】文字属性フラグを示す図である。
【図13】ソート順決定後の数値属性の管理テーブルを
示す図である。
【図14】ソート順決定後の英字属性の管理テーブルを
示す図である。
【図15】ソート順決定後の漢字属性の管理テーブルを
示す図である。
【図16】ソート優先順の優先指定がされていない場合
のソート順判断結果を示す図である。
【図17】ソート優先順の優先指定がされていない場合
のソート結果を示す図である。
【図18】数値属性を優先指定した場合のソート結果を
示す図である。
【符号の説明】
10 サーバ 11 データベース 12 分割手段 13 属性別ソート順決定手段 14a、14b、14c 管理テーブル 15 ソート手段 20 通信ネットワーク 30 クライアント 31 ソート条件指定手段 32 表示装置

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 属性の異なった文字が混在している属性
    混在文字列のソート装置において、 データベース(11)内のソート対象の文字列を、属性
    別に分割し、属性ごとの管理テーブル(14a、14
    b、14c)を作成する分割手段12と、 前記管理テーブル(14a、14b、14c)ごとに、
    属性に適した順にソート順を決定し、前記管理テーブル
    (14a、14b、14c)内の各文字列に対応するソ
    ート順インデックスに値を設定する属性別ソート順決定
    手段(13)と、 各文字列を属性ごとに比較し、同一属性どうしは前記ソ
    ート順インデックスの値によりソート順を判断し、ソー
    トを行うソート手段(15)と、 を有することを特徴とする属性混在文字列のソート装
    置。
  2. 【請求項2】 前記属性別ソート順決定手段(13)
    は、数値の属性に対しては、算術ソートを行うことを特
    徴とする請求項1記載の属性混在文字列のソート装置。
  3. 【請求項3】 前記属性別ソート順決定手段(13)
    は、同じ属性内の、同じ意味を持つ文字どうしは、同じ
    順番として扱い、ソート順を決定することを特徴とする
    請求項1記載の属性混在文字列のソート装置。
  4. 【請求項4】 前記ソート手段(15)は、優先的に判
    断基準とするべき優先属性がある場合には、各文字列の
    前記優先属性の分割順の早い文字列を優先し、同じ分割
    順の場合にはソート順インデックスに値によってソート
    順を判断することを特徴とする請求項1記載の属性混在
    文字列のソート装置。
  5. 【請求項5】 前記文字列を分割する際の、各属性に対
    し、ソート条件を指定するソート条件指定手段(31)
    をさらに有することを特徴とする請求項1記載の属性混
    在文字列のソート装置。
  6. 【請求項6】 前記ソート条件指定手段(31)は、属
    性を分割する際の分割単位を指定することを特徴とする
    請求項5記載の属性混在文字列のソート装置。
  7. 【請求項7】 前記ソート条件指定手段(31)は、ソ
    ートを行う際に最優先の判断基準とするべき優先属性
    を、任意に指定できることを特徴とする請求項5記載の
    属性混在文字列のソート装置。
  8. 【請求項8】 前記ソート条件指定手段(31)は、通
    信ネットワークを介して接続されたクライアント(3
    0)内に設けられていることを特徴とする請求項5記載
    の属性混在文字列のソート装置。
  9. 【請求項9】 ソート結果を表示する表示装置(32)
    をさらに有することを特徴とする請求項1記載の属性混
    在文字列のソート装置。
  10. 【請求項10】 前記表示装置は通信ネットワークを介
    して接続されたクライアント(30)内に設けられてい
    ることを特徴とする請求項9記載の属性混在文字列のソ
    ート装置。
  11. 【請求項11】 属性の異なった文字が混在している属
    性混在文字列のソート方法において、 ソート対象の文字列を属性別に分割し、 各属性ごとに適した順にソート順を決定し、 各文字列を属性ごとに比較し、同一属性どうしは、決定
    されている前記ソート順によりソート順を判断し、ソー
    トを行うこと、 を特徴とする属性混在文字列のソート方法。
  12. 【請求項12】 前記ソート順を決定する際には、数値
    属性は算術ソートを行うことを特徴とする請求項11記
    載の属性混在文字列のソート方法。
  13. 【請求項13】 前記ソート順を決定する際には、同じ
    属性内の、同じ意味を持つ文字どうしは、同じ順番とし
    て扱い、ソート順を決定することを特徴とする請求項1
    1記載の属性混在文字列のソート方法。
JP14591394A 1994-06-28 1994-06-28 属性混在文字列のソート装置及び属性混在文字列のソート方法 Expired - Fee Related JP3457061B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP14591394A JP3457061B2 (ja) 1994-06-28 1994-06-28 属性混在文字列のソート装置及び属性混在文字列のソート方法
US08/413,889 US5799303A (en) 1994-06-28 1995-03-30 Apparatus and method for sorting attributes-mixed character strings

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14591394A JP3457061B2 (ja) 1994-06-28 1994-06-28 属性混在文字列のソート装置及び属性混在文字列のソート方法

Publications (2)

Publication Number Publication Date
JPH0816562A true JPH0816562A (ja) 1996-01-19
JP3457061B2 JP3457061B2 (ja) 2003-10-14

Family

ID=15395978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14591394A Expired - Fee Related JP3457061B2 (ja) 1994-06-28 1994-06-28 属性混在文字列のソート装置及び属性混在文字列のソート方法

Country Status (2)

Country Link
US (1) US5799303A (ja)
JP (1) JP3457061B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134332A (ja) * 2004-11-05 2006-05-25 Microsoft Corp 自動化された並べ替え作成
KR100982860B1 (ko) * 2007-05-10 2010-09-16 캐논 가부시끼가이샤 정보 처리 장치 및 정보 처리 방법
JP2022504384A (ja) * 2018-10-23 2022-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 多言語データ・ガバナンスおよび管理を改良するための認知照合構成

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813004A (en) * 1995-09-25 1998-09-22 International Business Machines Corporation Partitioning and sorting logical units of data prior to reaching an end of the data file
US6185729B1 (en) * 1996-03-04 2001-02-06 Sun Microsystems, Inc. Multibyte locale for single byte languages
US6460015B1 (en) * 1998-12-15 2002-10-01 International Business Machines Corporation Method, system and computer program product for automatic character transliteration in a text string object
US6496844B1 (en) 1998-12-15 2002-12-17 International Business Machines Corporation Method, system and computer program product for providing a user interface with alternative display language choices
US6389386B1 (en) * 1998-12-15 2002-05-14 International Business Machines Corporation Method, system and computer program product for sorting text strings
US7099876B1 (en) 1998-12-15 2006-08-29 International Business Machines Corporation Method, system and computer program product for storing transliteration and/or phonetic spelling information in a text string class
US6424969B1 (en) * 1999-07-20 2002-07-23 Inmentia, Inc. System and method for organizing data
EP1208474A2 (en) * 1999-07-20 2002-05-29 Inmentia Inc METHOD AND SYSTEM FOR DATA ORGANIZATION
JP2001125915A (ja) * 1999-10-28 2001-05-11 Fujitsu Ltd 情報検索装置
US6614789B1 (en) * 1999-12-29 2003-09-02 Nasser Yazdani Method of and apparatus for matching strings of different lengths
US6873986B2 (en) * 2000-10-30 2005-03-29 Microsoft Corporation Method and system for mapping strings for comparison
US20020111936A1 (en) * 2001-01-19 2002-08-15 Ec Outlook, Inc. System and method for analyzing computer intelligible electronic data
US6944619B2 (en) 2001-04-12 2005-09-13 Primentia, Inc. System and method for organizing data
US20030172048A1 (en) * 2002-03-06 2003-09-11 Business Machines Corporation Text search system for complex queries
US7035862B2 (en) * 2002-05-09 2006-04-25 Siemens Medical Solutions Health Services Corporation Method for processing information from an information repository
CA2390849A1 (en) * 2002-06-18 2003-12-18 Ibm Canada Limited-Ibm Canada Limitee System and method for sorting data
US20040158561A1 (en) * 2003-02-04 2004-08-12 Gruenwald Bjorn J. System and method for translating languages using an intermediate content space
US8255417B2 (en) * 2003-05-20 2012-08-28 Google Inc. System and method for providing definitions
US20050108024A1 (en) * 2003-11-13 2005-05-19 Fawcett John Jr. Systems and methods for retrieving data
DE102004012265B4 (de) * 2004-03-12 2006-05-11 S. Siedle & Söhne Telefon- und Telegrafenwerke OHG Verfahren zum Betreiben einer Türanlage sowie Türanlage
US20050251519A1 (en) * 2004-05-07 2005-11-10 International Business Machines Corporation Efficient language-dependent sorting of embedded numerics
US7899665B2 (en) * 2004-08-20 2011-03-01 International Business Machines Corporation Methods and systems for detecting the alphabetic order used by different languages
CN101441637A (zh) * 2007-11-22 2009-05-27 国际商业机器公司 对已排序的字符串序列再排序的方法及装置
US8234287B2 (en) * 2008-09-24 2012-07-31 International Business Machines Corporation Sorting records based on free text field content
US8176080B2 (en) * 2009-03-06 2012-05-08 Hewlett-Packard Development Company, L.P. Desensitizing character strings
US20110087687A1 (en) * 2009-10-14 2011-04-14 International Business Machines Corporation Position sensitive type-ahead matching for resource navigation
JP5975272B2 (ja) * 2012-07-12 2016-08-23 アルパイン株式会社 リスト表示装置、リスト表示方法およびリスト表示用プログラム
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4210961B1 (en) * 1971-10-08 1996-10-01 Syncsort Inc Sorting system
US4295206A (en) * 1979-06-06 1981-10-13 Ncr Canada Ltd.-Ncr Canada Ltee Document sorting method
US4611280A (en) * 1984-03-12 1986-09-09 At&T Bell Laboratories Sorting method
US4760526A (en) * 1985-05-22 1988-07-26 Hitachi, Ltd. Method for storing data into a file device and for data retrieval
JPH03210627A (ja) * 1990-01-16 1991-09-13 Seiko Epson Corp 電子計算機
US5218700A (en) * 1990-01-30 1993-06-08 Allen Beechick Apparatus and method for sorting a list of items
JP3061486B2 (ja) * 1992-09-18 2000-07-10 株式会社ピーエフユー データソート処理システム
US5551018A (en) * 1993-02-02 1996-08-27 Borland International, Inc. Method of storing national language support text by presorting followed by insertion sorting
US5440482A (en) * 1993-03-25 1995-08-08 Taligent, Inc. Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006134332A (ja) * 2004-11-05 2006-05-25 Microsoft Corp 自動化された並べ替え作成
KR100982860B1 (ko) * 2007-05-10 2010-09-16 캐논 가부시끼가이샤 정보 처리 장치 및 정보 처리 방법
US9607107B2 (en) 2007-05-10 2017-03-28 Canon Kabushiki Kaisha Information processing apparatus and information processing method
JP2022504384A (ja) * 2018-10-23 2022-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 多言語データ・ガバナンスおよび管理を改良するための認知照合構成

Also Published As

Publication number Publication date
US5799303A (en) 1998-08-25
JP3457061B2 (ja) 2003-10-14

Similar Documents

Publication Publication Date Title
JP3457061B2 (ja) 属性混在文字列のソート装置及び属性混在文字列のソート方法
US5721897A (en) Browse by prompted keyword phrases with an improved user interface
AU2008202535A1 (en) A method for automatically indexing documents
US20040177064A1 (en) Selecting effective keywords for database searches
US5563997A (en) Method and apparatus for sorting records into a list box in a graphic user interface
US20050278282A1 (en) Methods, systems, and storage mediums for expanding the functionality of database applications
JP2002366576A (ja) データ検索の方法、システム、およびプログラム製品
JP4922030B2 (ja) 文字列検索装置、方法及びプログラム
JPH03294964A (ja) 文書検索方法
JPH06309369A (ja) 情報検索装置
JP2002259173A (ja) ファイル管理プログラム、ファイル管理プログラムを記録したコンピュータ読取可能な記録媒体、ファイル管理装置およびファイル管理方法
JPH08263509A (ja) ソフトウェア利用装置
US20060074982A1 (en) Method for comparing tabular data
JPH0514304B2 (ja)
JP2003099439A (ja) 分析処理方法検索装置
JPH08161320A (ja) 文書作成装置及びその表示処理方法
JP2025064471A (ja) 情報処理システム及びプログラム
JPH0237466A (ja) 情報処理システム
US20070233659A1 (en) Information auto classification method and information search and analysis method
JPH05250417A (ja) 文字列データの検索方法
JPH0944496A (ja) 自然語解析方法及び装置
JPH0991311A (ja) 情報蓄積検索装置およびその制御方法
JPH03123973A (ja) 文書検索方法
JPH0528197A (ja) データベース処理装置
JPH07175815A (ja) 情報検索装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030722

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080801

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090801

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090801

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100801

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees