不确定我使用外键

时间:2014-09-28 20:22:30

标签: database erd

我正在建立一个系统,学生可以在外出后查看结果。系统应该在进入下一年的过程中记录学生的分数。我不确定我在Module_tests表中使用外键。我在此表中有两个外键,用于标识特定学生和特定模块的测试标记。我想这对外键是Module_tests表的主键。这是一个明智的设计吗?有效率吗?

提前致谢

学生表有三列:StudentID,名字,姓氏。 模块表有三列:ModuleID,ModuleName,Year。 Module_tests表有五列:StudentID,ModuleID,Assignment,PracticalTest,FinalExam。 (希望它很清楚,因为我无法在我的帖子中附加图片)

2 个答案:

答案 0 :(得分:0)

我认为你应该为Module_tests添加一个额外的列,可以是主要的和自动增量的。

在学生必须重新购买模块的情况下,数据库的完整性可能会受到损害。除此之外,你的桌子看起来很好。

答案 1 :(得分:0)

this question中已经询问了通过两个外键唯一标识行的联结表,这里的答案非常适用。