SQLite
Vývojář | D. Richard Hipp |
---|---|
První vydání | 17. srpna 2000 |
Aktuální verze | 3.40.0 (16. listopadu 2022[1][2][3]) |
Operační systém | GNU/Linux, MS Windows, macOS |
Vyvíjeno v | C |
Typ softwaru | Relační databáze |
Licence | Public domain[4] |
Web | sqlite.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í k 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
- ↑ FIKAR, Jan. SQLite 3.40 s podporou WASM. www.root.cz [online]. 2022-11-18 [cit. 2022-11-19]. Dostupné online.
- ↑ HAGARA, Ladislav. SQLite 3.40.0. www.abclinuxu.cz [online]. 2022-11-18 [cit. 2022-11-18]. Dostupné online.
- ↑ SQLite Release 3.40.0. [s.l.]: [s.n.], 2022-11-16. Dostupné online. (anglicky)
- ↑ SQLite Copyright [online]. [cit. 2017-08-06]. Dostupné online. (anglicky)
- ↑ Distinctive Features Of SQLite [online]. [cit. 2017-08-06]. Dostupné online. (anglicky)
- ↑ SQLite Query Language: ON CONFLICT clause [online]. [cit. 2017-08-06]. Dostupné online. (anglicky)
- ↑ SQL Features That SQLite Does Not Implement [online]. [cit. 2017-08-06]. Dostupné online. (anglicky)
- ↑ SQLite Query Language: WITH clause [online]. [cit. 2017-06-25]. Dostupné online. (anglicky)
- ↑ Storage Options [online]. Android developers [cit. 2017-08-06]. Odstavec Using Databases. Dostupné online. (anglicky)
- ↑ Well-Known Users Of SQLite [online]. [cit. 2017-08-06]. Dostupné online. (anglicky)
Externí odkazy
- Obrázky, zvuky či videa k tématu SQLite na Wikimedia Commons
- Seriál o SQLite
- SQLite – ultra lehké sql na Root.cz
Média použitá na této stránce
A screenshot of sqlite3 command-line shell program (version 3.39.4)
SQLite Logo, SVG version