Core data CoreData-Xcode 5-M:N关系

Core data CoreData-Xcode 5-M:N关系,core-data,relationship,data-modeling,Core Data,Relationship,Data Modeling,我有简单的数据模式。该模型有3个表:教师、班级、教师班级教师可以教更多的课程并且课程可以有更多的教师。这是典型的M:N问题。所以,我做了第三个表,它代表了一对夫妇的班级。第三个班级有2名外键(FK)教师和班级。数据模型如下所示: 请问,我如何在CoreData中表示此模型。在CoreData中,没有任何FK或PK,因此,我如何对关系建模?只有两个表,它们有多对多的关系??有可能吗?谢谢你的建议。没有关注你的链接。另外,在提问时,你应该明确,不要假设读者知道像FK和PK这样的东西的意思 至于你的

我有简单的数据模式。该模型有3个表:教师、班级、教师班级教师可以教更多的课程并且课程可以有更多的教师。这是典型的M:N问题。所以,我做了第三个表,它代表了一对夫妇的班级。第三个班级有2名外键(FK)教师和班级。数据模型如下所示:


请问,我如何在CoreData中表示此模型。在CoreData中,没有任何FK或PK,因此,我如何对关系建模?只有两个表,它们有多对多的关系??有可能吗?谢谢你的建议。

没有关注你的链接。另外,在提问时,你应该明确,不要假设读者知道像
FK
PK
这样的东西的意思

至于你的模型,你可以很容易地通过一个多途径的关系来实现


在模型GUI中,您向引用
class
teacher
添加一个关系,并将该关系的每一侧设置为“多个”。因此,
教师
的每个实例可以有多个
关系,而
的每个实例可以有多个
教师
关系。

没有跟随您的链接。另外,在提问时,你应该明确,不要假设读者知道像
FK
PK
这样的东西的意思

至于你的模型,你可以很容易地通过一个多途径的关系来实现


在模型GUI中,您向引用
class
teacher
添加一个关系,并将该关系的每一侧设置为“多个”。因此,
教师
的每个实例可以有多个
关系,
的每个实例可以有多个
教师
关系。

是的,创建2个实体并创建双向多对多关系(在每个方向上创建一个关系,并将它们设置为彼此的反向关系)。这样,教师可以与任意数量的班级建立关系,反之亦然。您不需要第三个实体


如果需要,您可以在核心数据中添加索引,通过勾选Xcode中的
index
选项,可以将索引添加到您选择的属性中。

是,创建两个实体并创建双向多对多关系(在每个方向创建一个关系,并将它们设置为彼此相反)。这样,教师可以与任意数量的班级建立关系,反之亦然。您不需要第三方实体


如果需要,您可以在核心数据中添加索引。通过勾选Xcode中的
index
选项,可以将索引添加到您选择的属性中。

FK=Foreign key,PK=Primary key我确信您的意思是“将关系类型的每一边设置为“多”。无限不是您在模型中定义的内容。它默认为“unbounded”这很可能是OP想要的。@MarcusS.Zarra谢谢。我已经用代码构建了很多模型,我把
minCount
maxCount
都设置为无限。可能应该更小心一点。FK=外键,PK=主键我确定你的意思“将关系类型的每一侧设置为‘多’”。无限不是您在模型中定义的内容。它默认为“无限”“这很可能是OP想要的。@MarcusS.Zarra谢谢。我一直在用代码构建很多模型,我把
minCount
maxCount
设置为无限。可能应该更小心一点。Wain,请。当我有两个表时:1:1,例如表num.1:“教师”,表num.2:“地址”。我必须在表中插入属性地址(外键)或者它是不必要的。当我有关系M:N,例如老师和班级,我如何能检测到具体的夫妇,当我在任何表格中没有FKs,例如:布朗先生教4.A,布朗先生教5.A,史密斯女士也教4.A。表格中这样的记录会是什么样子?对不起,但我已经固定了数据模型和这里的逻辑不同吗。谢谢。你需要停止考虑表和外键,开始考虑对象和关系(指向其他对象的指针集)。Wain,请。当我有两个表时:1:1,例如表num.1:“教师”,表num.2:“地址”。我必须在表教师中插入属性地址(外键)或者它是不必要的。当我有关系M:N,例如老师和班级,我如何能检测到具体的夫妇,当我在任何表格中没有FKs,例如:布朗先生教4.A,布朗先生教5.A,史密斯女士也教4.A。表格中这样的记录会是什么样子?对不起,但我已经固定了数据模型和这里的逻辑它不同吗。谢谢。你需要停止考虑表和外键,开始考虑对象和关系(指向其他对象的指针集)。