这件事让我很困惑,我有一个大学信息系统学生表和科目(课程)表之间的连接表,主键是复合键(StudentID,SubjectID),它们都是外键,但学生可能会在考试中失败并重复主题,这样我们就会有重复的PK,我们需要记录所有数据。我有两种方法可以解决这个问题,但我不知道最好的方法?
- 添加新列作为主键而不是复合键。
- 加入复合键 Season Column 和 year 列,复合键将是(StudentID,SubjectID,Season,Year)。我不得不提一下,我不需要这个复合键作为外键。
哪种方式对性能和数据库完整性更好?