【问题标题】:iOS - Many-to-Many data confusion?iOS - 多对多数据混淆?
【发布时间】:2013-12-04 13:29:45
【问题描述】:

我正在使用以下数据库设置开发一个简单的 iOS 应用程序。有一个 Athlete 实体与 Workout 有多对多的关系。锻炼与锻炼分数有很多关系。运动员>锻炼>锻炼_分数。我想我的模型设置不正确。我在想运动员可以共享锻炼(例如,多个运动员有相同的锻炼对象),或者,一个锻炼可能是一个人独有的。但是,锻炼分数只针对一名运动员,而不是共享的。每次锻炼最多可以有 1 分。 2名运动员可以进行相同的锻炼,但他们的分数应该是分开的。我是否正确设置了模型?分数实体是否应该与运动员相关,而不是与锻炼相关?

【问题讨论】:

  • 如果每个athleteWorkout 都有一个唯一的workout score,那么workoutworkout score 之间的关系是一对一的。但是,当包含Athlete 时,您需要一个单独的表,其中包含AthleteIDWorkoutIDscorescores(正如您所做的那样),其次,您有1 个与相关联的Athlete多个workouts,看起来不错。

标签: ios sql database core-data erd


【解决方案1】:

听起来您想将 Workout_Scores 用作一种连接表(尽管术语不适用于像 CoreData 这样的对象图框架)。您的 Workout_Scores 实体应该与 Athlete 和 Workout 具有二对一的关系。 Athlete 应该与 Workout_Score 有一对多的关系(一个运动员可能有很多锻炼分数),而 Workout 应该有一个与 WorkoutScore 的一对多关系(一个锻炼可能有许多来自单个或许多不同运动员的锻炼分数) .

以下是我对您的数据模型的建议:

【讨论】:

  • 谢谢,额外的图片很有用,只是一个问题?如何设置获取的属性?
  • 即我会为谓词或目的地添加什么?
  • 我想你会想要类似ANY workoutScores.athlete == $FETCH_SOURCE
猜你喜欢
  • 1970-01-01
  • 2022-11-30
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多