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開頭以下劃線隔開,以示區分,說明這是張表)