我目前正在研究将通过实体框架访问的 SQL Server 关系数据库。我有几个问题似乎无法找到正确的答案。
请看我的数据库模型图:

1.
我不太确定ProblemType实施是否正确。正如现在已经设置的那样,两列都允许输入空值,ProblemType因为它将包含 aProblemTypeRoadID或 a ProblemTypeVandalismID。所以问题真的是是否可以通过删除ProblemType表格和在表格中关联和关联ProblemTypeRoad来ProblemTypeVandalism对模型进行反规范化ProblemDesc?
2.
查看Problem表格,您会发现一列名为HistoryIDs。此列应包含一个以逗号分隔的字符串,其中包含HistoryIDs与 a 相关的所有内容Problem。AHistoryID本质上是 a ProblemDescID(因为 a在更新时ProblemDesc将其IsHistory列设置为 true),因为ProblemDesc在更改时会复制 a。我的问题是:ProblemDescIDs向HistoryIDs列添加多个的最佳方法是什么?如果它是“1,5,7”之类的东西,那么很容易找到给定的所有历史记录ProblemDesc。
3. 对图表的任何其他建议也非常欢迎:)
提前致谢!
编辑:请考虑修改后的图表:

既然您给了我一些很好的改进建议,我已经尝试实施您的大部分建议。ProblemType已被删除并ProblemHistory添加。还对其父表的方式WorkerComment和关系进行了更改。Media这种实施会奏效吗?
谢谢!