【发布时间】:2014-01-02 20:39:11
【问题描述】:
这件事让我很困惑, 我有一个大学信息系统学生表和科目(课程)表之间的连接表,主键是复合键(StudentID,SubjectID),它们都是外键,但学生可能会在考试中失败并重复主题所以我们将有重复的PK,我们需要记录所有数据。我有两种方法可以解决这个问题,但我不知道最好的方法?
- 添加新列作为主键而不是复合键。
- 加入组合键Season Column 和year 列,组合键将是(StudentID, SubjectID, Season, Year)。不得不提的是,我不需要这个复合键作为外键。
哪种方式对性能和数据库完整性更好?
【问题讨论】:
标签: database database-design primary-key composite-primary-key junction-table