JP6623040B2 - Butt processing device, butt processing method and butt processing program - Google Patents

Butt processing device, butt processing method and butt processing program Download PDF

Info

Publication number
JP6623040B2
JP6623040B2 JP2015228923A JP2015228923A JP6623040B2 JP 6623040 B2 JP6623040 B2 JP 6623040B2 JP 2015228923 A JP2015228923 A JP 2015228923A JP 2015228923 A JP2015228923 A JP 2015228923A JP 6623040 B2 JP6623040 B2 JP 6623040B2
Authority
JP
Japan
Prior art keywords
character string
records
record
databases
information
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.)
Active
Application number
JP2015228923A
Other languages
Japanese (ja)
Other versions
JP2017097610A (en
Inventor
貫一郎 望月
貫一郎 望月
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.)
Pasco Corp
Original Assignee
Pasco 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 Pasco Corp filed Critical Pasco Corp
Priority to JP2015228923A priority Critical patent/JP6623040B2/en
Publication of JP2017097610A publication Critical patent/JP2017097610A/en
Application granted granted Critical
Publication of JP6623040B2 publication Critical patent/JP6623040B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う突合処理装置及び突合処理方法並びに突合処理プログラムに関する。   The present invention relates to a match processing apparatus, a match processing method, and a match processing program for performing a match process for a plurality of databases each storing a plurality of records.

従来、複数のデータベース(例えば、データベースA及びデータベースB)のそれぞれに含まれている複数のレコードを突合した場合、突合状態を区分するコードを各レコードへ付与することによって突合結果を得ている。なお、本明細書におけるレコードとは、データベース内に格納されているデータのかたまりであって、例えば住所情報などのような固有の情報を示すデータのかたまりを指している。また、本明細書における突合とは、複数のデータベースのそれぞれのレコードに含まれているデータの一部又は全部が一致するか否かを調べるために、データベース同士(あるいは、データベースの各レコード同士)を照合することである。   Conventionally, when a plurality of records included in each of a plurality of databases (for example, the database A and the database B) are matched, a matching result is obtained by assigning a code for classifying the matching state to each record. Note that a record in this specification is a block of data stored in a database, and indicates a block of data indicating unique information such as address information. In addition, the term “match” in this specification refers to databases (or records in a database) in order to check whether or not all or part of data included in records in a plurality of databases match. Is to match.

従来の突合処理では、例えば、データベースA内のレコードとデータベースB内のレコードが一致した場合や何らかの関連付けが得られた場合には、そのレコードに対して一致したレコードであることを示すコード『1』を付与し、レコードが不一致となった場合には不一致のレコードであることを示すコード『−1』を付与するなど、単純なコードによってレコードの一致/不一致の識別を行っている。   In the conventional reconciliation process, for example, when the record in the database A and the record in the database B match or when some association is obtained, the code “1” indicating that the record matches the record ], And when the records do not match, a code “−1” indicating that the records are mismatched is added, and the record match / mismatch is identified by a simple code.

また、従来技術として、下記の特許文献1〜3に開示されている技術が存在する。特許文献1には、文字列階層データ(住所名など)や符号文字列データ(郵便番号など)が記憶された複数のデータベースを合成して、ツリー構造を持つ合成データベースを作成する技術が開示されている。特許文献1の開示技術によれば、文字列階層データは住所名などの階層構造を持つデータであり、文字列階層データを階層単位(ノード単位)で比較することで一致/不一致を判定する。   Moreover, the technique currently disclosed by the following patent documents 1-3 exists as a prior art. Patent Document 1 discloses a technique for creating a synthetic database having a tree structure by synthesizing a plurality of databases in which character string hierarchy data (such as address names) and code character string data (such as postal codes) are stored. ing. According to the technology disclosed in Patent Document 1, character string hierarchy data is data having a hierarchical structure such as an address name, and matching / non-coincidence is determined by comparing character string hierarchy data in hierarchical units (node units).

また、特許文献2には、住所コードデータベース(数字の配列で表される住所情報を含む)と、住所データベース(地名情報を含む)とをマージ(統合)して、マージデータベースを作成する技術が開示されている。特許文献2の開示技術によれば、データベースのマージを行う際、住所(町村名の部分)を右端から1文字ずつ削除して検索し、ヒットした箇所の文字列までコード化されていると判断して記憶する。この際、コード化されている箇所を識別するために、例えば記号『/』を挿入する。   Patent Document 2 discloses a technique for creating a merge database by merging (integrating) an address code database (including address information represented by an array of numbers) and an address database (including place name information). It is disclosed. According to the disclosed technique of Patent Document 2, when merging databases, the address (the part of the town / village name) is deleted and searched one character at a time from the right end, and it is determined that the character string of the hit location is encoded. And remember. At this time, for example, a symbol “/” is inserted in order to identify a coded portion.

また、特許文献3には、ユーザにより入力された検索住所文字列に基づいて、住所データベースの中から該当する住所データを検索する技術が開示されている。特許文献3の開示技術によれば、ユーザの入力した検索住所文字列に該当する住所が存在しない場合は、1つ以上の住所がヒットするまで、検索住所文字列を後方から所定量(例えば、住所表記単位)ずつ削除して検索を繰り返す。   Patent Document 3 discloses a technique for searching for corresponding address data from an address database based on a search address character string input by a user. According to the technology disclosed in Patent Literature 3, when there is no address corresponding to the search address character string input by the user, the search address character string is reduced from the rear by a predetermined amount (for example, until one or more addresses are hit). Delete the address notation unit) and repeat the search.

特開2010−134828号公報(要約書、段落[0116]、図1、図30、図31、図34)JP 2010-134828 A (abstract, paragraph [0116], FIG. 1, FIG. 30, FIG. 31, FIG. 34) 特開2003−167912号公報(要約書、段落[0028]、図6)JP 2003-167912 A (Abstract, paragraph [0028], FIG. 6) 特開2003−186880号公報(要約書)JP2003-186880 (abstract)

従来技術では、各レコードにおける一致/不一致の状況の識別(例えば、上述したコード『1』、『−1』の付与)や、不一致となった各レコードについて修正すべき箇所の特定及び修正(例えば、上述した特許文献1、2の開示技術)を試みている。しかしながら、各レコードについて修正すべき箇所が特定されたとしても、適切な修正値を見つけ出すことは容易ではない。また、不一致となったレコードが特定されたとしても、不一致となった要因がどこにあり、データベース内のレコード全体において同様の理由で不一致となったレコードがどのくらい生じているのかなどを把握できなければ、不一致となったレコードを効率良くかつ適切に修正することは困難である。   In the prior art, the status of matching / non-matching in each record is identified (for example, the above-mentioned codes “1” and “−1” are assigned), and the location to be corrected for each non-matching record is specified and corrected (for example, And the above-described technologies disclosed in Patent Documents 1 and 2). However, even if the location to be corrected is specified for each record, it is not easy to find an appropriate correction value. In addition, even if a record that does not match is identified, it is necessary to understand where the cause of the mismatch is, and how many records are mismatched for the same reason in the entire record in the database. Therefore, it is difficult to efficiently and appropriately correct the mismatched records.

上記の問題点を考慮して、本発明は、複数のデータベースのそれぞれに含まれている複数のレコードを突合し、その突合結果を定量的な値(例えば、データベース間で一致したレコード数など)として示すことで、データベース同士の各レコードの一致/不一致の状況を明確に示すことができる突合処理装置及び突合処理方法並びに突合処理プログラムを提供することを目的とする。   In consideration of the above problems, the present invention matches a plurality of records included in each of a plurality of databases, and sets the matching result as a quantitative value (for example, the number of records matched between databases). It is an object of the present invention to provide a match processing device, a match processing method, and a match processing program that can clearly indicate the match / mismatch status of each record between databases.

上記の目的を達成するため、本発明の突合処理装置は、階層構造を有する文字列情報を含む複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う突合処理装置であって、
前記複数のデータベースのうちの第1データベース内のレコードに含まれる文字列情報と、前記複数のデータベースのうちの第2データベース内のレコードに含まれる文字列情報とを比較して、相互の文字列情報の一致又は不一致を検出するレコード比較部と、
前記階層構造の所定の上層から所定の下層までの所定の範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲で共通の文字列情報を含む前記第1データベース内のレコード数、前記所定の範囲で共通の文字列情報を含む前記第2データベース内のレコード数、並びに、前記所定の範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付ける突合結果生成部とを、
有する。
In order to achieve the above object, the matching processing apparatus of the present invention is a matching processing apparatus that performs a matching process of a plurality of databases each storing a plurality of records including character string information having a hierarchical structure,
The character string information included in the record in the first database of the plurality of databases and the character string information included in the record in the second database of the plurality of databases are compared with each other. A record comparison unit for detecting information match or mismatch;
When a record including character string information common in a predetermined range from a predetermined upper layer to a predetermined lower layer of the hierarchical structure exists in both the first and second databases, the character common in the predetermined range Including the number of records in the first database including column information, the number of records in the second database including character string information common to the predetermined range, and character string information common to the predetermined range. A matching result generator for associating information indicating each of the records in the first and second databases including common character string information within the predetermined range;
Have.

また、上記の目的を達成するため、本発明の突合処理方法は、階層構造を有する文字列情報を含む複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う突合処理方法であって、
前記複数のデータベースのうちの第1データベース内のレコードに含まれる文字列情報と、前記複数のデータベースのうちの第2データベース内のレコードに含まれる文字列情報とを比較して、相互の文字列情報の一致又は不一致を検出するレコード比較ステップと、
前記階層構造の所定の上層から所定の下層までの所定の範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲で共通の文字列情報を含む前記第1データベース内のレコード数、前記所定の範囲で共通の文字列情報を含む前記第2データベース内のレコード数、並びに、前記所定の範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付ける突合結果生成ステップとを、
有する。
Further, in order to achieve the above object, the matching processing method of the present invention is a matching processing method for performing matching processing of a plurality of databases each storing a plurality of records including character string information having a hierarchical structure,
The character string information included in the record in the first database of the plurality of databases and the character string information included in the record in the second database of the plurality of databases are compared with each other. A record comparison step for detecting information match or mismatch;
If a record including character string information common in a predetermined range from a predetermined upper layer to a predetermined lower layer of the hierarchical structure exists in both the first and second databases, the common character in the predetermined range Including the number of records in the first database including column information, the number of records in the second database including character string information common to the predetermined range, and character string information common to the predetermined range. A matching result generation step for associating information indicating each of the records in the first and second databases including common character string information in the predetermined range;
Have.

また、上記の目的を達成するため、本発明の突合処理プログラムは、階層構造を有する文字列情報を含む複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う突合処理方法をコンピュータにより実行させるための突合処理プログラムであって、
前記複数のデータベースのうちの第1データベース内のレコードに含まれる文字列情報と、前記複数のデータベースのうちの第2データベース内のレコードに含まれる文字列情報とを比較して、相互の文字列情報の一致又は不一致を検出するレコード比較ステップと、
前記階層構造の所定の上層から所定の下層までの所定の範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲で共通の文字列情報を含む前記第1データベース内のレコード数に基づく情報、前記所定の範囲で共通の文字列情報を含む前記第2データベース内のレコード数に基づく情報、並びに、前記所定の範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付ける突合結果生成ステップとを、
有する突合処理方法をコンピュータにより実行させるための突合処理プログラムである。
In order to achieve the above object, the matching processing program of the present invention executes a matching processing method for performing a matching process of a plurality of databases each storing a plurality of records including character string information having a hierarchical structure. A matching process program for
The character string information included in the record in the first database of the plurality of databases and the character string information included in the record in the second database of the plurality of databases are compared with each other. A record comparison step for detecting information match or mismatch;
If a record including character string information common in a predetermined range from a predetermined upper layer to a predetermined lower layer of the hierarchical structure exists in both the first and second databases, the common character in the predetermined range Information based on the number of records in the first database including column information, information based on the number of records in the second database including character string information common to the predetermined range, and characters common to the predetermined range A matching result generating step for associating information indicating that column information is included with each of the records in the first and second databases including common character string information in the predetermined range;
A butt processing program for causing a computer to execute a butt processing method.

本発明は、上記の構成又は処理を有しており、複数のデータベースのそれぞれに含まれている複数のレコードを突合し、その突合結果を定量的な値(例えば、データベース間で突合したレコード数など)として示すことで、データベース同士の各レコードの一致/不一致の状況を明確に示すことができるという効果を有する。また、本発明は、データベース同士の各レコードの一致/不一致の状況を定量的に示すことで、この一致/不一致の状況の内訳を確認できるようにするという効果を有する。さらに、本発明は、不一致となったレコードについて、データベース間の不整合を解決するための作業を迅速に進めることができるようにするという効果を有する。   The present invention has the above-described configuration or processing, and a plurality of records included in each of a plurality of databases are collated, and the collation result is a quantitative value (for example, the number of records collated between databases, etc. ), It is possible to clearly indicate the match / mismatch status of each record in the databases. In addition, the present invention has an effect of making it possible to confirm the breakdown of the match / mismatch status by quantitatively indicating the match / mismatch status of each record in the databases. Furthermore, the present invention has an effect of enabling a work for resolving inconsistency between databases to be rapidly advanced with respect to a record that is inconsistent.

また、本発明は、特に、住所情報を含む台帳データベースと、地図などを表す画像情報に関連付けられて同じく住所情報を含む地図データベースとの突合処理に適用された場合において著しい効果を有する。住所情報を含む複数のデータベースにおいては、特に、国土における地番などに不整合が生じているという課題があり、こうした不整合の解決作業を的確かつ迅速に行うことが、行政や土地開発上の課題となっていた。本発明は、土地台帳と住所の突合検討において、本発明の実施の形態において説明するような一致/不一致の状況を明確に示すコード体系を用いて、適切なキー項目の値を迅速に見つけ出すことを可能とし、不突合となった要因を知ることができるという効果を有する。   In addition, the present invention has a remarkable effect particularly when applied to a matching process between a ledger database including address information and a map database including address information associated with image information representing a map or the like. In particular, there are problems with inconsistencies in lot numbers in national territories in multiple databases including address information, and it is important to resolve such inconsistencies accurately and quickly. It was. The present invention quickly finds the value of an appropriate key item using a code system that clearly indicates a match / mismatch situation as described in the embodiment of the present invention in the examination of a match between a land ledger and an address. This makes it possible to know the cause of the mismatch.

本発明の第1〜第3の実施の形態に共通する突合処理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the matching processing apparatus common to the 1st-3rd embodiment of this invention. 本発明の第1〜第3の実施の形態に共通する突合処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the matching process common to the 1st-3rd embodiment of this invention. 本発明の第1〜第3の実施の形態に共通する突合処理における事前設定処理の一例を示すフローチャートである。It is a flowchart which shows an example of the prior setting process in the matching process common to the 1st-3rd embodiment of this invention. 本発明の第1〜第3の実施の形態に共通する突合処理における突合コード設定処理の一例を示すフローチャートである。It is a flowchart which shows an example of the matching code setting process in the matching process common to the 1st-3rd embodiment of this invention. 本発明の第1〜第3の実施の形態における突合処理を説明するために用いられるデータベースA及びBの一例を示す図である。It is a figure which shows an example of the databases A and B used in order to demonstrate the matching process in the 1st-3rd embodiment of this invention. 本発明の第1及び第2の実施の形態における突合処理の処理過程におけるデータベースA及びBの状態の一例を示す図である。It is a figure which shows an example of the state of the databases A and B in the process of the matching process in the 1st and 2nd embodiment of this invention. 本発明の第1の実施の形態における突合処理の処理過程におけるデータベースA及びBの第1の状態の一例を示す図である。It is a figure which shows an example of the 1st state of the databases A and B in the process of the matching process in the 1st Embodiment of this invention. 本発明の第1の実施の形態における突合処理の処理過程におけるデータベースA及びBの第2の状態の一例を示す図である。It is a figure which shows an example of the 2nd state of the databases A and B in the process of the matching process in the 1st Embodiment of this invention. 本発明の第1の実施の形態における突合処理において得られる最終的な突合結果を含むデータベースA及びBの状態の一例を示す図である。It is a figure which shows an example of the state of the databases A and B containing the final matching result obtained in the matching process in the 1st Embodiment of this invention. 本発明の第1の実施の形態において、最終的な突合結果から特定の突合コードが設定されたレコードのみを抽出した状態の一例を示す図である。In the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which the specific matching code was set from the final matching result. 本発明の第2の実施の形態における突合処理の処理過程におけるデータベースA及びBの第1の状態の一例を示す図である。It is a figure which shows an example of the 1st state of the databases A and B in the process of the matching process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における突合処理の処理過程におけるデータベースA及びBの第2の状態の一例を示す図である。It is a figure which shows an example of the 2nd state of the databases A and B in the process of the matching process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における突合処理の処理過程におけるデータベースA及びBの第3の状態の一例を示す図である。It is a figure which shows an example of the 3rd state of the databases A and B in the process of the matching process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態における突合処理において得られる最終的な突合結果を含むデータベースA及びBの状態の一例を示す図である。It is a figure which shows an example of the state of the databases A and B containing the final matching result obtained in the matching process in the 2nd Embodiment of this invention. 本発明の第2の実施の形態において、突合処理の処理過程において得られる突合結果と最終的に得られる突合結果とを含んだデータベースA及びBの状態の一例を示す図である。In the 2nd Embodiment of this invention, it is a figure which shows an example of the state of the databases A and B containing the match result obtained in the process of a match process, and the match result finally obtained. 本発明の第3の実施の形態における突合処理において得られる最終的な突合結果を含むデータベースA及びBの状態の一例を示す図である。It is a figure which shows an example of the state of the databases A and B containing the final matching result obtained in the matching process in the 3rd Embodiment of this invention. 本発明の第1の実施の形態に係る実施例において、最終的な突合結果から特定の突合コード『10101』が設定されたレコードのみを抽出した状態の一例を示す図である。In the Example which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which the specific matching code "10101" was extracted from the final matching result. 本発明の第1の実施の形態に係る実施例において、最終的な突合結果から特定の突合コード『10201』が設定されたレコードのみを抽出した状態の一例を示す図である。In the Example which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which the specific matching code "10201" was extracted from the final matching result. 本発明の第1の実施の形態に係る実施例において、最終的な突合結果から特定の突合コード『11001』が設定されたレコードのみを抽出した状態の一例を示す図である。In the Example which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which the specific collision code "11001" was set from the final matching result. 本発明の第1の実施の形態に係る実施例において、最終的な突合結果から特定の突合コード『20101』が設定されたレコードのみを抽出した状態の一例を示す図である。In the Example which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which the specific matching code "20101" was set from the final matching result. 本発明の第1の実施の形態に係る実施例において、最終的な突合結果から特定の突合コード『20201』が設定されたレコードのみを抽出した状態の一例を示す図である。In the Example which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which the specific matching code "20201" was set from the final matching result. 本発明の第1の実施の形態に係る実施例において、最終的な突合結果から特定の突合コード『20404』が設定されたレコードのみを抽出した状態の一例を示す図である。In the Example which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which specific matching code "20404" was set from the final matching result. 本発明の第1の実施の形態に係る実施例において、最終的な突合結果から特定の突合コード『21002』が設定されたレコードのみを抽出した状態の一例を示す図である。In the Example which concerns on the 1st Embodiment of this invention, it is a figure which shows an example of the state which extracted only the record in which the specific matching code "21002" was set from the final matching result. 図15に図示されているテーブルから1〜6番目のレコード(第1〜第6レコード)を抽出した状態の一例を示す図である。It is a figure which shows an example of the state which extracted the 1st-6th record (1st-6th record) from the table shown by FIG. 図15に図示されているテーブルから1〜6番目のレコード(第1〜第6レコード)を抽出し、さらに「面積」フィールドが表示された状態の一例を示す図である。FIG. 16 is a diagram illustrating an example of a state in which the first to sixth records (first to sixth records) are extracted from the table illustrated in FIG. 15 and an “area” field is displayed. 本発明に係る突合処理によって2つのデータベース(台帳データベース及び地図データベース)で1対1に対応していると判断されたレコードについて、当該対応していると判断された各レコードの共通の項目(「面積」フィールド)の値を用いて作成された散布図の一例を示す図である。With respect to the records determined to correspond one-to-one in the two databases (the ledger database and the map database) by the matching process according to the present invention, the common items (“ It is a figure which shows an example of the scatter diagram created using the value of the "area" field).

以下、図面を参照しながら、本発明の第1〜第3の実施の形態について説明する。   Hereinafter, first to third embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の第1〜第3の実施の形態に共通する突合処理装置の構成の一例を示すブロック図である。図1に図示されている突合処理装置10は、データベース読み取り部11、突合処理部12を有している。また、突合処理装置10には、複数のデータベースが記憶された記憶媒体20、操作入力部30、表示部40が接続されている。   FIG. 1 is a block diagram showing an example of the configuration of a butt processing apparatus common to the first to third embodiments of the present invention. A match processing apparatus 10 illustrated in FIG. 1 includes a database reading unit 11 and a match processing unit 12. In addition, a storage medium 20 in which a plurality of databases are stored, an operation input unit 30, and a display unit 40 are connected to the matching processing device 10.

データベース読み取り部11は、記憶媒体20に記憶されている複数のデータベース(図1のデータベースA及びB)を読み取る機能を有している。突合処理装置10によって読み取られたデータベースは、突合処理部12が処理を行うために、例えば突合処理装置10内の主記憶装置(メインメモリ、図1には不図示)などに一時的に記憶される。   The database reading unit 11 has a function of reading a plurality of databases (databases A and B in FIG. 1) stored in the storage medium 20. The database read by the match processing device 10 is temporarily stored in, for example, a main storage device (main memory, not shown in FIG. 1) in the match processing device 10 in order for the match processing unit 12 to perform processing. The

突合処理部12は、データベース読み取り部11によって読み取られた複数のデータベース(図1のデータベースA及びB)内の各レコードの突合処理を行う機能を有しており、レコード比較部13、突合結果生成部14、突合結果出力部15を備えている。   The reconciliation processing unit 12 has a function of performing reconciliation processing for each record in a plurality of databases (databases A and B in FIG. 1) read by the database reading unit 11, and includes a record comparison unit 13, a reconciliation result generation Unit 14 and a match result output unit 15.

レコード比較部13は、複数のデータベース(図1のデータベースA及びB)のそれぞれの各レコードに含まれる文字列情報を相互に比較して、文字列情報の一致又は不一致を検出する突合処理を行う機能を有している。突合結果生成部14は、レコード比較部13による比較結果に基づいて、複数のデータベース(図1のデータベースA及びB)のそれぞれの各レコードに関する突合結果を生成する機能を有している。突合結果生成部14は、複数のデータベース(図1のデータベースA及びB)のそれぞれの各レコードの突合結果を、例えば後述する突合コード(突合結果を統合したコード情報)として生成することが可能である。突合結果出力部15は、突合結果生成部14によって生成された突合結果を出力して、データベース内のデータとして記録させたり表示部40に表示させたりする機能を有している。   The record comparison unit 13 compares the character string information included in each record of each of a plurality of databases (databases A and B in FIG. 1), and performs a matching process for detecting matching or mismatching of the character string information. It has a function. The match result generation unit 14 has a function of generating a match result for each record of a plurality of databases (databases A and B in FIG. 1) based on the comparison result by the record comparison unit 13. The match result generation unit 14 can generate a match result of each record of a plurality of databases (databases A and B in FIG. 1) as, for example, a match code (code information obtained by integrating the match results) described later. is there. The match result output unit 15 has a function of outputting the match result generated by the match result generation unit 14 and recording the result as data in the database or displaying the data on the display unit 40.

また、記憶媒体20は、データベースを記憶する機能を有しており、例えば、ハードディスク、光記録媒体、磁気記録媒体、不揮発性メモリなどにより実現可能である。なお、記憶媒体20は、ネットワークなどを介して突合処理装置10がアクセス可能な場所に配置されていてもよい。なお、図1には複数のデータベースとして2つのデータベース(データベースA及びB)が同一の記憶媒体20に記憶されている状態が図示されているが、複数のデータベースはそれぞれ異なる記憶媒体20に記憶されていてもよい。以下では、2つのデータベースにおける突合処理が行われる場合について主に説明するが、3つ以上のデータベースにおける突合処理が行われてもよい。   The storage medium 20 has a function of storing a database, and can be realized by, for example, a hard disk, an optical recording medium, a magnetic recording medium, a nonvolatile memory, or the like. Note that the storage medium 20 may be arranged at a location accessible by the matching processing apparatus 10 via a network or the like. Although FIG. 1 shows a state where two databases (databases A and B) are stored in the same storage medium 20 as a plurality of databases, the plurality of databases are stored in different storage media 20 respectively. It may be. In the following, the case where the matching process in two databases is performed will be mainly described, but the matching process in three or more databases may be performed.

記憶媒体20に記憶されているデータベースはデータの集合体であり、文字列情報を含む複数のデータを有している。データベースに含まれているデータは、例えば、所定の格納形式(例えば、表形式)に基づいて、レコード単位でデータベースに格納されている。なお、各レコードには、例えば階層構造を有する文字列情報が含まれている。文字列情報の一例としては、例えば市町村、大字、小字、地番、枝番などの階層構造を有する住所情報などが挙げられるが、その他の任意の種類の情報が利用可能である。また、複数のデータベースに含まれるレコード数は同一であってもよく、異なっていてもよい。   The database stored in the storage medium 20 is a collection of data, and has a plurality of data including character string information. Data included in the database is stored in the database in units of records based on, for example, a predetermined storage format (for example, a table format). Each record includes character string information having a hierarchical structure, for example. As an example of the character string information, for example, address information having a hierarchical structure such as a municipality, a large character, a small character, a lot number, a branch number, and the like, other arbitrary types of information can be used. Further, the number of records included in the plurality of databases may be the same or different.

また、操作入力部30は、突合処理装置10におけるユーザ操作を可能とする機能を有しており、例えばマウスやキーボードなどの入力インタフェースにより実現可能である。操作入力部30を用いることで、ユーザは、突合処理装置10に読み取らせるデータベースの指定、突合処理における設定、突合処理の開始指示、表示部40における情報の表示指示などを始めとした様々な設定及び指示を突合処理装置10に入力することが可能である。   Further, the operation input unit 30 has a function that enables a user operation in the matching processing device 10 and can be realized by an input interface such as a mouse or a keyboard. By using the operation input unit 30, the user can specify various settings such as specifying a database to be read by the match processing device 10, setting in the match process, start instruction for the match process, and information display instruction on the display unit 40. And an instruction can be input to the match processing apparatus 10.

また、表示部40は、複数のデータベースのそれぞれに格納されているデータや突合処理部12によって生成された突合結果などを、ユーザが視認可能な情報として提供する機能を有しており、例えばモニタ又はディスプレイなどによって実現可能である。また、操作入力部30及び表示部40は、操作入力機能と表示機能が一体化されたタッチパネルなどによって実現されてもよい。   Further, the display unit 40 has a function of providing data stored in each of a plurality of databases, a matching result generated by the matching processing unit 12, and the like as information that can be visually recognized by the user. Alternatively, it can be realized by a display or the like. Further, the operation input unit 30 and the display unit 40 may be realized by a touch panel in which an operation input function and a display function are integrated.

なお、図1では、突合処理装置10の各機能がブロックによって模式的に図示されているが、これらのブロックで表されている各機能は、例えば、ハードウェア又はCPU(Central Processing Unit:中央処理装置)がソフトウェア(プログラム)を実行することによって実現可能である。突合処理装置10は、例えば汎用PC(Personal Computer:パーソナルコンピュータ)によって実現可能であり、突合処理装置10における各処理は、本発明の第1〜第3の実施の形態における各処理(例えば、後述の図2A〜2Cに示すフローチャートに含まれる各処理)の実行命令が記述されたプログラムをCPUが実行することで実現可能である。   In FIG. 1, each function of the matching processing apparatus 10 is schematically illustrated by a block. However, each function represented by these blocks is, for example, hardware or a CPU (Central Processing Unit). This can be realized by executing software (program) by the device. The match processing device 10 can be realized by, for example, a general-purpose PC (Personal Computer), and each process in the match processing device 10 is performed in each of the first to third embodiments of the present invention (for example, described later). This can be realized by the CPU executing a program in which an execution instruction of each processing) included in the flowcharts shown in FIGS.

また、図1には不図示であるが、汎用PCで実現される突合処理装置10は、データやプログラムなどを一時的に記憶する主記憶装置(メインメモリ)を備えており、例えば、データベース読み取り部11によって読み込まれたデータベース内のデータ、処理中に変更又は生成されたデータ、CPUで実行すべきプログラムなどを主記憶装置に一時的に記憶しながら、本発明の第1〜第3の実施の形態における処理を行うことが可能である。   Although not shown in FIG. 1, the matching processing device 10 realized by a general-purpose PC includes a main storage device (main memory) that temporarily stores data, programs, and the like. First to third embodiments of the present invention while temporarily storing data in the database read by the unit 11, data changed or generated during processing, programs to be executed by the CPU, and the like in the main storage device It is possible to perform the processing in the form.

次に、図2A〜2Cを参照しながら、本発明の第1〜第3の実施の形態における突合処理について説明する。図2Aは本発明の第1〜第3の実施の形態に共通する突合処理の概要を示すフローチャート、図2Bは本発明の第1〜第3の実施の形態に共通する突合処理における事前設定処理(図2Aに示すステップS100の事前設定処理)の一例を示すフローチャート、図2Cは本発明の第1〜第3の実施の形態に共通する突合処理における突合コード設定処理(図2Aに示すステップS200の突合コード設定処理)の一例を示すフローチャートである。なお、図2A〜2Cに示すフローチャートの各処理は、図1に図示されている突合処理装置10により実行される。   Next, the matching process in the first to third embodiments of the present invention will be described with reference to FIGS. FIG. 2A is a flowchart showing an outline of the matching process common to the first to third embodiments of the present invention, and FIG. 2B is a pre-setting process in the matching process common to the first to third embodiments of the present invention. FIG. 2C is a flowchart illustrating an example of a matching code setting process in the matching process common to the first to third embodiments of the present invention (step S200 illustrated in FIG. 2A). Is a flowchart showing an example of the matching code setting process). 2A to 2C is executed by the abutting processing device 10 illustrated in FIG.

図2A〜2Cに示すフローチャートは、後述する本発明の第1〜第3の実施の形態における突合処理のそれぞれの動作を包含する。具体的には、図2CのステップS225において処理対象レベルを変更する処理が行われるが、このとき、処理対象レベルを上げる態様(後述の第1の実施の形態)、処理対象レベルを下げる態様(後述の第2の実施の形態)、これらの態様の組み合わせ(後述の第3の実施の形態)のいずれかを採用することが可能である。   The flowcharts shown in FIGS. 2A to 2C include the operations of the butt processing in the first to third embodiments of the present invention to be described later. Specifically, in step S225 in FIG. 2C, processing for changing the processing target level is performed. At this time, a mode of increasing the processing target level (first embodiment described later), a mode of decreasing the processing target level ( A second embodiment described later) or a combination of these aspects (third embodiment described later) can be employed.

以下、第1〜第3の実施の形態のそれぞれについて詳細に説明する。なお、本発明に対する理解が容易となるよう、突合処理を行う対象とする2つのデータベースA及びBの各レコードに、図3に示す階層構造を有する文字列情報が含まれている場合を一例に挙げながら説明する。   Hereinafter, each of the first to third embodiments will be described in detail. In order to facilitate understanding of the present invention, a case where character string information having the hierarchical structure shown in FIG. 3 is included in each record of the two databases A and B to be subjected to the matching process is taken as an example. Explain by giving.

<第1の実施の形態>
まず、本発明の第1の実施の形態における突合処理について説明する。図2Aに示すように、本発明の第1の実施の形態における突合処理は、事前設定処理(ステップS100)と、突合コード設定処理(ステップS200)とに大別される。ステップS100の事前設定処理では、後続の突合コード設定処理において使用されるパラメータなどの設定が行われる。また、ステップS200の突合コード設定処理では、実際に突合処理の対象となる複数のデータベース(例えば、データベースA及びB)内のレコードを比較し、各レコードに対して突合結果を示す情報(例えば、突合コード)を付与する処理が行われる。
<First Embodiment>
First, the matching process in the first embodiment of the present invention will be described. As shown in FIG. 2A, the matching process according to the first embodiment of the present invention is roughly divided into a pre-setting process (step S100) and a matching code setting process (step S200). In the pre-setting process in step S100, parameters used in the subsequent matching code setting process are set. In the matching code setting process in step S200, records in a plurality of databases (for example, databases A and B) that are actually targeted for the matching process are compared, and information indicating the matching result for each record (for example, (Matching code) is given.

事前設定処理では、図2Bに示すように、突合処理装置10は、記憶媒体20に記憶されている2つのデータベースA及びBを読み出し、これらのデータベースA及びBに含まれている各レコードの突合コード欄を初期化するとともに(例えば、初期値として『0』を設定)、レコードの階層構造に従って突合を行う階層(突合レベル)を設定する(ステップS101)。なお、設定された突合レベルは、後続の処理で用いるために突合処理装置10によって保持される。また、例えば図4に示すように、レコード内のデータが3つの階層(4桁の数字を持つ上層、3桁の数字を持つ中層、3桁の数字を持つ下層の3層)で構成された文字列情報の場合、突合処理装置10は、上層、中層、下層のすべてを含む階層構造をレベル1とし、上層及び中層を含む階層構造をレベル2とし、上層のみを含む階層構造をレベル3とすることが可能である。   In the preset processing, as shown in FIG. 2B, the matching processing device 10 reads two databases A and B stored in the storage medium 20, and matches each record included in these databases A and B. The code field is initialized (for example, “0” is set as an initial value), and a hierarchy (matching level) for performing matching according to the record hierarchy is set (step S101). The set butt level is held by the butt processor 10 for use in subsequent processing. For example, as shown in FIG. 4, the data in the record is composed of three layers (an upper layer having a 4-digit number, a middle layer having a 3-digit number, and a lower layer having a 3-digit number). In the case of the character string information, the matching processing apparatus 10 sets the hierarchical structure including all of the upper layer, the middle layer, and the lower layer as level 1, sets the hierarchical structure including the upper layer and the middle layer as level 2, and sets the hierarchical structure including only the upper layer as level 3. Is possible.

突合処理装置10は、最初に処理を行う対象となる初期レベルを決定し、この初期レベルを変数LVL(処理対象レベル)として設定する(ステップS103)。例えば、初期レベルとしてレベル1(変数LVL=1)が設定される。このとき、初期レベルの設定と共に、最後に処理を行う対象となる最終レベルをユーザが設定してもよい。また、自動的に、文字列情報の最下層が初期レベルとして設定され、文字列情報の最上層が最終レベルとして設定されてもよい。例えば図4に示すデータベースA及びBの例において、初期レベルとしてレベル1が設定され、最終レベルとしてレベル3が設定された場合には、後続の処理において、レベル1〜3のすべてのレベルにおいて突合処理が行われることになる。なお、初期レベルをレベル1と設定して最終レベルをレベル2と設定したり、初期レベルをレベル2と設定して最終レベルをレベル3と設定したりするなど、初期レベル及び最終レベルを設定することで突合処理を行うレベルの範囲を設定することが可能である。本第1の実施の形態では、後続の処理において処理対象レベルを徐々に上げていくため(すなわち、比較する文字列情報の長さを階層単位で徐々に短くするため)、初期レベルよりも最終レベルを大きくする(初期レベルのほうがより下層の文字列を含む)必要がある。   The match processing device 10 first determines an initial level to be processed, and sets this initial level as a variable LVL (processing target level) (step S103). For example, level 1 (variable LVL = 1) is set as the initial level. At this time, the user may set the final level to be processed last, together with the setting of the initial level. Further, the lowermost layer of the character string information may be automatically set as the initial level, and the uppermost layer of the character string information may be set as the final level. For example, in the example of databases A and B shown in FIG. 4, when level 1 is set as the initial level and level 3 is set as the final level, in the subsequent processing, all levels 1 to 3 are matched. Processing will be performed. The initial level and the final level are set such that the initial level is set to level 1 and the final level is set to level 2, or the initial level is set to level 2 and the final level is set to level 3. Thus, it is possible to set a range of levels for performing the matching process. In the first embodiment, since the processing target level is gradually increased in the subsequent processing (that is, the length of the character string information to be compared is gradually shortened in units of layers), the final level is higher than the initial level. It is necessary to increase the level (the initial level includes lower-level character strings).

上述の事前設定処理においてパラメータなどの設定が完了した後、突合コード設定処理では、図2Cに示すように、突合処理装置10は、データベースA及びBのそれぞれにおいて、処理対象レベルにおいて同一の文字列情報を含むレコード数を算出し、そのレコード数の最大値を抽出する(ステップS201)。例えば、処理対象レベルとしてレベル1(変数LVL=1)が設定されている場合には、図4に示すデータベースAの例では、処理対象レベル(レベル1)において同一の文字列情報を含むレコードはレコードNo.1、2、3のレコード(同一のレコード数=3)とレコードNo.5、6のレコード(同一のレコード数=2)であり、すなわち、レコード数の最大値は3となる。また同様に、図4に示すデータベースBの例では、処理対象レベル(レベル1)において同一の文字列情報を含むレコードはレコードNo.8、9のレコード(同一のレコード数=2)であり、レコード数の最大値は2となる。データベースAのレコード数の最大値は値vAMAXに設定され、データベースBのレコード数の最大値は値vBMAXに設定される。これらの値vAMAX及びvBMAXは、後述するループ処理のループ回数として利用される。なお、後述するループ処理においては、そのループ回数をそれぞれのデータベースA及びBのレコードの総数とした場合であっても適切に処理が行われるが、事前に、レコード数の最大値である値vAMAX及びvBMAXをループ回数として設定することで、ループ処理に要する処理時間を低減させることが可能となる。   After the setting of parameters and the like is completed in the above-described pre-setting process, in the match code setting process, as shown in FIG. The number of records including information is calculated, and the maximum number of records is extracted (step S201). For example, when level 1 (variable LVL = 1) is set as the processing target level, in the example of database A shown in FIG. 4, records containing the same character string information at the processing target level (level 1) Record No. 1, 2, and 3 records (number of identical records = 3) and record No. 5 and 6 records (number of identical records = 2), that is, the maximum number of records is 3. Similarly, in the example of the database B shown in FIG. 4, a record including the same character string information at the processing target level (level 1) is a record No. 8 and 9 records (number of identical records = 2), and the maximum number of records is 2. The maximum number of records in database A is set to the value vAMAX, and the maximum value of records in database B is set to the value vBMAX. These values vAMAX and vBMAX are used as the number of loops of loop processing described later. In the loop processing described later, the processing is appropriately performed even when the number of loops is the total number of records in the respective databases A and B. However, in advance, a value vAMAX that is the maximum value of the number of records is processed. Also, by setting vBMAX as the number of loops, it is possible to reduce the processing time required for loop processing.

以上のように、初期レベル及び最終レベル、データベースA及びBのそれぞれのレコード数の最大値(ループ回数の値vAMAX及びvBMAX)の設定が完了すると、突合処理装置10は、データベースA及びBの各レコードの突合処理を行うことが可能となる。突合処理装置10は、例えば、まずデータベースA内の同一レコード数(変数A1)を1に設定するとともに(ステップS203)、データベースB内の同一レコード数(変数B1)を1に設定して(ステップS205)、これらの条件に合ったレコードをデータベースA及びBのそれぞれから抽出し、共通するレコード(すなわち、同一の文字列情報によって構成されているレコード)を検索する(ステップS207)。なお、ステップS207において、共通の文字列情報を持つ共通のレコードが検出されなかった場合には、突合コードを設定すべきレコードは存在しないと判断し(ステップS209)、ステップS211及びS213の処理は実行されない。   As described above, when the setting of the maximum value (the loop count values vAMAX and vBMAX) of each of the initial level and the final level, and the databases A and B is completed, the matching processing device 10 It is possible to perform record matching processing. For example, the matching processing apparatus 10 first sets the number of identical records (variable A1) in the database A to 1 (step S203) and sets the number of identical records (variable B1) in the database B to 1 (step S203). S205), records satisfying these conditions are extracted from each of the databases A and B, and a common record (that is, a record constituted by the same character string information) is searched (step S207). If no common record having common character string information is detected in step S207, it is determined that there is no record for which a match code is to be set (step S209), and the processes in steps S211 and S213 are performed. Not executed.

図4に示すデータベースA及びBの例を参照すると、データベースA内に含まれている同一レコード数が1のレコードはレコードNo.4、7、8のレコードであり、データベースB内に含まれている同一レコード数が1のレコードはレコードNo.1〜7のレコードである。これらのレコードを比較することで、突合処理装置10は、データベースA内のレコードNo.7のレコードとデータベースB内のレコードNo.6のレコードとが共通の文字列情報『1356789012』を持つ共通のレコードであることを検出する。   Referring to the examples of databases A and B shown in FIG. 4, a record with the same number of records 1 included in database A is a record No. 4, 7, and 8, and the record with the same number of records 1 included in the database B is the record No. 1 to 7 records. By comparing these records, the reconciliation processing apparatus 10 records the record No. in the database A. 7 and record No. in database B. It is detected that the record No. 6 is a common record having common character string information “13556789012”.

そして、突合処理装置10は、データベースA及びBで共通するこれらのレコードに対し、変数LVL、変数A1、変数B1の3つの変数の値を用いて表される突合コードを設定する(ステップS211)。突合コードは様々な方法によって表現することが可能であるが、例えば、突合コード=LVL*10000+A1*100+B1などの計算式から突合コードを得ることが可能である。上述した例では、変数LVL=1、変数A1=1、変数B1=1であることから、データベースA内のレコードNo.7のレコードとデータベースB内のレコードNo.6のレコードに対しては、突合コード=1*10000+1*100+1=10101が設定される。このようにして得られた突合コードは、対応するレコードの突合コード欄に書き込まれ(ステップS213)、その結果、データベースA内のレコードNo.7の突合コード欄とデータベースB内のレコードNo.6のレコードNo.6の突合コード欄には『10101』が設定される。   Then, the matching processing apparatus 10 sets a matching code represented by using the values of three variables, the variable LVL, the variable A1, and the variable B1, for these records common to the databases A and B (step S211). . The matching code can be expressed by various methods. For example, the matching code can be obtained from a calculation formula such as a matching code = LVL * 10000 + A1 * 100 + B1. In the above example, since the variable LVL = 1, the variable A1 = 1, and the variable B1 = 1, the record No. 7 and record No. in database B. For the record 6, the matching code = 1 * 10000 + 1 * 100 + 1 = 10101 is set. The match code obtained in this way is written in the match code column of the corresponding record (step S213), and as a result, the record No. in the database A is recorded. 7 match code field and record No. in database B. Record No. 6 “10101” is set in the matching code column 6.

突合処理装置10は、変数A1=1、変数B1=1の検索を終了すると、続いて変数B1が値vBMAXに等しいか否かを判断し(ステップS215)、変数B1が値vBMAXに達していない場合には、変数B1を1だけ増加(インクリメント)して(ステップS217)、ステップS207以降の処理を再び行う。また、ステップS215で変数B1が値vBMAXに達したと判断した場合には、変数A1が値vAMAXに等しいか否かを判断し(ステップS219)、変数A1が値vAMAXに達していない場合には、変数A1をインクリメントして(ステップS221)、ステップS205以降の処理を再び行う。このように、ステップS203〜S221の処理により、ある特定の処理対象レベルにおいて、1からvAMAXまでの範囲にある変数A1と、1からvBMAXまでの範囲に存在する変数B1との各組み合わせにおいて、データベースAとデータベースBとの間に共通するレコードが存在するか否かが検索され、共通するレコードに対しては、そのレコードの突合コード欄に突合コードが設定される。   When the match processing device 10 finishes searching for the variables A1 = 1 and B1 = 1, it subsequently determines whether or not the variable B1 is equal to the value vBMAX (step S215), and the variable B1 does not reach the value vBMAX. In this case, the variable B1 is increased (incremented) by 1 (step S217), and the processes after step S207 are performed again. If it is determined in step S215 that the variable B1 has reached the value vBMAX, it is determined whether the variable A1 is equal to the value vAMAX (step S219). If the variable A1 has not reached the value vAMAX, Then, the variable A1 is incremented (step S221), and the processing after step S205 is performed again. As described above, the database in each combination of the variable A1 in the range from 1 to vAMAX and the variable B1 in the range from 1 to vBMAX at a specific processing target level by the processing in steps S203 to S221. It is searched whether or not there is a common record between A and database B. For the common record, a coincidence code is set in the coincidence code column of the record.

この一連の処理によって、図4のデータベースA及びBの例では、上述した突合コード『10101』の設定に加え、データベースA内のレコードNo.5、6のレコードとデータベースB内のレコードNo.4のレコードに対して突合コード『10201』が設定され(変数A1=2、変数B1=1の条件で得られる)、データベースA内のレコードNo.1、2、3のレコードとデータベースB内のレコードNo.1のレコードに対して突合コード『10301』が設定される(変数A1=3、変数B1=1の条件で得られる)。この結果、例えばデータベースA及びBは、図5に示す状態となる。   By this series of processing, in the example of the databases A and B in FIG. Records 5 and 6 and record No. 4 is set to the record No. 4 (obtained under the condition of variable A1 = 2 and variable B1 = 1). 1, 2, and 3 and the record No. in database B. The matching code “10301” is set for one record (obtained under the condition of variable A1 = 3 and variable B1 = 1). As a result, for example, the databases A and B are in the state shown in FIG.

変数A1がvAMAXに達し変数B1がvBMAXに達して、すべての同一レコード数についての処理が終了すると、突合処理装置10は、処理対象レベル(変数LVL)が最終レベルに等しいか否かを判断し(ステップS223)、変数LVLが最終レベルに達していない場合には、変数LVLを変更して(ステップS225)、ステップS201以降の処理を再び行う。なお、本第1の実施の形態では、ステップS225において突合レベルを上げる処理が行われ、すなわち、突合処理装置10は、ステップS225において変数LVLをインクリメントする。   When the variable A1 reaches vAMAX, the variable B1 reaches vBMAX, and processing for all the same number of records ends, the matching processing device 10 determines whether or not the processing target level (variable LVL) is equal to the final level. (Step S223) If the variable LVL has not reached the final level, the variable LVL is changed (Step S225), and the processes after Step S201 are performed again. Note that in the first embodiment, a process for increasing the matching level is performed in step S225, that is, the matching processing apparatus 10 increments the variable LVL in step S225.

変数LVLをインクリメントしてレベル2(変数LVL=2)とした場合に実行されるステップS201以降の処理、さらに突合レベルを上げた状態で実行されるステップS201以降の処理では、既に突合コード欄に突合コードが設定されているレコードについては、ステップS207における検索処理において検索対象から除外する。すなわち、本第1の実施の形態では、処理の過程でレコードに突合コードがいったん設定された場合、そのレコードの突合コードは変更されないよう制御される。   In the processing after step S201 executed when the variable LVL is incremented to level 2 (variable LVL = 2), and in the processing after step S201 executed with the level of the collision increased, the matching code column has already been entered. Records for which a match code is set are excluded from search targets in the search process in step S207. That is, in the first embodiment, when a match code is once set in a record in the course of processing, control is performed so that the match code of the record is not changed.

図5のデータベースA及びBの例では、レベル1における突合コードの設定状態から、さらにレベル2において、データベースA内のレコードNo.4のレコードとデータベースB内のレコードNo.2、3のレコードに対して突合コード『20102』が設定され(変数LVL=2、変数A1=1、変数B1=2の条件で得られる)、レベル3において、データベースA内のレコードNo.8のレコードとデータベースB内のレコードNo.8、9のレコードに対して突合コード『30102』が設定される(変数LVL=3、変数A1=1、変数B1=2の条件で得られる)。この結果、例えばデータベースA及びBは、図6に示す状態となる。   In the example of the databases A and B in FIG. 4 and the record No. in database B. The matching code “20102” is set for the records 2 and 3 (obtained under the conditions of variable LVL = 2, variable A1 = 1, variable B1 = 2). 8 record and record No. in database B. The matching code “30102” is set for the records of 8 and 9 (obtained under the condition of variable LVL = 3, variable A1 = 1, variable B1 = 2). As a result, for example, the databases A and B are in the state shown in FIG.

そして、初期レベル(例えばレベル1に設定)から最終レベル(例えばレベル3に設定)までの突合処理が終了すると、突合処理装置10は、突合コード欄が初期値『0』のまま残っているレコードについて、どのレベルにおいても一致する文字列情報が検索されなかったことを示す突合コード(完全不一致コードと呼ぶ)を設定する(ステップS227)。完全不一致コードは、例えば完全不一致コード=9*10000+99*100+99=『99999』などのようにすることが可能であるが、その他の任意の文字列又は記号としてもよく、あるいは初期値『0』をそのまま残しておいてもよい(この場合、完全不一致コードは『0』)。この結果、例えばデータベースA及びBは図7に示す状態となり、これによって突合処理は完了する。   When the matching process from the initial level (for example, set to level 1) to the final level (for example, set to level 3) is completed, the matching processing device 10 records that the matching code column remains with the initial value “0”. Is set to a match code (referred to as a completely mismatch code) indicating that no matching character string information has been searched at any level (step S227). The complete mismatch code may be, for example, complete mismatch code = 9 * 10000 + 99 * 100 + 99 = “99999”, but may be any other character string or symbol, or the initial value “0” may be set. It may be left as it is (in this case, the complete mismatch code is “0”). As a result, for example, the databases A and B are in the state shown in FIG. 7, thereby completing the matching process.

なお、データベースA及びBの各レコードへの突合コードは、最初に読み出された元のデータベースA及びB内に設定されてもよく、あるいは、元のデータベースA及びBを複製した新たなデータベース内に設定されてもよい。さらに、元のデータベースA及びBを複製して新たなデータベースを作成する場合、これらのデータベースA及びBの内容を統合した1つの統合データベースを作成し、その中の各レコードに突合コードが設定されてもよい。   Note that the matching code for each record in the databases A and B may be set in the original databases A and B that are read first, or in a new database that duplicates the original databases A and B. May be set. In addition, when creating a new database by duplicating the original databases A and B, a single integrated database is created by integrating the contents of these databases A and B, and a match code is set for each record therein. May be.

図7に示すようにデータベースA及びBの各レコードに設定された突合コードは、データベースA及びB内のそれぞれに含まれる文字列情報に関して、どのレベルにおいて共通する文字列情報が存在しているのか(LVLの値)、データベースA内に共通の文字列情報を有するレコード数が何個存在しているのか(A1の値)、データベースB内に共通の文字列情報を有するレコード数が何個存在しているのか(B1の値)を表しており、一致/不一致の状況を容易に読み取ることができるようになっている。また、上述のように突合コードを『LVL*10000+A1*100+B1』の計算式から得られる1つの情報として加工することで、一致/不一致の状況をより直感的に理解できるような情報を提供することが可能となる。例えば突合コードが『10101』のレコードについては、データベースAとデータベースBとにおいて1対1に対応(完全一致)していることが容易に理解でき、また、例えば突合コードが『20102』のレコードについては、データベースAとデータベースBとにおいて、レベル1で一致するレコードは存在しないものの、レベル2で一致するレコードがデータベースAに1個、データベースBに2個存在していることが容易に理解できる。なお、上記の計算式によれば、突合コードの万の位がLVLの値を表し、千及び百の位がA1の値を表し、十及び一の位がB1の値を表しているが、これらの値を表す桁数は任意に変更可能である。   As shown in FIG. 7, at which level the matching codes set in the records of the databases A and B have common character string information regarding the character string information included in the databases A and B, respectively. (LVL value), how many records have common character string information in database A (value of A1), how many records have common character string information in database B (A value of B1), and the situation of coincidence / non-coincidence can be easily read. In addition, by processing the match code as one piece of information obtained from the calculation formula “LVL * 10000 + A1 * 100 + B1” as described above, information that can more intuitively understand the match / mismatch situation is provided. Is possible. For example, it is easy to understand that the record with the match code “10101” has a one-to-one correspondence (complete match) between the database A and the database B. For example, the record with the match code “20102” That is, in database A and database B, there is no record that matches at level 1, but it can be easily understood that there is one record in database A and two records in database B that match at level 2. According to the above calculation formula, the tens of the match code represents the value of LVL, the thousands and hundreds represent the value of A1, and the tens and ones represent the value of B1. The number of digits representing these values can be arbitrarily changed.

また、上述のように『LVL*10000+A1*100+B1』の計算式から得られる突合コードでは、データベース内に共通の文字列情報を有するレコードが複数存在している場合にその個数を表すようにしているが、データベース内に共通の文字列情報を有する複数のレコード(2個以上のレコード)が存在している場合には、複数存在していることのみを示すようにしてもよい。この場合、具体的には、例えば上記の計算式を用いると突合コードが『20104』と表されるレコード(レベル1で一致するレコードは存在しないものの、レベル2で一致するレコードがデータベースAに1個、データベースBに4個存在しているレコード)について、突合コード『212』(左端の『2』はLVLの値を表し、真ん中の『1』はデータベースAに1個存在していることを表し、右端の『2』はデータベースBに複数(2個以上)存在していることを表す)が設定される。なお、この突合コードの表記方法によれば、例えば突合コードが『20103』と表されるレコード(レベル1で一致するレコードは存在しないものの、レベル2で一致するレコードがデータベースAに1個、データベースBに3個存在しているレコード)などに対しても同一の突合コード『212』が設定されることになるが、データベースに単数のレコード(1個のレコード)のみが存在しているのか、あるいは複数のレコード(2個以上のレコード)が存在しているのかが容易に理解できるようになる点で有用である。   Further, as described above, the matching code obtained from the calculation formula “LVL * 10000 + A1 * 100 + B1” represents the number of records having a plurality of common character string information in the database. However, if there are a plurality of records (two or more records) having common character string information in the database, it may be indicated that only a plurality of records exist. In this case, specifically, for example, when the above calculation formula is used, a record in which the matching code is represented as “20104” (although there is no record matching at level 1, a record matching at level 2 is 1 in database A). And 4 records in the database B), the matching code “212” (the leftmost “2” indicates the value of LVL, the middle “1” indicates that one exists in the database A) "2" on the right end indicates that a plurality (two or more) exist in the database B). Note that, according to the method of representing the match code, for example, a record in which the match code is represented as “20103” (although there is no record that matches at level 1, one record that matches at level 2 exists in database A, The same match code “212” is set for the three records in B), etc., but is there only a single record (one record) in the database? Alternatively, it is useful in that it can be easily understood whether a plurality of records (two or more records) exist.

また、突合処理装置10は、各レコードに突合データが設定されたデータベースA及びBの中から、特定の突合コードが設定されているレコードのみを抽出して、そのレコードのみを表示画面上に表示したり、そのレコードのみを含むデータベースを新たに作成及び保存したりしてもよい。例えば図7に示すように突合コードが設定されたデータベースA及びBの例において、突合処理装置10がユーザ入力や他の装置又はプログラムから特定の突合コード『20102』の出力指示を受けた場合には、図8に示すように、データベースA内のレコードNo.4のレコードとデータベースB内のレコードNo.2、3のレコードとを抽出し、それぞれのレコードが存在するデータベースの識別子を付与した状態で表示してもよい。異なるデータベースA及びBにおいて同一の突合コードが設定されたレコードは相互に関連している可能性が高く、このように1つの表示画面にまとめて表示することで、ユーザがレコードの一致/不一致の状況を容易に把握できるようになり、不一致となったレコードの修正を行う際の作業効率を向上させることが可能となる。   In addition, the matching processing apparatus 10 extracts only the records for which a specific matching code is set from the databases A and B in which the matching data is set for each record, and displays only the records on the display screen. Or a new database including only the record may be created and stored. For example, in the example of databases A and B in which a match code is set as shown in FIG. 7, when the match processing device 10 receives a user input or an output instruction of a specific match code “20102” from another device or program , As shown in FIG. 4 and the record No. in database B. A few records may be extracted and displayed with a database identifier in which each record exists. Records with the same matching code in different databases A and B are highly likely to be related to each other. Thus, by displaying them together on one display screen, the user can match / mismatch records. The situation can be easily grasped, and it is possible to improve the work efficiency when correcting the mismatched record.

なお、図2A〜2Cに示すフローチャートを拡張することで、3つ以上のデータベースにおける突合処理を行う場合にも対応可能であることは明らかである。例えばデータベースA及びBに加えて、さらにデータベースCを含む3つのデータベースにおける突合処理を行う場合には、ステップS201においてデータベースCのレコードの最大値vCMAXを抽出し、データベースC内のレコード数の変数C1を1からvCMAXまでインクリメントしながら、ステップS207においてデータベースA、B及びCで共通するレコードを検索できるようなループ処理を実行することによって、各データベース内のレコード同士の組み合わせを漏れなく比較できるようにすることが望ましい。なお、突合コードはデータベース数に応じて桁をずらせばよく、3つのデータベースにおける突合コードの計算式は、例えば突合コード=LVL*1000000+A1*10000+B1*100+C1などのようにすることが可能である。   In addition, it is clear that it is possible to deal with the case where the matching process is performed in three or more databases by extending the flowcharts shown in FIGS. For example, when performing the matching process in three databases including the database C in addition to the databases A and B, the maximum value vCMAX of the records in the database C is extracted in step S201, and the variable C1 of the number of records in the database C is extracted. In step S207, a combination of records in each database can be compared without omission by executing a loop process in which records common to the databases A, B, and C can be searched in step S207 while incrementing 1 to vCMAX. It is desirable to do. The coincidence code may be shifted in accordance with the number of databases, and the coincidence code calculation formulas in the three databases can be, for example, coincidence code = LVL * 1000000 + A1 * 10000 + B1 * 100 + C1.

<第2の実施の形態>
次に、本発明の実施の形態における突合処理の第2の実施の形態について説明する。上述の第1の実施の形態では、図2CのステップS225において処理対象レベルを変更する際に、処理対象レベルを上げる態様(第1の実施の形態)が採用されているが、本第2の実施の形態では、処理対象レベルを下げる態様(第2の実施の形態)を採用する。以下、第1の実施の形態と同様に、図2A〜2Cのフローチャートを参照しながら本第2の実施の形態について説明する。なお、本第2の実施の形態では、第1の実施の形態と同様の処理が行われる点についての説明を省略することがある。また、第1の実施の形態における説明と同様に、本発明に対する理解が容易となるよう、2つのデータベースA及びBの各レコードに、図3に示す階層構造を有する文字列情報が含まれている場合を一例に挙げながら説明する。
<Second Embodiment>
Next, a second embodiment of the matching process in the embodiment of the present invention will be described. In the first embodiment described above, a mode (first embodiment) is adopted in which the processing target level is raised when the processing target level is changed in step S225 of FIG. 2C. In the embodiment, a mode (second embodiment) for lowering the processing target level is adopted. Hereinafter, as in the first embodiment, the second embodiment will be described with reference to the flowcharts of FIGS. Note that in the second embodiment, description of the point where the same processing as in the first embodiment is performed may be omitted. Similarly to the description in the first embodiment, each record of the two databases A and B includes character string information having the hierarchical structure shown in FIG. 3 so that the present invention can be easily understood. An example will be described.

本第1の実施の形態では、上述の第1の実施の形態と同様、図2Bに示す事前設定処理において、突合処理装置10は、記憶媒体20に記憶されている2つのデータベースA及びBを読み出し、これらのデータベースA及びBに含まれている各レコードの突合コード欄を初期化するとともに(例えば、初期値として『0』を設定)、レコードの階層構造に従って階層のレベルを設定する(ステップS101)。ステップS101の処理の結果を図4に示す。   In the first embodiment, as in the first embodiment described above, in the pre-setting process shown in FIG. 2B, the match processing device 10 stores two databases A and B stored in the storage medium 20. Read, initialize the match code field of each record contained in these databases A and B (for example, set “0” as the initial value), and set the level of the hierarchy according to the record hierarchy (steps) S101). The result of the process in step S101 is shown in FIG.

突合処理装置10は、最初に処理を行う対象となる初期レベルを決定し、この初期レベルを変数LVL(処理の対象レベルを表す)として設定する(ステップS103)。例えば、初期レベルとしてレベル3(変数LVL=3)が設定される。このとき、初期レベルの設定と共に、最後に処理を行う対象となる最終レベルをユーザが設定してもよい。また、自動的に、文字列情報の最下層が初期レベルとして設定され、文字列情報の最上層が最終レベルとして設定されてもよい。例えば図4に示すデータベースA及びBの例において、初期レベルとしてレベル3が設定され、最終レベルとしてレベル1が設定された場合には、後続の処理において、レベル1〜3のすべてのレベルにおいて突合処理が行われることになる。なお、初期レベルをレベル3と設定して最終レベルをレベル2と設定したり、初期レベルをレベル2と設定して最終レベルをレベル1と設定したりすることなど、初期レベル及び最終レベルを設定することで突合処理を行うレベルの範囲を設定することが可能である。本第2の実施の形態では、後続の処理において処理対象レベルを徐々に下げていくため(すなわち、比較する文字列情報の長さを階層単位で徐々に長くするため)、初期レベルよりも最終レベルを小さくする(最終レベルのほうがより下層の文字列を含む)必要がある。   The match processing apparatus 10 first determines an initial level to be processed, and sets this initial level as a variable LVL (representing the target level of processing) (step S103). For example, level 3 (variable LVL = 3) is set as the initial level. At this time, the user may set the final level to be processed last, together with the setting of the initial level. Further, the lowermost layer of the character string information may be automatically set as the initial level, and the uppermost layer of the character string information may be set as the final level. For example, in the example of databases A and B shown in FIG. 4, when level 3 is set as the initial level and level 1 is set as the final level, in the subsequent processing, all levels 1 to 3 are matched. Processing will be performed. Set the initial level and the final level, such as setting the initial level to level 3 and the final level to level 2, or setting the initial level to level 2 and the final level to level 1. By doing so, it is possible to set a level range for performing the matching process. In the second embodiment, since the processing target level is gradually lowered in the subsequent processing (that is, the length of the character string information to be compared is gradually increased in units of layers), the final level is higher than the initial level. It is necessary to make the level small (the final level includes lower-level character strings).

次に、図2Cに示す突合コード設定処理において、突合処理装置10は、データベースA及びBのそれぞれにおいて、最終レベルから対象レベルまで同一の文字列情報を含むレコード数を算出し、そのレコード数の最大値を抽出する(ステップS201)。例えば、処理対象レベルとしてレベル3(変数LVL=3)が設定されている場合には、図4に示すデータベースAの例では、処理対象レベル(レベル3)において同一の文字列情報を含むレコードはレコードNo.1〜6のレコード(同一のレコード数=6)であり、すなわち、レコード数の最大値は6となる。また同様に、図4に示すデータベースBの例では、処理対象レベル(レベル3)において同一の文字列情報を含むレコードはレコードNo.1〜4のレコード(同一のレコード数=4)、レコードNo.6、7のレコード(同一のレコード数=2)、レコードNo.8、9のレコード(同一のレコード数=2)であり、レコード数の最大値は4となる。データベースAのレコード数の最大値は値vAMAXに設定され、データベースBのレコード数の最大値は値vBMAXに設定される。これらの値vAMAX及びvBMAXは、後述するループ処理のループ回数として利用される。なお、後述するループ処理においては、そのループ回数をそれぞれのデータベースA及びBのレコードの総数とした場合であっても適切に処理が行われるが、事前に、レコード数の最大値を値vAMAX及びvBMAXとして設定することで、ループ処理の回数及び処理時間を低減させることが可能となる。   Next, in the match code setting process shown in FIG. 2C, the match processing device 10 calculates the number of records including the same character string information from the final level to the target level in each of the databases A and B, and the number of records The maximum value is extracted (step S201). For example, when level 3 (variable LVL = 3) is set as the processing target level, in the example of database A shown in FIG. 4, records containing the same character string information at the processing target level (level 3) Record No. 1 to 6 records (number of identical records = 6), that is, the maximum number of records is 6. Similarly, in the example of the database B shown in FIG. 4, records including the same character string information at the processing target level (level 3) are record Nos. 1 to 4 records (number of identical records = 4), record No. 6 and 7 records (number of identical records = 2), record No. There are 8 and 9 records (the same number of records = 2), and the maximum number of records is 4. The maximum number of records in database A is set to the value vAMAX, and the maximum value of records in database B is set to the value vBMAX. These values vAMAX and vBMAX are used as the number of loops of loop processing described later. In the loop processing described later, the processing is appropriately performed even when the number of loops is the total number of records in the respective databases A and B. However, the maximum value of the number of records is previously set to the value vAMAX and By setting as vBMAX, it is possible to reduce the number of loop processes and the processing time.

以上のように、初期レベル及び最終レベル、データベースA及びBのそれぞれのレコード数の最大値(ループ回数の値vAMAX及びvBMAX)の設定が完了すると、突合処理装置10は、データベースA及びBの各レコードの突合処理を行うことが可能となる。突合処理装置10は、例えば、まずデータベースA内の同一レコード数(変数A1)を1に設定するとともに(ステップS203)、データベースB内の同一レコード数(変数B1)を1に設定して(ステップS205)、これらの条件に合ったレコードをデータベースA及びBのそれぞれから抽出し、共通するレコード(すなわち、同一の文字列情報によって構成されているレコード)を検索する(ステップS207)。なお、ステップS207において、共通の文字列情報を持つ共通のレコードが検出されなかった場合には、突合コードを設定すべきレコードは存在しないと判断し(ステップS209)、ステップS211及びS213の処理は実行されない。   As described above, when the setting of the maximum value (the loop count values vAMAX and vBMAX) of each of the initial level and the final level, and the databases A and B is completed, the matching processing device 10 It is possible to perform record matching processing. For example, the matching processing apparatus 10 first sets the number of identical records (variable A1) in the database A to 1 (step S203) and sets the number of identical records (variable B1) in the database B to 1 (step S203). S205), records satisfying these conditions are extracted from each of the databases A and B, and a common record (that is, a record constituted by the same character string information) is searched (step S207). If no common record having common character string information is detected in step S207, it is determined that there is no record for which a match code is to be set (step S209), and the processes in steps S211 and S213 are performed. Not executed.

図4に示すデータベースA及びBの例を参照すると、データベースA内に含まれている同一レコード数が1のレコードはレコードNo.7、8のレコードであり、データベースB内に含まれている同一レコード数が1のレコードはレコードNo.5のレコードであるが、これらのレコードは共通の文字列情報を有していない。したがって、突合コードを設定すべきレコードは存在せず、ステップS211及びS213の処理は実行されない。   Referring to the examples of databases A and B shown in FIG. 4, a record with the same number of records 1 included in database A is a record No. 7 and 8 records in which the number of identical records included in the database B is 1, the record No. 5 records, but these records do not have common character string information. Accordingly, there is no record for which a match code is to be set, and the processes in steps S211 and S213 are not executed.

突合処理装置10は、変数A1=1、変数B1=1の検索を終了すると、続いて変数B1が値vBMAXに等しいか否かを判断し(ステップS215)、変数B1が値vBMAXに達していない場合には、変数B1をインクリメントして(ステップS217)、ステップS207以降の処理を再び行う。すなわち、突合処理装置10は、ステップ変数A1=1、変数B1=2の条件で、再びステップS207の処理を実行する。   When the match processing device 10 finishes searching for the variables A1 = 1 and B1 = 1, it subsequently determines whether or not the variable B1 is equal to the value vBMAX (step S215), and the variable B1 does not reach the value vBMAX. In this case, the variable B1 is incremented (step S217), and the processes after step S207 are performed again. That is, the match processing device 10 executes the process of step S207 again under the conditions of step variable A1 = 1 and variable B1 = 2.

図4に示すデータベースA及びBの例を参照すると、データベースA内に含まれている同一レコード数が1のレコードはレコードNo.7、8のレコードであり、データベースB内に含まれている同一レコード数が2のレコードはレコードNo.6、7のレコードとレコードNo.8、9のレコードである。これらのレコードを比較することで、突合処理装置10は、データベースA内のレコードNo.7のレコードとデータベースB内のレコードNo.6、7のレコードとが共通の文字列情報『1356』を持つ共通のレコードであることを検出し、データベースA内のレコードNo.8のレコードとデータベースB内のレコードNo.8、9のレコードとが共通の文字列情報『1357』を持つ共通のレコードであることを検出する。   Referring to the examples of databases A and B shown in FIG. 4, a record with the same number of records 1 included in database A is a record No. 7 and 8 records in which the number of the same records included in the database B is 2, the record No. 6 and 7 and record No. 8 and 9 records. By comparing these records, the reconciliation processing apparatus 10 records the record No. in the database A. 7 and record No. in database B. It is detected that the records 6 and 7 are common records having the common character string information “1356”. 8 record and record No. in database B. It is detected that the 8th and 9th records are common records having common character string information “1357”.

そして、突合処理装置10は、データベースA及びBで共通するこれらのレコードに対し、変数LVL、変数A1、変数B1の3つの変数の値を用いて表される突合コードを設定する(ステップS211)。このとき、上述の第1の実施の形態と同様に、突合コード=LVL*10000+A1*100+B1などの計算式から突合コードを得ることが可能である。上述した例では、変数LVL=3、変数A1=1、変数B1=2であることから、データベースA内のレコードNo.7、8のレコードとデータベースB内のレコードNo.6〜9のレコードに対しては、突合コード=3*10000+1*100+2=30102が設定される。このようにして得られた突合コードは、対応するレコードの突合コード欄に書き込まれ(ステップS213)、その結果、データベースA内のレコードNo.7、8の突合コード欄とデータベースB内のレコードNo.6〜9の突合コード欄には『30102』が設定される(図9)。   Then, the matching processing apparatus 10 sets a matching code represented by using the values of three variables, the variable LVL, the variable A1, and the variable B1, for these records common to the databases A and B (step S211). . At this time, as in the first embodiment described above, a match code can be obtained from a calculation formula such as a match code = LVL * 10000 + A1 * 100 + B1. In the above example, since the variable LVL = 3, the variable A1 = 1, and the variable B1 = 2, the record No. 7 and 8 and record No. in database B. For records 6-9, a match code = 3 * 10000 + 1 * 100 + 2 = 30102 is set. The match code obtained in this way is written in the match code column of the corresponding record (step S213), and as a result, the record No. in the database A is recorded. 7 and 8 match code fields and record numbers in database B. “30102” is set in the matching code columns 6 to 9 (FIG. 9).

このようにして、突合処理装置10は、変数B1をインクリメントして、再びステップS207の処理を繰り返し実行する。そして、ステップS215で変数B1が値vBMAXに達したと判断した場合には、変数A1が値vAMAXに等しいか否かを判断し(ステップS219)、変数A1が値vAMAXに達していない場合には、変数A1をインクリメントして(ステップS221)、ステップS205以降の処理を再び行う。このように、ステップS203〜S221の処理により、ある特定の処理対象レベルにおいて、1からvAMAXまでの範囲にある変数A1と、1からvBMAXまでの範囲に存在する変数B1との各組み合わせにおいて、データベースAとデータベースBとの間に共通するレコードが存在するか否かが検索され、共通するレコードに対しては、そのレコードの突合コード欄に突合コードが設定される。   In this way, the match processing device 10 increments the variable B1 and repeats the process of step S207 again. If it is determined in step S215 that the variable B1 has reached the value vBMAX, it is determined whether the variable A1 is equal to the value vAMAX (step S219). If the variable A1 has not reached the value vAMAX, Then, the variable A1 is incremented (step S221), and the processing after step S205 is performed again. As described above, the database in each combination of the variable A1 in the range from 1 to vAMAX and the variable B1 in the range from 1 to vBMAX at a specific processing target level by the processing in steps S203 to S221. It is searched whether or not there is a common record between A and database B. For the common record, a coincidence code is set in the coincidence code column of the record.

この一連の処理によって、図4のデータベースA及びBの例では、上述した突合コード『30102』の設定に加え、データベースA内のレコードNo.1〜6のレコードとデータベースB内のレコードNo.1〜4のレコードに対して突合コード『30604』が設定される(変数A1=6、変数B1=4の条件で得られる)。この結果、例えばデータベースA及びBは、図9に示す状態となる。   By this series of processing, in the example of the databases A and B in FIG. Records 1 to 6 and record No. The matching code “30604” is set for records 1 to 4 (obtained under the condition of variable A1 = 6 and variable B1 = 4). As a result, for example, the databases A and B are in the state shown in FIG.

変数A1がvAMAXに達し変数B1がvBMAXに達して、すべての同一レコード数についての処理が終了すると、突合処理装置10は、処理対象レベル(変数LVL)が最終レベルに等しいか否かを判断し(ステップS223)、変数LVLが最終レベルに達していない場合には、変数LVLを変更して(ステップS225)、ステップS201以降の処理を再び行う。なお、本第2の実施の形態では、ステップS225において突合レベルを下げる処理が行われ、すなわち、突合処理装置10は、ステップS225において変数LVLを1だけ減少する(デクリメント)。   When the variable A1 reaches vAMAX, the variable B1 reaches vBMAX, and processing for all the same number of records ends, the matching processing device 10 determines whether or not the processing target level (variable LVL) is equal to the final level. (Step S223) If the variable LVL has not reached the final level, the variable LVL is changed (Step S225), and the processes after Step S201 are performed again. In the second embodiment, a process for lowering the collision level is performed in step S225, that is, the collision processing apparatus 10 decreases the variable LVL by 1 in step S225 (decrement).

なお、本第2の実施の形態では、上述の第1の実施の形態とは異なり、変数LVLをデクリメントしてレベル2(変数LVL=2)とした場合に実行されるステップS201以降の処理、さらに突合レベルを下げた状態で実行されるステップS201以降の処理においても、既に突合コード欄に突合コードが設定されているレコードを除外せずに突合コードを設定し、新たに設定された突合コードで、対応するレコードの突合コード欄内の突合コードを置き換える(上書き処理)。なお、後述のように、突合コードの上書き処理を行わずに、各処理対象レベルにおいて得られる突合コードの履歴を残すことも可能である(図13を参照)。   In the second embodiment, unlike the first embodiment described above, the processing after step S201 executed when the variable LVL is decremented to level 2 (variable LVL = 2), Further, in the processing after step S201 executed in the state where the collision level is lowered, the collision code is set without excluding the record in which the collision code is already set in the collision code column, and the newly set collision code Then, the match code in the match code column of the corresponding record is replaced (overwriting process). As will be described later, it is also possible to leave a history of matching codes obtained at each processing target level without performing a matching code overwriting process (see FIG. 13).

図9のデータベースA及びBの例では、レベル3における突合コードの設定状態から、さらにレベル2において、データベースA内のレコードNo.7のレコードとデータベースB内のレコードNo.6のレコードに対して突合コード『20101』が設定され(変数LVL=2、変数A1=1、変数B1=1の条件で得られる)、データベースA内のレコードNo.1〜3のレコードとデータベースB内のレコードNo.1のレコードに対して突合コード『20301』が設定され(変数LVL=2、変数A1=3、変数B1=1の条件で得られる)、データベースA内のレコードNo.4〜6のレコードとデータベースB内のレコードNo.2〜4のレコードに対して突合コード『20303』が設定される(変数LVL=2、変数A1=3、変数B1=3の条件で得られる)。なお、突合コードの上書きが行われなかったレコードの突合コード欄には、前の処理によって設定された突合コードがそのまま残る。この結果、例えばデータベースA及びBは、図10に示す状態となる。   In the example of the databases A and B in FIG. 7 and record No. in database B. The matching code “20101” is set for the record No. 6 (obtained under the conditions of variable LVL = 2, variable A1 = 1, variable B1 = 1). 1 to 3 records and record Nos. 1 is set for the record 1 (obtained under the conditions of variable LVL = 2, variable A1 = 3, variable B1 = 1). 4 to 6 and record Nos. The matching code “20303” is set for 2 to 4 records (obtained under the conditions of variable LVL = 2, variable A1 = 3, variable B1 = 3). Note that the match code set by the previous process remains in the match code column of the record that has not been overwritten with the match code. As a result, for example, the databases A and B are in the state shown in FIG.

さらに、レベル1において、データベースA内のレコードNo.7のレコードとデータベースB内のレコードNo.6のレコードに対して突合コード『10101』が設定され(変数LVL=1、変数A1=1、変数B1=1の条件で得られる)、データベースA内のレコードNo.5、6のレコードとデータベースB内のレコードNo.4のレコードに対して突合コード『10201』が設定され(変数LVL=1、変数A1=2、変数B1=1の条件で得られる)、データベースA内のレコードNo.1〜3のレコードとデータベースB内のレコードNo.1のレコードに対して突合コード『10301』が設定される(変数LVL=1、変数A1=3、変数B1=1の条件で得られる)。この結果、例えばデータベースA及びBは、図11に示す状態となる。   Further, at level 1, the record No. 7 and record No. in database B. The matching code “10101” is set for the record No. 6 (obtained under the conditions of variable LVL = 1, variable A1 = 1, variable B1 = 1). Records 5 and 6 and record No. 4 is set to the record No. 4 (obtained under the conditions of variable LVL = 1, variable A1 = 2, variable B1 = 1). 1 to 3 records and record Nos. The matching code “10301” is set for one record (obtained under the conditions of variable LVL = 1, variable A1 = 3, variable B1 = 1). As a result, for example, the databases A and B are in the state shown in FIG.

そして、初期レベル(例えばレベル3に設定)から最終レベル(例えばレベル1に設定)までの突合処理が終了すると、突合処理装置10は、突合コード欄が初期値『0』のまま残っているレコードについて、どのレベルにおいても一致する文字列情報が検索されなかったことを示す完全不一致コードを設定する(ステップS227)。完全不一致コードとしては、上述の第1の実施の形態と同様に、完全不一致コード=9*10000+99*100+99=99999とすることが可能である。この結果、例えばデータベースA及びBは図12に示す状態となり、これによって突合処理は完了する。   When the matching process from the initial level (for example, set to level 3) to the final level (for example, set to level 1) is completed, the matching processing device 10 records that the matching code column remains with the initial value “0”. Is set to a completely inconsistent code indicating that no matching character string information has been retrieved at any level (step S227). As the complete mismatch code, as in the first embodiment described above, the complete mismatch code = 9 * 10000 + 99 * 100 + 99 = 999999 can be set. As a result, for example, the databases A and B are in the state shown in FIG. 12, thereby completing the matching process.

なお、データベースA及びBの各レコードへの突合コードは、最初に読み出された元のデータベースA及びB内に設定されてもよく、あるいは、元のデータベースA及びBを複製した新たなデータベース内に設定されてもよい。さらに、元のデータベースA及びBを複製して新たなデータベースを作成する場合、これらのデータベースA及びBの内容を統合した1つの統合データベースを作成し、その中の各レコードに突合コードが設定されてもよい。   Note that the matching code for each record in the databases A and B may be set in the original databases A and B that are read first, or in a new database that duplicates the original databases A and B. May be set. In addition, when creating a new database by duplicating the original databases A and B, a single integrated database is created by integrating the contents of these databases A and B, and a match code is set for each record therein. May be.

また、上述の第1の実施の形態と同様に、本第2の実施の形態においても、突合処理装置10は、各レコードに突合データが設定されたデータベースA及びBの中から、特定の突合コードが設定されているレコードのみを抽出して、そのレコードのみを表示画面上に表示したり、そのレコードのみを含むデータベースを新たに作成及び保存したりすることが可能である。   Also, as in the first embodiment described above, in the second embodiment, the reconciliation processing device 10 also selects a specific reconciliation from the databases A and B in which reconciliation data is set for each record. It is possible to extract only a record for which a code is set and display only that record on the display screen, or newly create and save a database including only the record.

図12に示すように、本第2の実施の形態によって得られる突合コードは、上述の第1の実施の形態で得られる突合コードとは異なり、どの階層レベルにおいて共通する文字列が存在しているのか、データベースA内に共通の文字列情報を有するレコード数が何個存在しているのか、データベースB内に共通の文字列情報を有するレコード数が何個存在しているのかを正確に表す情報ではない。ただし、上述の第1の実施の形態では、例えばデータベースBのレコードNo.7のレコードには突合コード『99999』が設定されている一方、本第2の実施の形態では、例えばデータベースBのレコードNo.7のレコードに突合コード『30102』(すなわち、レベル3において共通の文字列情報を有するレコードが存在する)が設定されるなど、上述の第1の実施の形態の突合結果からは得ることができない一致/不一致の状況を把握することが可能である。このように、本第2の実施の形態で得られる突合コードを参照した場合には、ユーザは、上述の第1の実施の形態で得られる突合コードを参照した場合とは異なる視点で、一致/不一致の状況を把握できるようになる。   As shown in FIG. 12, the matching code obtained in the second embodiment differs from the matching code obtained in the first embodiment described above, and there is a common character string in any hierarchical level. The number of records having common character string information in the database A, and the number of records having common character string information in the database B are accurately expressed. It is not information. However, in the above-described first embodiment, for example, the record No. On the other hand, the record “99999” is set in the record 7, while in the second embodiment, for example, the record No. It is not possible to obtain from the matching result of the first embodiment described above, for example, a matching code “30102” (that is, a record having common character string information exists at level 3) is set in the record No. 7 It is possible to grasp the status of match / mismatch. In this way, when referring to the match code obtained in the second embodiment, the user matches from a different viewpoint than when referring to the match code obtained in the first embodiment described above. / Be able to grasp the situation of disagreement.

なお、図7及び図12を比較すれば分かるとおり、最も低いレベルで共通する文字列情報が存在しているレコード(すなわち、レベル1において共通する文字列情報が存在しているレコードであって、突合コードにおいてLVL=1の値を有するレコード)については、上述の第1及び第2の実施の形態のどちらの突合処理においても同一の突合コードが出力される。   As can be seen by comparing FIG. 7 and FIG. 12, a record in which character string information common at the lowest level exists (that is, a record in which character string information common in level 1 exists, For the matching code (record having a value of LVL = 1), the same matching code is output in both the matching processes of the first and second embodiments described above.

また、本第2の実施の形態では、突合処理の過程で得られる突合コードも、一致/不一致の状況を把握するための有用な情報となり得る。上述の動作説明では、突合処理の過程で突合コードの上書き処理を行っているが、各処理対象レベルにおいて得られる突合コードの履歴を残し、例えば図13に示すように、これらの履歴をまとめて表示してもよい。   In the second embodiment, the match code obtained in the process of the match process can also be useful information for grasping the match / mismatch status. In the above description of the operation, the matching code is overwritten during the matching process. However, the history of the matching code obtained at each processing target level is left, for example, as shown in FIG. It may be displayed.

<第3の実施の形態>
上述の第1の実施の形態では処理対象レベルを上げる処理(すなわち、比較する文字列情報の長さを階層単位で徐々に短くしながら、各レコードの一致/不一致を比較する処理)を行うのに対し、上述の本発明の第2の実施の形態では処理対象レベルを下げる処理(すなわち、比較する文字列情報の長さを階層単位で徐々に長くしながら、各レコードの一致/不一致を比較する処理)を行っている。
<Third Embodiment>
In the first embodiment described above, processing for increasing the processing target level (that is, processing for comparing the match / mismatch of each record while gradually shortening the length of the character string information to be compared in units of layers) is performed. On the other hand, in the second embodiment of the present invention described above, the processing for lowering the processing target level (that is, comparing the match / mismatch of each record while gradually increasing the length of the character string information to be compared in units of layers) Process).

このように第1及び第2の実施の形態における動作は異なっており、これらの動作によって得られる突合結果も異なっている。上述の第1及び第2の実施の形態における各処理によって得られた異なる突合結果は、例えばデータベース内に含まれる情報の種類や一致/不一致の状況などに応じて、どちらか一方の突合結果がより有用である場合もあり、また、両方の突合結果を比較することで不一致となった要因をより明確に把握できるようになる場合もある。   As described above, the operations in the first and second embodiments are different, and the matching results obtained by these operations are also different. The different match results obtained by the respective processes in the first and second embodiments described above may be either one of the match results depending on, for example, the type of information included in the database or the status of match / mismatch. In some cases, it may be more useful, and in some cases, by comparing the results of both matches, it becomes possible to more clearly grasp the cause of the mismatch.

本第3の実施の形態では、突合処理装置10が、上述の第1及び第2の実施の形態の両方における処理を行うよう構成し、例えば、これらの両方の処理を並行して行って両方の突合結果を出力することが可能である。この結果、例えば図14に示すように、本第3の実施の形態における突合処理装置10は、例えば上述の第1の実施の形態によって得られた突合コード(図7に示す突合コード)と、上述の第2の実施の形態によって得られた突合コード(図12に示す突合コード)とを各レコードに関連付けて出力することが可能である。なお、上述の第1及び第2の実施の形態の両方によって得られる突合コードと共に、さらに上述の第2の実施の形態で得られる突合コードの履歴(図13を参照)を表示してもよい。   In the third embodiment, the matching processing apparatus 10 is configured to perform the processes in both the first and second embodiments described above. For example, both of these processes are performed in parallel. It is possible to output the matching result. As a result, for example, as shown in FIG. 14, the match processing device 10 in the third embodiment includes, for example, a match code (match code shown in FIG. 7) obtained by the above-described first embodiment, The match code (match code shown in FIG. 12) obtained by the second embodiment described above can be output in association with each record. In addition, together with the matching code obtained by both the first and second embodiments described above, the history of the matching code obtained by the second embodiment described above (see FIG. 13) may be displayed. .

また、本発明の第3の実施の形態における突合処理装置10では、例えばユーザによる操作入力部30からの指示に基づき、上述の第1及び第2の実施の形態における処理を切り替えられるようにしてもよい。   Moreover, in the matching processing apparatus 10 in the third embodiment of the present invention, for example, based on an instruction from the operation input unit 30 by a user, the processing in the first and second embodiments described above can be switched. Also good.

<実施例>
本発明に係る突合処理装置10は、2つのデータベース間の差異を発見することができる。こうした差異は、例えば、本来は同一の情報を持つべき2つのデータベースの一方に含まれているタイプミスやOCR(Optical Character Recognition:光学文字認識)による読み取りのミスや、データベース管理者やデータ更新時期の違いによって生じたものである。
<Example>
The match processing apparatus 10 according to the present invention can find a difference between two databases. Such differences include, for example, typographical errors contained in one of the two databases that should have the same information, reading errors due to OCR (Optical Character Recognition), database administrators, and data update timing. This is caused by the difference.

また、本発明に係る突合処理装置10が処理対象とするデータベースの各レコードに含まれている階層構造を有する文字列情報は、例えば、数字のみによって構成されていてもよく、あるいは、漢字、仮名、アルファベット、記号などによって構成されていてもよい。さらに、本発明では、文字列情報が階層構造を有することを前提としているが、この階層構造は、住所情報などのように元から階層的に設定されている構造であってもよく、あるいは、突合処理装置10のユーザが文字列情報に対して独自に設定した階層構造であってもよい。   In addition, the character string information having a hierarchical structure included in each record of the database to be processed by the matching processing apparatus 10 according to the present invention may be configured by only numbers, or kanji, kana, for example. , Alphabets, symbols, and the like. Furthermore, in the present invention, it is assumed that the character string information has a hierarchical structure, but this hierarchical structure may be a structure that is hierarchically set from the beginning, such as address information, or A hierarchical structure uniquely set for the character string information by the user of the matching processing apparatus 10 may be used.

また、本発明に係る突合処理装置10が処理対象とするデータベースの種類は特に限定されるものではない。例えば、住所情報を含むデータベース、ネットワークアドレス情報やドメイン情報を含むデータベース、マイナンバーなどの個人情報を含むデータベース、顧客管理情報を含むデータベース、財務会計情報を含むデータベース、商品の在庫情報を含むデータベースなどを始めとした様々な種類のデータベースを処理対象とすることが可能である。   In addition, the type of database to be processed by the matching processing apparatus 10 according to the present invention is not particularly limited. For example, a database containing address information, a database containing network address information and domain information, a database containing personal information such as My Number, a database containing customer management information, a database containing financial accounting information, a database containing product inventory information, etc. It is possible to process various types of databases such as

以下では、住所情報を含む台帳データベースと、地図などを表す画像情報に関連付けられて同じく住所情報を含む地図データベースを用意し、本発明の第1の実施の形態における突合処理装置10によって実際に突合処理を行った実施例について説明する。   In the following, a ledger database including address information and a map database including address information associated with image information representing a map or the like are prepared, and are actually matched by the matching processing device 10 according to the first embodiment of the present invention. An example in which processing is performed will be described.

この実施例において用意された台帳データベース及び地図データベースには、同一地域の住所情報が同一の格納形式で格納されている。ただし、それぞれのデータベースの管理者及び更新時期などが異なっており、相互のデータベースにおける各レコードは完全には一致していない。また、それぞれのデータベースにおいてレコードの追加や削除が行われた結果、レコード数が異なっていることも考えられる。   In the ledger database and map database prepared in this embodiment, address information in the same region is stored in the same storage format. However, the managers and update times of the respective databases are different, and the records in the mutual databases do not completely match. In addition, the number of records may be different as a result of adding or deleting records in each database.

各レコードには、階層構造を有する住所情報が文字列情報として格納されている。なお、文字列情報は20桁の数字の配列であり、最初の3桁は市町村、次の5桁は大字、次の4桁は小字、次の5桁は地番、最後の3桁は枝番にそれぞれ対応している。例えば、文字列情報『20600405007700035002』は、最初の『206』が市町村、次の『00405』が大字、次の『0077』が小字、次の『00035』が地番、最後の『002』が枝番を表している。本実施例における突合処理では、この住所情報が持つ階層構造に基づいて、レベル1『市町村、大字、小字、地番、枝番』、レベル2『市町村、大字、小字、地番』、レベル3『市町村、大字、小字』、レベル4『市町村、大字』、レベル5『市町村』の5つの突合レベルを設定している。   Each record stores address information having a hierarchical structure as character string information. The character string information is an array of 20-digit numbers. The first 3 digits are municipalities, the next 5 digits are large, the next 4 digits are small, the next 5 digits are lot numbers, and the last 3 digits are branch numbers. It corresponds to each. For example, in the character string information “20600405007700035002”, the first “206” is a municipality, the next “00405” is a large character, the next “0077” is a small character, the next “00035” is a lot number, and the last “002” is a branch number. Represents. In the matching process in this embodiment, based on the hierarchical structure of the address information, level 1 “municipalities, large letters, small letters, lot numbers, branch numbers”, level 2 “municipalities, large letters, small letters, lot numbers”, level 3 “municipalities” , Large letters, small letters ”, level 4“ municipalities, large letters ”and level 5“ municipalities ”.

本発明の第1の実施の形態における突合処理装置10により、上記の条件下で実際に突合処理を行った結果を図15〜図21に示す。図15〜図21には、ユーザによって指定された突合コードが設定されているレコードのみを台帳データベース及び地図データベースのそれぞれから抽出し、表形式で表示画面上に表示した状態が示されている。これらの表示状態は、上述した図8の表示状態に相当するものである。   The result of actually performing the butt treatment under the above conditions by the butt treatment apparatus 10 in the first embodiment of the present invention is shown in FIGS. FIGS. 15 to 21 show a state in which only records in which a matching code designated by the user is set are extracted from the ledger database and the map database and displayed on the display screen in a table format. These display states correspond to the display state of FIG. 8 described above.

図15〜図21のフィールド『FLG』の値『1』は台帳データベース内のレコードであることを表し、値『2』は地図データベース内のレコードであることを表している。また、図15〜図21のフィールド『KEY1』は各レコードの文字列情報(住所情報)を含み、フィールド『CODE』は突合コードを含んでいる。   The value “1” of the field “FLG” in FIGS. 15 to 21 represents a record in the ledger database, and the value “2” represents a record in the map database. The field “KEY1” in FIGS. 15 to 21 includes character string information (address information) of each record, and the field “CODE” includes a match code.

図15には、突合コード『10101』が設定されているレコードを抽出して表示画面上に表示した状態が図示されている。例えば、図15のテーブルの1番目及び2番目のレコードは台帳データベース及び地図データベース内の文字列情報『20600021000000356001』を含むレコードである。突合コード『10101』が示すように、この文字列情報を含むレコードが台帳データベース及び地図データベースにそれぞれ1個ずつ存在している。   FIG. 15 illustrates a state in which a record in which the matching code “10101” is set is extracted and displayed on the display screen. For example, the first and second records in the table of FIG. 15 are records including character string information “206000210000003560001” in the ledger database and the map database. As indicated by the matching code “10101”, one record including this character string information exists in each of the ledger database and the map database.

また、図16には、突合コード『10201』が設定されているレコードを抽出して表示画面上に表示した状態が図示されている。例えば、図16のテーブルの1〜3番目のレコードは台帳データベース及び地図データベース内の文字列情報『20600023000005402000』を含むレコードである。突合コード『10201』が示すように、この文字列情報を含むレコードが台帳データベースに2個、地図データベースに1個存在している。   FIG. 16 shows a state in which a record in which the matching code “10201” is set is extracted and displayed on the display screen. For example, the first to third records in the table of FIG. 16 are records including character string information “20600023000005402000” in the ledger database and the map database. As indicated by the matching code “10201”, there are two records including the character string information in the ledger database and one record in the map database.

また、図17には、突合コード『11001』が設定されているレコードを抽出して表示画面上に表示した状態が図示されている。例えば、図17のテーブルの1〜11番目のレコードは台帳データベース及び地図データベース内の文字列情報『20600405007700035002』を含むレコードである。突合コード『11001』が示すように、この文字列情報を含むレコードが台帳データベースに10個、地図データベースに1個存在している。   FIG. 17 illustrates a state in which a record in which the matching code “11001” is set is extracted and displayed on the display screen. For example, the 1st to 11th records in the table of FIG. 17 are records including character string information “2060040405007700035002” in the ledger database and the map database. As indicated by the match code “11001”, there are ten records including this character string information in the ledger database and one record in the map database.

また、図18には、突合コード『20101』が設定されているレコードを抽出して表示画面上に表示した状態が図示されている。例えば、図18のテーブルの1番目のレコードは台帳データベース内の文字列情報『20600021000000232000』を含むレコード、2番目のレコードは地図データベース内の文字列情報『20600021000000232001』を含むレコードである。突合コード『20101』が示すように、それぞれの文字列情報を含むレコードは他方のデータベース上には存在しないが、レベル2において共通の文字列情報『20600021000000232』を含むレコードが台帳データベース及び地図データベースにそれぞれ1個ずつ存在している。   FIG. 18 illustrates a state in which a record in which the matching code “20101” is set is extracted and displayed on the display screen. For example, the first record in the table of FIG. 18 is a record including character string information “20600021000000232000” in the ledger database, and the second record is a record including character string information “20600021000000232001” in the map database. As shown in the matching code “20101”, there is no record containing each character string information in the other database, but a record containing common character string information “20600021000000232” in the level 2 is stored in the ledger database and the map database. There is one each.

また、図19には、突合コード『20201』が設定されているレコードを抽出して表示画面上に表示した状態が図示されている。例えば、図19のテーブルの1番目及び2番目のレコードは台帳データベース内の文字列情報『20600103000200066000』を含むレコード、3番目のレコードは地図データベース内の文字列情報『20600103000200066001』を含むレコードである。突合コード『20201』が示すように、それぞれの文字列情報を含むレコードは他方のデータベース上には存在しないが、レベル2において共通の文字列情報『20600103000200066』を含むレコードが台帳データベースに2個、地図データベースに1個存在している。   FIG. 19 shows a state in which a record in which the matching code “20201” is set is extracted and displayed on the display screen. For example, the first and second records in the table of FIG. 19 are records including character string information “20600103000200066000” in the ledger database, and the third record is a record including character string information “20600103000200066001” in the map database. As shown in the matching code “20201”, there is no record including the respective character string information in the other database, but two records including the common character string information “20600103000200066” in the level 2 are stored in the ledger database. One exists in the map database.

また、図20には、突合コード『20404』が設定されているレコードを抽出して表示画面上に表示した状態が図示されている。例えば、図20のテーブルの1〜4番目のレコードは台帳データベース内の文字列情報『20600318000100018000』を含むレコード、5番目のレコードは地図データベース内の文字列情報『20600318000100018008』を含むレコード、6番目のレコードは地図データベース内の文字列情報『20600318000100018014』を含むレコード、7番目のレコードは地図データベース内の文字列情報『20600318000100018015』を含むレコード、8番目のレコードは地図データベース内の文字列情報『20600318000100018016』を含むレコードである。突合コード『20404』が示すように、それぞれの文字列情報を含むレコードは他方のデータベース上には存在しないが、レベル2において共通の文字列情報『20600318000100018』を含むレコードが台帳データベース及び地図データベースにそれぞれ4個ずつ存在している。   FIG. 20 illustrates a state in which a record in which the matching code “20404” is set is extracted and displayed on the display screen. For example, the first to fourth records in the table of FIG. 20 are records including character string information “20600318000100018000” in the ledger database, the fifth record is a record including character string information “20600318000100080008” in the map database, and the sixth record. The record is a record including character string information “20600318000100018014” in the map database, the seventh record is a record including character string information “20600318000100018015” in the map database, and the eighth record is character string information “20600318000100018016” in the map database. Is a record that contains As shown in the matching code “20404”, there is no record including the respective character string information in the other database, but a record including the common character string information “20600318000100018” in the level 2 is stored in the ledger database and the map database. There are four each.

また、図21には、突合コード『21002』が設定されているレコードを抽出して表示画面上に表示した状態が図示されている。例えば、図21のテーブルの1〜10番目のレコードは台帳データベース内の文字列情報『20600701018100051000』を含むレコード、11番目のレコードは地図データベース内の文字列情報『20600701018100051001』を含むレコード、12番目のレコードは地図データベース内の文字列情報『20600701018100051002』を含むレコードである。突合コード『21002』が示すように、それぞれの文字列情報を含むレコードは他方のデータベース上には存在しないが、レベル2において共通の文字列情報『20600701018100051』を含むレコードが台帳データベースに10個、地図データベースに2個存在している。   FIG. 21 shows a state in which a record in which the matching code “21002” is set is extracted and displayed on the display screen. For example, the 1st to 10th records in the table of FIG. 21 are records including character string information “20600701018100051000” in the ledger database, the 11th record is a record including character string information “20600701018100051001” in the map database, and the 12th record. The record is a record including character string information “20600701018100051002” in the map database. As shown in the matching code “21002”, there are no records including the respective character string information on the other database, but 10 records including the common character string information “20600701018100051” in the level 2 are stored in the ledger database. There are two in the map database.

なお、本発明に係る動作によって得られた突合コードは、図15〜図21のようなテーブルで表示するだけではなく、他の様々な態様で表示されてもよい。例えば上述した実施例では、地図データベース内の住所情報は地図などを表す画像情報と関連付けられており、表示部40の表示画面に地図を表示するとともに、突合コードを地図上の対応する位置に重ね合わせて表示したり、不一致となったレコードに対応する地点や不一致となったレベルなどを地図上に色分けして表示したりすることも可能である。   Note that the matching code obtained by the operation according to the present invention may be displayed not only in a table as shown in FIGS. 15 to 21 but also in various other modes. For example, in the embodiment described above, the address information in the map database is associated with image information representing a map and the like, and the map is displayed on the display screen of the display unit 40 and the matching code is overlaid on the corresponding position on the map. It is also possible to display them together, or to display the points corresponding to the records that do not match, the levels that do not match, etc., in different colors on the map.

また、図15〜図21に示すテーブルには、突合処理によって得られた突合結果を表示する際に、ユーザによるレコードの比較を容易とする特徴が含まれている。以下、突合処理を行った結果を表示するテーブルにおいて、ユーザの視認性及び利便性を向上させるための特徴について説明する。図22は、本発明の第1〜第3の実施の形態において突合処理によって得られた突合結果とデータベース内のレコードとを表示するためのテーブルの一例において、当該テーブルに含まれる特徴を説明するための図である。なお、図22は、突合コード『20201』が設定されているレコードを抽出して表示画面上に表示したテーブル(図18に示すテーブル)の一部(上から6番目までのレコード)を抜き出し、当該テーブルにおいて、ユーザの視認性及び利便性を向上させるための特徴を強調して示したものである。   In addition, the tables shown in FIGS. 15 to 21 include a feature that facilitates the comparison of records by the user when displaying the matching result obtained by the matching process. Hereinafter, characteristics for improving the visibility and convenience of the user in the table displaying the result of the matching process will be described. FIG. 22 illustrates characteristics included in an example of a table for displaying a matching result obtained by the matching process and records in the database in the first to third embodiments of the present invention. FIG. In FIG. 22, a part of the table (table shown in FIG. 18) extracted from the record in which the matching code “20201” is set and displayed on the display screen (the sixth record from the top) is extracted, In the table, features for improving the visibility and convenience of the user are highlighted.

図22には、突合コード『20201』を抽出したテーブル(図19のテーブル)の1〜6番目のレコード(以下、上から順に第1〜第6レコードと呼ぶ)が抜き出されている。図22のテーブルには、各行にレコードが配置され、各列にレコードに含まれる情報を記載したフィールドが配置されている。各フィールドは左から順に「FLG」、「KEY1」、「DCHIBAN1」、「DCHIBAN2」、「CODE」、「MCHIBAN1」、「MCHIBAN2」である。   In FIG. 22, the first to sixth records (hereinafter referred to as the first to sixth records in order from the top) of the table (table of FIG. 19) from which the matching code “20201” is extracted are extracted. In the table of FIG. 22, a record is arranged in each row, and a field describing information included in the record is arranged in each column. The fields are “FLG”, “KEY1”, “DCHIBAN1”, “DCHIBAN2”, “CODE”, “MCHIBAN1”, and “MCHIBAN2” in order from the left.

「FLG」フィールドには、レコードが台帳データベース及び地図データベースのどちらに含まれているものであるかを示す情報が表示される。値「1」は台帳データベースを表し、値「2」は地図データベースを表している。「KEY1」フィールドには、レコードの文字列情報が表示される。「DCHIBAN1」及び「DCHIBAN2」フィールドには、レコードが台帳データベースに含まれている場合に、それぞれ文字列情報の地番(下8桁〜下4桁までの数字)及び枝番(下3桁〜下1桁までの数字)が表示される。同様に、「MCHIBAN1」及び「MCHIBAN2」フィールドには、レコードが地図データベースに含まれている場合に、それぞれ文字列情報の地番(下8桁〜下4桁までの5桁の数字)及び枝番(下3桁〜下1桁までの3桁の数字)が表示される。「CODE」フィールドには、本発明に係る突合処理によって得られた突合コードが表示される。   In the “FLG” field, information indicating whether the record is included in the ledger database or the map database is displayed. The value “1” represents the ledger database, and the value “2” represents the map database. In the “KEY1” field, the character string information of the record is displayed. In the “DCHIBAN1” and “DCHIBAN2” fields, if the record is included in the ledger database, the location number (number from the last 8 digits to the last 4 digits) and branch number (from the last 3 digits to the bottom) of the character string information, respectively. (Up to one digit). Similarly, in the “MCHIBAN1” and “MCHIBAN2” fields, when the record is included in the map database, the lot number (5-digit number from the last 8 digits to the last 4 digits) and the branch number of the character string information, respectively. (3 digits from the last 3 digits to the last 1 digit) is displayed. In the “CODE” field, a match code obtained by the match process according to the present invention is displayed.

図22に図示されている第1〜第6レコードのうち、第1〜第3レコードはレベル2において共通の文字列情報『20600103000200066』を含み、第1及び第2レコードでは文字列情報の最下層(地番)が『000』であり、第3レコードでは『001』である。また、第4〜第6レコードはレベル2において共通の文字列情報『20600103000200081』を含み、第4レコードでは文字列情報の最下層(地番)が『000』であり、第5レコードでは『001』であり、第6レコードでは『002』である。また、第1、第2、第5及び第6レコードは台帳データベース内のレコードであり、第3及び第4レコードは地図データベース内のレコードである。   Among the first to sixth records shown in FIG. 22, the first to third records include character string information “20600103000200066” common at level 2, and the first and second records are the lowest layers of the character string information. (Lot number) is “000”, and “001” in the third record. Further, the fourth to sixth records include character string information “20600103000200081” common in level 2, the lowermost layer (number) of the character string information is “000” in the fourth record, and “001” in the fifth record. In the sixth record, it is “002”. The first, second, fifth and sixth records are records in the ledger database, and the third and fourth records are records in the map database.

なお、上述のように文字列情報の地番は5桁の数字であるが、図22のテーブル(及び図22が基づく図19のテーブル)の表示では、数字『0』は省略されている。例えば、第1レコードの地番を表す文字列情報『00066』であるが、第1レコードの『DCHIBAN1』フィールドには『66』と表示されている。また、枝番を表す文字列情報が『000』の場合、図19のテーブルでは表示そのものが省略されているが、図22のテーブルでは、説明のため、その対応箇所に『(0)』が挿入されている。   As described above, the lot number of the character string information is a five-digit number, but the number “0” is omitted in the display of the table of FIG. 22 (and the table of FIG. 19 based on FIG. 22). For example, the character string information “00066” indicating the lot number of the first record is displayed as “66” in the “DCHIBAN1” field of the first record. Further, when the character string information representing the branch number is “000”, the display itself is omitted in the table of FIG. 19, but in the table of FIG. 22, “(0)” is displayed at the corresponding position for the sake of explanation. Has been inserted.

図22のテーブルは、「KEY1」フィールドを基準としたソート表示を行うという特徴を有している。この特徴により、共通の文字列情報を持つレコードが隣接した行に表示され、共通の文字列情報を持つレコード同士を比較する際におけるユーザの視認性を向上させることが可能となる。なお、例えば突合コード『20201』の場合には、台帳データベース内の2つのレコード及び地図データベース内の1つのレコードが1まとまりとなるが、その結果、テーブル全体では、台帳データベース内のレコード(「FLG」=『1』)と、地図データベース内のレコード(「FLG」=『2』)が入れ子になって表示されるという特徴がある。   The table of FIG. 22 has a feature that sort display is performed based on the “KEY1” field. Due to this feature, records having common character string information are displayed in adjacent rows, and the visibility of the user when comparing records having common character string information can be improved. For example, in the case of the matching code “20201”, two records in the ledger database and one record in the map database are combined into one, but as a result, the records in the ledger database (“FLG” ”=“ 1 ”) and records in the map database (“ FLG ”=“ 2 ”) are nested and displayed.

また、図22のテーブルは、比較した2つのデータベース(台帳データベース及び地図データベース)のそれぞれのレコード内の文字列情報を異なるフィールドに表示するという特徴を有する。具体的には、各レコードの地番及び枝番が、そのレコードが台帳データベース内のレコードである場合には「DCHIBAN1」及び「DCHIBAN2」に表示され、地図データベース内のレコードである場合には「MCHIBAN1」及び「MCHIBAN2」に表示されるようにする。このように、台帳データベースのレコードに含まれる文字列情報を表示するフィールドと、地図データベースのレコードに含まれる文字列情報を表示するフィールドとをそれぞれ分けることによって、ユーザは、各レコードが台帳データベース及び地図データベースのどちらに含まれているものであるかを即座に判断できるようになる。   Further, the table of FIG. 22 has a feature that character string information in each record of two compared databases (the ledger database and the map database) is displayed in different fields. Specifically, the lot number and branch number of each record are displayed in “DCHIBAN1” and “DCHIBAN2” if the record is a record in the ledger database, and “MCHIBAN1” if it is a record in the map database. "And" MCHIBAN2 ". In this way, by separating the field for displaying the character string information included in the record of the ledger database and the field for displaying the character string information included in the record of the map database, the user can make each record be in the ledger database and It is possible to immediately determine which map database contains it.

また、本発明に係る突合処理の結果として、データベースAとデータベースBとにおいて1対1に対応しているレコード(すなわち、上述の例で突合コード『10101』が設定されるレコード)が得られた場合であっても、その突合結果が必ずしも正しいと言えないこともある。そこで、このように1対1に対応していると判断されたレコードに関して、さらに、この突合結果が正しいかどうかを定量的に検証できるようにしてもよい。   In addition, as a result of the matching process according to the present invention, a record corresponding to the database A and the database B on a one-to-one basis (that is, a record in which the matching code “10101” is set in the above example) is obtained. Even in some cases, the result of the match may not always be correct. Therefore, regarding the record determined to correspond one-to-one in this way, it may be possible to quantitatively verify whether or not the matching result is correct.

1対1に対応していると判断されたレコードに関する突合結果を確認する場合、例えば、比較した2つのデータベース(台帳データベース及び地図データベース)のそれぞれのレコード内に含まれている共通の項目を利用することが可能である。以下、図23及び図24を参照しながら説明する。   When checking reconciliation results for records that are determined to correspond one-to-one, for example, use common items included in each record of the two compared databases (the ledger database and the map database) Is possible. Hereinafter, a description will be given with reference to FIGS.

図23には、突合コード『10101』を抽出したテーブル(図15のテーブル)の1〜6番目のレコード(以下、上から順に第1〜第6レコードと呼ぶ)が抜き出されている。ただし、図23のテーブルには、各レコードに含まれている「面積」フィールドが設定されている。この「面積」フィールドは、台帳データベース及び地図データベース内のそれぞれのレコードに設定されており、「面積」フィールドには、各レコードに格納された住所情報に関連する土地の面積(地図面積)が格納されている。台帳データベース及び地図データベースにおいて1対1に対応しているレコードであるならば、共通の項目である「面積」フィールドの数値(土地面積)も等しいはずである。この関係を利用して、台帳データベース及び地図データベースにおいて1対1に対応していると判断されたレコードについて、さらに「面積」フィールド内の数値を比較し、両者が一致している場合には1対1の突合結果は正しいと判断することによって、突合結果の検証を行うことが可能である。   In FIG. 23, the first to sixth records (hereinafter referred to as the first to sixth records in order from the top) of the table (table of FIG. 15) from which the matching code “10101” is extracted are extracted. However, the “area” field included in each record is set in the table of FIG. This “Area” field is set in each record in the ledger database and the map database, and the “Area” field stores the area of the land (map area) related to the address information stored in each record. Has been. If the records correspond to each other in the ledger database and the map database, the numerical value (land area) in the “area” field, which is a common item, should be equal. Using this relationship, the records in the ledger database and map database that are determined to correspond one-to-one are further compared with the numerical values in the “area” field. It is possible to verify the match result by judging that the match result of pair 1 is correct.

なお、共通の項目に含まれる情報が等しいか否かを判断する際、例えば数値の差が所定の範囲(例えば、数パーセント)内に収まる場合には、共通の項目に含まれる情報は実質的に等しい(すなわち、1対1の突合結果は正しい)と判断してもよい。この所定の範囲は、ユーザが自由に設定することが可能である。   When determining whether the information included in the common item is equal, for example, if the difference in numerical values falls within a predetermined range (for example, several percent), the information included in the common item is substantially (That is, the one-to-one matching result is correct). This predetermined range can be freely set by the user.

図23に図示されている第1〜第6レコードのうち、第1及び第2レコードはレベル1において共通の文字列情報『20600021000000356001』を含み、第3及び第4レコードはレベル1において共通の文字列情報『20600021000000356002』を含み、第5及び第6レコードはレベル1において共通の文字列情報『20600021000000356003』を含む。また、第1、第3及び第6レコードは台帳データベース内のレコードであり、第2、第4及び第5レコードは地図データベース内のレコードである。また、図23のテーブルでは、レベル1において共通の文字列情報を持つレコードが隣接した行に表示されている。なお、図23のテーブルは、「KEY1」フィールドを基準としてソート表示を行った結果である。   Of the first to sixth records shown in FIG. 23, the first and second records include character string information “206000210000003560001” common at level 1, and the third and fourth records are characters common to level 1. Column information “20600021000000356002” is included, and the fifth and sixth records include character string information “20600021000000356003” common to level 1. The first, third and sixth records are records in the ledger database, and the second, fourth and fifth records are records in the map database. In the table of FIG. 23, records having common character string information at level 1 are displayed in adjacent rows. Note that the table of FIG. 23 is a result of sorting display based on the “KEY1” field.

上述のように、図23のテーブルには、各レコードの「面積」フィールドが表示されている。例えば、第1及び第2レコードは突合処理において1対1に対応していると判断されたレコードであるが、第1レコードの「面積」フィールド及び第2レコードの「面積」フィールドの数値は共に『946』で等しいことから、第1及び第2レコードが1対1に対応しているという突合結果は正しいと判断することができる。また、第3レコードの「面積」フィールドの数値は『1470』、第4レコードの「面積」フィールドの数値は『1452』であり、両方の数値はほぼ等しいことから、第3及び第4レコードが1対1に対応しているという突合結果は正しいと判断することができる。また、第5レコードの「面積」フィールドの数値は『1603』、第6レコードの「面積」フィールドの数値は『810』であり、両方の数値は大きく異なることから、第5及び第6レコードが1対1に対応しているという突合結果は誤りであると判断することができる。   As described above, the “area” field of each record is displayed in the table of FIG. For example, the first and second records are records that are determined to correspond one-to-one in the reconciliation process, but both the “area” field of the first record and the “area” field of the second record are both Since “946” is equal, it can be determined that the matching result that the first and second records correspond one-to-one is correct. The numerical value of the “area” field of the third record is “1470”, the numerical value of the “area” field of the fourth record is “1452”, and both numerical values are substantially equal. It can be determined that the match result that one-to-one correspondence is correct is correct. In addition, the numerical value of the “area” field of the fifth record is “1603”, the numerical value of the “area” field of the sixth record is “810”, and both numerical values are greatly different. It can be determined that the matching result corresponding to the one-to-one correspondence is an error.

なお、上記では、例えば第3レコードの「面積」フィールドの数値『1470』と、第4レコードの「面積」フィールドの数値『1452』がほぼ等しいと判断しているが、この判断は、ユーザが自由に設定可能な判断基準に依存する。例えば、両方の数値の差(ここでは『18』)がどちらか一方の数値又は両方の数値の平均値の5パーセント以内であれば、両方の数値は実質的に等しいと判断する場合には、第3及び第4レコードが1対1に対応しているという突合結果は正しいと判断される。一方、例えば、両方の数値の差(ここでは『18』)がどちらか一方の数値又は両方の数値の平均値の1パーセント以内であれば、両方の数値は実質的に等しいと判断する場合には、第3及び第4レコードが1対1に対応しているという突合結果は誤りであると判断される。   In the above description, for example, it is determined that the numeric value “1470” in the “area” field of the third record is substantially equal to the numeric value “1452” in the “area” field of the fourth record. Depends on freely set criteria. For example, if the difference between both numbers (here, “18”) is within 5 percent of either number or the average of both numbers, The matching result that the third and fourth records correspond one-to-one is determined to be correct. On the other hand, for example, if the difference between both values (here, “18”) is within one percent of the average value of either value or both values, it is determined that both values are substantially equal. Is determined to be erroneous if the matching result that the third and fourth records correspond one-to-one.

なお、1対1に対応していると判断されたレコードに対して上記の検証を行い、その検証結果を各レコードに設定してもよい。例えば、1対1に対応しているという突合結果が誤りであると判断されたレコードにフラグを設定したり、テーブルで表示する際にレコードの色を変えて強調表示したりすることが可能である。   Note that the above-described verification may be performed on the record determined to correspond one-to-one, and the verification result may be set in each record. For example, it is possible to set a flag for a record that is determined to have an incorrect match result that corresponds to a one-to-one correspondence, or to highlight the record by changing the color of the record when displayed in a table. is there.

また、図24に示すように、「面積」フィールドの数値をプロットした散布図を作成し、突合結果が正しいかどうかをユーザが視覚的に判別できるようにしてもよい。図24には、1対1に対応していると判断された2つのレコードの「面積」フィールドの数値をX座標及びY座標とした点が多数プロットされている。具体的には、プロットされた1つの点は、1対1に対応していると判断された1組のレコードのセット(2つのレコード)を表しており、台帳データベース内のレコードの「面積」フィールドの数値をX座標とし、地図データベース内のレコードの「面積」フィールドの数値をY座標とした点が、散布図内にプロットされている。   Further, as shown in FIG. 24, a scatter diagram in which the numerical values of the “area” field are plotted may be created so that the user can visually determine whether or not the matching result is correct. In FIG. 24, a large number of points are plotted in which the numerical values in the “area” field of two records determined to correspond one-to-one are the X coordinate and the Y coordinate. Specifically, one plotted point represents a set of records (two records) determined to correspond one-to-one, and the “area” of the records in the ledger database. Points are plotted in the scatter plot with the field value as the X coordinate and the "area" field value of the record in the map database as the Y coordinate.

1対1に対応していると判断された2つのレコードの「面積」フィールドの数値がほぼ等しい場合には、プロットされた点は、Y=Xの直線上又はこの直線に近い位置に配置される。したがって、Y=Xの直線から大きく離れた位置にプロットされた点は、誤った突合結果を表しているとみなすことができる。   If the numbers in the “Area” fields of two records determined to correspond one-to-one are approximately equal, the plotted point is placed on or near the line Y = X. The Therefore, a point plotted at a position far away from the Y = X straight line can be regarded as representing an incorrect match result.

なお、図24に示すような散布図において、例えば、ユーザが設定した判断基準を示す直線を表示してもよく、当該判断基準を超えて突合結果が誤りであると判断される点の色を変えて強調表示してもよい。   In the scatter diagram as shown in FIG. 24, for example, a straight line indicating the determination criterion set by the user may be displayed, and the color of the point at which the determination result is determined to be incorrect beyond the determination criterion. It may be changed and highlighted.

なお、上述の例では、台帳データベース内のレコードと地図データベース内のレコードに共通の項目として「面積」フィールドを利用する場合について説明したが、比較する複数のデータベース内のレコードに設定されている共通の項目であれば、その他の項目を用いてもよい。台帳データベース及び地図データベースの例では、土地の面積のほかに、例えば、その土地で栽培されている作物、その土地の用途を表す地目、その土地の周囲長、などを始めとして、様々な項目を利用することが可能である。また、ここでは台帳データベース及び地図データベースの例を挙げて説明しているが、他の任意の種類のデータデータベースにおいても同様に、比較するデータベース内のレコードに設定されている共通の項目を適宜選択することが可能である。   In the above example, the case where the “area” field is used as an item common to the record in the ledger database and the record in the map database has been described. However, the common setting is set in the records in a plurality of databases to be compared. Other items may be used as long as they are items. In the example of the ledger database and map database, in addition to the area of the land, various items such as the crops cultivated on the land, the land indicating the use of the land, the perimeter of the land, etc. It is possible to use. In addition, although an example of the ledger database and the map database is described here, the common items set in the records in the database to be compared are appropriately selected similarly in any other type of data database. Is possible.

本発明は、複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う技術に適用可能である。また、本発明は、任意の種類のデータが格納されたデータベースを処理対象とすることが可能であり、データベース管理技術全般に適用可能である。   The present invention is applicable to a technique for performing a matching process for a plurality of databases each storing a plurality of records. Further, the present invention can target a database in which any type of data is stored, and can be applied to all database management techniques.

10 突合処理装置
11 データベース読み取り部
12 突合処理部
13 レコード比較部
14 突合結果生成部
15 突合結果出力部
20 記憶媒体
30 操作入力部
40 表示部
DESCRIPTION OF SYMBOLS 10 Matching processing apparatus 11 Database reading part 12 Matching processing part 13 Record comparison part 14 Matching result production | generation part 15 Matching result output part 20 Storage medium 30 Operation input part 40 Display part

Claims (11)

階層構造を有する文字列情報を含む複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う突合処理装置であって、
前記複数のデータベースのうちの第1データベース内のレコードに含まれる文字列情報と、前記複数のデータベースのうちの第2データベース内のレコードに含まれる文字列情報とを比較して、相互の文字列情報の一致又は不一致を検出するレコード比較部と、
前記階層構造の所定の上層から所定の下層までの所定の範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲で共通の文字列情報を含む前記第1データベース内のレコード数に基づく情報、前記所定の範囲で共通の文字列情報を含む前記第2データベース内のレコード数に基づく情報、並びに、前記所定の範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付ける突合結果生成部とを、
有する突合処理装置。
A match processing device that performs a match process of a plurality of databases each storing a plurality of records including character string information having a hierarchical structure,
The character string information included in the record in the first database of the plurality of databases and the character string information included in the record in the second database of the plurality of databases are compared with each other. A record comparison unit for detecting information match or mismatch;
If a record including character string information common in a predetermined range from a predetermined upper layer to a predetermined lower layer of the hierarchical structure exists in both the first and second databases, the common character in the predetermined range Information based on the number of records in the first database including column information, information based on the number of records in the second database including character string information common to the predetermined range, and characters common to the predetermined range A match result generating unit that associates information indicating that column information is included with each of the records in the first and second databases including common character string information in the predetermined range;
A butt processing device.
前記レコード比較部は、最初に前記所定の範囲で前記第1及び第2のデータベース内のレコードに含まれる文字列情報の比較を行い、その後、前記文字列情報を比較する範囲を、前記階層構造の階層単位で前記所定の範囲から段階的に狭くしながら前記文字列情報の比較を行うよう構成されている請求項1に記載の突合処理装置。   The record comparison unit first compares the character string information included in the records in the first and second databases within the predetermined range, and then compares the character string information with the hierarchical structure. The matching processing apparatus according to claim 1, wherein the character string information is compared while being gradually reduced from the predetermined range in units of layers. 前記突合結果生成部は、前記所定の範囲より狭い範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲より狭い範囲で共通の文字列情報を含む前記第1データベース内のレコード数に基づく情報、前記所定の範囲より狭い範囲で共通の文字列情報を含む前記第2データベース内のレコード数に基づく情報、並びに、前記所定の範囲より狭い範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲より狭い範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付けるよう構成されている請求項2に記載の突合処理装置。   When the record including common character string information in a range narrower than the predetermined range exists in both the first and second databases, the matching result generation unit is common in the range narrower than the predetermined range. Information based on the number of records in the first database including character string information, information based on the number of records in the second database including common character string information in a range narrower than the predetermined range, and the predetermined range Information indicating that common character string information is included in a narrower range is associated with each of the records in the first and second databases including common character string information in a narrower range than the predetermined range. The butt processing apparatus according to claim 2. 前記レコード比較部は、前記第1及び第2データベース内のレコードのうち、前記相互の文字列情報の一致が既に検出されているレコードを比較対象から除外するよう構成されている請求項2又は3に記載の突合処理装置。   4. The record comparison unit is configured to exclude a record in which a match between the character string information has already been detected among the records in the first and second databases from a comparison target. 2. The butt-treatment device described in 1. 前記レコード比較部は、最初に前記所定の範囲より狭い範囲で前記第1及び第2のデータベース内のレコードに含まれる文字列情報の比較を行い、その後、前記文字列情報を比較する範囲を、前記階層構造の階層単位で前記所定の範囲まで段階的に広くしながら前記文字列情報の比較を行うよう構成されている請求項1に記載の突合処理装置。   The record comparison unit first compares character string information included in the records in the first and second databases in a range narrower than the predetermined range, and then compares the character string information with a range. The match processing apparatus according to claim 1, wherein the character string information is compared while expanding stepwise up to the predetermined range in units of the hierarchical structure. 前記突合結果生成部は、前記所定の範囲より狭い範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲より狭い範囲で共通の文字列情報を含む前記第1データベース内のレコード数に基づく情報、前記所定の範囲より狭い範囲で共通の文字列情報を含む前記第2データベース内のレコード数に基づく情報、並びに、前記所定の範囲より狭い範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲より狭い範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付けるよう構成されている請求項5に記載の突合処理装置。   When the record including common character string information in a range narrower than the predetermined range exists in both the first and second databases, the matching result generation unit is common in the range narrower than the predetermined range. Information based on the number of records in the first database including character string information, information based on the number of records in the second database including common character string information in a range narrower than the predetermined range, and the predetermined range Information indicating that common character string information is included in a narrower range is associated with each of the records in the first and second databases including common character string information in a narrower range than the predetermined range. The butt processing apparatus according to claim 5. 前記突合結果生成部は、前記所定の範囲で共通の文字列情報を含む前記第1データベース内のレコード数に基づく情報、前記所定の範囲で共通の文字列情報を含む前記第2データベース内のレコード数に基づく情報、並びに、前記所定の範囲で共通の文字列情報を含むことを示す情報を統合したコード情報を生成するよう構成されている請求項1から6のいずれか1つに記載の突合処理装置。   The match result generation unit includes information based on the number of records in the first database including character string information common to the predetermined range, and records in the second database including character string information common to the predetermined range. 7. The match according to claim 1, wherein the code information is generated by integrating information based on a number and information indicating that common character string information is included in the predetermined range. Processing equipment. 前記第1及び第2データベース内のレコード数に基づく情報として、前記第1及び第2データベース内のレコード数自体、又は、前記第1及び第2データベース内のレコード数が単数か複数かを示す情報を用いる請求項1から7のいずれか1つに記載の突合処理装置。   As information based on the number of records in the first and second databases, information indicating whether the number of records in the first and second databases themselves or the number of records in the first and second databases is singular or plural. The butt processing apparatus according to claim 1, wherein: 前記階層構造を有する文字列情報が住所情報である請求項1から8のいずれか1つに記載の突合処理装置。   The matching processing apparatus according to claim 1, wherein the character string information having the hierarchical structure is address information. 階層構造を有する文字列情報を含む複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う突合処理方法であって、
前記複数のデータベースのうちの第1データベース内のレコードに含まれる文字列情報と、前記複数のデータベースのうちの第2データベース内のレコードに含まれる文字列情報とを比較して、相互の文字列情報の一致又は不一致を検出するレコード比較ステップと、
前記階層構造の所定の上層から所定の下層までの所定の範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲で共通の文字列情報を含む前記第1データベース内のレコード数に基づく情報、前記所定の範囲で共通の文字列情報を含む前記第2データベース内のレコード数に基づく情報、並びに、前記所定の範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付ける突合結果生成ステップとを、
有する突合処理方法。
A matching process method for performing a matching process of a plurality of databases each storing a plurality of records including character string information having a hierarchical structure,
The character string information included in the record in the first database of the plurality of databases and the character string information included in the record in the second database of the plurality of databases are compared with each other. A record comparison step for detecting information match or mismatch;
If a record including character string information common in a predetermined range from a predetermined upper layer to a predetermined lower layer of the hierarchical structure exists in both the first and second databases, the common character in the predetermined range Information based on the number of records in the first database including column information, information based on the number of records in the second database including character string information common to the predetermined range, and characters common to the predetermined range A matching result generating step for associating information indicating that column information is included with each of the records in the first and second databases including common character string information in the predetermined range;
A matching process method.
階層構造を有する文字列情報を含む複数のレコードがそれぞれ格納された複数のデータベースの突合処理を行う突合処理方法をコンピュータにより実行させるための突合処理プログラムであって、
前記複数のデータベースのうちの第1データベース内のレコードに含まれる文字列情報と、前記複数のデータベースのうちの第2データベース内のレコードに含まれる文字列情報とを比較して、相互の文字列情報の一致又は不一致を検出するレコード比較ステップと、
前記階層構造の所定の上層から所定の下層までの所定の範囲で共通の文字列情報を含むレコードが前記第1及び第2データベースの両方に存在する場合には、前記所定の範囲で共通の文字列情報を含む前記第1データベース内のレコード数に基づく情報、前記所定の範囲で共通の文字列情報を含む前記第2データベース内のレコード数に基づく情報、並びに、前記所定の範囲で共通の文字列情報を含むことを示す情報を、前記所定の範囲で共通の文字列情報を含む前記第1及び第2データベース内のレコードのそれぞれに関連付ける突合結果生成ステップとを、
有する突合処理方法をコンピュータにより実行させるための突合処理プログラム。
A match processing program for causing a computer to execute a match processing method for performing a match processing of a plurality of databases each storing a plurality of records including character string information having a hierarchical structure,
The character string information included in the record in the first database of the plurality of databases and the character string information included in the record in the second database of the plurality of databases are compared with each other. A record comparison step for detecting information match or mismatch;
If a record including character string information common in a predetermined range from a predetermined upper layer to a predetermined lower layer of the hierarchical structure exists in both the first and second databases, the common character in the predetermined range Information based on the number of records in the first database including column information, information based on the number of records in the second database including character string information common to the predetermined range, and characters common to the predetermined range A matching result generating step for associating information indicating that column information is included with each of the records in the first and second databases including common character string information in the predetermined range;
A matching processing program for causing a computer to execute a matching processing method.
JP2015228923A 2015-11-24 2015-11-24 Butt processing device, butt processing method and butt processing program Active JP6623040B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015228923A JP6623040B2 (en) 2015-11-24 2015-11-24 Butt processing device, butt processing method and butt processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015228923A JP6623040B2 (en) 2015-11-24 2015-11-24 Butt processing device, butt processing method and butt processing program

Publications (2)

Publication Number Publication Date
JP2017097610A JP2017097610A (en) 2017-06-01
JP6623040B2 true JP6623040B2 (en) 2019-12-18

Family

ID=58817949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015228923A Active JP6623040B2 (en) 2015-11-24 2015-11-24 Butt processing device, butt processing method and butt processing program

Country Status (1)

Country Link
JP (1) JP6623040B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086782A (en) * 2002-08-29 2004-03-18 Hitachi Ltd Apparatus for supporting integration of heterogeneous database
JP4913115B2 (en) * 2008-12-08 2012-04-11 株式会社東芝 Database composition device, character recognition support system, and database composition method
JP5640774B2 (en) * 2011-01-28 2014-12-17 富士通株式会社 Information collation apparatus, information collation method, and information collation program
JP5780036B2 (en) * 2011-07-26 2015-09-16 富士通株式会社 Extraction program, extraction method and extraction apparatus

Also Published As

Publication number Publication date
JP2017097610A (en) 2017-06-01

Similar Documents

Publication Publication Date Title
AU2018253478B2 (en) Testing insecure computing environments using random data sets generated from characterizations of real data sets
US7814111B2 (en) Detection of patterns in data records
US20210334292A1 (en) System and method for reconciliation of data in multiple systems using permutation matching
CN109408385B (en) A kind of disfigurement discovery method based on mischief rule and classifying feedback
CN110188196A (en) A kind of text increment dimension reduction method based on random forest
US11321359B2 (en) Review and curation of record clustering changes at large scale
Hoseini et al. A new algorithm for mining frequent patterns in can tree
US11875234B2 (en) Systems and/or methods for machine-learning based data correction and completion in sparse datasets
CN111475464B (en) Method for automatically finding and mining fingerprints of Web component
JP6623040B2 (en) Butt processing device, butt processing method and butt processing program
CN104636471A (en) Procedure code finding method and device
JP4136594B2 (en) Data processing method and data processing program
JP5088016B2 (en) Traceability management device
JP4501459B2 (en) Program, method and apparatus for creating cross table
JP6900956B2 (en) Verification program, verification device, verification method, index generation program, index generation device and index generation method
JP3929418B2 (en) Information search program and medium on which information search program is recorded
KR101394339B1 (en) System and method for processing genome sequence in consideration of seed length
JP6664201B2 (en) Abutting processing device, abutting processing method and abutting processing program
JP2010146472A (en) Bit stream data sorting device, method, and program
JP3859044B2 (en) Index creation method and search method
JP2011175446A (en) System for processing requirement/bug report and method thereof
Magnusson THÈME User’s manual
CN113495928B (en) Data consistency checking method and device, electronic equipment and readable storage medium
Bano et al. Database-Less Extraction of Event Logs from Redo Logs
US8849866B2 (en) Method and computer program product for creating ordered data structure

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191125

R150 Certificate of patent or registration of utility model

Ref document number: 6623040

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250