我在尝试使用Entity Framework和SQL Server时决定表设计。
我有一个与许多其他实体相关的实体(地址)(约15个)。
我可以在数据库中创建15个可空的FK列,也可以创建一个未绑定的列(EntityPrimaryKey)和一个EntityType列来跟踪EntityPrimaryKey列的值。
这两种不同的设计可能会有什么问题?关于哪个更好的意见?
答案 0 :(得分:3)
始终使用可用于强制参照完整性的真实外键。
这个“一键和一列来定义键的类型”起初可能听起来不错 - 但最终,由于你无法建立任何参照完整性,它实际上是毫无意义的。
随着时间的推移,您将在所有未被引用的表中使用“zombie”子行。数据的质量和完整性对我来说是一个良好的数据库设计中最重要的方面 - 始终确保您的数据完整性是铁腕的 - 其他任何东西都支持这个要求!