Meskipun Core Data adalah turunan dari Enterprise Object Framework Apple , sebuah object-relational mapper (ORM) yang terikat erat dengan backend relasional, Core Data bukan ORM. Ini, pada kenyataannya, kerangka kerja manajemen grafik objek. Ini mengelola grafik instance objek yang berpotensi sangat besar, memungkinkan aplikasi untuk bekerja dengan grafik yang tidak akan sepenuhnya masuk ke dalam memori dengan menyalahkan objek masuk dan keluar dari memori yang diperlukan. Data Inti juga mengelola kendala pada properti dan hubungan dan mempertahankan integritas referensi (mis. Menjaga hubungan maju dan mundur konsisten ketika objek ditambahkan / dihapus ke / dari suatu hubungan). Dengan demikian, Core Data merupakan kerangka kerja ideal untuk membangun "model" komponen arsitektur MVC.
Untuk menerapkan manajemen grafiknya, Core Data terjadi untuk menggunakan SQLite sebagai penyimpan disk. Itu bisa diimplementasikan menggunakan database relasional yang berbeda atau bahkan database non-relasional seperti CouchDB . Seperti yang telah ditunjukkan orang lain, Data Inti juga dapat menggunakan XML atau format biner atau format atom yang ditulis pengguna sebagai backend (meskipun opsi ini mengharuskan seluruh grafik objek masuk ke dalam memori). Jika Anda tertarik pada bagaimana Core Data diimplementasikan pada backend SQLite, Anda mungkin ingin memeriksa kerangka kerja OmniDataObjects OmniGroup , sebuah implementasi open source dari subset dari Core Data API. The BaseTen kerangka juga merupakan implementasi dari API Core Data menggunakan PostgreSQL sebagai backend.
Karena Core Data tidak dimaksudkan untuk menjadi ORM untuk SQLite, itu tidak dapat membaca skema SQLite sewenang-wenang. Sebaliknya, Anda tidak harus bergantung pada kemampuan untuk membaca penyimpanan data SQLite Core Data dengan alat SQLite lainnya; skema adalah detail implementasi yang dapat berubah.
Jadi, sebenarnya tidak ada konflik antara menggunakan Core Data atau SQLite secara langsung. Jika Anda menginginkan database relasional, gunakan SQLite (langsung atau melalui salah satu pembungkus Objective-C seperti FMDB ), atau server database relasional. Namun, Anda mungkin masih ingin mempelajari Data Inti untuk digunakan sebagai kerangka kerja manajemen grafik objek. Dalam kombinasi dengan kelas pengontrol Apple dan widget tampilan kompatibel dengan nilai kunci, Anda dapat mengimplementasikan arsitektur MVC lengkap dengan kode yang sangat sedikit.