Учебное пособие по SQLite

Введение

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

Дизайн

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

История

  • D. Ричард Хипп разработал SQLite весной 2000 года.
  • В августе 2000 года была выпущена версия 1.0 SQLite, основанная на gdbm (GNU Database Manager).
  • SQLite 2.0 заменил gdbm на собственную реализацию B-дерева, добавив поддержку транзакций.
  • Бета-версия SQLite 3.0.2 была выпущена 30 июня 2004 г.
  • В 2011 г. Hipp объявил о своих планах добавить интерфейс UnQL к базам данных SQLite и разработать UnQLite, встраиваемую документно-ориентированную базу данных.
  • Ховард Чу портировал SQLite 3.7.7.1 для использования Openldap MDB вместо исходного кода Btree и вызвал это sqlightning.
  • Чтобы проверить последний стабильный выпуск и подробную историю выпусков, щелкните здесь.
  • Автономный: без внешних зависимостей.
  • Написано на ANSI-C.
  • Нулевой конфигурации — не требуется настройка или администрирование.
  • Полная база данных хранится на одном кроссплатформенном диске файл.
  • Формат файла базы данных является кроссплатформенным (Linux, Mac OS-X, Android, iOS и Windows) — вы можете свободно копировать базу данных между 32-битной и 64-битной системами или между архитектурами с прямым порядком байтов и обратным порядком байтов.
  • Отлично подходит для использования в качестве формата файла приложения.
  • Доступен как один файл исходного кода ANSI-C, который может легко попасть в другой проект.
  • Простой, легкий в использовании API.
  • Реализует большую часть SQL92, за исключением некоторых функций.
  • Транзакции являются ACID (атомарными, согласованными , изолированные и надежные) совместимы даже после сбоев системы и сбоев питания.
  • Поставляется с автономным клиентом интерфейса командной строки (CLI), который можно использовать для администрирования баз данных SQLite.

Где хорошо работает SQLite

  • База данных веб-сайтов. Поскольку SQLite не требует настройки и хранит информацию в обычных дисковых файлах, он является популярным выбором в качестве базы данных для поддержки веб-сайтов малого и среднего размера.
  • Формат файла приложения. Вместо использования fopen () для записи XML, JSON, CSV или какого-либо проприетарного формата в файлы на диске, используемые вашим приложением, используйте базу данных SQLite.. Вам не придется писать и устранять неполадки парсера, ваши данные станут более доступными и кроссплатформенными, а обновления будут транзакционными.
  • База данных для гаджетов. SQLite — популярный выбор в качестве ядра базы данных в сотовых телефонах, КПК, MP3-плеерах, телевизионных приставках и других электронных устройствах. SQLite имеет небольшой объем кода, эффективно использует память, дисковое пространство и полосу пропускания диска, отличается высокой надежностью и не требует обслуживания со стороны администратора базы данных.
  • Подставка для корпоративной СУБД. SQLite часто используется в качестве заменителя корпоративной СУБД в демонстрационных целях или для тестирования. SQLite работает быстро и не требует настройки, что упрощает тестирование и упрощает запуск демонстраций.

Языки программирования

SQLite имеет привязки для большого количества языков программирования, вот список:

БАЗОВЫЙ Delphi C C # C ++ Clipper//Harbor Common Lisp Curl
D Free Pascal Go Haskell Java (на JVM и DVM) JavaScript Julia Livecode
Lua newLisp Objective-C (в OS X и iOS) OCaml Perl PHP Pike PureBasic
Pytdon R REALbasic REBOL Ruby Схема Smalltalk Tcl
Visual Basic Xojo

Фреймворки веб-приложений

  • Bugzilla, база данных ошибок Mozilla.
  • Django, веб-фреймворк Python.
  • Начиная с версии 7, Drupal, система управления контентом на основе PHP для создания веб-сайтов и блогов, имеет возможность установки с использованием SQLite.
  • Ruby on Rails.
  • web2py, a Веб-фреймворк Python.

Кто использует SQLite

  • Google: Google использует SQLite в своих Desktop для Mac, в Google Gears, в операционной системе мобильного телефона Android и в веб-браузере Chrome.
  • Dropbox: Dropbox использует SQLite в качестве основного хранилища данных на стороне клиента для архивирования и служба синхронизации.
  • Mozilla: Mozilla использует SQLite в качестве основного формата хранения метаданных для Firefox, веб-браузера и программы чтения электронной почты Thunderbird.
  • McAfee: McAfee использует SQLite в своих антивирусных программах.
  • Flame: Flame — это вредоносная шпионская программа us es SQLite.
  • Microsoft: Из трафика в списке рассылки SQLite можно сделать вывод, что по крайней мере одна группа внутри Microsoft использует SQLite при разработке игровой программы.
  • Skype: Skype использует SQLite в клиенте Skype для Mac OS X и Windows.
  • Adobe: Adobe использует SQLite в качестве формата файла приложения для своего продукта Photoshop Lightroom.
  • Airbus: Airbus использует SQLite в своем программном обеспечении для полетов.
  • Apple: Apple использует SQLite для многих функций в Mac OS X, включая Apple Mail, Safari и Aperture. Apple использует SQLite в iPhone, iPod touch и в программном обеспечении iTunes.
  • Intuit: Intuit явно использует SQLite в QuickBooks и TurboTax.
  • PHP: язык программирования PHP поставляется со встроенными SQLite2 и SQLite3.
  • Python: SQLite поставляется в комплекте с языком программирования Python, начиная с Python 2.5.
  • REALbasic: среда программирования REALbasic поставляется в комплекте с улучшенная версия SQLite, которая поддерживает шифрование AES.
  • Tcl/Tk: язык программирования Tcl/Tk теперь поставляется со встроенным SQLite.

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

  • Максимальный размер базы данных: каждая база данных состоит из одной или нескольких «страниц» с разными размерами от 512 до 65536. Максимальный размер файла базы данных составляет 2147483646 страниц.
  • Максимальное количество таблиц в схеме: для каждой таблицы и индекса требуется как минимум одна страница в файле базы данных. Максимальное количество страниц в файле базы данных — 2147483646, поэтому это верхняя граница количества таблиц и индексов в схеме.
  • Максимальное количество строк в таблице: теоретическое максимальное количество строк в таблице — 264 (18446744073709551616 или около 1,8e + 19). Этот предел недостижим, поскольку сначала будет достигнут максимальный размер базы данных в 140 терабайт.
  • Максимальное количество подключенных баз данных: количество одновременных подключений баз данных ограничено значением SQLITE_MAX_ATTACHED, которое по умолчанию установлено на 10. Генератор кода в SQLite использует растровые изображения для отслеживания подключенных баз данных. Это означает, что количество подключенных баз данных не может быть увеличено выше 62.
  • Максимальная длина строки или BLOB: максимальное количество байтов в строке или BLOB в SQLite определяется макросом препроцессора SQLITE_MAX_LENGTH . Значение этого макроса по умолчанию — 1 миллиард (1 тысяча миллионов или 1 000 000 000).
  • Максимальное количество столбцов: параметр времени компиляции SQLITE_MAX_COLUMN используется для установки верхней границы количества столбцов в стол. Значение по умолчанию для SQLITE_MAX_COLUMN — 2000. Вы можете изменить его во время компиляции на значения размером до 32767.
  • Максимальная длина оператора SQL: максимальное количество байтов в тексте оператора SQL. ограничен SQLITE_MAX_SQL_LENGTH, который по умолчанию равен 1000000. Вы можете переопределить этот предел, чтобы он был равным меньшему из SQLITE_MAX_LENGTH и 1073741824.
  • Максимальное количество таблиц в объединении: SQLite не поддерживает объединения, содержащие больше чем 64 стола.
  • Максимальное количество аргументов функции: параметр SQLITE_MAX_FUNCTION_ARG определяет максимальное количество параметров, которые могут быть переданы в функцию SQL, и верхнюю границу для SQLITE_MAX_FUNCTION_ARG, равную 127.
  • Максимальное количество терминов в составном операторе SELECT: Составной оператор SELECT — это два или более операторов SELECT, соединенных операторами UNION, UNION ALL, EXCEPT или INTERSECT. Максимальное количество терминов — SQLITE_MAX_COMPOUND_SELECT, значение по умолчанию — 500.

Инструменты, связанные с SQLite

  • Браузер базы данных SQLite (мультиплатформенный)
  • Диспетчер SQLite
  • SQLiteMan (мультиплатформенный)
  • SpatiaLite

Функции SQL, не реализованные в SQLite

  • ПРАВОЕ и ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
  • Полная поддержка ALTER TABLE.
  • Полная поддержка триггеров
  • Запись в представления
  • GRANT и REVOKE

Учебник по SQLite3 от w3resource

Перед тем, как начать это руководство, вы должны иметь некоторые знания по SQL, например, как данные хранятся в таблице, как обновляется, как удаляется, как выполняется поиск и т. д.

Задачи руководства:

  • Краткое и краткое описание поможет вам разобраться в теме/команде SQLite.
  • Синтаксис команды SQLite с описанием всех используемых параметров.
  • Объяснение кода.

  • Вывод команды SQLite при выполнении из командной строки.

Упражнения SQLite, практика , Решение: Отсюда вы можете практиковать сотни упражнений по SQLite. Эти упражнения помогут вам улучшить свои навыки работы с SQLite.

Оцените статью
nanomode.ru
Добавить комментарий