我正在创建一个获得实体“计划”和“工具”的应用程序。 “工具”必须是唯一的,工具才能与不同的计划相关联。例如,计划“A”获得了工具“a”,“b”和“c”。另一个计划“B”得到了工具“b”,“c”和“d”。所以“b”和“c”都在“A”和“B”中。因此,工具可以链接到更多计划。
如何使用核心数据关系执行此操作? 我尝试了一些不同的设置,并使用“DB Browser for SQLite”观察数据库,但它不像我喜欢的那样工作。
示例:
我的关系必须有哪些设置?
答案 0 :(得分:2)
多对多关系
您可以使用两对多来定义多对多关系 关系。第一对多关系从第一对多开始 实体(源实体)到第二个实体(目的地)。该 第二对多关系来自第二个实体(原始的 目标实体)到第一个实体(原始源实体)。 然后将每个设置为另一个的倒数。
在你的情况下它应该是这样的:
在这里您可以看到关系属性:
再次,来自Apple的文档:
重要
您必须在两个方向定义多对多关系 - 也就是说, 你必须指定两个关系,每个关系是相反的 其他。您不能只在一个方向上定义多对多关系 并尝试将其用作多对多。如果你这样做,你最终会得到 参考完整性问题。