CoreData.framework : iOS中提供了對原始SQLite數據庫API訪問的封裝,經過這個framework來管理數據緩存和持久數據要比使用SQL語句操做SQLite數據庫簡單和方便許多。數據庫
機制:經過framework來存儲和查詢數據只須要使用framework提供的類就能夠,你能夠徹底使用對象的形式來管理你的數據以及數據之間的關係,framework已經很好地將數據庫表和字段封裝成了對象和屬性,表之間的一對多、多對多關係則封裝成了對象之間的包含關係. 緩存
經過 relationship 來表示:性能
一對多時:設置爲 properties 項選中 Optional, Plural 選項 To-Many Relationship 選中;spa
多對一反向關係時:properties 項選中 Optional, Count 項選中Minimun 和 Maximun 並分別設置其值爲1;
對象
Core Data 特色:
ip
1)Core Data的強大之處就在於這種關係能夠在一個對象更新時,其關聯的對象也會隨着更新,至關於你更新一張表的時候,其關聯的其餘表也會隨着更新。it
2)Core Data的另一個特色就是提供了更簡單的性能管理機制,例如,使用NSFetchedResultsController類,你不用使用SQL的Limit而是使用NSFetchRequest類的setFetchBatchSize()就能夠限制查詢記錄的總數,而NSFetchedResultsController類神奇的地方在於須要獲取更多記錄的時候,這個類會自動更新其緩存。io
3) 對於多表查詢上相對來講,CoreData 沒有 SQL 直觀,但 CoreData 的功能仍是能夠完成相關操做的。im
可是對於相似外鏈接,左鏈接等操做,在CoreData中就顯得無力。數據