JP2006268545A - ファイル結合装置及びファイル結合方法及びプログラム - Google Patents
ファイル結合装置及びファイル結合方法及びプログラム Download PDFInfo
- Publication number
- JP2006268545A JP2006268545A JP2005086663A JP2005086663A JP2006268545A JP 2006268545 A JP2006268545 A JP 2006268545A JP 2005086663 A JP2005086663 A JP 2005086663A JP 2005086663 A JP2005086663 A JP 2005086663A JP 2006268545 A JP2006268545 A JP 2006268545A
- Authority
- JP
- Japan
- Prior art keywords
- file
- records
- record
- data
- priority
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 ファイル結合の際に、結合キーの内容が一意でない場合でも、クレンジング処理や名寄せ処理を行うことなく、ファイル結合を行う。
【解決手段】 制御部102が、ソートキーとして、結合キー項目と、結合キー項目に重複があった場合の優先順位決定のための優先データ項目とを指定し、ソート部105はファイル103に対して結合キー項目に基づくソートを行い、ファイル104に対して結合キー項目に基づくソートを行うとともに、結合キー項目が重複する重複レコードがある場合に、優先データ項目に基づくソートを行って重複レコード間の優先順位付けを行い、優先順位が最上位のレコードが重複レコード間で最初に出現するようにし、マージ部108は、ソート後のファイル106、107のマージを行い、ファイル107における重複レコードについては最初に出現するレコードのみをマージの対象とする。
【選択図】 図1
【解決手段】 制御部102が、ソートキーとして、結合キー項目と、結合キー項目に重複があった場合の優先順位決定のための優先データ項目とを指定し、ソート部105はファイル103に対して結合キー項目に基づくソートを行い、ファイル104に対して結合キー項目に基づくソートを行うとともに、結合キー項目が重複する重複レコードがある場合に、優先データ項目に基づくソートを行って重複レコード間の優先順位付けを行い、優先順位が最上位のレコードが重複レコード間で最初に出現するようにし、マージ部108は、ソート後のファイル106、107のマージを行い、ファイル107における重複レコードについては最初に出現するレコードのみをマージの対象とする。
【選択図】 図1
Description
本発明は、複数レコードからなるデータファイルの結合を効率的に行うファイル結合技術に関する。
ファイルの結合を行うシステムにおいて、従来の結合処理では、結合する側の結合キーのデータ内容が一意でない場合、結合結果としては、結合される側のデータが複数レコードとなる(外部結合)。従って、レコードを重複させることなくファイルを結合するために、予め結合するファイルをクレンジングし一意性を確保しておくか、結合の結果のレコードから不要なレコードを除くなどの複雑な処理が必要であった。
この点、レコード結合前にファイルを正規化するか、結合後に結合処理のデータ格納用の待ち行列のデータ数が一定数を超えたとき、データを別に用意したバッファ領域に溜めるようにして、データをバッファ領域から数件まとめて一括して格納することによって、大量データが発生した場合もデータ格納処理の回数を削減することで、処理能力の向上を行う技術がある(例えば、特許文献1)。
特開平06−168166号公報
データベースにデータを投入する際に、予め明細ファイルに(属性情報として)他のファイルを結合して投入データを作成する場合が多い。この時、結合するファイル側の結合キーの内容が一意でない事がある場合、従来は、予め結合するファイルをクレンジングし一意性を確保しておくか、結合の結果のレコードから不要なレコードを除くなどの複雑な処理が必要であった。
この発明は、上記のような問題点を解決することを主な目的としており、ファイル結合を行う処理において、結合するファイル側の結合キーの内容が一意でない場合でも、明細のレコードを重複させないことにより、クレンジング処理や名寄せ処理を省き、高速な結合処理を実現することを主な目的とする。
本発明に係るファイル結合装置は、
複数のデータ項目からなる複数のレコードを有する第一ファイルと、複数のデータ項目からなる複数のレコードを有する第二ファイルとを結合するファイル結合装置であって、
第一ファイル及び第二ファイルの双方に共通に含まれるいずれかのデータ項目を結合キー項目として指定する結合キー項目指定部と、
第二ファイル内に結合キー項目のデータ内容が重複する重複レコードが存在する場合の重複レコード間の優先順位の決定に用いられるデータ項目を優先データ項目として指定する優先データ項目指定部と、
第二ファイル内に重複レコードが存在する場合に、重複レコードの優先データ項目のデータ内容に基づいて重複レコード間の優先順位を決定するとともに、第一ファイル内のレコードごとに、結合キー項目のデータ内容が一致するレコードを第二ファイル内で検索し、結合キー項目のデータ内容が一致するレコードであって優先順位がより上位にあるレコードを第二ファイルから抽出し、抽出した第二ファイルのレコードを第一ファイル内の結合対象のレコードに結合する結合部とを有することを特徴とする。
複数のデータ項目からなる複数のレコードを有する第一ファイルと、複数のデータ項目からなる複数のレコードを有する第二ファイルとを結合するファイル結合装置であって、
第一ファイル及び第二ファイルの双方に共通に含まれるいずれかのデータ項目を結合キー項目として指定する結合キー項目指定部と、
第二ファイル内に結合キー項目のデータ内容が重複する重複レコードが存在する場合の重複レコード間の優先順位の決定に用いられるデータ項目を優先データ項目として指定する優先データ項目指定部と、
第二ファイル内に重複レコードが存在する場合に、重複レコードの優先データ項目のデータ内容に基づいて重複レコード間の優先順位を決定するとともに、第一ファイル内のレコードごとに、結合キー項目のデータ内容が一致するレコードを第二ファイル内で検索し、結合キー項目のデータ内容が一致するレコードであって優先順位がより上位にあるレコードを第二ファイルから抽出し、抽出した第二ファイルのレコードを第一ファイル内の結合対象のレコードに結合する結合部とを有することを特徴とする。
本発明によれば、第二ファイル内の重複レコードに対して優先データ項目に基づいて重複レコード間の優先順位を決定し、ファイル結合の際には、第二ファイル内の重複レコードについては優先順位が上位のレコードのみを抽出して結合するため、クレンジング処理や名寄せ処理を不要とし、このため、高速な結合処理を行うことが可能になる。
実施の形態1.
図1は、本実施の形態に係るファイル結合装置100の機能要素を示すシステムの構成図である。
図1は、本実施の形態に係るファイル結合装置100の機能要素を示すシステムの構成図である。
図1において、ファイル結合装置100は、ファイル結合に関する設定情報を入力する設定情報入力部101と、設定情報に従ってソート部105とマージ部108をコントロールする制御部102と、指定されたソートキーによりデータのソートを実行するソート部105と、指定された複数データのマージ(結合)を行うマージ部108とを有する。
結合されるファイル103及び結合するファイル104は、結合を実行する対象データである。結合されるファイル103及び結合するファイル104ともに、複数のデータ項目からなる複数のレコードを有するファイルである。結合されるファイル103は、例えば、売り上げ明細ファイルであり、結合するファイル104は、例えば、顧客マスタファイルである。図2に結合されるファイル103の具体例を示し、図3に結合するファイル104の具体例を示す。
ソート後の結合されるファイル106は、結合されるファイル103がソート部105にてソートされた結果出力であり、マージ部108に入力される。ソート後の結合するファイル107は、結合するファイル104がソート部105にてソートされた結果出力であり、マージ部108に入力される。図4にソート後の結合されるファイル106の具体例を示し、図5にソート後の結合するファイル107の具体例を示す。
結合結果109は、ソート後の結合されるファイル106とソート後の結合するファイル107をマージ部108にて結合した結果であり、本システムの結果データである。図6に結合結果の具体例を示す。
結合されるファイル103は、第一ファイルの例であり、結合するファイル104は、第二ファイルの例である。ソート後の結合されるファイル106は、ソート後の第一ファイルの例であり、ソート後の結合するファイル107は、ソート後の第二ファイルでの例である。
設定情報入力部101が入力する設定情報は制御部102に対するユーザの設定内容であり、具体的には、ファイルを結合する際の結合キー項目(項目名)、結合キー項目に重複があった場合の優先順位を決定するための優先データ項目(項目名)、優先データ項目の優先条件(昇順か降順か)などを含む情報である。そして、制御部102は、設定情報に基づいて、結合キー項目、優先データ項目、優先データ項目の優先条件をソート部105及びマージ部108に指定する。
制御部102は、結合キー項目指定部及び優先データ項目指定部の例であり、ソート部105は第一ソート部及び第二ソート部の例である。また、ソート部105とマージ部108を合わせたものが結合部の例に相当する。
次に動作について説明する。
まずファイル結合装置100の稼動前の準備段階として、結合対象(結合されるファイル103及び結合するファイル104のファイル名)と、それぞれの結合キー項目(項目名)と、結合するファイル104の結合キー項目のデータが重複していた場合に優先するレコードを決定するための優先データ項目(項目名)を1つと優先条件(大きい方を優先するか小さい方を優先するか)を含む設定情報を設定情報入力部101がユーザから入力する。
次に、設定情報入力部101から制御部102に設定情報が渡され、制御部102は、ソート部105に対してソート対象ファイルとソートキーを指定し、ソート部105にソートを実行させる。この時、制御部102は、結合されるファイル103に対するソートキーとして“結合キー項目”のみを指定し、結合するファイル104に対するソートキーとしては“結合キー項目”と“優先データ項目”の双方を指定する。また、結合ファイル104に対しては、“優先条件”も指定する。ソート部105は、結合キー項目に基づいて結合するファイル104のソートを行うともに、結合キー項目が重複するレコードが存在する場合は、優先データ項目と優先条件に基づいてソートを行うことにより、重複するレコード間の優先順位を決定する。そして、この優先順位付けにより、優先順位の最上位のレコードがマージ部108におけるレコード抽出の際に重複レコード間で最初に出現することになる。なお、ソート部105のソート動作自体は、従来の技術と同様である。
また、制御部102は、両方のファイルのソート完了後、マージ部108に“結合キー項目”と“優先データ項目”の双方を指定する。
図7は本実施の形態のマージ部108による結合処理手順を示すフローチャートである。
マージ部108は、先ず、ソート後の結合されるファイル106とソート後の結合するファイル107を1レコードずつ入力する(処理S121、S122)。最初に1レコードずつ入力された時点では、“前回読込みレコードの情報”は無いので、“前回読込みレコードの情報”との比較は偽である(処理S123)。
次に入力済みの双方のレコードを結合キーによってマッチングをとり(処理S124)、一致していれば、双方のデータを結合したレコードを結合結果109に書き出し(処理S125)、ソートされた結合するファイル107を1レコード入力し(処理S121)、一致していなければ、ソートされた結合するファイル107を1レコード入力し(処理S122)、入力済みの双方のレコードを結合キーによってマッチングをとる(処理S124)。これをソートされた結合されるファイル106の全てのレコードを処理するまで繰り返す。
ここで、結合するファイル107の結合キーの内容が前回入力レコードと同じだった場合、結合するファイル107は“優先データ項目”においてもソートされているため、前回入力レコードが優先される結合対象レコードと判断する事ができる。これより、結合キーの内容が変化したかどうかを判断する(処理S123)事で、結合キーの内容が変化するまで結合するファイル107の入力を繰り返す事でマッチング処理を省略可能となる。また、一旦、重複内容とも結合したレコードを結合結果に書き出した後に改めて優先順位判定を実行する処理に比して、高速に結果を得る事が可能となる。
次に、図2〜図6のファイル例を用いて、動作を具体的に説明する。
図2は、結合されるファイル103の一例を示す。制御部102は、ソート部105に対して、結合されるファイル103のソートキーとして結合キー項目を指定する。ここで、結合キー項目は、図2のうちの“氏名”と“住所”の項目を指定する。ソート部105では、図2の結合されるファイル103を“氏名”と“住所”の項目に基づいてソートし、図4のソート後の結合されるファイル106が得られる。
図3は、結合するファイル104の一例を示す。図3では、氏名“かきくけこ”及び住所“東京都杉並区”に対してメンバIDが“1002”と“10205”の二つがが存在する。これは、同一人物が複数回ユーザ登録を実施し異なるIDを持つような場合である。制御部102は、ソート部105に対して、結合するファイル104のソートキーとして結合キー項目と優先データ項目を指定し、また、優先条件を指定する。ここで、結合キー項目として、図3のうちの“氏名”と“住所”の項目を指定し、優先データ項目として“登録日”を指定し、優先条件として降順(新しい日付を優先する)を指定する。ソート部105では、図3の結合するファイル104を“氏名”と“住所”の項目に基づいてソートするとともに、氏名“かきくけこ”及び住所“東京都杉並区”を有する二つの重複レコードに対しては、優先データ項目である“登録日”に基づいてソートする。この結果、図5のソート後の結合するファイル107が得られる。
これらソート後の結合されるファイル106とソート後の結合するファイル107に対するマージ部108の処理は、以下のようになる。
処理S121において、ソート後の結合されるファイル106の第1レコードを読み込み、処理S122において、ソート後の結合するファイル107の第1レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNoなので(前回読み込みレコード無し)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、YESなので(氏名=あいうえお、住所=東京都杉並区)、処理S125において、レコードを結合し、結合結果に書き出す。
そして、処理S126において、結合されるファイルに未読レコードは残っているか否かを判断し、YESなので、処理S121に戻る。
次に、処理S121において、ソート後の結合されるファイル106の第2レコードを読み込み、処理S122において、ソート後の結合するファイル107の第1レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(前回読み込みレコード無し)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、YESなので(氏名=あいうえお、住所=東京都杉並区)、処理S125において、レコードを結合し、結合結果に書き出す。
次に、処理S121において、ソート後の結合されるファイル106の第3レコードを読み込み、処理S122において、ソート後の結合するファイル107の第1レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(前回読み込みレコード無し)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、NOなので(ソート後の結合されるファイル106の第3レコードの氏名=かきくけこ、住所=東京都杉並区、ソート後の結合するファイル107の第1レコードの氏名=あいうえお、住所=東京都杉並区)、処理S122において、ソート後の結合するファイル107の第2レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(氏名=かきくけこ、住所=東京都杉並区)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、YESなので(氏名=かきくけこ、住所=東京都杉並区)、処理S125において、レコードを結合し、結合結果に書き出す。
次に、処理S121において、ソート後の結合されるファイル106の第4レコードを読み込み、処理S122において、ソート後の結合するファイル107の第1レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(前回読み込みレコード無し)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、NOなので(ソート後の結合されるファイル106の第4レコードの氏名=かきくけこ、住所=東京都杉並区、ソート後の結合するファイル107の第1レコードの氏名=あいうえお、住所=東京都杉並区)、処理S122において、ソート後の結合するファイル107の第2レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(氏名=かきくけこ、住所=東京都杉並区)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、YESなので(氏名=かきくけこ、住所=東京都杉並区)、処理S125において、レコードを結合し、結合結果に書き出す。
次に、処理S121において、ソート後の結合されるファイル106の第5レコードを読み込み、処理S122において、ソート後の結合するファイル107の第1レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(前回読み込みレコード無し)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、NOなので(ソート後の結合されるファイル106の第5レコードの氏名=かきくけこ、住所=東京都杉並区、ソート後の結合するファイル107の第1レコードの氏名=あいうえお、住所=東京都杉並区)、処理S122において、ソート後の結合するファイル107の第2レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(氏名=かきくけこ、住所=東京都杉並区)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、YESなので(氏名=かきくけこ、住所=東京都杉並区)、処理S125において、レコードを結合し、結合結果に書き出す。
同様にして、処理S121において、ソート後の結合されるファイル106の第xレコードを読み込み(氏名=さしすせそ、住所=神奈川県横浜)、処理S122において、ソート後の結合するファイル107の第1レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。処理S123においてNOなので(前回読み込みレコード無し)処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、NOなので(ソート後の結合されるファイル106の第xレコードの氏名=さしすせそ、住所=神奈川県横浜、ソート後の結合するファイル107の第1レコードの氏名=あいうえお、住所=東京都杉並区)、処理S122において、ソート後の結合するファイル107の第2レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてNOなので(氏名=かきくけこ、住所=東京都杉並区)、処理S124において、両レコードの結合キー項目の内容が一致しているか否かを判断し、NOなので(ソート後の結合されるファイル106の第xレコードの氏名=さしすせそ、住所=神奈川県横浜、ソート後の結合するファイル107の第2レコードの氏名=かきくけこ、住所=東京都杉並区)、処理S122において、ソート後の結合するファイル107の第3レコードを読み込み、処理S123において、前回読込みレコードの結合キー項目の内容と同じか否かを判断する。
処理S123においてYESなので(氏名=かきくけこ、住所=東京都杉並区)、処理S122において、ソート後の結合するファイル107の第4レコードを読み込み、以下上記と同様の処理を繰り返して、ソート後の結合されるファイル106とソート後の結合するファイル107をマージして、図6に示す結合結果を得る。
従来のファイル結合方法では、メンバIDを結合キー項目とし、結合した後に氏名と住所などで名寄せ処理を実施するという後処理が必要である。しかし、本実施の形態では、制御部102は、結合するファイル104に対するソートキーとして“結合キー項目”と“優先データ項目”の双方を指定し、ソート部105では、結合キー項目が重複したレコード間の優先順位付けを“優先データ項目”に従って行う。このため、氏名と住所を結合キー項目とし、予め優先データ項目として登録日を指定しておく事で、最新の顧客情報と結合された結果を高速に得る事が可能となる。
このように、本実施の形態に係るファイル結合装置は、複数ファイルを結合キーの内容のつき合わせにより結合する処理において、結合キーとして利用する項目の情報と、結合の優先条件として利用する項目の情報と、結合の優先条件の情報を設定可能なインタフェースを備え、結合キーと優先条件として利用する項目をキーとして結合対象ファイルをソートする手段と、ソートされたファイル同士を結合キーでマージする際に内容が重複したレコードが存在する場合に結合の優先条件に従って結合すべきレコードをマージする手段を備えたことを特徴とする。
すなわち、ソートキーとして、結合キー項目と、結合キー項目に重複があった場合の優先順位決定のための優先データ項目とを指定し、ソート処理において、ファイル103に対して結合キー項目に基づくソートを行い、ファイル104に対して結合キー項目に基づくソートを行うとともに、結合キー項目が重複する重複レコードがある場合に、優先データ項目に基づくソートを行って重複レコード間の優先順位付けを行い、優先順位が最上位のレコードが重複レコード間で最初に出現するようにし、マージ処理において、ソート後のファイル106、107のマージを行い、ファイル107における重複レコードについては最初に出現するレコードのみを抽出してマージの対象とすることを特徴とする。
以上のように、結合するファイルにおいて結合キー項目のデータが重複していた場合に優先するレコードを決定するための優先データ項目(項目名)と優先条件(大きい方を優先するか小さい方を優先するか)を設定しておく事により、重複データの複数レコードのうち結合時に優先するレコードを最初に出現するようにソートしておく事ができ、結合時に、最初にマッチングしたレコードを結合対象と判断できる。これにより、結合するファイルにおいて結合キー項目のデータが重複していた場合でも高速な結合を実現できる。
実施の形態2.
以上の実施の形態1では、優先データ項目を一つとしていたが、次に優先データ項目が複数存在する例を示す。
以上の実施の形態1では、優先データ項目を一つとしていたが、次に優先データ項目が複数存在する例を示す。
図8は本実施の形態の結合するファイル104a及び104bの一例を示す図である。図8のように、同一人物が複数回ユーザ登録を実施し異なるIDを持つような顧客マスタが複数有る場合、実施の形態1の方法では、同一の登録日に同一顧客が登録されていた場合は、どちらのレコードを優先するかの判断基準が明確ではない。本実施の形態では、複数の優先データ項目を指定可能とする事で、登録日が同一ならば店舗IDが小さい方を優先するような条件設定が可能となる。
この結果、図8に示すような二つの結合するファイルが存在する場合でも、売り上げ明細などの結合されるファイルとスムーズに結合することができる。
このように、本実施の形態に係るファイル結合装置は、複数ファイルを結合キーの内容のつき合わせにより結合する処理において、結合キーとして利用する項目の情報と、結合の優先条件として利用する複数の項目の情報と、優先条件として利用するそれぞれの項目の優先条件の情報を設定可能なインタフェースを備え、結合キーと優先条件として利用する項目をキーとして結合対象ファイルをソートする手段と、ソートされたファイル同士を結合キーでマージする際に、内容が重複したレコードが存在する場合に結合の優先条件項目が先に出現したレコードをマージする手段を備えたことを特徴とする。
以上のように、結合するファイルにおいて結合キー項目のデータが重複していた場合に優先するレコードを決定するための優先データ項目(項目名)と優先条件(大きい方を優先するか小さい方を優先するか)を複数設定しておく事により、重複データの複数レコードのうち結合時に優先するレコードを最初に出現するようにソートしておく事ができ、結合時に、最初にマッチングしたレコードを結合対象と判断できる。これにより、結合するファイルにおいて結合キー項目のデータが重複していた場合でも高速な結合を実現できる。
前述した各実施の形態で、ファイル結合装置100は、コンピュータで実現できるものである。
図示していないが、ファイル結合装置100は、プログラムを実行するCPU(Central Processing Unit)を備えている。
例えば、CPUは、バスを介して、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、通信ボード、表示装置、K/B(キーボード)、マウス、FDD(Flexible Disk Drive)、CDD(コンパクトディスクドライブ)、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続可能である。
RAMは、揮発性メモリの一例である。ROM、フラッシュメモリ、FDD、CDD、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
前述した各実施の形態のファイル結合装置100が扱うデータや情報は、記憶装置あるいは記憶部に保存され、ファイル結合装置100の各部により、記録され読み出されるものである。
磁気ディスク装置には、オペレーティングシステム(OS)、ウィンドウシステム、プログラム群、ファイル群(データベース)が記憶されている。
プログラム群は、CPU、OS、ウィンドウシステムにより実行される。
上記ファイル結合装置100の各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ROMに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
上記プログラム群には、実施の形態の説明において「〜部」として説明した処理をCPUに実行させるプログラムが記憶される。これらのプログラムは、例えば、C言語やHTMLやSGMLやXMLなどのコンピュータ言語により作成される。
また、上記プログラムは、磁気ディスク装置、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記憶され、CPUにより読み出され実行される。
100 ファイル結合装置、101 設定情報入力部、102 制御部、103 結合されるファイル、104 結合するファイル、105 ソート部、106 ソート後の結合されるファイル、107 ソート後の結合するファイル、108 マージ部、109 結合結果。
Claims (5)
- 複数のデータ項目からなる複数のレコードを有する第一ファイルと、複数のデータ項目からなる複数のレコードを有する第二ファイルとを結合するファイル結合装置であって、
第一ファイル及び第二ファイルの双方に共通に含まれるいずれかのデータ項目を結合キー項目として指定する結合キー項目指定部と、
第二ファイル内に結合キー項目のデータ内容が重複する重複レコードが存在する場合の重複レコード間の優先順位の決定に用いられるデータ項目を優先データ項目として指定する優先データ項目指定部と、
第二ファイル内に重複レコードが存在する場合に、重複レコードの優先データ項目のデータ内容に基づいて重複レコード間の優先順位を決定するとともに、第一ファイル内のレコードごとに、結合キー項目のデータ内容が一致するレコードを第二ファイル内で検索し、結合キー項目のデータ内容が一致するレコードであって優先順位がより上位にあるレコードを第二ファイルから抽出し、抽出した第二ファイルのレコードを第一ファイル内の結合対象のレコードに結合する結合部とを有することを特徴とするファイル結合装置。 - 前記優先データ項目指定部は、
複数のデータ項目を優先データ項目として指定し、
前記結合部は、
第二ファイル内に重複レコードが存在する場合に、重複レコードの複数の優先データ項目のそれぞれのデータ内容に基づいて重複レコード間の優先順位を決定することを特徴とする請求項1に記載のファイル結合装置。 - 前記結合部は、
結合キー項目に基づき第一ファイルのソートを行う第一ソート部と、
結合キー項目に基づき第二ファイルのソートを行うとともに、第二ファイル内に重複レコードが存在する場合に、優先データ項目に基づき重複レコード間の優先順位を決定し、優先順位が最上位のレコードがレコード抽出時に最初に出現するように重複レコードを配置する第二ソート部と、
ソート後の第一ファイルのレコードごとに、結合キー項目のデータ内容が一致するレコードをソート後の第二ファイル内で検索し、結合キー項目のデータ内容が一致するレコードであって最初に出現したレコードをソート後の第二ファイルから抽出し、抽出したソート後の第二ファイルのレコードをソート後の第一ファイル内の結合対象のレコードに結合するマージ部とを有することを特徴とする請求項1に記載のファイル結合装置。 - 複数のデータ項目からなる複数のレコードを有する第一ファイルと、複数のデータ項目からなる複数のレコードを有する第二ファイルとを結合するファイル結合方法であって、
第一ファイル及び第二ファイルの双方に共通に含まれるいずれかのデータ項目を結合キー項目として指定する結合キー項目指定ステップと、
第二ファイル内に結合キー項目のデータ内容が重複する重複レコードが存在する場合の重複レコード間の優先順位の決定に用いられるデータ項目を優先データ項目として指定する優先データ項目指定ステップと、
第二ファイル内に重複レコードが存在する場合に、重複レコードの優先データ項目のデータ内容に基づいて重複レコード間の優先順位を決定するとともに、第一ファイル内のレコードごとに、結合キー項目のデータ内容が一致するレコードを第二ファイル内で検索し、結合キー項目のデータ内容が一致するレコードであって優先順位がより上位にあるレコードを第二ファイルから抽出し、抽出した第二ファイルのレコードを第一ファイル内の結合対象のレコードに結合する結合ステップとを有することを特徴とするファイル結合方法。 - 複数のデータ項目からなる複数のレコードを有する第一ファイルと、複数のデータ項目からなる複数のレコードを有する第二ファイルとの結合をコンピュータに実行させるプログラムであって、
第一ファイル及び第二ファイルの双方に共通に含まれるいずれかのデータ項目を結合キー項目として指定する結合キー項目指定処理と、
第二ファイル内に結合キー項目のデータ内容が重複する重複レコードが存在する場合の重複レコード間の優先順位の決定に用いられるデータ項目を優先データ項目として指定する優先データ項目指定処理と、
第二ファイル内に重複レコードが存在する場合に、重複レコードの優先データ項目のデータ内容に基づいて重複レコード間の優先順位を決定するとともに、第一ファイル内のレコードごとに、結合キー項目のデータ内容が一致するレコードを第二ファイル内で検索し、結合キー項目のデータ内容が一致するレコードであって優先順位がより上位にあるレコードを第二ファイルから抽出し、抽出した第二ファイルのレコードを第一ファイル内の結合対象のレコードに結合する結合処理とをコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005086663A JP2006268545A (ja) | 2005-03-24 | 2005-03-24 | ファイル結合装置及びファイル結合方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005086663A JP2006268545A (ja) | 2005-03-24 | 2005-03-24 | ファイル結合装置及びファイル結合方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268545A true JP2006268545A (ja) | 2006-10-05 |
Family
ID=37204430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005086663A Pending JP2006268545A (ja) | 2005-03-24 | 2005-03-24 | ファイル結合装置及びファイル結合方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006268545A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008269166A (ja) * | 2007-04-18 | 2008-11-06 | Toshiba Corp | 顧客情報管理装置 |
JP2017107588A (ja) * | 2008-10-23 | 2017-06-15 | アビニシオ テクノロジー エルエルシー | ファジーなデータ操作 |
-
2005
- 2005-03-24 JP JP2005086663A patent/JP2006268545A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008269166A (ja) * | 2007-04-18 | 2008-11-06 | Toshiba Corp | 顧客情報管理装置 |
JP2017107588A (ja) * | 2008-10-23 | 2017-06-15 | アビニシオ テクノロジー エルエルシー | ファジーなデータ操作 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5832476A (en) | Document searching method using forward and backward citation tables | |
KR100467638B1 (ko) | 특허 데이터베이스로부터 관련 특허들의 인용관계를 빠른시간내에 검색하여 분석하기 위한 방법 | |
US20100005058A1 (en) | Computer product, information retrieving apparatus, and information retrieving method | |
JP2007304796A (ja) | データベース解析システム及びデータベース解析方法及びプログラム | |
WO2008062822A1 (fr) | Dispositif d'exploration de texte, procédé d'exploration de texte et programme d'exploration de texte | |
US20020051015A1 (en) | File management device and file management method | |
JP3784060B2 (ja) | データベース検索システム、その検索方法及びプログラム | |
JP2006268545A (ja) | ファイル結合装置及びファイル結合方法及びプログラム | |
JP7003749B2 (ja) | 生成プログラム、生成装置、および、生成方法 | |
JP2009098811A (ja) | 文書分類装置およびプログラム | |
JP4196824B2 (ja) | 情報区分装置、情報区分方法及び情報区分プログラム | |
JP2013008237A (ja) | 関連情報抽出プログラム、関連情報抽出方法及び関連情報抽出装置 | |
JP6753190B2 (ja) | 文書検索装置及びプログラム | |
JP2008052475A (ja) | ファイル検索装置、方法、プログラム | |
JP2005084993A (ja) | 故障診断支援装置 | |
JP2008046850A (ja) | 文書種類判別装置及び文書種類判別プログラム | |
JP3210842B2 (ja) | 情報処理装置 | |
JP6303742B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
JP7391766B2 (ja) | テストスクリプト生成システム、テストスクリプト生成方法、電子制御装置 | |
JP5971069B2 (ja) | 情報処理装置、タイトル抽出方法及びプログラム | |
JP7457392B2 (ja) | 文書処理方法、文書処理プログラム及び情報処理装置 | |
JP2010191624A (ja) | 情報検索方法とその装置、プログラム、記録媒体 | |
JPH1125121A (ja) | 文書分類装置及びプログラムを記録した機械読み取り可能な記録媒体 | |
JP2010122792A (ja) | 製品名名寄せ装置、その方法及びプログラム | |
JP2007164241A (ja) | ソフトウェア部品検索システム及び方法 |