预填充 SQLite 数据库中的核心数据关系

Posted

技术标签:

【中文标题】预填充 SQLite 数据库中的核心数据关系【英文标题】:Core Data Relationships in pre-populated SQLite database 【发布时间】:2010-06-09 03:32:08 【问题描述】:

我是 Core Data 的新手。

目前我手头有以下表格:

tbl_teahcer   tbl_student   tbl_course      tbl_student_course_map
-----------   -----------   ----------      ----------------------
teacher_id    student_id    course_id       student_id 
name          name          name            course_id   
                            teahcer_id      

我将制作 xcdatamodel 如下:

Course                  Teacher             
------                  -------                         
name                    name                            
teacher  <<---------->  courses   
students <<---|
              |         Student
              |         -------
              |         name   
              |----->>  courses

我的问题如下:

    由于我想为源实体创建 TableView,是否必须创建从教师到课程以及学生到课程的反向关系?反比关系有什么好处?

    我手头有一些预定义的数据,我想为预填充的源创建一个 SQLite 存储。如何在 SQLite 中设置关系(双向)?

感谢您的帮助!

问候, 红衣主教

【问题讨论】:

看看***.com/search?q=inverse+relation+[core-data]有几个关于反向关系的讨论。 1) 一般来说:总是创建一个反向关系 2) 使用您当前的 sqlite 数据库的核心数据编写一个导入器。永远不要读取/修改使用核心数据创建的 sqlite 数据库! 【参考方案1】:

您不能将 Core Data 与预填充的数据库一起使用。 Core Data 拥有其数据库的模式,永远不应该直接接触。所以第一步是将你的数据导入核心数据。从那里你已经解决了其他问题。

【讨论】:

以上是关于预填充 SQLite 数据库中的核心数据关系的主要内容,如果未能解决你的问题,请参考以下文章

预填充核心数据存储:使用 JSON 属性列表还是 XML 文件?

编辑在 IOS 应用程序中管理的预填充 sqlite 数据库核心数据

可以将 Core Data 与不同的预填充 sqlite db 一起使用吗?

包含静态预填充和动态用户数据的核心数据

如何用应用商店中的新版本替换 iOS 应用中预先填充的核心数据?

Core Data 预填充的 SQLite 问题,z-metadata