aspose.info
LT

SQLite failo formatas

Atnaujinta

Kas yra SQLite failas?

Failas su plėtiniu .sqlite yra lengvas SQL duomenų bazės failas, sukurtas naudojant SQLite programinę įrangą. Tai yra duomenų bazė pačiame faile ir įgyvendina savarankišką, visas funkcijas turintį, labai patikimą SQL duomenų bazės variklį. SQLite duomenų bazės failus galima naudoti norint dalytis turtingu turiniu tarp sistemų, paprasčiausiai keičiantis šiais failais tinkle. Beveik visi mobilieji telefonai ir kompiuteriai naudoja SQLite duomenims saugoti ir dalytis, o tai yra failo formato pasirinkimas kelių platformų programoms. Dėl kompaktiško naudojimo ir lengvo naudojimo jis pateikiamas kartu su kitomis programomis. SQLite susiejimas egzistuoja tokioms programavimo kalboms kaip C, C#, C++, Java, PHP ir daugeliui kitų.

SQLite failo formatas

SQLite iš tikrųjų yra C kalbos biblioteka, kuri įgyvendina SQLite RDBMS naudodama SQLite failo formatą. Kasdien tobulėjant naujiems įrenginiams, jo failo formatas buvo suderinamas atgal, kad tilptų senesni įrenginiai. SQLite failo formatas laikomas ilgalaikiu duomenų archyvo formatu.

Duomenų bazės failas

SQLite duomenų bazė visiškai palaikoma naudojant du failus.

  • Pagrindinės duomenų bazės failas – yra visa SQLite duomenų bazės būsena
  • Atšaukimo žurnalas – papildoma informacija saugoma antrame faile ir naudojama atliekant operacijas. Jei SQLite veikia WAL režimu, išlaikomas rašymo galvutės žurnalo failas.

Žurnalo failas

Šis failas skirtas saugoti visą informaciją, kuri saugoma, jei paskutinės operacijos nepavyktų užbaigti, pavyzdžiui, kompiuterio gedimo atveju. Šis failas naudojamas atkurti duomenų bazės failo nuoseklią būseną.

Puslapiai

Pagrindinis SQLite duomenų bazės failas susideda iš vieno ar daugiau puslapių. Bet kuriuo metu kiekvienas pagrindinės duomenų bazės puslapis yra naudojamas vieną kartą, ty vienu iš šių:

  • Užrakinimo baitų puslapis
  • Nemokamo sąrašo puslapis
    • Nemokamo sąrašo magistralinis puslapis
    • Nemokamo sąrašo lapų puslapis
  • B formos medžio puslapis
    • Stalo b-medžio interjero puslapis
    • Lentelės b-medžio lapų puslapis
    • Indekso b-medžio vidinis puslapis
    • Indekso b formos medžio lapų puslapis
  • Naudingojo krovinio perpildymo puslapis
  • Žymeklio žemėlapio puslapis

SQLite duomenų bazės failų dydis gali svyruoti nuo kelių kilobaitų iki kelių gigabaitų.

SQLite antraštė

The SQLite database header is located in the first 100 bytes of the database file. Every valid SQLite database file starts with 16 bytes (in hex):53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00. Išsami informacija apie antraštės laukus yra tokia, kaip šioje lentelėje.

OffsetasDydisAprašymas
016Antraštės eilutė: SQLite formatas 3\000
162Duomenų bazės puslapio dydis baitais. Turi būti dviejų laipsnis nuo 512 iki 32768 imtinai arba vertė 1, reiškianti 65536 puslapio dydį.
181Failo formato rašymo versija. 1 už palikimą; 2 už WAL.
191Failo formato skaitymo versija. 1 už palikimą; 2 už WAL.
201Baitai nepanaudotos rezervuotos vietos kiekvieno puslapio pabaigoje. Paprastai 0.
211Didžiausia įterptosios naudingosios apkrovos dalis. Turi būti 64.
221Mažiausia įdėtos naudingosios apkrovos dalis. Turi būti 32.
231Naudingosios lapų apkrovos dalis. Turi būti 32.
244Failų keitimo skaitiklis.
284Duomenų bazės failo dydis puslapiais. Antraštės duomenų bazės dydis.
324Pirmojo laisvojo sąrašo pagrindinio puslapio puslapio numeris.
364Bendras laisvojo sąrašo puslapių skaičius.
404Scheminis slapukas.
444Schemos formato numeris. Palaikomi schemų formatai yra 1, 2, 3 ir 4.
484Numatytasis puslapio talpyklos dydis.
524Didžiausio b-medžio šakninio puslapio puslapio numeris, kai veikia automatinio vakuuminio arba laipsninio vakuumo režimai, arba nulis kitaip.
564The database text encoding. A value of 1 means UTF-8. 2 reikšmė reiškia UTF-16le. 3 reikšmė reiškia UTF-16be.
604Vartotojo versija, kurią nuskaito ir nustatė user_version pragma.
644True (ne nulis) laipsniniam vakuuminiam režimui. Klaidingas (nulis) kitaip.
684Programos ID, kurį nustatė PRAGMA application_id.
7220Rezervuota plėtrai. Turi būti nulis.
924Versija galioja numeriui.
964SQLITE_VERSION_NUMBER

Nuorodos Nr.

Taip pat žiūrėkite