如何使用传统的关系数据库复制核心数据模型?

时间:2011-10-13 18:54:36

标签: iphone objective-c database relational-database

我的应用程序使用核心数据和下面的数据模型。但是,我正在切换到包含列和行的标准数据库。任何人都可以帮我设置这个新的数据库架构吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

首先,您需要为每个实体及其属性创建表(注意我为每个表添加了“id”以获取关系):

  1. 例程(姓名,时间戳,身份证)
  2. 运动 - 这看起来像是一个复制品,所以只留下一个(muscleGroup,musclePicture,name,timeStamp,id)
  3. 会话(timeStamp,id)
  4. 设置(reps,timeStamp,unit,weight,id)
  5. 现在你有了描述每个实体的表,你需要创建表来描述这些实体之间的关系 - 就像之前的表名是大写字母而它们的字段在括号中一样:

    1. RoutineExercises(routine_id,exercise_id)
    2. SessionExercises(session_id,exercise_id)
    3. ExerciseSets(exercise_id,set_id)
    4. 就是这样!现在,如果您需要在例程中添加练习,只需:

      1. 在练习表
      2. 中添加一个条目
      3. 通过在RoutineExercises表中添加元组来建立关系,其中routine_id是您的例程ID,exercise_id是Exercise表中新创建的条目的ID
      4. 这将适用于所有其他关系。

        注意:您的核心数据模型具有一对多和多对多关系。如果你想特别强制关系是一对多的(例如,练习只能有1个例程),那么你需要将“exercise_id”作为RoutineExercises表的索引。如果您希望允许多对多关系(即允许每个练习具有多个例程),则将(routine_id,exercise_id)的元组设置为索引。