いくつかのエンティティに関連するいくつかのレビュー フラグを保存する必要があります。各レビュー フラグは、1 つのエンティティ プロパティ グループにのみ関連付けることができます。たとえば、テーブルParents
にはParentsStatus
フラグがあり、テーブルChildren
には一連のChildrenStatus
フラグがあります。
現在の設計案では、3 つのテーブルがあります。
ReviewTypes
: フラグと関連するプロパティを格納します。ReviewPositions
: フラグが持つことができる値を格納します。Reviews
: トランザクション データ、実際のレビューを保存します。これは、UsersToFlags: Flags in a database rows, best practice のようなものです。
問題は、テーブルを持つ必要はなく、Reviews
この実際のレビュー データを各エンティティに保存する方がよいというプッシュバックを受けていることです。たとえば、追加の列Parents
を holdに追加しますParentsStatus
。彼らは、それがより単純なソリューションであり、データを分離することはアウトシナリオにとって「やり過ぎ」であると感じています.
これは、新しいレビュー フラグを追加するたびに、コア エンティティ テーブルを更新してそのフラグを保持する必要があることを意味するため、この考えは好きではありません。
スペースは問題ありません。
人々は強い意見を持っていますか?
編集:
このコメントは、3 つの回答に適用されます。コンセンサスは、リレーショナル アプローチが最適であるということですが、EAV データベース モデルを理解するための非常に基本的な読み物として、EAV モデルについてもう少し読む必要があると思います。およびその関連リンクは、非常に単純ではないようであり、穴を掘りたくありません。ワイルドプラッサーに感謝します。もう少し読み進めたら折り返します。