答案 0 :(得分:0)
可能两者都不是。一方面,关联表中的替代键是一种反模式。 B比A好,但是太复杂了。
您可能只需要一个关联表,其中包含course_id,student_id和date。假设每个学生可以参加许多课程,并且每个课程可以由许多学生参加,如果每个学生最多可以参加一次课程,则其密钥为{course_id,student_id}。或{course_id,student_id,date}(如果每个学生可以在不同的日期多次上每一门课程。
(如果每个学生可以在同一日期多次参加每门课程,我们需要更多信息。)