Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. SQLite - Teknopedia
SQLite - Teknopedia
SQLite
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereRelational database management system
SviluppatoreDwayne Richard Hipp
Data prima versioneagosto 2000
Ultima versione3.51.1 (28 novembre 2025)
Sistema operativoMultipiattaforma
LinguaggioC
LicenzaPublic domain o Licenza commerciale
(licenza libera)
Linguainglese
Sito websqlite.org
Modifica dati su Wikidata · Manuale

SQLite è una libreria software scritta in linguaggio C che implementa un DBMS SQL di tipo ACID incorporabile all'interno di applicazioni. Il suo creatore, D. Richard Hipp, lo ha pubblicato nel pubblico dominio, rendendolo utilizzabile quindi senza alcuna restrizione. Permette di creare una base di dati (comprese tabelle, query, form, report) incorporata in un unico file, come nel caso dei moduli Access di Microsoft Office e Base di OpenOffice.org e Libre Office; analogamente a prodotti specifici come Paradox o Filemaker.

SQLite non è un processo standalone utilizzabile di per sé, ma può essere incorporato all'interno di un altro programma. È utilizzabile con il 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 segnalibri, la cronologia di navigazione ed altre informazioni.

Caratteristiche e limitazioni

[modifica | modifica wikitesto]

La libreria offre molte interessanti caratteristiche:

  • è compatta (meno di 750KB per l'intera libreria alla versione 3.39.0);
  • è 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 SQL92;
  • ha la possibilità di interpretare campi in JSON;
  • l'API è semplice da utilizzare;
  • ha 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 nell'ordine dei terabyte, con righe grandi fino a 1GB[1];
  • un database consiste di un unico file, il cui formato interno è indipendente dalla piattaforma e dal relativo ordine dei byte;
  • non ha dipendenze esterne;
  • normalmente non richiede alcun lavoro di amministrazione, ma supporta il comando "SQL VACUUM" nel caso si renda necessario compattare esplicitamente i dati del database.

SQLite presenta dei limiti legati in parte alla finalità di semplice database da incorporare in altre applicazioni:

  • 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;[2]
  • non ha una vera gestione della concorrenza: le applicazioni che lo utilizzano, se necessario, devono implementarla;
  • per garantire la coerenza del file del database sono usati i lock del file system, e quindi vi possono essere problemi qualora quest'ultimo non li implementi correttamente, ad esempio con file system di rete (come NFS);
  • 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 ha un supporto completo per il costrutto SQL "ALTER TABLE".[2]
  • non supporta la scrittura diretta nelle viste (occorre usare trigger "INSTEAD OF");[2]
  • non supporta trigger di tipo "FOR EACH STATEMENT" ma solo "FOR EACH ROW", eventualmente combinato con "INSTEAD OF";[2]
  • il supporto ai trigger ricorsivi ed ai vincoli sulle chiavi esterne, introdotto rispettivamente nelle versioni 3.6.18 e 3.6.19, deve essere attivato dal programmatore oppure definito in fase di compilazione della libreria.

Una peculiarità di SQLite è la gestione flessibile dei tipi di dati: ogni campo può contenere qualsiasi tipo di dato (gestito differentemente nella versione 2 e 3).

Interfacce grafiche per SQLite

[modifica | modifica wikitesto]

Pur gestibile da altre applicazioni, esistono delle interfacce grafiche appositamente sviluppate per SQLite:

  • DaDaBIK (sito)- software proprietario scritto in PHP che permette di creare un Web front-end per SQLite senza scrivere codice. Anche per MySQL e PostgreSQL;
  • SpatiaLite (sito) Archiviato il 22 luglio 2011 in Internet Archive.- estensione per il supporto dei dati geografici all'interno di database SQLite, può essere utilizzato da console o tramite un'interfaccia grafica dedicata.
  • Database Browser for SQLite (sito)— è un'applicazione multipiattaforma che consente di amministrare in modo semplificato, con una interfaccia grafica, database di SQLite; Licenza public domain
  • TkSQLite (sito)— applicazione multipiattaforma. Licenza BSD-style
  • sqlite-manager (sito)— è una estensione per browser basati su Gecko (Firefox 3, Thunderbird 3, Seamonkey 2, Sunbird 1.0, Komodo 5.0, etc.) multipiattaforma, che consente di amministrare in modo semplificato, con l'interfaccia grafica del browser, database di SQLite;
  • SQLiteManager (sito)— è un'applicazione multipiattaforma, basata sul web, che consente di amministrare in modo semplificato, con una interfaccia grafica, database di SQLite; Lingua francese
  • Sqliteman (sito)— applicazione realizzata con le librerie Qt4 - versione per GNU/Linux, Mac, Windows, richiede SQLite versione 3.
  • Database Master (sito) per Windows, anche per MySQL, PostgreSQL, FireBird, Oracle, DB2, Informix, ODBC, OleDB, SQL-Server, MongoDB.
  • Sqlite-Workbench (sito) - applicazione online per la gestione grafica di database sql
  • DataBase.Net (sito) Applicazione sviluppata .Net / Gratuita (La versione commerciale non ha limiti in tante funzioni)

Diffusione[3]

[modifica | modifica wikitesto]

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.[4] Adobe utilizza SQLite come formato file in Adobe Photoshop Lightroom, come database di appoggio alle applicazioni in Adobe AIR e internamente in Adobe Reader.[5]

Grazie alle ridotte dimensioni SQLite è particolarmente adatto ai 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.[6]

Note

[modifica | modifica wikitesto]
  1. ^ Limits In SQLite, su sqlite.org.
  2. ^ a b c d (EN) SQL Features That SQLite Does Not Implement, su sqlite.org. URL consultato il 14 gennaio 2010.
  3. ^ Most Widely Deployed and Used Database Engine, su sqlite.org.
  4. ^ Skype client using SQLite?, su mail-archive.com.
  5. ^ Well-Known Users of SQLite, su sqlite.org.
  6. ^ Well-known Users of SQLite, su sqlite.org.

Altri progetti

[modifica | modifica wikitesto]

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su SQLite

Collegamenti esterni

[modifica | modifica wikitesto]
  • (EN) Sito ufficiale, su sqlite.org. Modifica su Wikidata
  • (EN) Opere riguardanti SQLite, su Open Library, Internet Archive. Modifica su Wikidata
  • SQLite / SQLite (altra versione), su packages.debian.org. Modifica su Wikidata
  • (EN) SQLite, su GitHub. Modifica su Wikidata
  • Repository sorgenti di SQLite, su sqlite.org. Modifica su Wikidata
  • (EN) SQLite, su Free Software Directory. Modifica su Wikidata
  • (EN) Funzioni PHP raccomandate per l'utilizzo di SQLite 3.x con PHP, su php.net.
  • SQLite su Appunti di Informatica Libera, su appuntilinux.mirror.garr.it. URL consultato il 17 giugno 2014 (archiviato dall'url originale il 5 aprile 2016).
V · D · M
Sistemi di gestione delle basi di dati
Relazionali
proprietari4th Dimension · DB2 · dBase · IBM Informix · InterBase · MaxDB · Oracle · SQL Server · Sybase SQL Anywhere Studio
liberiDerby · Drizzle · Firebird SQL · HSQLDB · Ingres · MariaDB · MySQL · Percona Server · PostgreSQL
Simbolo database
Simbolo database
RDBMS integrante un RADAccess · Bento · FileMaker · HyperFileSQL · Kexi · Knoda · LibreOffice Base · Neo4j · OpenOffice Base · Paradox · SAS · 4th Dimension
Embedded (incorporato) · Berkeley DB (Relazionale proprietario) · SQLite (Relazionale libero)
Orientati agli oggetti
TabulareBigTable · Apache HBase
Archiviazione in tupleApache River
AltroDataBase For Objects · FluidDB · Moneta · OrientDB · PostgreSQL · Versant Object Database · ZODB
Base di dati relazionale a oggetti
software liberiCUBRID · Virtuoso Universal Server · WakandaDB · Zope Object Database
ProprietariIBM DB2 · IBM Informix · Greenplum Database · Microsoft SQL Server · Oracle · SAP Adaptive Server Enterprise
NoSQL
Orientato al documento
Database XMLExistDB · Oracle · BaseX · MarkLogic Server
AltriCouchDB · MongoDB · RavenDB · Apache Solr · OrientDB · OpenTSDB · KairosDB
Database a grafoAllegroGraph · Core Data · Neo4j · OrientDB
Chiave/valore archiviato su discoRedis (open source) · BigTable · DensoDB
Chiave/valore cache in RAMRedis (open source) · memcached
Valore/chiave Eventually‐consistentCassandra · Amazon-Dynamo
Chiave-valore che conserva mediante l'implementazione di PaxosKeyspace
Chiave-valore ordinatoBerkeley DB · NMDB
Basi di dati multivaloreOpenQM · Rocket U2
AltroSimpleDB · RethinkDB · LevelDB (No SQL libero)
Sistema di gestione di basi di dati
orientato alle colonne
software liberiCalpont InfiniDB · Druid · MonetDB · Neo4j · RCFile · Apache HBASE
ProprietariIBM DB2 · Microsoft SQL Server 2012 · Oracle Exadata · SAP HANA · Sybase IQ · Vector · Vertica
Base di dati spaziale
con specifiche OpenGISAsterixDB(Open source) · IBM DB2 · Microsoft SQL Server · MonetDB · MySQL · Neo4j · Oracle Spatial · PostgreSQL con PostGIS · SAP HANA · SpatiaLite · Teradata Geospatial · Vertica Place
Base di dati ad oggetti in movimentoSECONDO, · Firebird con TerraLib · MySQL con TerraLib · PostgreSQL con TerraLib · SQLServer con TerraLib
Base di dati multimedialeOracle Image · Oracle Video
Categoria:Basi di dati
V · D · M
Android
Sviluppo software
Strumenti di sviluppo ufficiali
UfficialiKit di sviluppo software (Android Debug Bridge · Fastboot · Android Package) · Android Native Development Kit · Kit di sviluppo Android Open Accessory · Bionic · RenderScript · Skia · Dalvik · Android Runtime · AdMob · Material Design · Font (Droid · Roboto · Noto) · Google Developers
AltriOpenBinder · Apache Harmony · OpenJDK · Gradle
Ambienti di sviluppo
integrati
(IDE)
Android Studio (IntelliJ IDEA) · Eclipse (Android Development Tools) · App Inventor
Linguaggi e databaseJava · Kotlin · XML · C · C++ · SQLite
Realtà virtualeCardboard · Daydream
Eventi e comunitàGoogle I/O · Developer Challenge · Android Open Source Project
Android logo
Versioni1.0 · 1.1 · Cupcake (1.5) · Donut (1.6) · Eclair (2.0–2.1) · Froyo (2.2) · Gingerbread (2.3) · Honeycomb (3.x) · Ice Cream Sandwich (4.0) · Jelly Bean (4.1–4.3) · KitKat (4.4) · Lollipop (5.x) · Marshmallow (6.0) · Nougat (7.x) · Oreo (8.x) · Pie (9) · 10 · 11 · 12 · 13 · 14 · 15
DerivatiAndroid Auto · Android Things · Android TV · Wear OS
Dispositivi mobili
PixelPixel e Pixel XL · 2 e 2 XL · 3 e 3 XL · 3a e 3a XL · C · 4 e 4 XL · 4a e 4a 5G · 5 · 5a · 6 · 7 · 8 · 9
NexusNexus One · Nexus S · Galaxy Nexus · Nexus 4 · Nexus 5 · Nexus 6 · Nexus 5X · Nexus 6P · Nexus 7 (2012 · 2013) · Nexus 10 · Nexus 9 · Nexus Q · Nexus Player
Play EditionHTC One (M7) · HTC One (M8) · LG G Pad 8.3 · Moto G · Samsung Galaxy S4 · Sony Xperia Z Ultra
AltroAndroid Go · Android One · Altri smartphone Android
Varianti personalizzate/e/ · Android-x86 · AOKP · Baidu Yi · Barnes & Noble Nook · ColorOS · CyanogenMod · Fire OS · Funtouch OS · Flyme OS · HyperOS · LineageOS · MIUI · Nokia X Software Platform · OmniROM · OxygenOS · Paranoid Android · Replicant · Ubuntu for Android · XobotOS
ApplicazioniAssistente (Google Now) · Earth (Sky) · Gmail · Google Chrome for Android · Goggles · Hangouts · Maps · Pay (Send) · Play (Giochi · Libri) · TV · Voice
APIGoogle Maps · Google Play Services · Google Search
Interfacce utente alternativeAsus ZenUI · HTC Sense · Google Pixel UI · LG UX (Optimus UI) · One UI (Experience · TouchWiz) · EMUI · MIUI
ElenchiApplicazioni per webmaster · Dispositivi Android · Distribuzioni derivate da Android AOSP · Servizi Google per Android · Servizi web di Google · Videogiochi per Android
Voci correlateGoogle · Chromecast · Java vs. Android API · Questioni giuridiche (Oracle contro Google · Guerra per i brevetti sugli smartphone) · XDA Developers · Rooting
Controllo di autoritàGND (DE) 7544619-4
  Portale Informatica
  Portale Software libero
Estratto da "https://it.wikipedia.org/w/index.php?title=SQLite&oldid=147768661"

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022