核心数据:与国家的多对多关系

时间:2012-12-05 23:48:49

标签: ios cocoa-touch core-data

我的应用中有两个实体:Class和Student,它们是多对多关系,如下所示:enter image description here

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

2 个答案:

答案 0 :(得分:2)

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

您需要添加一个单独的实体,该实体与班级和学生具有一对一的关系,并且包含状态。在互惠中,学生和班级都会与身份有很多关系。

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

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

答案 1 :(得分:0)

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

最终方案将类似于

班级 - 学生,多对多关系。

学生 - ClassStatus 在一对多中。 (图片是学生正在学习的各种班级的数组)

通过这种方式,您可以搜索班级中的学生,搜索学生正在上课,查看班级状态。