我的Core Data数据库中有三个主表。它们中的所有三个都有一些共同的属性,例如名。
我应该在其中创建包含这些属性的第4个表,然后在此“基础”表与其他3个表之间创建单独的1对1关系,还是应该在所有3个表中创建重复属性?
答案 0 :(得分:3)
如果名称完全不相关(例如“发布商名称”,“作者姓名”和“书名”),则不,将它们作为每个实体的属性保留。如果您将其移至“名称”实体而没有可感知的好处,您将支付性能损失。
如果它们是相关的(例如'经理'实体具有'名称'且'员工'实体具有'名称',并且经理可以是雇员)那么您可能想要创建新实体(例如人)。 / p>
始终牢记性能:拥有一个不完全规范化的模型是可以的。不要让理论上的完美杀死你的表现。请记住,这是一个iPhone应用程序,而不是数据中心。