3

私は、ユーザー定義の情報を追跡するために、テーブルに1つ以上の追加フィールドを追加する必要があるアプリケーションで作業しています。この追加情報はレポート目的(Crystal Reports)でのみ使用され、アプリケーションの動作には影響しません。このフィールドのデータは、外部アプリケーションから取り込まれます。ユーザー定義フィールド(UDF)のデータベースを設計する方法は?

この追加情報を処理するにはどうすればよいでしょうか?ここでは他のオフに基づいていくつかのオプションがSOの答えは:(?これはやり過ぎだろうEAVの多くの批評家があるように思える)

  1. エンティティ - 属性値
  2. どのエンティティがわからない(表に追加の列を追加します。フレームワークこれを希望)
  3. 私が正しく要件を理解していれば、あなたは外部から来る情報を保存するデータポイントが必要になり、各UDFのための新しい表を作成し、
+0

が比較的効率的EAVシステムを実装した

希望が、私はここでそれらについて少し書きました:http://sqlblog.com/blogs/aaron_bertrand/archive/2009/11/19/what anyis.aspx –

+0

私たちは、多くのテーブルのための多くの新しいフィールドや、1つのテーブルのためのいくつかの新しいフィールドについて話していますか?このデータベースは現在どのくらいの大きさで、あなたはそれが大きく成長すると思いますか? – northpole

+0

@northpoleほとんどの場合、1つのテーブルに1つまたは2つのフィールドが追加されます。しかし、クライアントに応じて成長する可能性があります。 – Jason

答えて

0

をリンクするために、親テーブルのプライマリを使用アプリケーションとその構造は設計時には定義されていません。それが正しい場合は、xmlデータ型の使用をお勧めします。これを選択することで、新しいキー値のペアが挿入されたときにデータベースを再設計する必要はありません。 Crystalレポートでは、この列にxslを簡単に含めることができます。このヘルプと幸運

関連する問題