iOS中的數(shù)據(jù)存儲(chǔ)方式
- Plist(NSArray\NSDictionary)
- Preference(偏好設(shè)置\NSUserDefaults)
- NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)
----對(duì)數(shù)據(jù)操作(增、刪泰偿、改卓舵、查)不方便 - SQLite3(數(shù)據(jù)庫(kù))
- Core Data(對(duì)sqlite的封裝)
什么是數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織归露、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),我 們可以很方便的對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增熙卡、刪杖刷、改、查操作
數(shù)據(jù)庫(kù)可以分為2大種類
關(guān)系型數(shù)據(jù)庫(kù)(主流,類似Excel)
對(duì)象型數(shù)據(jù)庫(kù)
常用關(guān)系型數(shù)據(jù)庫(kù)
PC端:Oracle驳癌、MySQL滑燃、SQL Server
移動(dòng)客戶端:SQLite
SQLite3簡(jiǎn)介
- 是一款輕型的數(shù)據(jù)庫(kù)
- 設(shè)計(jì)目標(biāo)是 嵌入式 的
- 占用資源非常的低,在嵌入式設(shè)備中颓鲜,可能只需要幾百K的內(nèi)存就夠了
- 它的處理速度比Mysql表窘、PostgreSQL這兩款著名的數(shù)據(jù)庫(kù)都還快
關(guān)系型數(shù)據(jù)庫(kù)
- 存儲(chǔ)數(shù)據(jù)和Excel很像
- 一個(gè) 字段(COL) 存儲(chǔ)一個(gè)值,類似于對(duì)象的一個(gè)屬性
- 一 行(ROW) 存儲(chǔ)一條記錄,保存一個(gè)對(duì)象里面的所有屬性
- 一個(gè) 表(TABLE) 存儲(chǔ)一系列數(shù)據(jù)甜滨,類似于對(duì)象數(shù)組
Person(name:"zhangsan", age = 20, height = 1.78)
Person(name:"lisi", age = 19, height = 1.70)
Person(name:"wangwu", age = 22, height = 1.80)
術(shù)語(yǔ)
- 字段(Field/Col):一個(gè)字段存儲(chǔ)一個(gè)值乐严,Sqlite提供 INTEGER, REAL, TEXT, BLOB, NULL 五種類型的數(shù)據(jù)
- SQLite 在存儲(chǔ)時(shí),本質(zhì)上并不區(qū)分準(zhǔn)確的數(shù)據(jù)類型
- 主鍵:Primary Key簡(jiǎn)稱PK衣摩,唯一地標(biāo)示一條記錄昂验,具有以下特點(diǎn):
- 名字:xxx_id
- 類型:Integer
- 自動(dòng)增長(zhǎng)
- 準(zhǔn)確數(shù)值由數(shù)據(jù)庫(kù)決定,程序員不用關(guān)心
開(kāi)發(fā)數(shù)據(jù)庫(kù)的步驟
1.建立數(shù)據(jù)庫(kù) -> 存儲(chǔ)數(shù)據(jù)的文件
2.創(chuàng)建數(shù)據(jù)表 -> 每一張數(shù)據(jù)表存儲(chǔ)一類數(shù)據(jù)
3.數(shù)據(jù)表添加字段(column,列,屬性)
4.操作數(shù)據(jù).增/刪/查/改
移動(dòng)應(yīng)用中使用數(shù)據(jù)庫(kù)的好處
- 將網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)在本地昭娩,不用每次都去網(wǎng)絡(luò)加載凛篙,減少用戶網(wǎng)絡(luò)流量開(kāi)銷