私は現在、EntityFrameworkを介してアクセスされるSQLServerリレーショナルデータベースに取り組んでいます。適切な答えが見つからないように思われる質問がいくつかあります。
私のデータベースモデル図をご覧ください。
1.ProblemType
実装が正しい方法である
かどうかはよくわかりません。現在設定されているように、両方の列にはaまたは。ProblemType
が含まれるため、両方の列でnull値を使用できます。したがって、問題は、テーブルを削除してモデルを非正規化し、テーブルとテーブルの両方を関連付けることが可能かどうかということです。ProblemTypeRoadID
ProblemTypeVandalismID
ProblemType
ProblemTypeRoad
ProblemTypeVandalism
ProblemDesc
2.Problem
テーブルを
見ると、という名前の列がありますHistoryIDs
。この列には、すべてがにHistoryIDs
関連するコンマ区切りの文字列が含まれている必要がありますProblem
。Aは、変更されるたびにコピーされるため、HistoryID
基本的にProblemDescID
(aは更新されるたびに列がtrueに設定されるため)ProblemDesc
です。私の質問は、列に複数を追加するための最良の方法は何ですか?「1,5,7」のようなものであれば、特定ののすべての履歴を簡単に見つけることができます。IsHistory
ProblemDesc
ProblemDescIDs
HistoryIDs
ProblemDesc
3. 図に関する他の提案も大歓迎です:)
前もって感謝します!
編集:改訂された図を検討してください:
あなたが私に改善のためのいくつかの素晴らしい提案をしてくれたので、私はあなたの提案のほとんどを実行しようとしました。ProblemType
削除され、ProblemHistory
追加されました。親テーブルへの方法WorkerComment
と関連性にも変更が加えられました。Media
この実装は機能しますか?
ありがとう!