• sqlite

    SQLite

    Una prima panoramica di SQLite.

    Introduzione a SQLite

    SQLite è un potente database engine embedded, utilizzato come tecnologia di archiviazione in tantissime applicazioni Android e iOS. È leggero, facile da programmare ed è stato rilasciato nel pubblico dominio, rendendolo quindi utilizzabile senza alcuna restrizione.

    Si tratta di un database relazionale a tutti gli effetti, basato sul linguaggio SQL, ma ottimizzato per l’utilizzo in ambienti con poche risorse (telefoni cellulari o piccole applicazioni). Le query in SQLite sono quasi identiche ad altre chiamate SQL. Piuttosto che un database nel senso tradizionale del termine, SQLite è più una libreria che fornisce funzionalità di database, costruita per essere molto semplice e veloce (rispetto a un database relazionale client-server come MySQL).

    SQLite consente la creazione di una base di dati incorporata in un unico file (come fa ad esempio Accesso, Paradox o Filemaker). Non è un processo standalone utilizzabile servizio indipendente, ma viene incorporato all’interno di un altro programma.

    Ci si può interfacciare a SQLite mediante:

    • interfacce utente grafiche
    • interfacce interattive a riga di comando
    • numerosi linguaggi di programmazione.

     

    Vantaggi di SQLite

    I vantaggi offre che SQLite rispetto ad altri database sono i seguenti:

    • esiste una vasta gamma di strumenti e software di supporto;
    • quasi tutti i linguaggi di programmazione possono utilizzare SQLite;
    • esiste una community molto attiva e su GitHub sono disponibili decine di migliaia di repository;
    • è semplice da installare e rendere operativo;
    • è basato su file (l’intero database è memorizzato in un unico file) ed è compatibile con più piattaforme (per copiare il database da un posto ad un altro basta copiare un file);
    • è particolarmente adatto per i file di configurazione, i database con pochi dati, la comunicazione tra processi, etc …

     

    Svantaggi di SQLite

    Di seguito alcuni limiti di SQLite:

    • alcune funzionalità di SQL non sono supportate (RIGHT JOIN, trigger, ALTER COLUMN, DROP COLUMN, ADD CONSTRAINT);
    • non supporta la concorrenza di più client, la gestione degli utenti e delle autorizzazioni utente al di fuori di quanto fornito dal sistema operativo;
    • non impedisce di inserire il tipo di dati sbagliato in un campo (ad esempio una stringa in un campo numerico).

    È sconsigliato utilizzare SQLite in caso di accessi simultanei agli stessi dati (potrebbero potenzialmente causare un arresto anomalo dei dati), o nel caso di scritture frequenti (che rallentano il database), o di accesso alla rete (estremamente lento), o nel caso di grandi moli di dati.

     

    Installare SQLite su Windows

    Apri la pagina ufficiale di download di SQLite https://www.sqlite.org/download.html. Poiché SQLite offre diverse versioni per i vari sistemi operativi (Windows, Linux e Mac) scegli la versione appropriata, ad esempio la versione a 64 bit per Windows.

    download-sqlite-windows-eseguibile

    Scarica il file sqlite-tools-win32-x86-3220000.zip (di circa 1,6 Mb) ed estrailo ad esempio nella cartella C:\sqlite.  Posizionati sulla cartella C:\sqlite (dove hai estratto i file) e lancia da linea di comando il comando sqlite3:

    versione-sqlite-windows

     

    Come puoi vedere, la versione scaricata e installata è la 3.22.0.

     

    Aggiornare SQLite su Mac

    Sulle ultime versioni di OS X c’è già installata una versione di SQLite. Per verificare qual è basta lanciare il comando seguente:

    Il risultato può essere il seguente:

    La versione è la 3.8.5 e magari può essere utile aggiornarla. Di seguito le istruzioni per farlo.

    Apri la pagina ufficiale di download di SQLite https://www.sqlite.org/download.html e scarica i Precompiled Binaries for Mac OS X (x86), cioè il file sqlite-tools-osx-x86-3220000.zip (di circa 1,1 Mb). Individua dove si trova l’installazione esistente con il comando seguente da linea di comando:

    Il risultato ad esempio sarà /usr/bin/sqlite3. Esegui il backup della versione esistente di SQLite e rendo il file non eseguibile.

    Poi estrai il file sqlite-tools-osx-x86-3220000.zip e sposta il file sqlite3 in /usr/bin, rendendolo eseguibile.

    Verifica adesso la versione di SQLite:

    Il risultato sarà:

     

    Utilizzare un client grafico (DB Browser for SQLite)

    Per interagire con un database SQLite è possibile utilizzare diverse soluzioni (linea di comando, un client grafico, da un’applicazione scritta in un linguaggio di programmazione supportato). In questa sezione vediamo come usare il client grafico DB Browser for SQLite. Per prima cosa occorre scaricarlo e installarlo. Apri la pagina http://sqlitebrowser.org/ e clicca sul pulsante relativo al download per la piattaforma che utilizzi (ad esempio Download Mac .dmg) sulla destra. Viene scaricato il file DB.Browser.for.SQLite-3.10.1.dmg (di circa 15 Mb). Fai doppio clic sul file e procedi con l’installazione (trascinando DB Browser tra le applicazioni). Infine apri DB Browser for SQLite.

     

    DB-Browser-for-SQLite

    Creazione di un database e delle tabelle da client grafico

    Clicca sul pulsante in alto a sinistra New Database.

    sqlite-nuovo-database

    Inserisci un nome per il database e la cartella in cui verrà memorizzato. Clicca su Salva. Poi clicca sul pulsante Create Table.

    sql-nuova-tabella

    Vogliamo creare la tabella EMPLOYEES con i seguenti campi:

    1. EMPLOYEE_ID di tipo INTEGER e constraint chiave primaria;
    2. FIRST_NAME di tipo TEXT e constraint NOT NULL;
    3. LAST_NAME di tipo TEXT e constraint NOT NULL;
    4. SALARY di tipo NUMERIC e constraint NOT NULL;
    5. HIRE_DATE di tipo TEXT (non esiste un formato specifico per le date, usiamo il formato ISO8601, cioè”YYYY-MM-DD HH:MM:SS.SSS”) e constraint NOT NULL.

     

    Popolamento di una tabella da client grafico

    Clicca su Browse Data e riempi le righe:

    sqlite-inserimento-dati-tabella

    Esecuzione di istruzioni SQL da client grafico

    Clicca Execute SQL e inserisci l’istruzione che vuoi eseguire:

    sqlite-esecuzione-sql

     

    Importazione di tabelle da file CSV da client grafico

    Clicca sul menu File –> Import –> Table from CSV file … e poi seleziona il file da importare.

    sqlite-importazione-csv

    Poi modifica la struttura della tabella (le colonne non sono tutte di tipo TEXT): Database Structure –> Seleziona la tabella –> Modify Table e modifichi i datatype.

    sqlite-modifica-datatype

     

     

    Giulio Cantali – IT Consultant

    Creatore di Database Master, il primo percorso per diventare esperti di database

Lascia un commento

Se vuoi condividere la tua opinione, lascia un commento

Puoi usare questi tag e attributi: HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">