SQLite: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Caratteristiche e limitazioni: Gb -> GB |
Nessun oggetto della modifica |
||
(20 versioni intermedie di 12 utenti non mostrate) | |||
Riga 4:
|Screenshot =
|Didascalia =
|UltimaVersione =
|DataUltimaVersione =
|Sviluppatore = Dwayne Richard Hipp
Riga 16:
}}
'''SQLite''' è una [[libreria software]] scritta in [[C (linguaggio)|linguaggio C]] che implementa un [[DBMS]] [[SQL]] di tipo [[ACID]] incorporabile all'interno di applicazioni. Il suo creatore, [[D. Richard Hipp]], lo ha
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]].
Riga 23:
== 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 (basi di dati)|transazioni]] atomiche, consistenti, isolate e durabili ([[ACID]]), anche in caso di crash di sistema o blackout;
* è [[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 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 la scrittura diretta nelle [[Vista (basi di dati)|viste]] (occorre usare trigger "INSTEAD OF");<ref name="unsupported"/>
* non supporta trigger di tipo "FOR EACH STATEMENT"
* 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
Una peculiarità di SQLite è la gestione flessibile dei tipi di dati: ogni campo può contenere qualsiasi tipo di dato (
== Interfacce grafiche per SQLite ==
Riga 68 ⟶ 67:
* [[Database Master]] [https://web.archive.org/web/20200122085236/http://nucleonsoftware.com/ (sito)] per Windows, anche per [[MySQL]], PostgreSQL, FireBird, Oracle, DB2, Informix, ODBC, OleDB, SQL-Server, MongoDB.
* 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">[https://www.mail-archive.com/sqlite-users%40sqlite.org/msg27326.html Skype client using SQLite?]</ref> [[Adobe (azienda)|Adobe]] utilizza SQLite come formato file in [[Adobe Photoshop Lightroom]], come database di appoggio alle applicazioni in [[Adobe Integrated Runtime|Adobe AIR]] e internamente in [[Adobe Reader]].<ref name="adobe">[https://www.sqlite.org/famous.html Well-Known Users of SQLite]</ref>
Grazie alle ridotte dimensioni SQLite è particolarmente adatto ai [[Sistema embedded|sistemi embedded]]. SQLite viene inoltre utilizzato su [[iOS]] e [[MacOS]] per la gestione degli SMS e MMS, per il calendario, la cronologia delle chiamate e la memorizzazione dei contatti. La libreria è inoltre utilizzata in [[Symbian OS]] ed [[Android]], sul sistema operativo del [[BlackBerry]] e su [[webOS]] di Palm.
SQLite è inoltre integrato nei linguaggi [[PHP]] e [[Python]].<ref name="famous">[https://www.sqlite.org/famous.html Well-known Users of SQLite]</ref> == Note ==
Riga 81 ⟶ 82:
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|https://www.php.net/manual/en/book.pdo.php|Funzioni PHP raccomandate per l'utilizzo di SQLite 3.x con PHP|lingua=en}}
<!-- * {{en}} [https://www.youtube.com/watch?v=giAMt8Tj-84 Introduzione video a SQLite tenuta da D. Richard Hipp] -->
Riga 87 ⟶ 88:
{{Database management system}}
{{Android}}
{{Controllo di autorità}}
{{Portale|Informatica|Software libero}}
[[Categoria:
[[Categoria:Librerie software]]
|