SQLite - Panoramica
Questo capitolo ti aiuta a capire cos'è SQLite, come differisce da SQL, perché è necessario e il modo in cui gestisce il database delle applicazioni.
SQLite è una libreria software che implementa un motore di database SQL autonomo, senza server, a configurazione zero e transazionale. SQLite è uno dei motori di database in più rapida crescita in circolazione, ma è una crescita in termini di popolarità, non ha nulla a che fare con le sue dimensioni. Il codice sorgente per SQLite è di pubblico dominio.
Cos'è SQLite?
SQLite è una libreria in-process che implementa un motore di database SQL autonomo, senza server, a configurazione zero e transazionale. È un database, che non è configurato, il che significa che come altri database non è necessario configurarlo nel sistema.
Il motore SQLite non è un processo autonomo come gli altri database, puoi collegarlo staticamente o dinamicamente secondo le tue esigenze con la tua applicazione. SQLite accede direttamente ai suoi file di archiviazione.
Perché SQLite?
SQLite non richiede un processo o un sistema server separato per funzionare (senza server).
SQLite viene fornito con configurazione zero, il che significa che non è necessaria alcuna installazione o amministrazione.
Un database SQLite completo viene archiviato in un unico file su disco multipiattaforma.
SQLite è molto piccolo e leggero, meno di 400 KiB completamente configurato o meno di 250 KiB con funzionalità opzionali omesse.
SQLite è autonomo, il che significa che non ci sono dipendenze esterne.
Le transazioni SQLite sono completamente conformi ad ACID, consentendo un accesso sicuro da più processi o thread.
SQLite supporta la maggior parte delle funzionalità del linguaggio di query trovate nello standard SQL92 (SQL2).
SQLite è scritto in ANSI-C e fornisce API semplici e facili da usare.
SQLite è disponibile su UNIX (Linux, Mac OS-X, Android, iOS) e Windows (Win32, WinCE, WinRT).
SQLite Una breve storia
2000 - D. Richard Hipp ha progettato SQLite allo scopo di non richiedere alcuna amministrazione per il funzionamento di un programma.
2000 - In agosto, SQLite 1.0 è stato rilasciato con GNU Database Manager.
2011 - Hipp ha annunciato di aggiungere l'interfaccia UNQl al DB SQLite e di sviluppare UNQLite (database orientato ai documenti).
Limitazioni di SQLite
Esistono alcune funzionalità non supportate di SQL92 in SQLite elencate nella tabella seguente.
Sr.No. | Caratteristica e descrizione |
---|---|
1 | RIGHT OUTER JOIN Viene implementato solo LEFT OUTER JOIN. |
2 | FULL OUTER JOIN Viene implementato solo LEFT OUTER JOIN. |
3 | ALTER TABLE Sono supportate le varianti RENAME TABLE e ADD COLUMN del comando ALTER TABLE. DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT non sono supportati. |
4 | Trigger support I trigger FOR EACH ROW sono supportati ma non i trigger FOR EACH STATEMENT. |
5 | VIEWs Le VISUALIZZAZIONI in SQLite sono di sola lettura. Non è possibile eseguire un'istruzione DELETE, INSERT o UPDATE su una vista. |
6 | GRANT and REVOKE Le uniche autorizzazioni di accesso che possono essere applicate sono le normali autorizzazioni di accesso ai file del sistema operativo sottostante. |
Comandi SQLite
I comandi SQLite standard per interagire con i database relazionali sono simili a SQL. Sono CREATE, SELECT, INSERT, UPDATE, DELETE e DROP. Questi comandi possono essere classificati in gruppi in base alla loro natura operativa:
DDL - Data Definition Language
Sr.No. | Comando e descrizione |
---|---|
1 | CREATE Crea una nuova tabella, una vista di una tabella o un altro oggetto nel database. |
2 | ALTER Modifica un oggetto di database esistente, come una tabella. |
3 | DROP Elimina un'intera tabella, una vista di una tabella o un altro oggetto nel database. |
DML - Data Manipulation Language
Sr.No. | Comando e descrizione |
---|---|
1 | INSERT Crea un record |
2 | UPDATE Modifica i record |
3 | DELETE Elimina i record |
DQL - Data Query Language
Sr.No. | Comando e descrizione |
---|---|
1 | SELECT Recupera determinati record da una o più tabelle |