たとえば、文字列、日付、または XML データ型など、複数の型にできるフィールドがあるとします。
これをデータベースに保存する方法は 2 つあります。
1- 文字列型フィールド + 型を定義するフィールドを使用: 「型認識」ソート機能を失い、キャストが必要
2- 個別のテーブル (StringValues、DateValues、Decimal、XML ...など): 値を指す外部キー + タイプを定義するフィールド : なんとなく複雑、パフォーマンス
2 番目の方法は、一意の値のみが保存されている場合に特別な利点があります。これはインデックスとして機能します。
何か心当たりはありますか?
注1: できれば、MS SQL Server 2008 と Linq2SQL に基づくプロジェクトを検討してください。
注 2: EAV の実装方法については別の質問で説明するかもしれませんが、リレーショナル ストレージでの EAV について質問しています。
注 3: タイプは変更される可能性がありますが、頻繁ではありません