SQLite

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.

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.

Popis

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

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

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í

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

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.

Odkazy

Reference

  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

Média použitá na této stránce

Sqlite3 command screenshot.png
A screenshot of sqlite3 command-line shell program (version 3.39.4)
SQLite370.svg
SQLite Logo, SVG version