关系数据库 - > CoreData

时间:2011-02-02 22:13:13

标签: iphone objective-c ipad core-data relational-database

我有3张桌子。

Classes
---------------
classid
name
description

Sessions
---------------
sessionid
name
start
end

Schedule
---------------
scheduleid
name
start
end
classid
sessionid

我知道如何在关系数据库中设置这一切,但至于将它们设置为实体..我不确定哪些需要/应该是主要对象......

2 个答案:

答案 0 :(得分:2)

“主要对象”是什么意思?它只是实体和对象的图形。在这种情况下,您应该为每个表创建一个实体(单数形式:Class,Session,Schedule),具有实际数据的属性和外键的关系。

您无法手动指定主键,CoreData会这样做(这是一个实现细节)。

所以你可能会有这样的事情:

  • name(string)
  • description(string)
  • 时间表(与时间表的多对多关系)

会话

  • name(string)
  • 开始(日期)
  • 结束(日期)
  • 时间表(与时间表的多对多关系)

附表

  • name(string)
  • 开始(日期)
  • 结束(日期)
  • class((反向)与Class的关系)
  • 会话((反向)与会话的关系)

我可以在CoreData上推荐Apple自己的文档,特别是关于Xcode中的数据建模工具的部分。基本上可以使用Xcode绘制数据模型,并自动为您生成(可选)类声明。

答案 1 :(得分:0)

主要对象是你的日程表。 你有一个

的时间表
-id
-name
-start
-end
-Class (or IList<Class>)
-Session (or Ilist<Session>)