数据库问题——学生注册同一门课两次.如何阻止它查阅2007年



我正在制作一个模拟数据库,我有一个student表,student_class链接表和class表。我怎样才能使一个学生不能两次注册同一门课?

示例:StudentID 21和classID 34可以在链接表中输入X次。

表也是3NF设计的

在您的student_class链接表(或者称为复合表)中,将两个值studententid和ClassID都设为主键。这个表将有两列,它们是组合主键和关联表的外键。明白了吗?

一个student_class表可能至少有两列。一个是student主键的外键;另一个是类中主键的外键。在这对列上需要一个主键约束。

例如,如果student_class有两列student_id和class_id…

  • 在设计视图中打开表student_class
  • 选择这两个列。
  • 点击键图标。

应该可以了

您可以有一个表,它告诉您哪些学生注册了哪些班级,名称为students_classes。如果在包含student_id和class_id的表上创建复合主键,则不可能在数据库中两次包含同一个班级的学生。

我应该指出,你应该在这个表上有一个自动增量ID主键列(我认为Access喜欢默认添加这个,所以如果它做了,你可能不得不删除它)。如果您这样做了,如果这三个都是键的一部分,那么您仍然可能得到重复的结果。例子:

<>之前ID student_id class_id113 1 2114 1 2之前

使用ID字段仍然允许一个学生在同一个班级注册两次。

最新更新