ios中SQLite的重构封装
ios中SQLite的重构封装
MrBryant24 发表于4年前
ios中SQLite的重构封装
  • 发表于 4年前
  • 阅读 280
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: 1.Controller中的UI层 2.Controller中的Model层 3.服务层(去连接Model跟数据库的中间层) 4.数据库层 5.网络服务器层(包括WebService跟Web数据库,如MySQL或者Oracle)

<b>

##IOS开发

  1. Controller中的UI层
  2. Controller中的Model层
  3. 服务层(去连接Model跟数据库的中间层)
  4. 数据库层(Sqlite,XML,JSON)
  5. 网络服务器层(包括WebService跟Web数据库,如MySQL或者Oracle)

</b>

C/S分层结构

##IOS中CoreData VS SQLite

CoreData <b>

  • CoreData说实话是一个对如SQLite这样的嵌入式数据库做面向对象的处理
  • CoreData不是一个数据库
  • CoreData只是一个操作数据库的核心框架

CoreData术语中借鉴了Sqlite

###SQLite中的外键约束

CREATE TABLE "t_person" (name text,age integer,height real,id integer PRIMARY KEY,"book_id" integer REFERENCES "t_book"(id) ON DELETE CASCADE)

这段话的解析是:

  • 创建一个t_person的表(里面有id,name,height这3个基本属性),还有一个book_id的属性是连接REFERENCESt_book这个表的(id)属性,t_book中id对应删除选项是CASCADE

  • 删除选项是CASCADE这个字段告诉我们当删除t_book中id=2的那行,那么t_person中book_id等于2那些行都要 对应删除

    • 删除选项除了CASCADE还有 SetNull,SetDefault,Restrict
    • SetNull就是当删除t_book中id=2的那行,那么t_person中book_id等于2那些行的book_id都设置为Null
    • SetDefault就是当删除t_book中id=2的那行,那么t_person中book_id等于2那些行的book_id都不变
    • Restrict限制删除,哪一行都不可以被删除

###CoreData中实体的Relationship

  • 打开CoreData项目的以xcdatamodeld结尾的文件(就是 数据模型管理文件)

  • ![在此输入图片描述][2] [2]: http://static.oschina.net/uploads/space/2014/0424/171736_WyK3_228991.png

    • 不过跟SQLite不一样的是,CoreData绑定的关系,设定的删除选项的以对象与对象之间
    • 而SQLite两个表(对应CoreData的Managerobject)的关系绑定是以对象的属性与属性之间

</b> <b> ##挖坑

###2014年4月24日

晚上再补上,重构的

###2014年4月25日


CoreData的并发跟与RestAPI的作用

标签: CoreData ios
共有 人打赏支持
粉丝 1
博文 6
码字总数 3289
×
MrBryant24
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: