2017-05-05 93 views
2

我正在创建一个获得实体“计划”和“工具”的应用程序。一个“工具”必须是唯一的,工具可以链接到不同的计划。例如,计划“A”得到了工具“a”,“b”和“c”。另一个计划“B”得到了工具“b”,“c”和“d”。所以“b”和“c”都在“A”和“B”中。因此,一个工具可以与更多计划相关联。核心数据关系设置

我该怎么做核心数据关系? 我尝试了一些不同的设置,并使用“DB Browser for SQLite”观察数据库,但它不像ID一样工作。

例子:

enter image description here

哪些设置必须我的关系呢?

+1

究竟什么是行不通的?在Code Data数据模型中创建两个实体并在Plan中创建一个“工具”,“一对多”关系,在Tool中创建一个“计划”,“一对多”关系,并将对方标记为反向。 – KaraBenNemsi

+0

谢谢!有用。我不知道如何解释我的数据库浏览器中的数据库结构。由于你的评论我再次尝试,然后证明它已经工作!谢谢 :) –

回答

2

Apple's documentation

许多一对多的关系

您定义使用两个一对多 关系的许多一对多的关系。第一对多关系从第一个 实体(源实体)到第二个实体(目标)。第二对多关系从第二个实体(原始的 目标实体)转到第一个实体(原始源实体)。 然后,您将每个设置为另一个的倒数。

在你的情况应该是这样的:

Model Diagram

这里你可以看到的关系属性:

Relationship Properties 1

Relationship Properties 2

再次,从苹果公司的文件:

重要

你必须定义在两个方向,即许多一对多的关系, 必须指定两个关系,每个都是 其他的倒数。你不能只在一个方向上定义一对多的关系 并尝试将其用作多对多。如果你这样做,你最终会遇到参照完整性问题 。