0

我的应用中有两个实体:Class 和 Student,它们是多对多的关系,如下所示:在此处输入图像描述

我的问题是,在我的应用程序中,一个班级的学生有两种状态:通过和失败。我不知道如何将其建模为班级或学生。例如,我应该制作另一个实体来表达学生的身份吗?或者只是向 Class 实体添加一个状态属性?

4

2 回答 2

2

大概你不能为班级添加一个属性,因为如果有 20 名学生上同一个班级,那么他们之间就只有一个属性?

您需要添加一个单独的实体,该实体与班级和学生具有一对一的关系,并且包含状态。反过来,学生和班级都与状态有一对多的关系。

编辑:我想另一种解决方案是直接在您现有的关系之间插入状态。所以一个班级有一组状态,每个状态都有一个学生。

因此,从班级到身份的关系是一对多的,从身份到学生的关系是多对一的。班级和学生之间没有明确的关系。

于 2012-12-05T23:53:58.643 回答
0

我建议使用第三个实体来表达学生在特定班级中的状态。例如一组“classStatuses”。由于您以后可能需要存储其他信息,例如成绩、学分、帮助记录等。

最终方案将类似于

班级 -多对多关系中的学生。

学生 - 一对多的 ClassStatus。(图片是学生正在学习的课程及其各自状态的数组)

这样您就可以搜索班级中的学生,搜索学生正在上的课程,检查班级的状态。

于 2012-12-06T01:04:51.840 回答