【发布时间】:2026-01-06 15:05:03
【问题描述】:
我正在开发一个使用核心数据的个人应用程序。我正在尝试设计一个数据库,该数据库可以帮助我根据我提供的一组特定营养素获取某些食物。这意味着,如果食品中含有任何这些营养成分,则必须退回。所以营养素和食物之间的关系是多对多的。
按照关系数据库的方法,我可以使用 3 个表来做到这一点; 1 表示营养素,1 表示食物,以及包含营养 ID 和 foodItemID 的映射表。这种方法很好,可以很容易地工作。但由于核心数据不是关系数据库,我不能在这里应用这种方法。
我的想法是不使用映射表,而是将营养素直接作为字符串包含在食物表中,其中每个营养素用“-”分隔,然后使用 NSPredicate 获取结果。我不太确定这种方法,如果有任何关于如何使用核心数据技术解决此问题的想法,我将不胜感激。
【问题讨论】:
标签: ios swift core-data database-design relationships