iOS 数据库介绍

SQLite介绍

SQLite是一款轻型的嵌入式关系数据库,安卓和iOS开发使用的都是SQLite数据库。
它的特点:
它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它的处理速度比MySQL、PostgreSQL这两款著名的数据库都还快。
它是C语言框架的,跨平台性强。

FMDB

FMDB是iOS平台的SQLite数据库框架
iOS SDK很早就支持了SQLite,在使用时,只需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。但是,原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,开源社区中就出现了一系列将SQLite API进行封装的库,而FMDB (https://github.com/ccgus/fmdb) 则是开源社区中的优秀者。
FMDB以OC的方式封装了SQLite的C语言API.
FMDB的优点

  • 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码
  • 对比苹果自带的Core Data框架,更加轻量级和灵活
  • 提供了多线程安全的数据库操作方法,有效地防止数据混乱.

FMDB是一种第三方的开源库,FMDB就是对SQLite的API进行了封装,加上了面向对象的思想,让我们不必使用繁琐的C语言API函数,比起直接操作SQLite更加方便。

YTKKeyValueStore

YTKKeyValueStore是基于FMDB
iOS开发过程中经常会有用到SQLite数据库的时候,ios本身就支持SQLite,但使用不是很方便。于是就出现了一系列封装的库,其中的佼佼者就是FMDB。虽然FMDB很好用,但还是要写很多的SQL语句,如建表,增删改查等操作。YTKKeyValueStore就是对这些语句的封装,简化了SQL语句的操作。

Core Data

Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的。

MagicalRecord

MagicalRecord是OC的一个库,协助方便CoreData的工作。其吸收了Ruby on Rails的Active Record模式,目标是:

  • 简化Core Data相关代码
  • 允许清晰,简单,单行获取
  • 当需要优化请求的时候,仍然允许修改NSFetchRequest
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,522评论 7 249
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,196评论 4 61
  • notify和wait是属于Object类的 Thread理解Thread深入理解(http://www.open...
    xmlovecm阅读 469评论 0 1
  • 小时候爱看书,看的都是些不太正经的杂书,房间里堆满了《哈利波特》《纳尼亚传奇》《冒险小虎队》,纸张都翻旧了。 不太...
    易堇昕阅读 246评论 0 0
  • 回家, 一路风尘, 车流如梭也挡不住, 村口目光切切, 爹妈布菜添羹。 回家, 一身疲惫,满面倦容 千山万水也抵不...
    邩凉阅读 232评论 0 0