aspose.info
BG

SQLite файлов формат

Обновено

Какво е SQLite файл?

Файл с разширение .sqlite е лек SQL файл с база данни, създаден със софтуера SQLite. Това е база данни в самия файл и внедрява самостоятелна, пълнофункционална, високонадеждна SQL машина за бази данни. Файловете на бази данни SQLite могат да се използват за споделяне на богато съдържание между системите чрез прост обмен на тези файлове по мрежата. Почти всички мобилни телефони и компютри използват SQLite за съхраняване и споделяне на данни и е изборът на файлов формат за междуплатформени приложения. Благодарение на своята компактна употреба и лесна употреба, той идва в комплект с други приложения. SQLite свързвания съществуват за езици за програмиране като C, C#, C++, Java, PHP, и много други.

SQLite файлов формат

SQLite в действителност е C-Language библиотека, която внедрява SQLite RDBMS, използвайки файловия формат SQLite. С еволюцията на нови устройства всеки ден, неговият файлов формат е поддържан обратно съвместим, за да побере по-стари устройства. Файловият формат SQLite се разглежда като дългосрочен архивен формат за данните.

Файлът на базата данни

SQLite база данни се поддържа изцяло чрез два файла.

  • Главен файл с база данни - Съдържа пълното състояние на базата данни SQLite
  • Rollback Journal - Съхранява допълнителна информация във втори файл и се използва по време на извършване на транзакции. В случай, че SQLite е в режим WAL, се поддържа лог файл на главата за запис.

Журнал файл

Този файл е предназначен да съхранява цялата информация, поддържана в случай, че последната транзакция не може да бъде завършена в случаи като компютърен срив. Този файл се използва за възстановяване на файла на базата данни до съвместимо състояние.

Страници

Основният файл на база данни SQLite се състои от една или повече страници. Във всеки момент всяка страница в основната база данни има еднократна употреба, която е една от следните:

  • Заключващата байтова страница
  • Страница с безплатен списък
  • Основна страница за свободен списък
  • Листна страница с безплатен списък
  • Страница b-дърво
  • Таблица b-дърво вътрешна страница
  • Таблица b-дърво листа страница
  • Индекс b-дърво вътрешна страница
  • Индекс b-дърво листа страница
  • Страница за препълване на полезен товар
  • Страница с карта с указател

Размерът на файловете на базата данни SQLite може да варира от няколко килобайта до няколко гигабайта.

SQLite Header

Заглавката на базата данни SQLite се намира в първите 100 байта на файла на базата данни. Всеки валиден файл на база данни SQLite започва с 16 байта (в шестнадесетичен):53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00. Подробностите за полетата на заглавката са както в следващата таблица.

ОфсетРазмерОписание
016Заглавният низ: “SQLite формат 3\000”
162Размерът на страницата на базата данни в байтове. Трябва да е степен две между 512 и 32768 включително или стойността 1, представляваща размер на страницата 65536.
181Версия за запис на файлов формат. 1 за наследство; 2 за WAL.
191Прочетена версия на файлов формат. 1 за наследство; 2 за WAL.
201Байтове неизползвано “запазено” пространство в края на всяка страница. Обикновено 0.
211Максимална част от вградения полезен товар. Трябва да е 64.
221Минимална част от вградения полезен товар. Трябва да е 32.
231Фракция полезен товар на листа. Трябва да е 32.
244Брояч за промяна на файлове.
284Размер на файла на базата данни в страници. „Размерът на базата данни в заглавката“.
324Номер на страницата на първата основна страница на безплатния списък.
364Общ брой страници с безплатни списъци.
404Бисквитката на схемата.
444Номерът на формата на схемата. Поддържаните формати на схемата са 1, 2, 3 и 4.
484Размер на кеша на страницата по подразбиране.
524Номерът на страницата на най-голямата страница на основно b-дърво, когато е в режим на автоматично вакуумиране или инкрементален вакуум, или нула в противен случай.
564Кодирането на текста на базата данни. Стойност 1 означава UTF-8. Стойност 2 означава UTF-16le. Стойност 3 означава UTF-16be.
604„Потребителската версия“, както е прочетена и зададена от прагмата user_version.
644Вярно (различно от нула) за режим на инкрементален вакуум. Невярно (нула) в противен случай.
684„Идентификационният номер на приложението“, зададен от PRAGMA application_id.
7220Запазено за разширяване. Трябва да е нула.
924Версията-валидна-за номер.
964SQLITE_ВЕРСИЯ_НОМЕР

Препратки

Вижте също