(57)【特許請求の範囲】
【請求項１】
更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出する抽出部と、
前記抽出部により抽出された変更されるデータ項目の組合せと、変更されたデータ項目の当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照して、前記抽出部により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、前記抽出部により抽出された変更されるデータ項目の組合せが妥当か否かを判定する判定部と、
前記判定部により前記組合せが妥当でないと判定された場合に、警告を出力する出力部と
を備えたことを特徴とする更新装置。
【請求項２】
前記抽出部により抽出された組合せに基づいて、前記記憶部に記憶された当該組合せの妥当性を示す情報を更新する更新部をさらに備えたことを特徴とする請求項１に記載の更新装置。
【請求項３】
前記抽出部は、更新するデータレコードが複数存在する場合に、複数のデータレコードそれぞれについて、前記組合せをそれぞれ抽出し、
前記判定部は、前記抽出部により抽出されたそれぞれの組合せのうち、一致する組合せの割合と、当該組合せの妥当性を示す情報とに基づいて、前記組合せごとに妥当か否かを判定することを特徴とする請求項１又は２に記載の更新装置。
【請求項４】
コンピュータに、
更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出し、
前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せと、変更されたデータ項目の当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照して、前記組合せを抽出する処理により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せが妥当か否かを判定し、
前記判定する処理により前記組合せが妥当でないと判定された場合に、警告を出力する
処理を実行させることを特徴とする更新プログラム。
【請求項５】
コンピュータが実行する更新方法であって、
更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出し、
前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せと、変更されたデータ項目の当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照して、前記組合せを抽出する処理により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せが妥当か否かを判定し、
前記判定する処理により前記組合せが妥当でないと判定された場合に、警告を出力する
ことを特徴とする更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新装置、更新プログラム及び更新方法に関する。
【背景技術】
【０００２】
従来、データベースで情報を管理することが行われている。例えば、個人情報を管理する場合には、氏名、性別、年齢、所属、勤務地などのデータ項目が個人ごとに対応づけてデータベースに登録される。そして、データベースに格納されたデータ項目が、ユーザからの要求に応じて読み出されたり、更新されたりする。データベースに登録される際に対応づけられた一連のデータ項目は、データレコードに対応する。
【０００３】
また、例えば、データベースに登録された複数のデータ項目を、一度の入力で一括更新する技術が存在する。この技術では、キーとなるデータ項目を用いて、データベースに登録されたデータレコードと、入力されるデータとを対応させる。そして、データレコードの各データ項目が、対応する入力データの各項目に更新される。例えば、従業員の識別情報を示す従業員ＩＤ（Identification）をキーとして、各従業員のデータレコードが、入力データの従業員ＩＤに紐づけられた氏名、性別、年齢、所属、勤務地などのデータ項目に更新される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記従来技術では、データレコードを更新する際にキーとなるデータ項目の値に誤りがあると、誤ってデータレコードを更新する誤更新が発生してしまう。例えば、ある従業員のデータレコードを更新する際に、キーとなる従業員ＩＤに誤りがあると、その従業員の氏名、性別、年齢、所属、勤務地などの各データ項目が他の従業員のデータレコードに上書きされてしまう。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、誤更新を防止することができる更新装置、更新プログラム及び更新方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示する技術は、一つの態様において、抽出部と、判定部と、出力部とを備える。抽出部は、更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出する。判定部は、抽出部により抽出された変更されるデータ項目の組合せと、変更されたデータ項目のと当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照する。判定部は、抽出部により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、抽出部により抽出された変更されるデータ項目の組合せが妥当か否かを判定する。出力部は、判定部により組合せが妥当でないと判定された場合に、警告を出力する。
【発明の効果】
【０００８】
本願の開示する技術の一つの態様によれば、誤更新を防止することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る更新装置の機能構成を示すブロック図である。
【図２】図２は、個人情報テーブルのデータ構造の一例を示す図である。
【図３】図３は、統計情報テーブルのデータ構造の一例を示す図である。
【図４】図４は、受付部が受け付けたＣＳＶファイルの一例を示す図である。
【図５】図５は、カウントアップ結果を説明するための図である。
【図６】図６は、更新対象を選択する画面の一例を示す図である。
【図７】図７は、実施例１に係る更新装置１００の処理手順を示すフローチャートである。
【図８】図８は、更新パターン抽出処理の処理手順を示すフローチャートである。
【図９】図９は、更新プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する更新装置、更新プログラム及び更新方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
実施例１に係る更新装置の機能構成について説明する。図１は、実施例１に係る更新装置の機能構成を示すブロック図である。図１に示すように、この更新装置１００は、通信制御部１０１と、記憶部１１０と、制御部１２０とを有する。また、更新装置１００は、ネットワーク１０を介してクライアント２０ａ〜２０ｃにそれぞれ接続される。
【００１２】
クライアント２０ａ〜２０ｃは、Ｗｅｂサービスなど利用可能な情報端末装置であり、例えば、パーソナルコンピュータやワークステーションなどが対応する。例えば、クライアント２０ａ〜２０ｃは、更新にかかるデータレコードを含む情報の入力を受け付ける入力装置と、更新にかかるデータレコードに含まれるデータ項目の組合せが妥当でない旨の警告を出力する出力装置とを有する。
【００１３】
通信制御部１０１は、少なくとも１つの通信ポートを有するインターフェースである。例えば、通信制御部１０１は、更新装置１００とクライアント２０ａ〜２０ｃそれぞれとの間でやりとりする各種情報に関する通信を制御する。
【００１４】
記憶部１１０は、個人情報テーブル１１１と、統計情報テーブル１１２とを有する。記憶部１１０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、ハードディスクや光ディスクなどの記憶装置に対応する。
【００１５】
個人情報テーブル１１１は、個人の情報を記憶する。図２は、個人情報テーブルのデータ構造の一例を示す図である。図２に示すように、個人情報テーブル１１１は、「個人ＩＤ」と、「氏名」と、「性別」と、「所属」と、「内線番号」とを対応づけて記憶する。このうち、個人ＩＤ（Identification）は、個人の識別情報を示す。氏名は、個人の氏名を示す。性別は、個人の性別を示す。所属は、個人の所属を示す。内線番号は、個人の内線番号を示す。なお、個人ＩＤ、氏名、性別、所属及び内線番号などを総称してデータ項目と称する。また、個人情報テーブル１１１に対応づけて記憶される一連のデータ項目をデータレコードと称する。つまり、１つのデータレコードは、１人の個人について対応づけた一連のデータ項目に対応する。
【００１６】
図２に示すように、例えば、個人情報テーブル１１１は、個人ＩＤ「０００１」と、氏名「ＡＡ」と、性別「男」と、所属「開発Ａ部」と、内線番号「１１１１」とを対応づけて記憶する。つまり、個人情報テーブル１１１は、個人ＩＤ「０００１」で識別される個人が「ＡＡ」という氏名の男性であり、開発Ａ部に所属し、内線番号が「１１１１」であることを示す。なお、個人情報テーブル１１１は、他の個人の情報についても同様に記憶する。ここでは、更新装置１００の処理対象となるマスタ情報の一例として、記憶部１１０が個人情報テーブル１１１を記憶する場合を説明したが、この例示に限定されるものではない。例えば、顧客の情報を管理するテーブルや商品の情報を管理するテーブルなどが更新装置１００の処理対象となる場合には、記憶部１１０は、処理対象となるテーブルを記憶する。
【００１７】
統計情報テーブル１１２は、データ項目の組合せと、その組合せの妥当性を示す情報とを対応づけて記憶する。図３は、統計情報テーブルのデータ構造の一例を示す図である。図３に示すように、統計情報テーブル１１２は、「更新パターン」と、「更新回数」とを対応づけて記憶する。このうち、更新パターンは、１つのデータレコードが更新された際に、変更されたデータ項目の組合せを示す。例えば、更新パターン「所属＋内線番号」は、１つのデータレコードが更新された際に、個人情報テーブル１１１の「所属」と「内線番号」との組合せが変更されたことを示す。更新回数は、更新パターンが過去に更新された回数を示す。また、統計情報テーブル１１２は、「更新回数合計」を記憶する。この更新回数合計は、更新パターンが過去に更新された更新回数の累積値を示す。なお、統計情報テーブル１１２は、記憶部の一例である。
【００１８】
図３に示すように、例えば、統計情報テーブル１１２は、更新パターン「所属＋内線番号」と、更新回数「４０」とを対応づけて記憶する。つまり、統計情報テーブル１１２は、１つのデータレコードが更新された際に、個人情報テーブル１１１の「所属」と「内線番号」との組合せが、過去に４０回更新されたことを示す。なお、この更新回数は、更新パターンの妥当性を示す。つまり、統計情報テーブル１１２に含まれる更新パターンのうち、他の更新パターンと比較して更新回数が多い更新パターンは妥当であると判定され、更新回数が少ない更新パターンは妥当でないと判定される。また、統計情報テーブル１１２は、他の更新パターンについても同様に更新回数を記憶する。また、統計情報テーブル１１２は、更新回数合計「８０」を記憶する。つまり、統計情報テーブル１１２は、更新パターンが過去に更新された更新回数の累積値が８０回であることを示す。
【００１９】
制御部１２０は、受付部１２１と、抽出部１２２と、判定部１２３と、出力部１２４と、更新部１２５とを有する。制御部１２０の機能は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路により実現することができる。また、制御部１２０の機能は、例えば、ＣＰＵ（Central  Processing  Unit）が所定のプログラムを実行することで実現することができる。
【００２０】
受付部１２１は、クライアント２０ａ〜２０ｃそれぞれから各種情報を受け付ける。例えば、受付部１２１は、更新にかかるデータレコードを含む情報をクライアント２０ａから受け付けて、受け付けた情報を抽出部１２２に出力する。なお、更新にかかるデータレコードを含む情報は、例えば、ＣＳＶファイル（Comma  Separated  Values）である。以下では、受付部１２１がＣＳＶファイルを受け付けた場合を説明する。
【００２１】
図４は、受付部が受け付けたＣＳＶファイルの一例を示す図である。ＣＳＶファイルは、各属性値をカンマで区切り、所定の順序で並べたファイルである。ＣＳＶファイルの１行は、更新にかかるデータレコード１行に対応する。また、ＣＳＶファイルの各属性値は、データレコードの各データ項目に対応する。図４に示すように、例えば、ＣＳＶファイルの１行目は、「個人ＩＤ，氏名，性別，所属，内線番号」を含み、ＣＳＶファイルの２行目は、「０００１，ＡＡ，男，開発Ｄ部，４４４４」を含む。つまり、ＣＳＶファイルは、更新にかかるデータレコードとして、個人ＩＤ「０００１」と、氏名「ＡＡ」と、性別「男」と、所属「開発Ｄ部」と、内線番号「４４４４」とを含むことを示す。受付部１２１は、クライアント２０ａからＣＳＶファイルを受け付けて、受け付けたＣＳＶファイルを抽出部１２２に出力する。
【００２２】
抽出部１２２は、更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出する。例えば、抽出部１２２は、ＣＳＶファイルの１行と、対応する個人情報テーブル１１１のデータレコード１行とを比較し、変更されるデータ項目の組合せを更新パターンとして抽出する。
【００２３】
以下では、図２及び図４を参照しつつ、抽出部１２２が更新パターンを抽出する処理について説明する。例えば、抽出部１２２は、受付部１２１からＣＳＶファイルを受け付けて、受け付けたＣＳＶファイルから１行読み込む。例えば、抽出部１２２は、図４に示したＣＳＶファイルから２行目「０００１，ＡＡ，男，開発Ｄ部，４４４４」を読み込む。
【００２４】
抽出部１２２は、読み込んだＣＳＶファイルの１行の個人ＩＤをキーとして、個人情報テーブル１１１を検索する。例えば、抽出部１２２は、２行目の先頭のデータ項目である個人ＩＤ「０００１」をキーとして、図２に示した個人情報テーブル１１１を検索する。抽出部１２２は、個人ＩＤが個人情報テーブル１１１に存在する場合には、個人ＩＤに対応するデータレコードを個人情報テーブル１１１から読み込む。例えば、個人ＩＤ「０００１」は個人情報テーブル１１１に存在するので、抽出部１２２は、対応するデータレコード「０００１，ＡＡ，男，開発Ａ部，１１１１」を個人情報テーブル１１１から読み込む。
【００２５】
抽出部１２２は、ＣＳＶファイルの１行のデータ項目と、データレコード１行のデータ項目とを先頭から順に比較し、比較したデータ項目が相違する場合に、そのデータ項目を変更されるデータ項目として取得する。例えば、抽出部１２２は、ＣＳＶファイルの１行のデータ項目と、データレコード１行のデータ項目とを先頭から順に比較する。個人ＩＤ「０００１」の所属を比較した場合、ＣＳＶファイルでは「開発Ｄ部」であり、個人情報テーブル１１１では「開発Ａ部」である。このように、個人ＩＤ「０００１」の所属が相違する場合には、抽出部１２２は、変更されるデータ項目として「所属」を取得する。また、同様に、個人ＩＤ「０００１」の内線番号が相違するので、抽出部１２２は、変更されるデータ項目として「内線番号」取得する。
【００２６】
抽出部１２２は、ＣＳＶファイルの１行について取得したデータ項目の組合せを更新パターンとして抽出する。例えば、ＣＳＶファイルの２行目から「所属」と「内線番号」とを取得した場合には、抽出部１２２は、更新パターンとして「所属＋内線番号」を抽出する。抽出部１２２は、抽出した更新パターンをカウントアップする。
【００２７】
抽出部１２２は、個人ＩＤが個人情報テーブル１１１に存在しない場合には、読み込んだＣＳＶファイルの１行が新規のデータレコードであると判定する。例えば、ＣＳＶファイルの６行目の個人ＩＤ「０３００」は個人情報テーブル１１１に存在しないので、抽出部１２２は、ＣＳＶファイルの６行目を新規のデータレコードとしてカウントアップする。抽出部１２２は、ＣＳＶファイルに含まれる各行について、同様の処理を実行する。
【００２８】
図５は、カウントアップ結果を説明するための図である。図５に示すように、カウントアップ結果は、「更新パターン」と、「更新予定数」とを対応付ける。この更新予定数は、ＣＳＶファイルに含まれる更新パターンの数に対応する。例えば、カウントアップ結果は、更新パターン「所属＋内線番号」と、更新予定数「２」とを対応付ける。つまり、カウントアップ結果は、ＣＳＶファイルに「所属」と「内線番号」との組合せを変更する行が２行含まれることを示す。また、カウントアップ結果は、他の更新パターンについても同様に更新予定数を対応付ける。
【００２９】
判定部１２３は、ＣＳＶファイルから抽出した更新パターンが妥当か否かを判定する。判定部１２３は、第１の処理として、更新回数合計に対する更新パターンの更新回数が占める割合を算出する。これは、個人情報テーブル１１１が更新されるごとに更新パターンを記録し、過去に記録された更新パターンが多いほど妥当とみなすという趣旨である。また、判定部１２３は、第２の処理として、ＣＳＶファイル中の更新パターンの割合を算出する。これは、ＣＳＶファイル中で一致する更新パターンが多いほど妥当とみなすという趣旨である。
【００３０】
ここで、第１の処理について説明する。判定部１２３は、抽出部１２２により抽出された変更されるデータ項目の組合せと、変更されたデータ項目のと当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照する。判定部１２３は、抽出部１２２により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、抽出部１２２により抽出された変更されるデータ項目の組合せが妥当か否かを判定する。例えば、判定部１２３は、統計情報テーブル１１２を参照し、抽出部１２２により抽出された更新パターンが妥当か否かを判定する。
【００３１】
例えば、判定部１２３は、ＣＳＶファイルから抽出された各更新パターンについて、統計情報テーブル１１２から更新回数と更新回数合計とを取得する。判定部１２３は、統計情報テーブル１１２から取得した各更新パターンの更新回数を更新回数合計でそれぞれ除算することで、更新回数合計に対する更新パターンの更新回数が占める割合を算出する。例えば、図３に示したように、更新パターン「所属＋内線番号」の更新回数が占める割合は、４０／８０＝０．５となる。
【００３２】
また、第２の処理について説明する。判定部１２３は、抽出部１２２により抽出された組合せのうち、一致する組合せの割合と、その組合せの妥当性を示す情報とに基づいて、前記組合せごとに妥当か否かを判定する。例えば、判定部１２３は、ＣＳＶファイル中の各更新パターンの更新予定数を、ＣＳＶファイル中の各更新パターンの更新予定数の合計数で除算することで、ＣＳＶファイル中の更新パターンの割合を算出する。例えば、図５に示したように、ＣＳＶファイル中の更新パターン「所属＋内線番号」の割合は、２／（２＋１＋１＋１）＝０．４となる。
【００３３】
例えば、判定部１２３は、上述した第１の処理と第２の処理とを組み合わせて、ＣＳＶファイルから抽出した更新パターンが妥当か否かを判定する。例えば、判定部１２３は、下記の式（１）を用いてスコアを算出する。式（１）において、Ｍは、更新対象となる更新パターンを示す。
【００３４】
スコア＝｛１−（更新回数合計に対する更新パターンの更新回数が占める割合）Ｍ｝×｛１−（ＣＳＶファイル中の更新パターンの割合）Ｍ｝・・・（１）
【００３５】
例えば、判定部１２３は、更新回数合計に対する更新パターンの更新回数が占める割合と、ＣＳＶファイル中の更新パターンの割合とを式（１）に代入することで、更新パターンのスコアを算出する。このスコアは、０〜１の間の値を有し、１に近づくほど誤更新である可能性が高くなる値である。判定部１２３は、算出したスコアが閾値より大きいか否かを判定する。この閾値は、スコアが妥当であるか否かを判定するために用いられる値であり、例えば、「０．５」である。例えば、更新パターン「所属＋内線番号」のスコアは、（１−０．５）×（１−０．４）＝０．３となる。この場合、更新パターン「所属＋内線番号」のスコア「０．３」は、閾値「０．５」より小さいので、更新パターン「所属＋内線番号」は妥当である、言い換えると、誤更新ではないと判定される。なお、閾値については、この例示に限定されるものではなく、例えば、更新装置１００を利用する者が任意の値に設定して良い。また、ここでは、全ての更新パターンに共通の閾値が設定される場合を説明したが、更新パターンごとに閾値が設定されても良い。また、スコアの算出方法は、上記の式（１）に限定されるものではない。例えば、上記１つ目の処理により算出した更新回数合計に対する更新パターンの更新回数が占める割合をスコアとして用いても良い。この場合、スコアが０に近づくほど誤更新である可能性が高くなると判定される。
【００３６】
出力部１２４は、判定部１２３によりデータ項目の組合せが妥当でないと判定された場合に、警告を出力する。例えば、出力部１２４は、判定部１２３による判定された結果に基づいて、更新対象を選択する画面を生成する。そして、出力部１２４は、生成した更新対象を選択する画面をクライアント２０ａに出力させる。
【００３７】
図６は、更新対象を選択する画面の一例を示す図である。図６に示すように、更新対象を選択する画面６ａには、更新するデータレコードの一覧６ｂが含まれる。この一覧６ｂは、妥当でない更新パターンを含むデータレコードに、色、メッセージ、記号などを付加して表示する。図６に示す例では、データレコードに網掛けを行うことで、個人ＩＤ「０００２」及び「０００４」のデータレコードが妥当でない更新パターンを含む旨を示す。また、一覧６ｂは、新規に追加されるデータレコードを含む。図６に示す例では、個人ＩＤ「０３００」のデータレコードが新規に追加されるデータレコードである旨を示す。また、一覧６ｂは、利用者による選択を受け付けるチェックボックスを含む。このチェックボックスがチェックされたデータレコードは、利用者により更新対象として選択された旨を示す。図６に示す例では、個人ＩＤ「０００３」及び「０００４」のデータレコードが更新対象として選択された旨を示す。
【００３８】
更新部１２５は、抽出部１２２により抽出されたデータ項目の組合せに基づいて、記憶部に記憶されたデータ項目の組合せの妥当性を示す情報を更新する。例えば、更新部１２５は、更新対象を選択する画面に対する利用者の入力を受け付けることで、更新対象となるデータレコードを受け付ける。更新部１２５は、利用者により選択された更新対象に基づいて、統計情報テーブル１１２を更新する。例えば、利用者により選択された更新対象となるデータレコードの更新パターンが「所属＋内線番号」であった場合には、更新部１２５は、統計情報テーブル１１２の更新パターン「所属＋内線番号」に対応する更新回数に「１」を加算する。
【００３９】
また、更新部１２５は、個人情報テーブル１１１を更新する。更新部１２５は、利用者により選択された更新対象に基づいて、個人情報テーブル１１１を更新する。例えば、更新部１２５は、利用者により選択された更新対象となるデータレコードを、対応する個人情報テーブル１１１のデータレコードに上書きする。
【００４０】
次に、実施例１に係る更新装置１００の処理手順について説明する。図７は、実施例１に係る更新装置１００の処理手順を示すフローチャートである。図７に示す処理は、例えば、更新装置１００に電源から電力が供給されている間、所定時間間隔で実行される。
【００４１】
図７に示すように、受付部１２１がＣＳＶファイルを受け付けた場合に（ステップＳ１０１，Ｙｅｓ）、抽出部１２２は、更新パターン抽出処理を実行する（ステップＳ１０２）。
【００４２】
図８を用いて、図７のステップＳ１０２に示した更新パターン抽出処理について説明する。図８は、更新パターン抽出処理の処理手順を示すフローチャートである。図８に示すように、抽出部１２２は、受け付けたＣＳＶファイルから１行読み込む（ステップＳ２０１）。抽出部１２２は、読み込んだＣＳＶファイルの１行の個人ＩＤをキーとして、個人情報テーブル１１１を検索する（ステップＳ２０２）。
【００４３】
個人ＩＤが個人情報テーブル１１１に存在する場合には（ステップＳ２０３，Ｙｅｓ）、抽出部１２２は、個人ＩＤに対応するデータレコードを個人情報テーブル１１１から読み込む（ステップＳ２０４）。抽出部１２２は、読み込んだＣＳＶファイルの１行と、読み込んだデータレコード１行とを比較し、変更されるデータ項目を解析する（ステップＳ２０５）。例えば、抽出部１２２は、ＣＳＶファイルの１行のデータ項目と、データレコード１行のデータ項目とを先頭から順に比較し、比較したデータ項目が相違する場合に、そのデータ項目を変更されるデータ項目として取得する。
【００４４】
抽出部１２２は、ＣＳＶファイルの１行について取得したデータ項目の組合せを更新パターンとして抽出する（ステップＳ２０６）。そして、抽出部１２２は、抽出した更新パターンの数をカウントアップする（ステップＳ２０７）。
【００４５】
一方、個人ＩＤが個人情報テーブル１１１に存在しない場合には（ステップＳ２０３，Ｎｏ）、ステップＳ２０７の処理に移行する。つまり、抽出部１２２は、読み込んだＣＳＶファイルの１行を新規のデータレコードとしてカウントアップする。
【００４６】
ＣＳＶファイルに未処理の行が存在する場合には（ステップＳ２０８，Ｙｅｓ）、抽出部１２２は、ステップＳ２０１の処理に移行する。一方、ＣＳＶファイルに未処理の行が存在しない場合に（ステップＳ２０８、Ｎｏ）、抽出部１２２は、更新パターン抽出処理を終了する。
【００４７】
図７の説明に戻る。判定部１２３は、統計情報テーブル１１２から更新パターンの更新回数を取得する（ステップＳ１０３）。つまり、判定部１２３は、ＣＳＶファイルから抽出された各更新パターンについて、統計情報テーブル１１２から更新回数と更新回数合計とを取得する。判定部１２３は、更新回数合計に対する更新パターンの更新回数が占める割合を算出する（ステップＳ１０４）。つまり、判定部１２３は、統計情報テーブル１１２から取得した各更新パターンの更新回数を更新回数合計でそれぞれ除算することで、更新回数合計に対する更新パターンの更新回数が占める割合を算出する。
【００４８】
判定部１２３は、ＣＳＶファイル中の更新パターンの割合を算出する（ステップＳ１０５）。つまり、判定部１２３は、ＣＳＶファイル中の各更新パターンの更新予定数を、ＣＳＶファイル中の各更新パターンの更新予定数の合計数で除算することで、ＣＳＶファイル中の更新パターンの割合を算出する。
【００４９】
判定部１２３は、更新パターンのスコアを算出する（ステップＳ１０６）。つまり、判定部１２３は、ステップＳ１０４の処理で算出した更新パターンの更新回数が占める割合と、ステップＳ１０５の処理で算出したＣＳＶファイル中の更新パターンの割合とを上記の式（１）に代入することで、更新パターンのスコアを算出する。そして、判定部１２３は、算出したスコアが閾値より大きいか否かを判定する（ステップＳ１０７）。
【００５０】
出力部１２４は、更新対象を選択する画面を出力する（ステップＳ１０８）。つまり、出力部１２４は、判定部１２３により判定された結果に基づいて更新対象を選択する画面を生成し、生成した画面をクライアント２０ａに出力させる。
【００５１】
更新部１２５は、利用者により選択された更新対象を受け付ける（ステップＳ１０９）。つまり、更新部１２５は、更新対象を選択する画面に対する利用者の入力を受け付けることで、更新対象を受け付ける。更新部１２５は、利用者により選択された更新対象に基づいて、個人情報テーブル１１１を更新する（ステップＳ１１０）。更新部１２５は、利用者により選択された更新対象に基づいて、統計情報テーブル１１２を更新する（ステップＳ１１１）。
【００５２】
なお、上記の処理手順は、必ずしも上記の順序で実行されなくても良い。例えば、ステップＳ１１１の処理を実行した後に、ステップＳ１１０の処理を実行するようにしても良い。
【００５３】
次に、実施例１に係る更新装置１００の効果について説明する。更新装置１００は、更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出する。更新装置１００は、抽出した変更されるデータ項目の組合せと、変更されたデータ項目のと当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照する。更新装置１００は、抽出した組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、抽出した変更されるデータ項目の組合せが妥当か否かを判定する。更新装置１００は、組合せが妥当でないと判定した場合に、警告を出力する。このように、更新装置１００は、更新された組合せを記憶しておき、記憶した組合せが多いほど、更新するデータレコードに含まれる組合せを妥当であると判定するので、誤更新を防止することができる。
【００５４】
また、更新装置１００は、更新するデータレコードから抽出したデータ項目の組合せに基づいて、記憶部に記憶された組合せの妥当性を示す情報を更新する。このため、更新装置１００は、データレコードが更新されるごとに、記憶部が記憶する妥当性を示す情報が更新されるので、誤更新を正確に防止することができる。
【００５５】
また、更新装置１００は、更新するデータレコードが複数存在する場合に、複数のデータレコードそれぞれについて、データ項目の組合せをそれぞれ抽出する。更新装置１００は、抽出したそれぞれの組合せのうち、一致する組合せの割合と、当該組合せの妥当性を示す情報とに基づいて、前記組合せごとに妥当か否かを判定する。このように、更新装置１００は、更新するデータレコードが複数存在する場合に、一致する組合せが多いほど、更新するデータレコードに含まれる組合せを妥当であると判定するので、誤更新を防止することができる。
【実施例２】
【００５６】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
【００５７】
図１に示した更新装置１００の機能構成は一例であり、更新装置１００は、必ずしも図１に示した各処理部を全て有していなくても良い。例えば、更新装置１００は、抽出部１２２と、判定部１２３と、出力部１２４とを有していれば良い。
【００５８】
すなわち、抽出部１２２は、更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出する。判定部１２３は、抽出部１２２により抽出された変更されるデータ項目の組合せと、変更されたデータ項目のと当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照する。判定部１２３は、抽出部１２２により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、抽出部１２２により抽出された変更されるデータ項目の組合せが妥当か否かを判定する。出力部１２４は、判定部１２３により組合せが妥当でないと判定された場合に、警告を出力する。このように、更新装置１００は、更新された組合せを記憶しておき、記憶した組合せが多いほど、更新するデータレコードに含まれる組合せを妥当であると判定するので、誤更新を防止することができる。
【００５９】
また、実施例１において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、図７に示した処理手順は、受付部１２１がＣＳＶファイルを受け付けたことを契機として自動的に開始されると説明したが、更新装置１００を利用する者により手動的に開始されても良い。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、図２に示した個人情報テーブル１１１は、個人の生年月日を示す情報を記憶しても良い。
【００６０】
また、図１に示した更新装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、更新装置１００の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１に示した個人情報テーブル１１１を更新装置１００が記憶する必要は無い。例えば、更新装置１００の外部に設置された記憶装置が、個人情報テーブル１１１を備えていても良い。
【００６１】
また、更新装置１００は、更新装置１００の各機能を既知の情報処理装置に搭載することによって実現することもできる。既知の情報処理装置は、例えば、サーバ、パーソナルコンピュータ、ワークステーションなどの装置に対応する。
【００６２】
図９は、更新プログラムを実行するコンピュータの一例を示す図である。図９に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからデータの入力を受け付ける入力装置３０２と、モニタ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る媒体読み取り装置３０４と、他の装置と接続するためのインターフェース装置３０５と、他の装置と無線により接続するための無線通信装置３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）３０７と、ハードディスク装置３０８とを有する。また、各装置３０１〜３０８は、バス３０９に接続される。
【００６３】
ハードディスク装置３０８には、図１に示した抽出部１２２、判定部１２３及び出力部１２４の各処理部と同様の機能を有する更新プログラムが記憶される。また、ハードディスク装置３０８には、更新プログラムを実現するための各種データが記憶される。
【００６４】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開し、各種の処理を行う。また、これらのプログラムは、コンピュータを図１に示した抽出部１２２、判定部１２３及び出力部１２４として機能させることができる。
【００６５】
なお、上記の更新プログラムは、必ずしもハードディスク装置３０８に記憶されている必要はない。例えば、コンピュータが読み取り可能な記録媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしても良い。コンピュータが読み取り可能な記録媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等に接続された装置にこのプログラムを記憶させておき、コンピュータ３００がこれらからプログラムを読み出して実行するようにしても良い。
【００６６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６７】
（付記１）更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出する抽出部と、
前記抽出部により抽出された変更されるデータ項目の組合せと、変更されたデータ項目のと当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照して、前記抽出部により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、前記抽出部により抽出された変更されるデータ項目の組合せが妥当か否かを判定する判定部と、
前記判定部により前記組合せが妥当でないと判定された場合に、警告を出力する出力部と
を備えたことを特徴とする更新装置。
【００６８】
（付記２）前記抽出部により抽出された組合せに基づいて、前記記憶部に記憶された当該組合せの妥当性を示す情報を更新する更新部をさらに備えたことを特徴とする付記１に記載の更新装置。
【００６９】
（付記３）前記抽出部は、更新するデータレコードが複数存在する場合に、複数のデータレコードそれぞれについて、前記組合せをそれぞれ抽出し、
前記判定部は、前記抽出部により抽出されたそれぞれの組合せのうち、一致する組合せの割合と、当該組合せの妥当性を示す情報とに基づいて、前記組合せごとに妥当か否かを判定することを特徴とする付記１又は２に記載の更新装置。
【００７０】
（付記４）コンピュータに、
更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出し、
前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せと、変更されたデータ項目のと当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照して、前記組合せを抽出する処理により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せが妥当か否かを判定し、
前記判定する処理により前記組合せが妥当でないと判定された場合に、警告を出力する
処理を実行させることを特徴とする更新プログラム。
【００７１】
（付記５）前記組合せを抽出する処理により抽出された組合せに基づいて、前記記憶部に記憶された当該組合せの妥当性を示す情報を更新する処理をさらに実行させること特徴とする付記４に記載の更新プログラム。
【００７２】
（付記６）前記組合せを抽出する処理は、更新するデータレコードが複数存在する場合に、複数のデータレコードそれぞれについて、前記組合せをそれぞれ抽出し、
前記判定する処理は、前記組合せを抽出する処理により抽出されたそれぞれの組合せのうち、一致する組合せの割合と、当該組合せの妥当性を示す情報とに基づいて、前記組合せごとに妥当か否かを判定することを特徴とする付記４又は５に記載の更新プログラム。
【００７３】
（付記７）コンピュータが実行する更新方法であって、
更新するデータレコードに含まれる複数のデータ項目と、更新されるデータレコードに含まれる複数のデータ項目とから、変更されるデータ項目の組合せを抽出し、
前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せと、変更されたデータ項目のと当該組合せで変更された回数を示す情報とを対応づけて記憶する記憶部を参照して、前記組合せを抽出する処理により抽出された組合せで変更された回数と、他のデータ項目の組合せで変更された回数とから、前記組合せを抽出する処理により抽出された変更されるデータ項目の組合せが妥当か否かを判定し、
前記判定する処理により前記組合せが妥当でないと判定された場合に、警告を出力する  ことを特徴とする更新方法。
【００７４】
（付記８）前記組合せを抽出する処理により抽出された組合せに基づいて、前記記憶部に記憶された当該組合せの妥当性を示す情報を更新する処理をさらに実行させること特徴とする付記７に記載の更新方法。
【００７５】
（付記９）前記組合せを抽出する処理は、更新するデータレコードが複数存在する場合に、複数のデータレコードそれぞれについて、前記組合せをそれぞれ抽出し、
前記判定する処理は、前記組合せを抽出する処理により抽出されたそれぞれの組合せのうち、一致する組合せの割合と、当該組合せの妥当性を示す情報とに基づいて、前記組合せごとに妥当か否かを判定することを特徴とする付記７又は８に記載の更新方法。
【符号の説明】
【００７６】
１００      更新装置
１０１      通信制御部
１１０      記憶部
１１１      個人情報テーブル
１１２      統計情報テーブル
１２０      制御部
１２１      受付部
１２２      抽出部
１２３      判定部
１２４      出力部
１２５      更新部
３００      コンピュータ
３０１      ＣＰＵ
３０２      入力装置
３０３      モニタ
３０４      媒体読み取り装置
３０５      インターフェース装置
３０６      無線通信装置
３０７      ＲＡＭ
３０８      ハードディスク装置
３０９      バス
【図１】
0005640863.tif 000002
【図２】
0005640863.tif 000003
【図３】
0005640863.tif 000004
【図４】
0005640863.tif 000005
【図５】
0005640863.tif 000006
【図６】
0005640863.tif 000007
【図７】
0005640863.tif 000008
【図８】
0005640863.tif 000009
【図９】
0005640863.tif 000010