Базовые данные по сравнению с [закрытым] SQLite 3

Просто взглянув на создание вашей базы данных, я обнаружил несколько ошибок (в основном пропущенных пробелов). Это должно быть:

    @Override
    public void onCreate(SQLiteDatabase db) {
        final String CREATE_TABLE =
             "CREATE TABLE " + TABLE_NAME + " ("
            + COLUMN_ID + " INTEGER PRIMARY KEY, " 
            + COLUMN_NAME + " TEXT);";
        db.execSQL(CREATE_TABLE);
    }

Я бы посоветовал вам взглянуть на официальную документацию по созданию базы данных SQLite: хранилище данных SQLite .

Обычно лучше идти шаг за шагом: сначала убедитесь, что ваша база данных создана правильно, прежде чем вы начнете добавлять ее. Вы можете использовать простые, но полезные инструменты, такие как Stetho , чтобы проверить вашу базу данных.

Кроме того, вы можете отфильтровать ваш logcat, выбрав «Показать только выбранное приложение». Скриншот

315
задан Jonas 2 February 2011 в 15:39
поделиться

3 ответа

Хотя Базовые Данные являются потомком Платформы Объекта Предприятия Apple , объектно-реляционный картопостроитель (ORM), который был плотно связан с реляционным бэкендом, Базовые Данные не ORM. Это - на самом деле, платформа управления графом объектов. Это управляет потенциально очень большим графиком экземпляров объектов, позволяя приложению работать с графиком, который не полностью вписался бы в память путем сбоя объектов в и из памяти по мере необходимости. Базовые Данные также справляются с ограничениями на свойства и отношения и поддерживают ссылочную целостность (например, остающийся вперед и связи с предыдущим элементом, последовательные, когда объекты добавляются/удаляются к отношениям). Базовые Данные являются таким образом идеальной платформой для создания "образцового" компонента архитектуры MVC.

Для реализации его управления графиком Базовые Данные происходят для использования SQLite в качестве дискового хранилища. Это могло , были реализованы с помощью другой реляционной базы данных или даже нереляционной базы данных такой как CouchDB. Как другие указали, Базовые Данные могут также использовать XML или двоичный формат или написанный пользователем атомарный формат как бэкенд (хотя эти опции требуют, чтобы весь граф объектов вписался в память). Если Вы интересуетесь тем, как Базовые Данные реализованы на бэкенде SQLite, Вы могли бы хотеть проверить OmniGroup платформа OmniDataObjects , реализация с открытым исходным кодом подмножества Базовых Данных API. платформа BaseTen является также реализацией Базовых Данных использование API PostgreSQL как бэкенд.

, поскольку Базовые Данные не предназначаются, чтобы быть ORM для SQLite, они не могут прочитать произвольную схему SQLite. С другой стороны Вы не должны полагаться на способность считать хранилища данных Базовых Данных SQLite с другими инструментами SQLite; схема является деталью реализации, которая может измениться.

Таким образом, нет действительно никакого конфликта между использованием Базовых Данных или SQLite непосредственно. Если Вы хотите реляционную базу данных, используйте SQLite (непосредственно или через одну из оберток Objective C такой как FMDB), или сервер реляционной базы данных. Однако можно все еще хотеть изучить Базовые Данные для использования в качестве платформы управления графом объектов. В сочетании с классами контроллера Apple и значением ключа, связывающим совместимые виджеты представления, можно реализовать полную архитектуру MVC с очень мало кода.

280
ответ дан Super Developers 23 November 2019 в 01:06
поделиться

Базовые Данные не являются так механизмом базы данных, как это - API что краткие обзоры по фактическому хранилищу данных. Можно сказать Базовым Данным сохранять как sqlite база данных, plist, двоичный файл или даже пользовательский тип хранилища данных.

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

35
ответ дан Joel Levin 23 November 2019 в 01:06
поделиться

SQLite является одним из форматов базы данных для Базовых Данных. Используя Базовые Данные Вы получаете лучшую интеграцию с остальной частью Какао API.

13
ответ дан Peter Mortensen 23 November 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: