Coredata и SQLite - PullRequest
       3

Coredata и SQLite

1 голос
/ 22 февраля 2011

Я новичок в программировании с Objective-C. Я не понимаю понятия «основные данные» - может кто-нибудь предложить какой-нибудь хороший ресурс (ы), чтобы узнать о «основных данных» (а также SQLite)? Любая помощь будет оценена.

Ответы [ 2 ]

11 голосов
/ 22 февраля 2011

Самый важный совет, который я могу дать, - не путать базовые данные с SQLite или SQL в целом.Поскольку Core Data может использовать SQLite как один, но только один из нескольких постоянных методов, многие новички развивают идею, что Core Data - это просто объектно-ориентированная оболочка для SQL, и поэтому Core Data можно понимать с точки зрения SQL, например таблиц.столбцы, строки, ключи, объединения и т. д. Однако Core Data на самом деле не имеет ничего общего с SQL, и в действительности вы ничего не знаете о применении SQL к Core Data.

SQL и Core Data обращаются к данным в совершенно противоположных направлениях, и это вводит людей в заблуждение.

SQL в основном связан с получением данных из постоянного хранилища (обычно с диска) и из него. Что такое программане относится к данным после прочтения, это не касается SQL.

И наоборот, Core Data в основном занимается управлением живыми объектами в памяти во время выполнения.В первую очередь это касается моделирования / моделирования объектов реального мира, событий или условий, с которыми имеет дело программа.90% работы с Core Data связано с этим моделированием, и сохранение данных (основная задача SQL) на самом деле просто запоздалая мысль.Фактически, вы можете использовать Core Data без сохранения чего-либо (используя хранилище в памяти), если хотите.

Начинающие программисты Core Data с фонами SQL тратят много времени, пытаясь выяснить, как Core Data реализует все компоненты SQL, когда в действительности Core Data делает все это в фоновом режиме и только если вы используете хранилище SQLite впервое место.

Наилучшая перспектива для изучения базовых данных - полностью игнорировать возможность сохранения данных вообще.Вместо этого примите во внимание, что Core Data управляет управляемыми объектами во время выполнения в памяти и их связями, не заботясь о том, как они будут сохранены.С этой точки зрения Core Data раскрывается не как база данных, а как инструмент моделирования данных.Это поможет вам сосредоточиться на данных и взаимосвязях между данными, а это, в свою очередь, значительно облегчит понимание деталей реализации Core Data.

2 голосов
/ 22 февраля 2011

Возможно, звучит немного грубо, но вы смотрели документацию по базовым данным 1002 *?

Есть демонстрация от Cocoa Dev Central .

А вот как Мэтт Галлахер объясняет разницу между Базовыми данными и базой данных

Это должно помочь вам начать задавать более конкретные вопросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...