这种模式适用于核心数据吗?

Jam*_*ter 0 database-design core-data ios

我之前使用的唯一数据库是MySQL,因此CoreData的数据库设计让我感到困惑.

简而言之,该设计包括人与企业之间的多对多关系.很多人可以拥有一项业务.一个人可以拥有许多企业.

在这个简化的设计中,有3个表:

PERSON       BUSINESS      OWNED BUSINESS
------       --------      --------------
id           id            personID
name         name          businessID
email        website       acquisitionDate
Run Code Online (Sandbox Code Playgroud)

OwnedBusiness表让我很困惑.在MySQL中,此表用于支持多对多关系.我知道CoreData不需要这个,但是我在OwnedBusiness中有一个额外的字段:acquisitionDate.


额外的字段是否acquisitionDate保证使用额外的实体/表格?如果没有,那个领域会去哪里?

Mar*_*rra 17

首先,Core Data不是一个数据库,完全停止.

Core Data是一个对象图管理框架,是您应用程序中的模型.

可以持久保存到数据库中的磁盘.它也可以作为二进制,XML和其他任何东西持久存在.它甚至不需要坚持.

将Core Data视为对象图.在您的示例中,您将拥有Person实体,Business实体和OwnedBusiness实体.

OwnedBusiness实体将具有两个关系和一个属性.您不会管理外键,因为如果您最终持久保存到数据库,Core Data会处理该外键.否则它们是对象指针.