SQLite

databázový systém

SQLite (anglická výslovnost [ˌeskjuːelˈlait], někdy též [siːkwəl.lait]) je relační databázový systém obsažený v relativně malé knihovně (~700 KB) napsané v C. Je vyvíjen D. Richardem Hippem a šířen pod licencí public domain.

SQLite
Logo
VývojářD. Richard Hipp
První vydání17. srpna 2000
Aktuální verze3.40.0 (16. listopadu 2022[1][2][3])
Operační systémGNU/Linux, MS Windows, macOS
Vyvíjeno vC
Typ softwaruRelační databáze
LicencePublic domain[4]
Websqlite.org
Některá data mohou pocházet z datové položky.

Na rozdíl od databází založených na principu klient–server, kde je databázový server spuštěn jako samostatný proces, je SQLite pouze nevelká knihovna, která, po přilinkováníaplikaci, je k dispozici pomocí jednoduchého rozhraní. Každá databáze je uložena v samostatném souboru .dbm (Database Manager), kde se data ukládají za použití jednoduchého primárního klíče do stejně velkých bloků a používá hašovacích technik pro rychlý přístup k datům při vyhledávání podle klíče.

Charakteristické prvky

editovat

Charakteristickými prvky systému SQLite jsou:[5]

  • absence databázového systému ve formě abstrahovaného prostředí
  • absence konfigurace (částečně lze přizpůsobit příkazy PRAGMA)
  • absence serveru
  • databáze v jednom souboru, nezávislém na platformě; to s sebou nese výhody (migrace) i nevýhody (fragmentace)

Rozsah SQLite

editovat

V SQLite je implementován téměř celý standard SQL-92 a též některé nadstandardní prvky (UTF-8/16, REPLACE INTO, ON CONFLICT,[6] uživatelské funkce a uživatelské řazení).

Z toho, co implementováno není:[7]

  • OUTER RIGHT JOIN, OUTER FULL JOIN
  • ALTER TABLE DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT
  • GRANT, REVOKE (vzhledem k databázi coby jednoduchému souboru, nikoli kompletního abstrahovaného prostředí)

Z toho, co implementováno je:[8]

  • WITH (ev. RECURSIVE)

Použití

editovat

Databázi SQLite lze použít například v programovacích jazycích C, C++, C#, Delphi, Java, Lua, PHP, Python, Perl, Ruby, Tcl, REALbasic. Předkompilované binárky jsou k dispozici pro Linux, macOS a MS Windows. SQLite je vestavěná i v mobilním systému Android.[9]

Formát databázovových souborů je přitom nezávislý na operačním systému a SQLite tak představuje i zajímavý a jednoduchý nástroj pro přenos strukturovaných dat.

Význační uživatelé SQLite

editovat

Aplikace Kexi, součást KOffice, SQLite umí otevírat a editovat. SQLite je mimo jiné použit například v komunikátoru Skype, software A350 XWB výrobce letadel Airbus, v prohlížečích Safari a Chrome (jako součást cacheování) či antivirových programech firmy McAfee, dokonce i výrobcích iPod a iPhone firmy Apple.[10] Adobe Systems v něm u některých svých programů ukládá nainstalované klíče z registry. SQLite se také často používá v operačním systému Android k uložení persistentních dat aplikací. V systému Solaris 11 je použita pro ukládání metadat SMF.

Reference

editovat
  1. FIKAR, Jan. SQLite 3.40 s podporou WASM. www.root.cz [online]. 2022-11-18 [cit. 2022-11-19]. Dostupné online. 
  2. HAGARA, Ladislav. SQLite 3.40.0. www.abclinuxu.cz [online]. 2022-11-18 [cit. 2022-11-18]. Dostupné online. 
  3. SQLite Release 3.40.0. [s.l.]: [s.n.], 2022-11-16. Dostupné online. (anglicky) 
  4. SQLite Copyright [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  5. Distinctive Features Of SQLite [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  6. SQLite Query Language: ON CONFLICT clause [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  7. SQL Features That SQLite Does Not Implement [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  8. SQLite Query Language: WITH clause [online]. [cit. 2017-06-25]. Dostupné online. (anglicky) 
  9. Storage Options [online]. Android developers [cit. 2017-08-06]. Odstavec Using Databases. Dostupné online. (anglicky) 
  10. Well-Known Users Of SQLite [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 

Externí odkazy

editovat