0

与えられたランダムな関連データをより簡潔なカテゴリに集める必要があるとしましょう。

例-次のデータが与えられます。-他の関連する列データがいくつも存在する可能性があります。

 Customer      Product                Category
==========    =========    =================================
Customer A    Product A                 Cat 1
 CustomerA    Product B               Category 1
  Cust-A      Product C    Totally Lame & Unrelated Grouping

タスク-上記を統合して正規化し、事前定義されたクリーンなグループにします。

CustomerA
  Category1
    ProductA
    ProductB
    ProductC

完成したデータがどのように保持されるかについて心配する必要はありません。ただし、グループ化のルールをどのように維持および管理するかに焦点を当ててください。

唯一の仮定:データベースを使用してグループ化ルールを永続化することはできません。したがって、「正規化」と言うときは、リレーショナルデータベースの正規化ルールの観点から言っているのではありません。ただし、ランダムデータを一貫性のある状態にするために、(上記のように)データ入力から不整合を取り除きたいと考えています。

では、利用可能なオプションは何ですか?テクノロジーにとらわれないまま:

XML?

設定ファイル?

設定ファイル(コンパイルされているかどうか)?

Iniファイル?

コード?

各回答の長所と短所をリストします。そして、これは確かにエクササイズですが、それは現実の問題です。それで、あなたのクライアント/雇用者があなたにこれを任せたと仮定してください。

4

3 に答える 3

0

これはデータのクレンジング作業のように思えますが、完璧にすることはかなり不可能です。問題:

1)。前もってカテゴリを指定できますか、それともデータから推測する必要がありますか?

2)。同等性を受け入れるためにどのような規則を使用できますか?

「Cat 1」は「Category 1」と同じですか?と「カテゴリー1」?

「猫1」別名「猫1」?「猫1」はどうですか?? と「猫12」?

チャレンジで良いルールのセットを取得するだけです。

2)。それらのルールをどのように捉えますか?コードまたは構成?configの場合、それをどのように表現しますか? 新しい専用プログラミング言語を書くだけですか?

于 2009-07-10T14:34:10.403 に答える
0

これはデータのクレンジング作業のように思えますが、完璧にすることはかなり不可能です。問題:

1)。前もってカテゴリを指定できますか、それともデータから推測する必要がありますか?

2)。同等性を受け入れるためにどのような規則を使用できますか?

「Cat 1」は「Category 1」と同じですか?と「カテゴリー1」?

「猫1」別名「猫1」?「猫1」はどうですか?? と「猫12」?

チャレンジで良いルールのセットを取得するだけです。

3)。それらのルールをどのように捉えますか?コードまたは構成?configの場合、それをどのように表現しますか? 新しい専用プログラミング言語を書くだけですか?

于 2009-07-10T14:34:46.003 に答える
-1
  1. 各値のディクショナリ マッピング。'Cat1' => 'Category1', 'Category 2' => 'Category2'. これは保管が簡単で、意図しない結果を招くことはありません。欠点は、これらすべてのマッピングを手動で作成することが実際の作業であることです。
  2. 一連の正規表現。そうすれば、比較的少ない作業でほぼすべてのルールを取得できます。欠点は、正規表現が比較的簡単に「不発」になり、評価の順序が重要になることです (つまり、値が複数の「ルール」に一致する場合)。

それらを永続化する方法は?これ以上つまらない質問は思いつきません。好みのプログラミング言語で最も簡単なものを使用するだけです。

于 2009-07-10T14:45:03.863 に答える