iOS 数据库介绍

作者: 林初盛 | 来源:发表于2017-06-14 15:33 被阅读69次

    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

    相关文章

      网友评论

        本文标题:iOS 数据库介绍

        本文链接:https://www.haomeiwen.com/subject/zeftzttx.html