【问题标题】:Storing Multiple choice answers of a Module Options Form in a Microsoft Access Database在 Microsoft Access 数据库中存储模块选项表单的多项选择答案
【发布时间】:2016-12-15 01:48:08
【问题描述】:

我目前正在尝试研究如何为大学模块选项表单创建关系数据库。首先,您输入您的学生证、姓名、姓氏并选择您的学位课程,例如人力资源管理然后使用复选框通过表格选择多个模块,直到选择每个课程每学期的总学分。

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

我目前有以下表格

表:学生 字段名称: 学生证(主键) 姓名 姓氏

表格:计划 程序(主键) 第一学期学分(不同的课程允许不同的学分) 第二学期学分(不同的课程允许不同的学分)

表格:模块 模块 ID(主键) 模块名称 学分 先决条件

最后一张表是我正在努力解决的问题,因为从表格中选择模块后,它们将存储在此表中并且当前具有此...

表格:学生选项 学生证(主键) 程序(链接到程序表)

但是我不确定必须将它们存储在哪些字段中,以免过于混乱,并且仍然具有指向模块表的链接,如下所示,它们都是单独存储的。

我的模块表是否需要有到学生选项表的关系链接才能成为关系数据库?

我如何将选择的多个模块存储到学生选项表中?

谢谢

【问题讨论】:

  • 如果我正确理解您的问题,您应该在 Student 和 Module 之间建立多对多关系(例如,在这两个表之间有一个表,通过存储 StudentID 和 ModuleID 对来连接它们)。
  • 感谢您的快速回复!

标签: ms-access vba multiple-choice multiplechoicefield


【解决方案1】:

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

您不应将学生选择的模块和他注册的课程两者都存储在同一个表中。而是像上面概述的那样做。

  • 学生注册的程序应该只是学生表中的外键,因此给你一个一对多的关系(这是一个关键点,因为这意味着任何一个学生都只能被注册在一个程序中!如果您的数据库必须能够让一名学生注册多个程序,那么您也需要一个多对多关系。)。
  • 模块应该通过中间表与学生相关联(在本例中我称之为 StudentModule),从而为您提供所需的多对多关系。您现在要做的当然是通过代码检查,如果学生尚未选择模块(以及所有其他大小细节......)。但据我所知,这与任何数据库设计都有关。
  • 如您所见,我还为模块插入了一个中间表来编程关系。这是因为我假设一个模块有资格参加多个项目。通过以这种方式将模块与程序相关联,您可以检查诸如“这个学生可以选择这个模块”之类的内容,...

【讨论】:

  • 非常感谢您快速详细的回复,这对我很有帮助,我很感激!
猜你喜欢
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多