2009-03-10 7 views
2

私の同僚は、自分のデータベースの顧客を管理する際に問題があります。問題は、顧客がデータベースに追加する必要がある注文が通過するときです。しかし、顧客が存在する場合、同じ顧客を維持して販売履歴に追加するだけの重複顧客を作成することは望ましくありません。彼はそれを完全に証明する方法を考え出すのに苦労している。アソシエイツは時には売り上げを入力することもありますが、以前と同じように正確に情報を入力することはできません。したがって、顧客が既に存在しているかどうかを確認する際に、顧客が既に存在していても、異なる。データベースの顧客を管理する

これについてどうすればいいですか?

ありがとうございました。

答えて

2

注文完了プロセスの一環としてもう1つのステップを追加します。このステップでは、顧客レコードのファジー検索を行い、顧客の完全一致または部分一致を見つけることができるかどうかを確認する必要があります。

近くに何かが見つかった場合は、レコードを表示し、1つを選択するか、または新しいレコードを作成するかをユーザーに依頼します。

明らかに、それを最終顧客に公開することは望ましくありません。代わりに、以前に注文したかどうかを尋ねて、ログイン情報を入力してください。

+0

顧客が重複したかどうか、ではないクエリであれば、人間が決める必要があります。 –

1

入力したデータは類似していますが、全く同じではないため、最初にFuzzy logicの検索を行いたい場合は、結果が見つからない場合は新しい顧客を挿入してください。

1

可能な場合は、中にユーザログを聞かせて。

これはあなたに似た顧客の検索とのトラブルを保存し、ユーザーが複数回自分のアドレスを入力する必要はありません。

0

重複したデータ入力を避けることは共通の問題であり、複数の方法で処理できます。私が重点を置く重要な点は、成功したソリューションはデータ入力者にとってより簡単でなければならないということです。たとえば、顧客に既に存在するかどうかを確認するようDPに指示するなど、それに追随しません。私はこの問題が解決されたいくつかの方法を考えることができます。

最初の解決策はキーベースです。別々に入力される可能性の低い固有の情報をチェックしてください。私が見た最も一般的なケースは、小文字のテキストに縮小された電子メールアドレスです。次の一般的なのは電話番号です(オフィスや家庭全体で電話番号を1つ持つのが一般的です)。電子メールアドレスが存在する場合は、顧客が存在しなければならないため、その顧客に関連するデータに基づいて自動的にフォームに記入するのではなく、新しい顧客として追加することはできません。ユーザーは1つのデータを入力するだけで残りは自動的に入力する必要があるため、このようなユーザーは

です。ユーザーが顧客のデータを入力すると、アプリケーションは、入力されたものと一致する既存の顧客データの自動補完を行います。これにより、ユーザーはすべての新しいデータを入力するのではなく、既存のレコードを選択する可能性が高まります。これは、例えば、誰かが 'john sm'を入力し、 'john smith、john smart、john smuck、etc.'を見ることを可能にする。塗りつぶされた各フィールドは、後続のフィールドのオートコンプリートの選択肢を狭めます(例:ボストンのマサチューセッツ州の多くのジョン・スミス...)。ユーザーはこれを好きです。なぜなら、やはり必要な作業量が減るからです。

以前の別の応答で触れた第3の解決策は、ファジー検索を行うことです。これは実装には少し難しいですが、非常に強力です。一般的なエンタープライズ検索エンジン(Autonomy、FAST、Verityなど)の多くがこれを非常にうまく行っています。しかし、賢いプログラマーは、社内ソリューションを実装することもできます。キーポイントには、大文字と小文字を区別しない検索(Lafleurの検索はLaFleurと一致する)またはSoundExの使用が含まれます(Johnの検索はJonと一致します)。詳細はhttp://en.wikipedia.org/wiki/Soundexを参照してください。

幸運、

リック

関連する問題