倍数表和关系

时间:2013-11-12 12:27:33

标签: ios sqlite fmdb

在iOS项目中使用多个表的最佳方式和方法是什么?FMDB是否支持表之间的关系? 我应该使用Coredata还是FMDB包装器?

2 个答案:

答案 0 :(得分:2)

无论您想做什么,都可以使用Core Data或FMDB + SQLite。

基本上,如果其中一个是真的,我建议使用SQLite。

  • 表现非常重要
  • 您已经有一个来自其他地方的巨大SQLite数据库
  • 您计划以某种方式使数据库跨平台

查看this博文,了解SQLite与核心数据之间的区别。

但是,在大多数情况下,核心数据是更好的方法。核心数据是一个很好的框架,可以帮助您保持一致性(使用对象图),并且非常容易使用。它的表现受到了不好的影响,但实际上并没有那么糟糕。例如,过度获取是用于提高性能的常见事物。这意味着获取大量数据,然后过滤掉您实际需要的数据。这在iOS设备中效果很好,因为它们的RAM实际上非常好用。使用它!

此外,如果您打算使用Core Data,您应该明白它不是SQLite的包装器。你不应该像通常那样考虑表格。在Core Data中,您有一个包含实体而不是表的对象图。

结论:

使用核心数据,除非您已在其他地方拥有SQLite数据库表单或性能很重要(我的意思很多)。

答案 1 :(得分:1)

对此没有一个好问题。这取决于项目。

在我看来,如果您已经有一些数据需要导入到应用程序中,并且您将在数据库中面对大量数据,那么您应该选择纯sqlite(可能还有FMDB)。

如果您要连接到REST,想要使用TableViews,从空数据库CoreData开始将为您正确回答。

FMDB只是sqlite的包装器,所以它会有关系,因为sqlite有。