mysql中设计表中的Master-Detail关系

时间:2012-02-07 04:04:28

标签: mysql database-design master-detail

我需要创建2个表名单和记录,每个名册都有很多记录。 名册以课程为基础,每个班级每天最多1个名单。 一条记录可以有很多学生。

我想知道这种主 - 细节关系设计是否有效? 我的朋友建议一切都可以在记录表中完成,因为我们希望在特定日期显示班级中所有学生的名单。因此,在主 - 细节方法中,它需要在 2个表上进行查询才能完成任务,相反,如果只有一个记录表,则只需 1个查询。登记/> 请指教。

1 个答案:

答案 0 :(得分:0)

如果您需要跟踪主键值之上的ROSTER属性,则数据库规范化规则要求您拆分ROSTER表。当然,你总是可以选择反规范化,但这个决定必须睁大眼睛。

如果除了密钥之外还有ROSTER的列,那么您的朋友是对的。否则你应该提醒你的朋友,因为某些可以完成,并不意味着应该完成。