0

ユースケース: ユーザー 1 が 100 の会社名 (例: Microsoft、Bank of Sierra) をアップロードします。

ユーザー 2 が 100 の会社名をアップロードします (例: The Gap、Uservoice、Microsoft, Inc.)。

ユーザー 1 の Microsoft の概念とユーザー 2 の Microsoft の概念を、Microsoft の一意のインデックスを持つ中央管理エンティティにマップする必要があります。

誰かが中央リポジトリにない名前をアップロードした場合は、そのまま入力してもらいたいと思います。しかし、最初のエントリのスペルが間違っている場合 (たとえば、Virgin Mobile ではなく Vergin Mobile?) どうすればそれを修正し、新しいアップロードを同じインデックスに関連付けることができるでしょうか?

技術的には、中央リポジトリは完全に別のデータベースにする必要がありますか? ユーザーが生成した情報でさえ、それに対して発生するビジネス トランザクションとは別のデータベースに格納する必要がありますか?

問題の大規模な定義から始めて、あなたの入力でそれをチャンクすることを望んでいます、ありがとう.

4

5 に答える 5

3

FWIW、これはデータベースの正規化とは何の関係もありません。これはデータのクリーンアップタスクです。

一般的なケースでは、データのクリーンアップを完全に自動化することはできません。多くの人が試してみますが、入力データの形式が正しくない可能性があるすべての方法を検出することは不可能です。次のような手法を使用して、ケースの一部を自動化できます。

  • ユーザーに会社名を入力する代わりにリストから選択するように強制します。もちろん、これは一括アップロードではなく、単一のエントリに最適です。
  • SOUNDEX入力された会社名のをSOUNDEX、データベースにすでに存在する会社名のと比較します。これは、一致する可能性のあるものを特定するのに役立ちますが、誤検知を引き起こす可能性もあります。したがって、それらを確認するには人間が必要です。

最終的には、管理者がエントリを「マージ」(および他のデータベーステーブルからの参照を更新)しやすいようにソフトウェアを設計する必要があります。これらのエントリは互いに重複していることが判明したためです。カスケード外部キーを使用してこれを行うための洗練された方法はありません。一連のUPDATEステートメントを記述するだけです。

于 2009-01-09T19:44:35.143 に答える
2

パートナー、アドレス、製品など、さまざまなドメインに対してこれを実行しようとするマスターデータ管理と呼ばれるシステム全体があります。通常、大規模なフル機能のシステムであり、アドホックな方法で適切に実行できるものはありません。これらのことは最初は簡単に聞こえますが、すぐに非常に困難になります。

申し訳ありませんが、ここではあまり陽気ではありませんが、これはすぐに悪夢に変わる可能性があります..np完全問題を解決しようとするのと似ています...

于 2009-01-09T19:52:51.130 に答える
1

このサイトに新しい質問を入力しようとするとどうなるかわかりますか?同じかもしれないそれらすべての以前の質問?

おそらくそれでも不十分でしょう。ここでは不十分です。

于 2009-01-09T19:42:27.813 に答える
0

リンクインはどういうわけかこれを行います。ただし、バッチアップロードは行いません...基本的に、いくつかの潜在的な一致に対してアクションを発生させる、ある種の差分計算機を設定する必要があります。

「Inc」や「The」などの単語を削除することは1つのルールであり、パターンマッチングまたは厳密に一致する単語のスペルが間違っています。

ワークフローの観点から、バッチアップロードを行うのは簡単なことではありません。承認された既知のデータディクショナリが必要になります。その後、各アップロード/追加を精査する必要があります。最終的に、追加の数は減少します。

これはデータベースの問題ではなく、ワークフローの問題であることに同意します。

編集

承認済みリストを作成し、次に、潜在的な「適切な」名前を承認済みリストに伝達するいくつかのルールを作成します。それをどのように実装するかは、読者の演習として残されています...

于 2009-01-09T19:44:37.123 に答える
-1
company table    
  id
  name

company_synonym table
  company_id
  name

このスキーマ構造は、リストした問題を解決します。

于 2009-01-09T19:41:57.707 に答える