使用Core Data为事件详细信息数据库建模

时间:2013-02-24 01:28:45

标签: database-design core-data

我正在尝试使用Core Data(iOS 6)为汽车维护日志设计数据库。我面临的问题似乎部分是因为id被内置到模型中(自动生成)。让我解释一下:

我想创建一个像这样的表:

MAINTENANCE_EVENTS
==================

EventType                    LogDate
-------------------------------------------------
Brake Replacement            01/01/13
Oil Replacement              02/01/13
Oil Replacement              08/07/12

但我想在其他表格中提供有关这些事件的详细信息。例如,制动器更换应列出制动器制造商,油应列出油品牌,轮胎磨损应记录轮胎是否旋转以及胎面测量轮胎等等。

如何使用核心数据实体 - 关系模型将这些主条目链接到其他表?

或者是向MAINTENANCE_EVENTS添加可转换属性的最佳解决方案,该属性包含每个EventType详细信息的自定义类?

1 个答案:

答案 0 :(得分:0)

不要在关系数据库方面查看核心数据。核心数据是对象图管理器。

您需要创建另一个名为EventNotes的实体,然后创建一个从EventEventNotes的关系,将其命名为“Notes”或其他内容(将其标记为一对一)。

并且不要忘记创建从EventNotesEvent

的反向关系

查看此链接以了解核心数据关系 https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html

Transformable属性对您的要求是一个糟糕的解决方案。看看这个问题的答案。 When *not* to use Core Data type Transformable?