(57)【要約】【課題】複数のデータ項目について各々情報が設定された複数のデータの中に、第１のデータ項目の情報が同一かつ第２のデータ項目の情報が異なるデータが存在しているか否かを判断することを、簡易な処理の組み合わせで実現する。【解決手段】電話番号TELNOが同一かつ顧客名NAMEが異なる顧客情報を顧客情報ＤＢから抽出するにあたり、ＤＢの各レコードを電話番号でソートすることで電話番号が同一のレコードから成る複数のグループにグループ化し((B)参照)、フラグFLGとして、各グループの先頭レコード及び２番目以降で先頭レコードと顧客名が同一のレコードには"1"、２番目以降で先頭レコードと顧客名が異なるレコードには"0"を設定し((D)参照)、各グループ内をフラグの昇順にソートし((E)参照)、各グループ内の先頭レコードのフラグの値に基づいて該当する顧客情報を判断する((F)参照)。【選択図】図３
2008203986.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ項目について各々情報が設定されて成る複数のデータを、前記複数のデータ項目のうちの第１の項目の情報に基づいてソートすることで、前記複数のデータを、前記第１のデータ項目の情報の一部又は全体が同一のデータで各々構成された複数のグループに分ける第１ソート手段と、
前記第１ソート手段によるソートを経た前記複数のデータの各々に対し、前記複数のデータ項目のうちの第２のデータ項目の情報の一部又は全体が、同一のグループに属する特定データと相違しているか否かに応じて値の異なるフラグを各々設定するフラグ設定手段と、
前記フラグ設定手段によって個々のデータに設定されたフラグの値に基づいて、個々のグループを構成するデータを個々のグループ内でソートする第２ソート手段と、
前記第２ソート手段によるソートを経た前記個々のグループの先頭又は末尾のデータに設定されているフラグの値に基づいて、前記第１のデータ項目の情報の一部又は全体が同一かつ前記第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する判断手段と、
を含むデータ管理装置。
【請求項２】
前記第１ソート手段は、前記判断手段が、前記第１のデータ項目の情報全体が同一かつ前記第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する場合に、前記第１の項目の情報全体に基づいて前記複数のデータをソートすることで、前記複数のデータを、前記第１のデータ項目の情報全体が同一のデータで各々構成された複数のグループに分けることを特徴とする請求項１記載のデータ管理装置。
【請求項３】
前記第１ソート手段は、前記判断手段が、前記第１のデータ項目の情報の一部が同一かつ前記第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する場合に、前記第１の項目の情報のうち一定位置に位置している一部の情報に基づいて前記複数のデータをソートすることで、前記複数のデータを、前記第１のデータ項目の情報の一部が同一のデータで各々構成された複数のグループに分けることを特徴とする請求項１記載のデータ管理装置。
【請求項４】
前記第１ソート手段は、前記複数のデータを前記複数のグループに分けた後に、単一のデータから成るグループに属するデータを後段の処理対象から除外する処理を行うことを特徴とする請求項１記載のデータ管理装置。
【請求項５】
前記フラグ設定手段は、前記判断手段が、前記第１のデータ項目の情報の一部又は全体が同一かつ前記第２のデータ項目の情報全体が相違しているデータの有無を判断する場合に、前記複数のデータの各々に対し、前記第２のデータ項目の情報全体を前記特定データと比較し、比較結果に応じて前記フラグを設定することを特徴とする請求項１記載のデータ管理装置。
【請求項６】
前記フラグ設定手段は、前記判断手段が、前記第１のデータ項目の情報の一部又は全体が同一かつ前記第２のデータ項目の情報の一部が相違しているデータの有無を判断する場合に、前記複数のデータの各々に対し、前記第２のデータ項目の情報のうち一定位置に位置している一部の情報を前記特定データと比較し、比較結果に応じて前記フラグを設定することを特徴とする請求項１記載のデータ管理装置。
【請求項７】
前記フラグ設定手段は、個々のグループの前記特定データに対しては、前記第２のデータ項目の情報の一部又は全体が前記特定データと同一のデータに前記フラグとして設定する値と同一の値を、前記フラグとして無条件に設定することを特徴とする請求項１記載のデータ管理装置。
【請求項８】
コンピュータを、
複数のデータ項目について各々情報が設定されて成る複数のデータを、前記複数のデータ項目のうちの第１の項目の情報に基づいてソートすることで、前記複数のデータを、前記第１のデータ項目の情報の一部又は全体が同一のデータで各々構成された複数のグループに分ける第１ソート手段、
前記第１ソート手段によるソートを経た前記複数のデータの各々に対し、前記複数のデータ項目のうちの第２のデータ項目の情報の一部又は全体が、同一のグループに属する特定のデータと相違しているか否かに応じて値の異なるフラグを各々設定するフラグ設定手段、
前記フラグ設定手段によって個々のデータに設定されたフラグの値に基づいて、個々のグループを構成するデータを個々のグループ内でソートする第２ソート手段、
及び、前記第２ソート手段によるソートを経た前記個々のグループの先頭又は末尾のデータに設定されているフラグの値に基づいて、前記第１のデータ項目の情報の一部又は全体が同一かつ前記第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する判断手段
として機能させるデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ管理装置及びプログラムに係り、特に、複数のデータ項目について各々情報が設定されて成る複数のデータの中に、一定の条件に合致するデータが存在しているか否かを判断するデータ管理装置、及び、コンピュータを前記データ管理装置として機能させるためのデータ管理プログラムに関する。
【背景技術】
【０００２】
現在、データベースは広範に普及し、多種多様な業務で用いられている。データベースの管理に関する技術として、例えば特許文献１には、少なくとも氏名を含む各種の項目データから成る複数の名刺データを氏名データの五十音順に並び替えてＲＡＭの編集領域に格納し直し、編集領域の先頭から順に隣接する２つの名刺データの氏名を比較し、一致するものがあった場合は該当データをＲＡＭのチェック結果領域に格納する処理を繰り返すことで、氏名が重複する名刺データの有無を調べ、該当する名刺データが有った場合は表示部に一覧表示して内容確認表示や削除を行う技術が開示されている。
【０００３】
また、特許文献２には、名刺レコードからＩＤと一部の項目データを抽出して簡易名刺レコードを作成し、作成した簡易名刺レコードを一定の条件で集めて簡易名刺データを複数生成し、その特徴毎に名前が付与された名刺箱に入れておき、簡易名刺データを利用することで、視覚的で判り易く操作性に優れた名刺データの管理（重複チェックを含む）を実現する技術が開示されている。
【０００４】
一方、特許文献３には、表計算処理において、表を構成する各セルに、そのセルを処理対象とするか否かを指示する属性情報を設定すると共に、各セルの属性情報に有効又は無効を示すフラグを設定しておき、或るセルの出力内容を求める際に、当該セルに参照先として設定されている他のセルの属性情報を参照し、属性情報のフラグの内容により前記他のセルを処理対象から除外するか否かを判定する技術が開示されている。
【特許文献１】特開平７−２９６００２号公報
【特許文献２】特開２０００−３５７１７５号公報
【特許文献３】特開平８−３０６９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、データベース（の編成やデータベースにアクセスするデータベース管理プログラムの処理内容等）は、一般に、当該データベースを利用する利用者の利用目的等に応じて設計・構築されるが、既に稼働しているデータベースに対し、当初は想定していなかった或る条件に合致するデータの有無を確認する必要が突発的に生ずることがある。
【０００６】
具体的には、例えば金融機関は個々の顧客に関する情報（例えば氏名又は名称や住所、電話番号等）を、個々の顧客を識別するための顧客ＩＤと共にデータベース（顧客データベース）に登録・管理しており、通常の業務で顧客データベースにアクセスする際には、顧客ＩＤ等をキーとしてアクセス対象のデータを検索する処理が行われる。しかし、セグメント別の顧客データ処理・分析や、マーケティング、顧客宛のアンケートの実施、各種サービスの提案等の業務を行うにあたり、例えば「電話番号が同一で氏名又は名称が相違している」等の新たな条件に合致するデータの有無を確認する必要が生ずることがある。しかし、顧客データベースと共に設計・開発された管理プログラムには、上記の新たな条件に合致するデータを検索する機能は設けられていない。
【０００７】
このように、データベースに対して「第１のデータ項目の情報（の一部又は全体）が同一かつ第２のデータ項目の情報（の一部又は全体）が相違している」という条件に合致するデータの有無を確認する必要が生じたものの、既存のデータベース管理プログラムに、上記の新たな条件に合致するデータを検索する機能が設けられていない場合には、上記の新たな条件に合致するデータを検索するプログラムを開発した後に、開発したプログラムを用いて該当するデータの検索を行うことになる。
【０００８】
しかし、上記の検索を実現するプログラムは、一般に、データベースから順にデータを読み出してワークメモリに貯えながら、読み出したデータをワークメモリに既に貯えられているデータと各々比較することを繰り返すことで、該当するデータを探す等のアルゴリズムが採用されるが、このようなアルゴリズムで動作するプログラムは規模が大きく、デバッグを含めて開発に時間が掛るので、特に結果を迅速に得たい場合に適していない。
【０００９】
なお、前述した特許文献１，２に記載の技術は、データベースに登録されているデータの重複の有無を確認する技術であり、また特許文献３に記載の技術は、表計算処理における処理対象のセルを切り替える技術であり、何れも、「第１のデータ項目の情報（の一部又は全体）が同一かつ第２のデータ項目の情報（の一部又は全体）が相違している」という条件に合致するデータの有無を確認したい場合には適用できない。
【００１０】
本発明は上記事実を考慮して成されたもので、複数のデータ項目について各々情報が設定されて成る複数のデータの中に、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータが存在しているか否かを判断することを、簡易な処理の組み合わせで実現できるデータ管理装置及びデータ管理プログラムを得ることが目的である。
【課題を解決するための手段】
【００１１】
上記目的を達成するために請求項１記載の発明に係るデータ管理装置は、複数のデータ項目について各々情報が設定されて成る複数のデータを、前記複数のデータ項目のうちの第１の項目の情報に基づいてソートすることで、前記複数のデータを、前記第１のデータ項目の情報の一部又は全体が同一のデータで各々構成された複数のグループに分ける第１ソート手段と、前記第１ソート手段によるソートを経た前記複数のデータの各々に対し、前記複数のデータ項目のうちの第２のデータ項目の情報の一部又は全体が、同一のグループに属する特定データと相違しているか否かに応じて値の異なるフラグを各々設定するフラグ設定手段と、前記フラグ設定手段によって個々のデータに設定されたフラグの値に基づいて、個々のグループを構成するデータを個々のグループ内でソートする第２ソート手段と、前記第２ソート手段によるソートを経た前記個々のグループの先頭又は末尾のデータに設定されているフラグの値に基づいて、前記第１のデータ項目の情報の一部又は全体が同一かつ前記第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する判断手段と、を含んで構成されている。
【００１２】
請求項１記載の発明に係るデータ管理装置は、複数のデータ項目について各々情報が設定されて成る複数のデータを処理対象としており、第１ソート手段は、複数のデータ項目のうちの第１の項目の情報に基づいて複数のデータをソートすることで、複数のデータを、第１のデータ項目の情報の一部又は全体が同一のデータで各々構成された複数のグループに分ける。また、フラグ設定手段は、第１ソート手段によるソートを経た複数のデータの各々に対し、複数のデータ項目のうちの第２のデータ項目の情報の一部又は全体が、同一のグループに属する特定データと相違しているか否かに応じて値の異なるフラグを各々設定し、第２ソート手段は、フラグ設定手段によって個々のデータに設定されたフラグの値に基づいて、個々のグループを構成するデータを個々のグループ内でソートする。
【００１３】
これにより、個々のグループ内に、複数のデータ項目のうちの第２のデータ項目の情報の一部又は全体が、同一のグループに属する特定データと相違しているデータが存在していれば、当該データは、第２ソート手段によるソートによって個々のグループ内の先頭又は末尾へ移動する。このため、判断手段は、第２ソート手段によるソートを経た個々のグループの先頭又は末尾のデータに設定されているフラグの値に基づいて、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する。
【００１４】
上記の第１ソート手段及び第２ソート手段によるソート、フラグ設定手段によるフラグ設定、判断手段による判断は、何れもごく簡単な処理であり、請求項１記載の発明によれば、複数のデータ項目について各々情報が設定されて成る複数のデータの中に、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータが存在しているか否かを判断することを、簡易な処理の組み合わせで実現することができる。そして、前述のように第１ソート手段及び第２ソート手段によるソート、フラグ設定手段によるフラグ設定、判断手段による判断が何れもごく簡単な処理であることから、第１ソート手段、フラグ設定手段、第２ソート手段及び判断手段を、各々コンピュータによって実行されるプログラムとして開発する場合にも、非常に短い期間で開発を完了させることができ、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を確認する必要が突発的に生じた等の場合にも、該当するデータの有無を迅速に確認することが可能となる。
【００１５】
なお、請求項１記載の発明において、判断手段が有無を判断するデータは、第１のデータ項目の情報の一部が同一の情報であってもよいし、第１のデータ項目の情報全体が同一の情報であってもよいが、判断手段が、第１のデータ項目の情報全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する場合には、第１ソート手段を、例えば請求項２に記載したように、第１の項目の情報全体に基づいて複数のデータをソートすることで、複数のデータを、第１のデータ項目の情報全体が同一のデータで各々構成された複数のグループに分けるように構成すればよい。これにより、個々のグループが、第１のデータ項目の情報全体が同一のデータによって各々構成されることになり、フラグ設定手段によって設定されたフラグの値に基づいて、第２ソート手段が個々のグループを構成するデータを個々のグループ内でソートすることで、個々のグループの先頭又は末尾のデータに設定されているフラグの値が、第１のデータ項目の情報全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を表す値となるので、第１のデータ項目の情報全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断手段が判断することが可能となる。
【００１６】
また、請求項１記載の発明において、判断手段が、第１のデータ項目の情報の一部が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する場合には、第１ソート手段を、例えば請求項３に記載したように、第１の項目の情報のうち一定位置に位置している一部の情報に基づいて複数のデータをソートすることで、複数のデータを、第１のデータ項目の情報の一部が同一のデータで各々構成された複数のグループに分けるように構成すればよい。これにより、個々のグループが、第１のデータ項目の情報の一部が同一のデータによって各々構成されることになり、フラグ設定手段によって設定されたフラグの値に基づいて、第２ソート手段が個々のグループを構成するデータを個々のグループ内でソートすることで、個々のグループの先頭又は末尾のデータに設定されているフラグの値が、第１のデータ項目の情報の一部が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を表す値となるので、第１のデータ項目の情報の一部が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断手段が判断することが可能となる。
【００１７】
また、請求項１記載の発明において、第１ソート手段は、例えば請求項４に記載したように、複数のデータを複数のグループに分けた後に、単一のデータから成るグループに属するデータを後段の処理対象（フラグ設定手段や第２ソート手段、判断手段の処理対象）から除外する処理を行うように構成することが好ましい。単一のデータから成るグループが存在していた場合、当該グループに属するデータは、第１のデータ項目の情報の一部又は全体が同一の他のデータが存在していない、すなわち、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータに該当しないと判断できるので、このデータを後段の処理対象から除外することで、後段の処理対象のデータの数が絞り込まれることになり、後段の処理の高速化を実現することができる。
【００１８】
更に、請求項１記載の発明において、判断手段が有無を判断するデータは、第２のデータ項目の情報の一部が同一の情報であってもよいし、第２のデータ項目の情報全体が同一の情報であってもよいが、判断手段が、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報全体が相違しているデータの有無を判断する場合には、フラグ設定手段を、例えば請求項５に記載したように、複数のデータの各々に対し、第２のデータ項目の情報全体を特定データと比較し、比較結果に応じてフラグを設定するように構成すればよい。これにより、フラグ設定手段によって設定されたフラグの値に基づいて、第２ソート手段が個々のグループを構成するデータを個々のグループ内でソートすることにより、個々のグループの先頭又は末尾のデータに設定されているフラグの値が、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報全体が相違しているデータの有無を表す値となるので、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報全体が相違しているデータの有無を判断手段が判断することが可能となる。
【００１９】
また、請求項１記載の発明において、判断手段が、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部が相違しているデータの有無を判断する場合には、フラグ設定手段は、例えば請求項６にも記載したように、複数のデータの各々に対し、第２のデータ項目の情報のうち一定位置に位置している一部の情報を特定データと比較し、比較結果に応じてフラグを設定するように構成すればよい。これにより、フラグ設定手段によって設定されたフラグの値に基づいて、第２ソート手段が個々のグループを構成するデータを個々のグループ内でソートすることにより、個々のグループの先頭又は末尾のデータに設定されているフラグの値が、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部が相違しているデータの有無を表す値となるので、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部が相違しているデータの有無を判断手段が判断することが可能となる。
【００２０】
また、請求項１記載の発明において、フラグ設定手段は、例えば請求項７に記載したように、個々のグループの特定データに対しては、第２のデータ項目の情報の一部又は全体が特定データと同一のデータに前記フラグとして設定する値と同一の値（すなわち、第２のデータ項目の情報の一部又は全体が特定データと相違しているデータに前記フラグとして設定する値と異なる値）を、フラグとして無条件に設定するように構成することができる。
【００２１】
請求項８記載の発明に係るデータ管理プログラムは、コンピュータを、複数のデータ項目について各々情報が設定されて成る複数のデータを、前記複数のデータ項目のうちの第１の項目の情報に基づいてソートすることで、前記複数のデータを、前記第１のデータ項目の情報の一部又は全体が同一のデータで各々構成された複数のグループに分ける第１ソート手段、前記第１ソート手段によるソートを経た前記複数のデータの各々に対し、前記複数のデータ項目のうちの第２のデータ項目の情報の一部又は全体が、同一のグループに属する特定のデータと相違しているか否かに応じて値の異なるフラグを各々設定するフラグ設定手段、前記フラグ設定手段によって個々のデータに設定されたフラグの値に基づいて、個々のグループを構成するデータを個々のグループ内でソートする第２ソート手段、及び、前記第２ソート手段によるソートを経た前記個々のグループの先頭又は末尾のデータに設定されているフラグの値に基づいて、前記第１のデータ項目の情報の一部又は全体が同一かつ前記第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断する判断手段として機能させる。
【００２２】
請求項８記載の発明に係るデータ管理プログラムは、コンピュータを、上記の第１ソート手段、フラグ設定手段、第２ソート手段及び判断手段として機能させるためのプログラムであるので、コンピュータが請求項８記載の発明に係るデータ管理プログラムを実行することで、コンピュータが請求項１に記載のデータ管理装置として機能することになり、請求項１記載の発明と同様に、複数のデータ項目について各々情報が設定されて成る複数のデータの中に、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータが存在しているか否かを判断することを、簡易な処理の組み合わせで実現することができる。
【発明の効果】
【００２３】
以上説明したように本発明は、複数のデータ項目について各々情報が設定されて成る複数のデータを、第１の項目の情報に基づいてソートすることで、複数のデータを、第１のデータ項目の情報の一部又は全体が同一のデータで各々構成された複数のグループに分け、複数のデータの各々に対し、第２のデータ項目の情報の一部又は全体が、同一のグループに属する特定データと相違しているか否かに応じて値の異なるフラグを各々設定し、個々のデータに設定されたフラグの値に基づいて、個々のグループを構成するデータを個々のグループ内でソートし、前記個々のグループの先頭又は末尾のデータに設定されているフラグの値に基づいて、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータの有無を判断するので、複数のデータ項目について各々情報が設定されて成る複数のデータの中に、第１のデータ項目の情報の一部又は全体が同一かつ第２のデータ項目の情報の一部又は全体が相違しているデータが存在しているか否かを判断することを、簡易な処理の組み合わせで実現できる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係る、特定金融機関に設けられたコンピュータ・システム１０が示されている。コンピュータ・システム１０は、特定金融機関の情報センタ等に設置されたホスト・コンピュータ１２と、特定金融機関内に構築されたコンピュータ・ネットワーク１８を含んで構成されている。なお、ホスト・コンピュータ１２は請求項８に記載のコンピュータに対応しており、後述するストレージ１４と共に本発明に係るデータ管理装置に対応している。
【００２５】
ホスト・コンピュータ１２は汎用の大型コンピュータから成り、ＣＰＵ１２Ａ、ＲＡＭ等から成るメモリ１２Ｂ、磁気ディスク等から成る不揮発性の記憶部１２Ｃ、ネットワークインタフェース（Ｉ／Ｆ）部１２Ｄを備えている。ホスト・コンピュータ１２は、ネットワークＩ／Ｆ部１２Ｄに接続された通信回線を介してコンピュータ・ネットワーク１８（詳しくはネットワーク１８内のブランチ・サーバ２０）に接続されている。また、ホスト・コンピュータ１２には、大容量の磁気ディスク等から成り顧客情報データベース（顧客情報ＤＢ）を記憶するための記憶領域が設けられたストレージ１４と、セットされたＭＴ（磁気テープ）１５に対して情報の読み出しや書き込みを行うＭＴ装置１６が各々接続されている。また、ホスト・コンピュータ１２の記憶部１２Ｃには、ホスト・コンピュータ１２のＣＰＵ１２Ａによって顧客情報ＤＢ操作処理を行うための顧客情報ＤＢ操作プログラムと、ホスト・コンピュータ１２のＣＰＵ１２Ａによってデータ抽出処理を行うためのデータ抽出プログラムが各々記憶されている。なお、上記各プログラムのうち、データ抽出プログラムは請求項８に記載のデータ管理プログラムに対応している。
【００２６】
一方、コンピュータ・ネットワーク１８は、特定金融機関の各支店に各々設置されたブランチ・サーバ２０（ＰＣ、ワークステーション、大型コンピュータの何れでもよい）が通信回線２０を介して互いに接続されて構成されており、個々のブランチ・サーバ２０には、個々のブランチ・サーバ２０と同一の支店に設置された複数台のＡＴＭ（Automatic Teller Machine：現金自動預け払い機）２２及び複数台の営業店端末（金融機関の従業員が操作するための端末）２４が各々接続されている。ＡＴＭ２２には、特定金融機関に口座を開設している顧客が所持しているキャッシュカードを装填可能で、装填されたキャッシュカードに磁気的に記録された情報を読み取り可能なカードリーダが取り付けられており、営業店端末２４には、特定金融機関に口座を開設している顧客が所持している通帳を装填可能で、装填された通帳に磁気的に記録された情報を読み取り可能で、且つ任意の情報を通帳に記録することも可能な記帳機が取り付けられている。
【００２７】
次に本実施形態の作用を説明する。本実施形態に係る顧客情報ＤＢは、特定金融機関の個々の顧客に関する情報を登録・管理するためのデータベースであり、単一の顧客の顧客情報として、顧客名や電話番号、住所、顧客が特定金融機関に開設している全ての口座の種別、支店番号、口座番号等の情報が顧客ＩＤと対応付けられて単一のレコードに各々登録される。本実施形態に係る特定金融機関では、通常の業務の遂行に伴い、顧客情報ＤＢに対して顧客情報の登録、読み出し、更新等のアクセスを行う必要が生ずるが、通常業務での顧客情報ＤＢに対するアクセスは、ホスト・コンピュータ１２によって顧客情報ＤＢ操作プログラムが実行されることで実現される。
【００２８】
具体的には、例えば新規顧客によって特定金融機関の口座開設が指示されたり、特定金融機関に既に口座を開設している顧客によって別口座の開設が指示されたり、顧客から住所や電話番号等の変更が通知された場合、顧客情報ＤＢへのアクセスを要求する電文がＡＴＭ２２又は営業店端末２４から送信される。この電文がコンピュータ・ネットワーク１８やブランチ・サーバ２０を経由してホスト・コンピュータ１２で受信されると、顧客情報ＤＢ操作プログラムがＣＰＵ１２Ａによって実行され、顧客情報ＤＢに対して要求されたアクセスを行う（顧客情報ＤＢ操作処理）。なお、要求されたアクセスが顧客情報ＤＢに対する顧客情報の新規登録以外（読み出しや更新等）であれば、ＡＴＭ２２や営業店端末２４から受信する電文にアクセス対象の顧客ＩＤが設定されているので、顧客情報ＤＢ操作処理では、電文に設定されている顧客ＩＤをキーとして顧客情報ＤＢを検索することで、アクセス対象の顧客情報を顧客情報ＤＢから抽出した後に、要求されたアクセスを行う。そして、要求されたアクセスが完了すると、要求元のＡＴＭ２２又は営業店端末２４へ応答（電文）を送信する。
【００２９】
ところで、特定金融機関では、セグメント別の顧客データ処理・分析や、マーケティング、顧客宛のアンケートの実施、各種サービスの提案等の業務を行うにあたって急遽、顧客情報ＤＢから「電話番号が同一で顧客名が相違している顧客情報」を抽出する必要が生じた。しかし、特定金融機関における通常業務では上記の条件に合致する顧客情報を顧客情報ＤＢから抽出する必要はなく、顧客情報ＤＢ及び顧客情報ＤＢ操作プログラムの設計開発時には、顧客情報ＤＢに対して上記の条件に合致する顧客情報を検索・抽出することを想定していなかったため、顧客情報ＤＢ操作プログラムには、上記の条件に合致する顧客情報を検索する機能は設けられていない。このため、特定金融機関では、顧客情報ＤＢに対して上記の条件に合致する顧客情報を検索・抽出するために顧客情報抽出プログラムを開発した。以下、ホスト・コンピュータ１２のＣＰＵ１２Ａによって顧客情報抽出プログラムが実行されることで実現される顧客情報抽出処理について、図２を参照して説明する。
【００３０】
顧客情報抽出処理では、まずステップ５０において、顧客情報ＤＢの全てのレコードをストレージ１４からメモリ１２Ｂに順次読み出すと共に、読み出した各レコードを電話番号（第１キー：本発明に係る第１のデータ項目に相当）及び顧客名（第２キー：本発明に係る第２のデータ項目に相当）に基づいてソートすることで、各レコードを電話番号（の全体）が同一のレコードから成るグループにグループ化し、処理結果を第１中間データとして記憶部１２Ｃに書き込む。図３(Ａ)にも示すように、顧客情報ＤＢ内には複数の顧客情報（複数のレコード）が電話番号TELNO及び顧客名NAMEに関してランダムに配列されており、図３(Ａ)に示す９個の顧客情報（９個のレコード）に対し、ステップ５０で電話番号TELNOの昇順かつ顧客名NAMEの昇順にソートを行った場合、９個のレコードは、図３(Ｂ)に示すように、各々電話番号TELNO＝"1111","2222","3333","4444"のレコードから成る４個のグループにグループ化されることになる（図３では各グループの境界を太線で示している）。
【００３１】
なお、上記のステップ５０は本発明に係る第１ソート手段（詳しくは請求項２に記載の第１ソート手段）に対応している。また、電話番号TELNOは本発明に係る第１の項目の情報に、顧客名NAMEは本発明に係る第２の項目の情報に各々対応している。また、ステップ５０では電話番号（第１のデータ項目）及び顧客名（第２のデータ項目）に基づいてソートしているが、電話番号（第１のデータ項目）のみに基づいてソートするようにしてもよい。また、図３では図面を簡単にするために、各レコードの情報として電話番号TELNO及び顧客名NAME以外の図示を省略しているが、実際には各レコードに住所等の他の情報も付加されていることは言うまでもない。
【００３２】
次のステップ５２では、ステップ５０で記憶部１２Ｃに書き込んだ第１中間データを記憶部１２Ｃからメモリ１２Ｂに順次読み出し、ステップ５０の処理によって読み出した第１中間データ内に形成されている複数のグループのうち単一のレコードから成るグループを検索し、この検索によって抽出されたグループに属するレコードを除去する。そして、処理結果を第２中間データとして記憶部１２Ｃに書き込む。
【００３３】
例として、記憶手段１２Ｃから読み出した第１中間データが、図３(Ｂ)に示すように、各々電話番号TELNO＝"1111","2222","3333","4444"のレコードから成る４個のグループが形成されたデータであった場合、これらのグループのうち単一のレコードから成るグループは電話番号TELNO＝"4444"のレコードから成るグループであるので、図３(Ｃ)にも示すように、当該グループに属するレコード（電話番号TELNO＝"4444"、顧客名NAME＝"かかかか"のレコード）が除去される（図３(Ｃ)では該当するレコードの出力対象情報O/P＝"×"となっているが、これは該当するレコードを第２中間データとして出力しないことを意味し、図３(Ｄ)にも示すように該当するレコードは中間データ上から除去されている）。
【００３４】
ステップ５２で除去されたレコードは次のステップ５４以降の処理の対象から除外されるので、ステップ５２は請求項４に記載の第１ソート手段に対応している。また、レコードそのものを中間データから除去することに代えて、単一のレコードから成るグループに属するレコードに所定の情報を付加して中間データとして出力し、次のステップ５４以降の処理において、中間データのうち所定の情報が付加されているレコードを処理対象から除外するようにしてもよい。
【００３５】
次のステップ５４では、ステップ５２で記憶部１２Ｃに書き込んだ第２中間データを記憶部１２Ｃからメモリ１２Ｂに順次読み出し、読み出した第２中間データの各レコードに各々フラグを設定する。このフラグの設定は、個々のグループ毎に以下のようにして行われる。すなわち、第２中間データ内の個々のグループの先頭レコードに対してはフラグとして無条件に"1"を設定し、第２中間データ内の個々のグループの２番目以降の各レコードに対しては、同一グループの先頭レコードと顧客名NAME（の全体）を比較し、同一グループの先頭レコードと顧客名NAME（の全体）が同一であればフラグとして"1"を、同一グループの先頭レコードと顧客名NAME（の全体）が相違していればフラグとして"0"を各々設定する。そして、処理結果を第３中間データとして記憶部１２Ｃに書き込む。
【００３６】
例として、記憶手段１２Ｃから読み出した第２中間データが、図３(Ｄ)に示すように、各々電話番号TELNO＝"1111","2222","3333"のレコードから成る３個のグループが形成されたデータであった場合、電話番号TELNO＝"1111"のグループについては、当該グループの先頭レコード（顧客名NAME＝"ああああ"）にフラグFLGとして無条件に"1"が設定され、２番目のレコード（顧客名NAME＝"いいいい"）は顧客名NAME（の全体）が先頭レコードと相違しているので、フラグFLGとして"0"が設定される。また、電話番号TELNO＝"2222"のグループについては、当該グループの先頭レコード（顧客名NAME＝"うううう"）にフラグFLGとして無条件に"1"が設定され、２番目のレコード（顧客名NAME＝"うううう"）は顧客名NAME（の全体）が先頭レコードと同一であるのでフラグFLGとして"1"が設定される。更に、電話番号TELNO＝"3333"のグループについては、当該グループの先頭レコード（顧客名NAME＝"ええええ"）にフラグFLGとして無条件に"1"が設定され、２番目のレコード（顧客名NAME＝"ええええ"）は顧客名NAME（の全体）が先頭レコードと同一であるのでフラグFLGとして"1"が設定され、３，４番目のレコード（何れも顧客名NAME＝"おおおお"）は顧客名NAME（の全体）が先頭レコードと相違しているのでフラグFLGとして"0"が各々設定される。
【００３７】
上記のステップ５４は本発明に係るフラグ設定手段（詳しくは請求項５及び請求項７に記載のフラグ設定手段）に対応している。なお、上記では個々のグループの先頭レコード、及び、個々のグループの２番目以降のレコードのうち同一グループの先頭レコードと顧客名NAME（の全体）が同一のレコードに対してはフラグとして"1"を設定し、個々のグループの２番目以降のレコードのうち同一グループの先頭レコードと顧客名NAME（の全体）が相違しているレコードに対してはフラグとして"0"を設定しているが、設定するフラグの値は上記で別の値を設定したレコードを区別可能な値であればよく、例えば値を逆に設定してもよいし、"0","1"以外の別の値を用いてもよい。
【００３８】
次のステップ５６では、ステップ５４で記憶部１２Ｃに書き込んだ第３中間データを記憶部１２Ｃからメモリ１２Ｂに順次読み出し、読み出した第３中間データの個々のグループ内を、ステップ５４で設定したフラグの値の昇順にソートする。そして、処理結果を第４中間データとして記憶部１２Ｃに書き込む。例えば、記憶手段１２Ｃから読み出した第３中間データが図３(Ｄ)に示すような内容であった場合、個々のグループ内をフラグの値の昇順にソートすることで、図３(Ｅ)に示すように、電話番号TELNO＝"1111"のグループについては、フラグFLGとして"0"が設定された顧客名NAME＝"いいいい"のレコード（図３(Ｄ)において、当該グループの２番目に位置しているレコード）が先頭レコードとなり、電話番号TELNO＝"3333"のグループについては、フラグFLGとして"0"が設定された顧客名NAME＝"おおおお"の２個のレコード（図３(Ｄ)において、当該グループの３番目及び４番目に位置しているレコード）が各々先頭レコード、２番目のレコードとなる。
【００３９】
上記のステップ５６は本発明に係る第２ソート手段に対応している。なお、上記では個々のグループ内をフラグの値の昇順にソートしているが、個々のグループ内をフラグの値の降順にソートするようにしてもよい（この場合、次のステップ５８において、個々のグループの末尾のレコードに設定されているフラグの値に基づいて、個々のグループを出力対象とするか否かを判断するようにすればよい）。
【００４０】
また、ステップ５８では、ステップ５６で記憶部１２Ｃに書き込んだ第４中間データを記憶部１２Ｃからメモリ１２Ｂに順次読み出し、読み出した第４中間データにおいて、個々のグループの先頭レコードに設定されているフラグの値に基づいて、個々のグループを出力対象とするか否かを判断する。すなわち、或るグループの先頭レコードに設定されているフラグの値が"1"の場合、このグループ内には、フラグの値が"0"のレコード、すなわち同一グループ内の他のレコードと顧客名NAMEが相違しているレコードが存在していないと判断できるので、このグループに属する各レコードを非出力対象に設定する。一方、或るグループの先頭レコードに設定されているフラグの値が"0"の場合、このグループ内には、同一グループ内の他のレコードと顧客名NAMEが相違しているレコードが混在していると判断できるので、このグループに属する各レコードを出力対象に設定する。そして、第４中間データのうち、出力対象に設定したグループのレコードのみを出力データとして、ＭＴ装置１６を介してＭＴ１５に書き込み、顧客情報抽出処理を終了する。
【００４１】
例えば、記憶手段１２Ｃから読み出した第４中間データが図３(Ｅ)に示すような内容であった場合、電話番号TELNO＝"1111"のグループについては先頭レコードにフラグFLGとして"0"が設定されていることで、図３(Ｆ)に示すように、当該グループに属する全レコード（２個のレコード）が出力対象に設定され（出力対象情報O/P＝"○"に設定され）、電話番号TELNO＝"2222"のグループについては先頭レコードにフラグFLGとして"1"が設定されていることで、当該グループに属する全レコード（２個のレコード）が非出力対象に設定され（出力対象情報O/P＝"×"に設定され）、電話番号TELNO＝"3333"のグループについては先頭レコードにフラグFLGとして"0"が設定されていることで、当該グループに属する全レコード（４個のレコード）が出力対象に設定される（出力対象情報O/P＝"○"に設定される）。そして、出力対象に設定された（出力対象情報O/P＝"○"に設定された）レコードのみが出力データとしてＭＴ１５に書き込まれる。なお、出力データはＭＴ１５以外の他の媒体へ出力するようにしてもよいことは言うまでもない。
【００４２】
これにより、顧客情報ＤＢに登録されている各レコード（各顧客情報）のうち、顧客情報抽出処理における抽出対象である、「電話番号TELNOが同一で顧客名NAMEが相違している顧客情報（レコード）」が混在しているグループのレコードのみが、出力データとしてＭＴ１５に書き込まれることになる。上述した顧客情報抽出処理の各ステップは何れもごく簡単な処理であり、特にステップ５０，５６におけるソートはデータ処理で多用される定型処理であるので、既存のプログラムを流用できる可能性が非常に高く、顧客情報抽出処理を実現する顧客情報抽出プログラムは、非常に短い期間で開発を完了させることができる。従って、上記で説明したように「電話番号TELNOが同一で顧客名NAMEが相違している顧客情報（レコード）」を抽出する場合のみならず、本発明に係るアルゴリズム（顧客情報抽出処理のアルゴリズム）を利用可能な条件に合致するデータを抽出する場合にも、該当するデータの有無を迅速に確認したり、該当するデータを抽出することができる。
【００４３】
なお、上記では本発明に係る第１のデータ項目として電話番号TELNOを、第２のデータ項目として顧客名NAMEを適用した態様を説明したが、これに限定されるものではなく、例えば第１のデータ項目として住所を、第２のデータ項目として支店番号を適用する等のように、第１及び第２のデータ項目としては任意の情報を適用可能である。また、上記では処理対象のデータとして顧客情報ＤＢに登録されている顧客情報を例に説明したが、これに限定されるものでもなく、任意のデータを処理対象とすることが可能である。また、上記では特定の条件に合致するデータの抽出を行う契機として、セグメント別の顧客データ処理・分析や、マーケティング、顧客宛のアンケートの実施、各種サービスの提案等の業務を例に説明したが、本発明の用途がこれに限定されるものでもないことは言うまでもない。
【００４４】
また、上記では第１のデータ項目としての電話番号TELNO全体が同一かつ第２のデータ項目としての顧客名NAME全体が相違しているデータ（顧客情報）の有無の確認・抽出を例に説明したが、本発明はこれに限定されるものではなく、第１のデータ項目の情報の一部が同一のデータを対象としてもよい。これは、第１の項目の情報に基づくソート（図２におけるステップ５０）において、第１の項目の情報のうちの一部の情報のみを比較してソート（及びグループ化）を行うことで実現できる。具体的には、例えば第１のデータ項目として住所を適用した態様において、住所のうち町名までの情報を比較して（番地等の情報を比較対象から除外して）ソート（及びグループ化）を行う。この場合、住所のうち少なくとも町名迄が同一のデータ毎にグループを形成することができる。上記態様は請求項３記載の発明に対応している。また、第２のデータ項目の情報の一部が相違するデータを対象としてもよい。これは、第２のデータ項目の情報に基づくフラグ設定（図２におけるステップ５４）において、第２の項目の情報のうちの一部の情報のみを比較し、比較結果に応じてフラグを設定することで実現できる。具体的には、例えば第２のデータ項目として顧客名を適用した態様において、顧客名のうち苗字のみを比較して（名前を比較対象から除外して）フラグを設定する。この場合、個々のグループ内でフラグの値に基づいてデータをソートした後に、個々のグループ内の先頭又は末尾のデータに設定されているフラグの値を参照することで、各グループ内に顧客名のうちの少なくとも苗字が相違するデータが混在しているか否かを判断することができる。上記態様は請求項６記載の発明に対応している。
【００４５】
また、上記では顧客情報ＤＢから読み出した各レコードに対し、ステップ５０で電話番号TELNO及び顧客名NAMEに基づいてソートすることでグループ化した後に、ステップ５２において、単一のレコードから成るグループを検索し、該当するグループ（に属するレコード）を除去する態様を説明したが、これに限定されるものではなく、例えば該当するグループ（レコード）の数が比較的少数であることが予想される等の場合には、単一のレコードから成るグループの検索及び該当するグループ（に属するレコード）の除去を省略するようにしてもよい。
【００４６】
更に、上記では顧客情報ＤＢから全レコードを読み出し、第１のデータ項目の情報に基づくソート（グループ化）やフラグFLGの設定、フラグFLGの値に基づく個々のグループ内のソート等の処理を経て、第１のデータ項目の情報が同一かつ第２のデータ項目の情報が相違しているレコードが混在しているグループに属する全レコードを出力データとして出力する態様を説明したが、この処理方式では、図３での図示は省略しているものの、各レコードに第１のデータ項目の情報及び第２のデータ項目の情報以外の他の情報（例えば住所等）も付加された状態で各処理を行っているので、各中間データのサイズが大きく、各処理を行う毎に中間データを記憶部１２Ｃに書き込む必要が生ずる（なお、中間データを記憶部１２Ｃに書き込む必要が有るか否かは、個々のレコードのサイズや数（処理対象のデータの規模）、メモリ１２Ｂ等のリソースのサイズにも左右されるので、上記処理方式でも中間データを記憶部１２Ｃに書き込まずに済む可能性もある）。
【００４７】
このため、リソースとして使用可能な記憶部１２Ｃのサイズに制限がある等の場合には、顧客情報ＤＢの各レコードから第１のデータ項目の情報及び第２のデータ項目の情報のみを抽出することで各レコードのインデックスを作成し、このインデックスに対して第１のデータ項目の情報に基づくソート（グループ化）、フラグFLGの設定、フラグFLGの値に基づく個々のグループ内のソート、第１のデータ項目の情報が同一かつ第２のデータ項目の情報が相違しているレコードの判断、の各処理を順に行った後に、前記判断の結果に基づいて第１のデータ項目の情報が同一かつ第２のデータ項目の情報が相違しているレコードの実データを顧客情報ＤＢから順に読み出し、出力データとして出力するようにしてもよい。
【００４８】
また、上記では第１のデータ項目及び第２のデータ項目として各々単一のデータ項目を適用した態様を説明したが、本発明はこれに限定されるものでもなく、第１のデータ項目及び第２のデータ項目の少なくとも一方が複数のデータ項目から構成されていてもよい。第１のデータ項目が複数のデータ項目から構成されている場合には、第１の項目の情報に基づくソート（図２におけるステップ５０）において、第１のデータ項目を構成する複数のデータ項目に基づいてソートを行い、処理対象の複数のデータを、第１のデータ項目を構成する複数のデータ項目が各々同一のデータで構成された複数のグループに分けるようにすればよい。また、第２のデータ項目が複数のデータ項目から構成されている場合は、第２のデータ項目の情報に基づくフラグの設定（図２におけるステップ５４）において、第２のデータ項目を構成する複数のデータ項目の情報を各々比較し、第２のデータ項目を構成する複数のデータ項目の情報が各々相違しているか否か（或いは、第２のデータ項目を構成する複数のデータ項目の情報のうちの少なくとも１つが相違しているか否か）に応じて値の異なるフラグを設定するようにすればよい。
【００４９】
また、上記では本発明に係るデータ管理プログラムに対応する顧客情報抽出プログラムが記憶部１２Ｃに予め記憶されている態様を説明したが、本発明に係るデータ管理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、或いはＭＴ等の記録媒体に記録されている形態で提供することも可能である。
【図面の簡単な説明】
【００５０】
【図１】本実施形態に係るコンピュータ・システムの概略構成を示すブロック図である。
【図２】顧客情報抽出処理の内容を示すフローチャートである。
【図３】顧客情報抽出処理によって得られるデータの一例を示す概略図である。
【符号の説明】
【００５１】
１０  コンピュータ・システム
１２  ホスト・コンピュータ
１２Ａ  ＣＰＵ
１２Ｂ  メモリ
１２Ｃ  記憶部
１４  ストレージ
１５  ＭＴ
【図１】
2008203986.tif 000003
【図２】
2008203986.tif 000004
【図３】
2008203986.tif 000005