1. 程式人生 > >iOS開發資料庫篇 — SQLite簡單介紹

iOS開發資料庫篇 — SQLite簡單介紹

iOS開發資料庫篇 — SQLite簡單介紹

一、離線快取

在專案開發中,通常都需要對資料進行離線快取的處理,如新聞資料的離線快取等。

說明:離線快取一般都是把資料儲存到專案的沙盒中。有以下幾種方式

(1)歸檔:NSCodeing、NSKeyedArchiver

(2)偏好設定:NSUserDefaults

(3)Plist儲存:writeToFile

提示:上述三種方法都有一個致命的缺點,那就是都無法儲存大批量的資料,有效能的問題。

舉例:使用歸檔

兩個問題:

(1)資料的存取都必須是完整的,要求寫入的時候要一次性寫入,讀取的時候要一次性全部讀取,這涉及到應用的效能問題。

(2)如果有1000條資料,此時要把第1001條資料存入,那麼需要把所有的資料取出來,把這條資料加上去之後,再存入。

說明:以上的三種技術不能處理大批量資料的儲存,大批量資料通常使用資料庫來進行儲存。

二、SQLite簡單介紹

1.iOS中資料的儲存方式

(1)Plist(NSArray\NSDictionary)

(2)Preference(偏好設定\NSUserDefaults)

(3)NSCoding(NSKeyedArchiver\NSkeyedUnarchiver)

(4)SQLite3

(5)Core Data

說明:

3是版本號,是SQLite的第三個版本。

core Data是對SQLite的封裝,因為iOS中使用的SQLite是純C語言的。

2.SQLite

(1)什麼是SQLite?

答:SQLite是一款輕型的嵌入式資料庫,安卓和ios開發使用的都是SQLite資料庫

(2)特點(優點)

答:1)它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了

2)它的處理速度比Mysql、PostgreSQL這兩款著名的資料庫都還快

(3)什麼是資料庫

答:資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫

(4)資料庫的分類

答:可以分為2大種類

關係型資料庫(主流)和物件型資料庫(直接把記憶體中的物件塞入到資料庫,對比關係型資料庫而言效能不能很好,效率不高)

(5)常用關係型資料庫有哪些?

答:PC端:Oracle、MySQL、SQL Server、Access、DB2、Sybase

嵌入式\移動客戶端:SQLite

(6)資料庫是如何儲存資料的?

答:資料庫的儲存結構和excel很像,以表(table)為單位 。表由多個欄位(列、屬性、column)組成,表裡面的每一行資料稱為記錄

(7)資料庫儲存資料的步驟?

1)新建一張表(table)

2)新增多個欄位(column,列,屬性)

3)新增多行記錄(row,record,每行存放多個欄位對應的值)

三、Navicat

Navicat是一款著名的資料庫管理軟體,支援大部分主流資料庫(包括SQLite)

1.Navicat的安裝

(1)下載該軟體後,先開啟該軟體

(2)把檔案拖入到應用程式拷貝

(3)破解版,千萬不要開啟app,先開啟sn.app

(4)點選patch,找到應用程式的路徑,點選open.

(5)點選Generate,生成註冊碼

(6)點選activate,選擇檔案,open

(7)退出sn,開啟安裝檔案,完成安裝

2.Navicat的使用

新建一個SQLite3資料庫

建立一個新的資料庫

設定資料庫儲存的位置(新建一個資料夾):

起個名稱之後,儲存

設定資料庫連線的名稱

完成之後,雙擊連線資料庫

注意:yangyong是連線名稱,不是資料庫,利用yangyong這個連線,連線了main資料庫。幾項依次是表、檢視、索引、觸發器、查詢。

新建一張表,設定欄位名

儲存,設定表名(建議以t開頭以下劃線隔開,以示區分,說明這是張表)