我正在尝试编写一个 iOS 应用程序来跟踪您在健身房举起的重量,但我正在努力创建我的核心数据架构。目前我有一个运动实体,它存储有关特定运动的信息(例如二头肌 curl ),我有一个只有名称和图像的运动实体。锻炼实体与锻炼实体具有多对多关系。我需要加入的是“ session ”功能——用户完成锻炼并存储他/她在特定锻炼中举起的重量的能力。例如。我想说我完成了我的“腿部日”锻炼并为每次锻炼举起这些重量。所以我的核心数据现在看起来像这样。
schema
我将如何存储 session 数据?我觉得该 session 必须与锻炼具有一对一的关系,但这并不能让我为锻炼中的每个锻炼添加结果......我还认为我可能需要一本字典来存储每个锻炼的重量。
任何帮助将不胜感激,因为我以前从未真正了解过数据库。
谢谢
编辑:我已将架构更改为如下所示
schema2
Best Answer-推荐答案 strong>
因此,关于您的架构2,在数据库设计中,将关系形成一个“圆圈”通常是不好的做法。此外,如果一个实体只有一个属性,它可以被简化为其父级的一个属性。
我可能会以不同的方式处理您的设计。
您应该将您的锻炼实体拆分为锻炼和锻炼历史或类似的东西。然后,您将删除 Session 和 Workout 之间的任何关系,并在 Session 和 Exercise_History 之间建立一对多的关系。
另外,如果 Lift 只有一个属性,它可能不应该是它自己的实体。
如果您这样处理,您应该会获得所需的关系和功能。
关于ios - 核心数据架构设计,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/45262788/
|