【发布时间】:2015-07-23 12:10:30
【问题描述】:
我有 Person 和 Course 有多对多的关系。 (有一个表只维护了 2 个 ID 的关系
为该关系设置第三个布尔字段Selected 是否更好。
或者从关系表中添加/删除完整的行?
什么更常见?我也需要支持编辑
【问题讨论】:
-
SELECTED 字段的用途是什么?
-
最好从关系表中删除行以节省空间,尤其是在关系表上没有任何详细信息的情况下
-
我从您的问题中了解到的是您想从数据透视表中删除/保留关系。我对吗?如果我是对的,那么这取决于您的业务逻辑。如果要求跟踪所有历史记录,那么您必须保留它们。
-
答案取决于此表如何适合您的整体数据库设计、您需要存储哪些数据以及您在其他表中存储的内容。根据您的问题,该表中其他可能的字段可能是角色(学生、讲师等)和状态(已注册、进行中、已完成等)。
-
如果您使用的是 SELECTED 字段,您的表中必须有 Count(Person) * Count(Course) 行。一段时间后,这将变得非常笨拙,并且会使从任一表中添加/删除行变得非常缓慢
标签: sql asp.net asp.net-mvc database-design