核心数据关系是否在现实世界中使用?

时间:2017-02-03 17:50:47

标签: ios swift core-data

我对核心数据非常熟悉,但我还没有找到核心数据关系的任何实际用途。我从概念上知道他们应该做什么,但他们似乎并没有强制执行任何事情。标准概念,例如主键/外键,级联删除,删除由于关系约束而不应该执行的值似乎不会被强制执行。

我读错了吗?核心数据关系实际上是否具有可执行的约束?

2 个答案:

答案 0 :(得分:4)

您似乎在考虑使用SQL风格的核心数据,这是一个错误。它的API不是SQL-ish,即使它经常被用作类似数据库的东西。

最直接 - 外键不是"标准概念"除非您假设Core Data应遵循SQL规则。核心数据中的关系通常使用代替外键。您可以使用该关系指示一个对象与某个其他对象相关。它类似于SQL如何使用外键将一个表中的条目与另一个表中的条目相关联,但它不是一回事。

它们是否用于现实世界"?当然 - 如果核心数据没有关系,那么核心数据就没那么有用了。它们是具有属性的对象的核心数据等价物,该属性也是某种对象。

答案 1 :(得分:2)

是的,您可以通过设置不同的删除规则来控制关系。

有关可用配置点的更多信息,请参阅本指南:Creating Managed Object Relationships

值得注意的是,规则仅在save()期间执行。