SQLite

Z Wikipedie, otevřené encyklopedie
SQLite
Logo
VývojářD. Richard Hipp
První vydání17. srpna 2000
Aktuální verze3.23.1 (10. dubna 2018[1])
Operační systémGNU/Linux, MS Windows, macOS
Vyvíjeno vC
Typ softwaruRelační databáze
LicencePublic domain[2]
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 KiB) 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:[3]

  • 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,[4] uživatelské funkce a uživatelské řazení).

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

  • 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:[6]

  • 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.[7]

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.[8] 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. SQLite Release 3.23.1. [s.l.]: [s.n.], 2018-04-10. Dostupné online. (anglicky) 
  2. SQLite Copyright [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  3. Distinctive Features Of SQLite [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  4. SQLite Query Language: ON CONFLICT clause [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  5. SQL Features That SQLite Does Not Implement [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 
  6. SQLite Query Language: WITH clause [online]. [cit. 2017-06-25]. Dostupné online. (anglicky) 
  7. Storage Options [online]. Android developers [cit. 2017-08-06]. Odstavec Using Databases. Dostupné online. (anglicky) 
  8. Well-Known Users Of SQLite [online]. [cit. 2017-08-06]. Dostupné online. (anglicky) 

Související články

Externí odkazy