Mặc dù dữ liệu lõi là hậu duệ của một người lập bản đồ quan hệ đối tượng (ORM) của Apple được liên kết chặt chẽ với chương trình phụ trợ quan hệ, Dữ liệu cốt lõi là không phải một ORM. Đó là, trên thực tế, một khung quản lý đồ thị đối tượng. Nó quản lý một đồ thị tiềm năng rất lớn của các thể hiện đối tượng, cho phép ứng dụng làm việc với một biểu đồ không hoàn toàn phù hợp với bộ nhớ bằng cách làm hỏng các đối tượng trong và ngoài bộ nhớ khi cần thiết. Dữ liệu cốt lõi cũng quản lý các ràng buộc về các thuộc tính và mối quan hệ và duy trì tính toàn vẹn tham chiếu (ví dụ: giữ các liên kết chuyển tiếp và lạc hậu nhất quán khi các đối tượng được thêm/xóa vào/từ một mối quan hệ). Do đó, Core Data là một khung lý tưởng để xây dựng thành phần "mô hình" của kiến trúc MVC.
Để triển khai quản lý biểu đồ, Dữ liệu chính xảy ra để sử dụng SQLite làm cửa hàng đĩa. Nó có thể đã được triển khai bằng cơ sở dữ liệu quan hệ khác hoặc thậm chí một cơ sở dữ liệu không quan hệ như CouchDB. Như những người khác đã chỉ ra, Core Data cũng có thể sử dụng XML hoặc định dạng nhị phân hoặc định dạng nguyên tử do người dùng viết dưới dạng phụ trợ (mặc dù các tùy chọn này yêu cầu toàn bộ biểu đồ đối tượng khớp với bộ nhớ). Nếu bạn quan tâm đến cách Core Data được triển khai trên một phần phụ trợ SQLite, bạn có thể muốn kiểm tra khung công tác OmniDataObjects của OmniGroup, một triển khai mã nguồn mở của một tập hợp con của API dữ liệu lõi. Khung công tác BaseTen cũng là việc triển khai API dữ liệu cốt lõi bằng cách sử dụng PostgreSQL như một phụ trợ.
Do dữ liệu cốt lõi không được dự định là một ORM cho SQLite, nên nó không thể đọc lược đồ SQLite tùy ý. Ngược lại, bạn không nên dựa vào việc có thể đọc các kho dữ liệu SQLite của Core Data với các công cụ SQLite khác; lược đồ là một chi tiết triển khai có thể thay đổi.
Do đó, không có bất kỳ xung đột nào giữa việc sử dụng Dữ liệu lõi hoặc SQLite trực tiếp. Nếu bạn muốn có một cơ sở dữ liệu quan hệ, hãy sử dụng SQLite (trực tiếp hoặc thông qua một trong các trình bao bọc Objective-C chẳng hạn như FMDB) hoặc một máy chủ cơ sở dữ liệu quan hệ. Tuy nhiên, bạn vẫn có thể muốn học Core Data để sử dụng như một khung quản lý đồ thị đối tượng.Kết hợp với các lớp điều khiển của Apple và các tiện ích quan điểm tương thích với khóa-giá trị ràng buộc, bạn có thể triển khai một kiến trúc MVC hoàn chỉnh với mã số rất.
Nguồn
2009-02-07 18:27:29
Bạn có thể thêm liên kết vào http://en.wikipedia.org/wiki/Core_Data cho mọi người không biết đó là gì. – RSabet
Lưu ý rằng Dữ liệu cốt lõi là ** không ** và không nên được sử dụng làm cơ sở dữ liệu! –