aspose.info
CS

Formát souboru SQLite

Aktualizováno

Co je soubor SQLite?

Soubor s příponou .sqlite je odlehčený databázový soubor SQL vytvořený pomocí softwaru SQLite. Jedná se o databázi v samotném souboru a implementuje samostatný, plně vybavený a vysoce spolehlivý databázový stroj SQL. Databázové soubory SQLite lze použít ke sdílení bohatého obsahu mezi systémy jednoduchou výměnou těchto souborů po síti. Téměř všechny mobily a počítače používají SQLite pro ukládání a sdílení dat a je to volba formátu souboru pro multiplatformní aplikace. Vzhledem ke svému kompaktnímu použití a snadné použitelnosti je součástí jiných aplikací. SQLite vazby existují pro programovací jazyky jako C, C#, C++, Java, PHP, a mnoho dalších.

Formát souboru SQLite

SQLite je ve skutečnosti knihovna C-Language, která implementuje SQLite RDBMS pomocí formátu souboru SQLite. S vývojem nových zařízení každý den byl jeho formát souborů zpětně kompatibilní, aby vyhovoval starším zařízením. Formát souboru SQLite je považován za dlouhodobý archivační formát pro data.

Soubor databáze

Databáze SQLite je plně udržována prostřednictvím dvou souborů.

  • Soubor hlavní databáze - Obsahuje kompletní stav databáze SQLite
  • Rollback Journal - Ukládá další informace do druhého souboru a používá se při provádění transakcí. V případě, že je SQLite v režimu WAL, je udržován soubor protokolu zapisovací hlavy.

Soubor deníku

Tento soubor je určen k uchování všech informací pro případ, že by poslední transakce nemohla být dokončena v případech, jako je například havárie počítače. Tento soubor se používá k obnovení souboru databáze do konzistentního stavu.

Stránky

Hlavní databázový soubor SQLite se skládá z jedné nebo více stránek. V každém okamžiku má každá stránka v hlavní databázi jedno použití, které je jedním z následujících:

  • Stránka lock-byte
  • Bezplatná stránka
  • Freelist kmenová stránka
  • Bezplatná listová stránka
  • Stránka b-stromu
  • Vnitřní stránka stolu B-strom
  • Listová stránka tabulky B-strom
  • Vnitřní stránka indexu b-stromu
  • Indexová listová stránka b-stromu
  • Stránka přetečení užitečného zatížení
  • Stránka s ukazatelem mapy

Velikost databázových souborů SQLite se může pohybovat od několika kilobajtů do několika gigabajtů.

Hlavička SQLite

Hlavička databáze SQLite se nachází v prvních 100 bytech databázového souboru. Každý platný databázový soubor SQLite začíná 16 bajty (v hex):53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00. Podrobnosti polí záhlaví jsou jako v následující tabulce.

OdsazeníVelikostPopis
016Řetězec záhlaví: “formát SQLite 3\000”
162Velikost stránky databáze v bajtech. Musí to být mocnina dvou mezi 512 a 32768 včetně nebo hodnota 1 představující velikost stránky 65536.
181Verze zápisu formátu souboru. 1 pro dědictví; 2 pro WAL.
191Čtená verze formátu souboru. 1 pro dědictví; 2 pro WAL.
201Bajty nevyužitého “rezervovaného” prostoru na konci každé stránky. Obvykle 0.
211Maximální podíl vloženého užitečného zatížení. Musí být 64.
221Minimální podíl vloženého užitečného zatížení. Musí být 32.
231Zlomek užitečného zatížení listu. Musí být 32.
244Počítadlo změn souboru.
284Velikost databázového souboru ve stránkách. “Velikost databáze v záhlaví”.
324Číslo první hlavní stránky freelistu.
364Celkový počet stránek freelistu.
404Soubor cookie schématu.
444Číslo formátu schématu. Podporované formáty schématu jsou 1, 2, 3 a 4.
484Výchozí velikost mezipaměti stránky.
524Číslo stránky největší kořenové stránky b-stromu v režimu automatického vakua nebo přírůstkového vakua, jinak nula.
564Kódování textu databáze. Hodnota 1 znamená UTF-8. Hodnota 2 znamená UTF-16le. Hodnota 3 znamená UTF-16be.
604“Uživatelská verze” tak, jak ji čte a nastavuje pragma user_version.
644Pravda (nenulová) pro režim přírůstkového vakua. False (nula) jinak.
684“ID aplikace” nastavené PRAGMA application_id.
7220Vyhrazeno pro rozšíření. Musí být nula.
924Číslo platné verze.
964SQLITE_VERSION_NUMBER

Reference

Viz také