Sql 努力在MS Access中创建正确的关系

Sql 努力在MS Access中创建正确的关系,sql,database,ms-access,Sql,Database,Ms Access,基本上:一个奖励(课程)有许多单元,根据奖励的不同,这些单元可以是可选的,也可以是核心的(必选的)。例如,“高级软件工程”单元可能是“软件工程BSc”奖的核心单元,但只是“网络技术BSc”课程的可选单元。我用旗子来做这个 一名学生参加了奖励,因此我需要获得一份完整的核心单元和可选单元列表(请记住,一名学生从许多可能的可选单元中选择一个) 此外,这些单元有活动,例如讲座、研讨会或研讨会等。这些活动有会议或要求注册该特定单元的学生参加的活动实例,这些出席情况存储在单独的表中以形成登记簿 所以我需要一

基本上:一个奖励(课程)有许多单元,根据奖励的不同,这些单元可以是可选的,也可以是核心的(必选的)。例如,“高级软件工程”单元可能是“软件工程BSc”奖的核心单元,但只是“网络技术BSc”课程的可选单元。我用旗子来做这个

一名学生参加了奖励,因此我需要获得一份完整的核心单元和可选单元列表(请记住,一名学生从许多可能的可选单元中选择一个)

此外,这些单元有活动,例如讲座、研讨会或研讨会等。这些活动有会议或要求注册该特定单元的学生参加的活动实例,这些出席情况存储在单独的表中以形成登记簿

所以我需要一个扩展表的层次结构,我想是这样的:

  • 奖项->学生->单元->课程->出席人数

在此方面的任何帮助都将不胜感激。。。这让我大吃一惊,我真的快要发疯了!当我向我的导师展示我的原始数据模型时,他没有发现我弄错了,该模型将在下周发布!谢谢:D

乍一看,我不认为学生需要与奖项或单位相关,而是与获奖单位相关。也许:

 Awards  Units
   |       |
  AwardsUnits -- AwardsUnitsSessions
    ( AwardID            |
    ( Mandatory          ---- AwardsUnitsSessionsStudents (ie Attendances)
        |                         |
 AwardUnitsStudents--Students-----|
创建学生时,将选择奖励,并将AwardUnits中的所有必修单元添加到AwardUnits学生,并向用户显示可选单元列表,以便添加学生选择

编辑
您可能需要考虑一个人表,该表包含所有常见的人的详细信息(在相当多的情况下,地址表应该是分开的)附加表以定义工作人员、学生、导师等的额外信息。这是一种共同的足够的风格,并且可以使生活更容易。尤其是当一个人扮演不止一个角色时。

我可以看到你的形象,但我无法理解。它们相互重叠,相互隐藏,被桌子遮住,通常很难阅读。另外,我不清楚你的问题是什么。是“这个E-R有意义吗?”我的问题是“我如何才能为它建立一个正确的E-R模型”关系是:学生一个奖,学生多个单位,奖多个单位,单位多个事件,事件多个会议,会议多个出席,学生多个出席,学生一个导师组,工作人员多个导师组,许多单位的工作人员。。。有帮助吗谢谢你,@Remou!所以,在AwardsUnitsSessions学生中,我会有奖项、单元、课程的ID,同一行会重复出现,有多少学生需要参加课程实例?在AwardsUnitsStudents中会有奖励的ID,无论奖励有多少个单元,都会重复这个ID,无论该单元有多少学生,都会重复这个ID?只是检查一下我理解了你的模型=]对AwardSunits学生是的,但是,对于AwardSunits课程学生,你有一些可能性。您只能输入显示的学生,可以输入必修课的所有行,也可以输入选修课的学生,依此类推。@Remou-Hmm。。。我不能把AwardID从AwardsInits拉到AwardsInits学生,因为它不是AwardsInits中的一个键,我可以吗?此外,在我的界面中,我希望允许用户输入事件,如讲座或研讨会等。。。然后系统会每周自动将这些活动的课程添加到获奖学生或其他任何人身上。。。该系统的全部目的是让用户打印出一份应该参加的所有学生的名单,并在该课程结束后指定他们是否参加。因此,最好有一个单独的课程表,列出一个单元中的所有课程,这样我们就可以在另一个表中列出吸引学生参加的课程参加那个单元的学生?我只是以前没有这方面的工作=[另一个问题是,学生必须学习3年,他们在1级和2级结束时做出选择,所以我需要找到一些方法,列出所有可能的选择和必修单元,并在适当的时候从列表中指定选项选择