私は現在、EntityFrameworkを介してアクセスされるSQLServerリレーショナルデータベースに取り組んでいます。適切な答えが見つからないように思われる質問がいくつかあります。
私のデータベースモデル図をご覧ください。

1.ProblemType実装が正しい方法である
かどうかはよくわかりません。現在設定されているように、両方の列にはaまたは。ProblemTypeが含まれるため、両方の列でnull値を使用できます。したがって、問題は、テーブルを削除してモデルを非正規化し、テーブルとテーブルの両方を関連付けることが可能かどうかということです。ProblemTypeRoadIDProblemTypeVandalismIDProblemTypeProblemTypeRoadProblemTypeVandalismProblemDesc
2.Problemテーブルを
見ると、という名前の列がありますHistoryIDs。この列には、すべてがにHistoryIDs関連するコンマ区切りの文字列が含まれている必要がありますProblem。Aは、変更されるたびにコピーされるため、HistoryID基本的にProblemDescID(aは更新されるたびに列がtrueに設定されるため)ProblemDescです。私の質問は、列に複数を追加するための最良の方法は何ですか?「1,5,7」のようなものであれば、特定ののすべての履歴を簡単に見つけることができます。IsHistoryProblemDescProblemDescIDsHistoryIDsProblemDesc
3. 図に関する他の提案も大歓迎です:)
前もって感謝します!
編集:改訂された図を検討してください:

あなたが私に改善のためのいくつかの素晴らしい提案をしてくれたので、私はあなたの提案のほとんどを実行しようとしました。ProblemType削除され、ProblemHistory追加されました。親テーブルへの方法WorkerCommentと関連性にも変更が加えられました。Mediaこの実装は機能しますか?
ありがとう!