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

时间:2010-04-20 01:30:28

标签: sql database ms-access

http://img714.imageshack.us/img714/7820/croppercapture1.png

基本上:奖励(课程)有许多单元,可以是可选的,也可以是核心(强制性),具体取决于奖励。例如:单位“高级软件工程”可能是“软件工程BSc”奖项的核心单元,但只是“Web Technology BSc”课程的可选单元。我为此目的使用了旗帜。

学生注册了奖励,因此我需要获得核心和可选单元的完整列表(请记住,学生选择了多个可能的单元中的一个)可选单位)。

此外,这些单元还有活动,例如讲座,研讨会或研讨会等。这些活动有会话或学生参加该活动的活动实例单位必须参加,并且这些出席情况存储在一个单独的表格中以形成登记册。

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

  • 奖项 - >学生 - >单位 - >会话 - >出勤

任何对此的帮助都会受到赞赏......这让我大吃一惊,我真的很疯狂!当我向他展示我的原始数据模型并且它将在下周到期时,我的导师没有发现我错了!谢谢:D

1 个答案:

答案 0 :(得分:0)

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

 Awards  Units
   |       |
  AwardsUnits -- AwardsUnitsSessions
    ( AwardID            |
    ( Mandatory          ---- AwardsUnitsSessionsStudents (ie Attendances)
        |                         |
 AwardUnitsStudents--Students-----|

创建学生后,会选择奖励,并将AwardUnits中的所有必修单元添加到AwardUnitsStudents中,并向用户显示可选单元列表,以便添加学生选择。

EDIT 您可能想要考虑一个包含所有常见人员详细信息的人员表(在很多情况下,地址表应该是分开的),并附加表格,以便为员工,学生,导师等定义额外信息。这是一种常见的风格,并且可以使生活更轻松,特别是当一个人有多个角色时。