0

我目前正在试图找出如何创建一个大学的模块选项形式的关系数据库。首先输入您的学生证,姓名和姓,然后选择您的学位课程,例如人力资源管理然后使用复选框通过表格选择多个模块,直到选择每个程序的每个学期的总学分。一个存储模块选项表的选择题答案在Microsoft Access数据库

但是在选择多个模块,并作为一个关系数据库设计我不确定,如下图所示如何将多个答案存储在学生选项表。

我现在有

表的表:学生 字段名称: 学生ID(主键) 名称 姓

表:计划 计划(主键) 学期1个学分(不同的程序允许不同量的信用) 学期2学分(不同的程序允许不同量的信用额)

表:模块 模块ID(主键) 模块名称 积分 前提

最后一个表是一个我与如后所述模块从它们将被存储在形式选择挣扎在此表中,目前有这个...

表:学生选项 学生ID(主键) 计划(链接到节目表)

但是我不能确定哪些字段不得不它们存储没有过于杂乱,可是仍然存在如下图所示这都是单独存储在链接模块表。

难道我的模块表中需要有一个关系链接到学生的选择表是关系数据库?

我怎么会存放入选学生选择表格多个模块?

感谢

+0

如果我正确理解你的问题,你应该做一个多对多的关系在Student和Module之间(例如,通过存储StudentID和ModuleID对来连接它们的那两个表之间有一个表)。 –

+0

感谢您的快速回复! – user3167227

回答

2

至于你的核心问题,我认为以下列出的数据库设计应该是足够了:

A simple ERM solving the problem

你不应该同时存储,学生选择的模块和程序,他被注册在同一张表中。相反,像上面概述的那样。

  • 学生注册的课程只应该是学生表中的外键,因此给你一对多的关系(这是一个关键点,因为这意味着任何一个学生都可以只注册一个程序!如果你的数据库必须能够让一个学生注册多个程序,那么你也需要一个多对多的关系)。
  • 模块应该通过一个中间表(在这种情况下我称它为StudentModule)与学生相关,因此给你所需的多对多关系。你现在必须做的是通过代码检查,如果该模块还没有被学生选中(以及所有其他的小细节和大细节......)。但据我所知,这将与任何数据库设计有关。你可以看到,我也为模块插入了一个中间表来编程关系。这是因为我认为一个模块可以用于多个程序。通过以这种方式将模块与程序相关联,然后可以检查诸如“该学生是否可以选择该模块”之类的东西,...
+0

非常感谢您的快速和详细的回复,这真的帮助我,我很感激! – user3167227

相关问题