SQLite: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Aggiornamento versione: 3.7.6.3 |
Nessun oggetto della modifica |
||
(117 versioni intermedie di 49 utenti non mostrate) | |||
Riga 1:
{{
|
|DimensioneLogo = 200px
|Screenshot =
|sviluppatore = [[Dr. Richard Hipp]]▼
|Didascalia =
|UltimaVersione =
|DataUltimaVersione =
|sistema_operativo = [[Multipiattaforma]]▼
|genere = [[RDBMS]]▼
|UltimaVersioneBeta =
|licenza = [[Public ___domain]] o [http://www.hwaci.com/ Licenza commerciale]▼
|DataUltimaVersioneBeta =
|SoftwareLibero = sì
|Lingua = inglese
}}
'''SQLite''' è una [[libreria software]] scritta in
SQLite non è un processo standalone utilizzabile di per sé, ma può essere incorporato all'interno di un altro programma. È utilizzabile con il [[C (linguaggio)|linguaggio C]]/[[C++]], ed esistono binding anche per altri linguaggi, in particolare [[Tcl]].
È inoltre stato integrato nella versione 5 di [[PHP]], consentendo a tale popolare linguaggio di disporre di un altro RDBMS indipendentemente dalla presenza di [[MySQL]]. Viene utilizzato in [[Mozilla Firefox]] e [[Seamonkey]] per memorizzare i ''[[
== Caratteristiche e limitazioni ==
La libreria offre molte interessanti caratteristiche:
* è compatta (meno di
* è molto veloce; in molti casi più di [[MySQL]] e [[PostgreSQL]];
* il codice sorgente è liberamente disponibile, chiaro e ben commentato;
* è in grado di interpretare stringhe SQL; a differenza di altre librerie simili, supporta buona parte dello standard [[SQL]]92;
* ha la possibilità di interpretare campi in [[JavaScript_Object_Notation|JSON]];
* l'[[Application programming interface|API]] è semplice da utilizzare;
* ha [[Transazione (
* è [[multipiattaforma]];
* include un programma di utilità a [[riga di comando]] per accedere al database anche manualmente (come su MySQL, Postgresql e tanti altri DB) o tramite scripting;
* supporta database
* un database consiste di un unico file, il cui formato interno è indipendente dalla piattaforma e dal relativo [[ordine dei byte]];
* non ha dipendenze esterne;
Riga 36 ⟶ 40:
* non offre le [[stored procedure]].
* non prevede la gestione dei permessi d'accesso, demandata al software con cui si interagisce con il database e/o al meccanismo dei permessi del ''[[file system]]'';<ref name="unsupported">{{cita web
|url=
|titolo=SQL Features That SQLite Does Not Implement
|accesso=14 gennaio 2010
Riga 45 ⟶ 49:
* non offre alcuna cache per le query (e non ne ha la possibilità, non esistendo un processo server centrale);
* non ha protocolli di rete, non essendo utilizzabile come programma a sé; è possibile utilizzare un database remoto, ma solo tramite ''file system'' di rete del sistema operativo, con prestazioni difficilmente accettabili;
* non
* non supporta
* non supporta
* il supporto ai trigger ricorsivi ed ai vincoli sulle [[Chiave esterna|chiavi esterne]], introdotto rispettivamente nelle versioni 3.6.18 e 3.6.19, deve essere attivato dal programmatore
▲* non supporta trigger di tipo "FOR EACH STATEMENT" (solo "FOR EACH ROW", eventualmente combinato con "INSTEAD OF");<ref name="unsupported"/>
▲* il supporto ai trigger ricorsivi ed ai vincoli sulle [[Chiave esterna|chiavi esterne]], introdotto rispettivamente nelle versioni 3.6.18 e 3.6.19, deve essere attivato dal programmatore; tale comportamento, dovuto alla compatibilità con le versioni precedenti, sarà modificato a partire dalla versione 3.7.
Una peculiarità di SQLite è la gestione flessibile dei tipi di dati: ogni campo può contenere qualsiasi tipo di dato (
== Interfacce grafiche per SQLite ==
Pur gestibile da altre applicazioni, esistono delle interfacce grafiche appositamente sviluppate per SQLite:
* [[DaDaBIK]] [
* [[SpatiaLite]] [http://www.gaia-gis.it/spatialite/ (sito)] {{Webarchive|url=https://web.archive.org/web/20110722033735/http://www.gaia-gis.it/spatialite/ |date=22 luglio 2011 }}- estensione per il supporto dei dati geografici all'interno di database SQLite, può essere utilizzato da console o tramite un'interfaccia grafica dedicata.
* [[
* [[TkSQLite]] [http://reddog.s35.xrea.com/wiki/TkSQLite.html (sito)]— applicazione multipiattaforma. Licenza BSD-style
* [[sqlite-manager]] [
* [[SQLiteManager]] [
* [[Sqliteman]] [https://web.archive.org/web/20140625111343/http://sqliteman.com/ (sito)]— applicazione realizzata con le librerie Qt4 - versione per [[GNU/Linux]], Mac, Windows, richiede SQLite versione 3.
* [[Database Master]] [
* Sqlite-Workbench [http://www.sqlite-workbench.com/ (sito)] - applicazione online per la gestione grafica di database sql
* DataBase.Net [https://fishcodelib.com/database.htm (sito)] Applicazione sviluppata .Net / Gratuita (La versione commerciale non ha limiti in tante funzioni)
== Diffusione<ref>{{Cita web|url=https://sqlite.org/mostdeployed.html|titolo=Most Widely Deployed and Used Database Engine}}</ref> ==
[[Chromium]] (e quindi anche [[Google Chrome]]), [[Mozilla Firefox]] e [[Mozilla Thunderbird]] memorizzano varie informazioni di configurazione (segnalibri, cookie, contatti della rubrica, ecc) in database SQLite. [[Skype]] è un altro software molto diffuso che utilizza SQLite.<ref name="skype">[
Grazie alle ridotte dimensioni SQLite è particolarmente adatto ai [[Sistema embedded|sistemi embedded]]. SQLite viene inoltre utilizzato
SQLite è inoltre integrato nei linguaggi [[PHP]] e [[Python]].<ref name="famous">[ == Note ==
== Altri progetti ==
{{interprogetto
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{
<!-- * {{en}} [
* {{cita web | 1 = http://appuntilinux.mirror.garr.it/mirrors/appuntilinux/a2/a2109.htm#almlindex11097 | 2 = SQLite su Appunti di Informatica Libera | accesso = 17 giugno 2014 | urlarchivio = https://web.archive.org/web/20160405071526/http://appuntilinux.mirror.garr.it/mirrors/appuntilinux/a2/a2109.htm#almlindex11097 | dataarchivio = 5 aprile 2016 | urlmorto = sì }}
{{Database management system}}
{{Portale|Software libero}}▼
{{Android}}
{{Controllo di autorità}}
▲{{Portale|Informatica|Software libero}}
[[Categoria:
[[Categoria:Librerie software]]
|