SQLite - Обзор

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

SQLite - это программная библиотека, которая реализует автономный, бессерверный, транзакционный механизм базы данных SQL с нулевой конфигурацией. SQLite - один из самых быстрорастущих механизмов баз данных, но это рост популярности, а не его размер. Исходный код SQLite находится в открытом доступе.

Что такое SQLite?

SQLite - это внутрипроцессная библиотека, которая реализует автономный, бессерверный, транзакционный механизм базы данных SQL с нулевой конфигурацией. Это база данных с нулевой конфигурацией, что означает, что, как и другие базы данных, вам не нужно настраивать ее в вашей системе.

Механизм SQLite не является отдельным процессом, как другие базы данных, вы можете связать его статически или динамически в соответствии с вашими требованиями с вашим приложением. SQLite напрямую обращается к своим файлам хранилища.

Почему именно SQLite?

  • SQLite не требует отдельного серверного процесса или системы для работы (без сервера).

  • SQLite поставляется с нулевой конфигурацией, что означает отсутствие необходимости в настройке или администрировании.

  • Полная база данных SQLite хранится в одном кроссплатформенном дисковом файле.

  • SQLite очень маленький и легкий, менее 400 КБ полностью настроен или менее 250 КБ с опущенными дополнительными функциями.

  • SQLite является самодостаточным, что означает отсутствие внешних зависимостей.

  • Транзакции SQLite полностью совместимы с ACID, что обеспечивает безопасный доступ из нескольких процессов или потоков.

  • SQLite поддерживает большинство функций языка запросов, имеющихся в стандарте SQL92 (SQL2).

  • SQLite написан на ANSI-C и предоставляет простой и легкий в использовании API.

  • SQLite доступен в UNIX (Linux, Mac OS-X, Android, iOS) и Windows (Win32, WinCE, WinRT).

SQLite Краткая история

  • 2000 - Д. Ричард Хипп разработал SQLite, не требующий администрирования для работы программы.

  • 2000 - В августе выпущен SQLite 1.0 с GNU Database Manager.

  • 2011 - Hipp объявила о добавлении интерфейса UNQl в базу данных SQLite и разработке UNQLite (документно-ориентированной базы данных).

Ограничения SQLite

Есть несколько неподдерживаемых функций SQL92 в SQLite, которые перечислены в следующей таблице.

Sr. No. Характеристика и описание
1

RIGHT OUTER JOIN

Реализовано только LEFT OUTER JOIN.

2

FULL OUTER JOIN

Реализовано только LEFT OUTER JOIN.

3

ALTER TABLE

Поддерживаются варианты RENAME TABLE и ADD COLUMN команды ALTER TABLE. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT не поддерживаются.

4

Trigger support

Поддерживаются триггеры FOR EACH ROW, но не FOR EACH STATEMENT.

5

VIEWs

ВИДЫ в SQLite доступны только для чтения. Вы не можете выполнять инструкции DELETE, INSERT или UPDATE для представления.

6

GRANT and REVOKE

Единственные права доступа, которые могут быть применены, - это обычные разрешения на доступ к файлам базовой операционной системы.

Команды SQLite

Стандартные команды SQLite для взаимодействия с реляционными базами данных аналогичны SQL. Это CREATE, SELECT, INSERT, UPDATE, DELETE и DROP. Эти команды можно разделить на группы в зависимости от их рабочего характера:

DDL - язык определения данных

Sr. No. Команда и описание
1

CREATE

Создает новую таблицу, представление таблицы или другой объект в базе данных.

2

ALTER

Изменяет существующий объект базы данных, например таблицу.

3

DROP

Удаляет всю таблицу, представление таблицы или другой объект в базе данных.

DML - язык манипулирования данными

Sr. No. Команда и описание
1

INSERT

Создает запись

2

UPDATE

Изменяет записи

3

DELETE

Удаляет записи

DQL - язык запросов данных

Sr. No. Команда и описание
1

SELECT

Извлекает определенные записи из одной или нескольких таблиц