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会处理该外键.否则它们是对象指针.