SQLite - Présentation

Ce chapitre vous aide à comprendre ce qu'est SQLite, en quoi il diffère de SQL, pourquoi il est nécessaire et la manière dont il gère la base de données des applications.

SQLite est une bibliothèque logicielle qui implémente un moteur de base de données SQL transactionnel autonome, sans serveur et sans configuration. SQLite est l'un des moteurs de base de données à la croissance la plus rapide, mais c'est une croissance en termes de popularité, rien à voir avec sa taille. Le code source de SQLite est dans le domaine public.

Qu'est-ce que SQLite?

SQLite est une bibliothèque en processus qui implémente un moteur de base de données SQL transactionnel autonome, sans serveur et sans configuration. Il s'agit d'une base de données configurée à zéro, ce qui signifie que, comme les autres bases de données, vous n'avez pas besoin de la configurer dans votre système.

Le moteur SQLite n'est pas un processus autonome comme les autres bases de données, vous pouvez le lier de manière statique ou dynamique selon vos besoins avec votre application. SQLite accède directement à ses fichiers de stockage.

Pourquoi SQLite?

  • SQLite ne nécessite pas de processus serveur ou de système séparé pour fonctionner (sans serveur).

  • SQLite est livré avec une configuration zéro, ce qui signifie qu'aucune configuration ou administration n'est nécessaire.

  • Une base de données SQLite complète est stockée dans un seul fichier disque multiplateforme.

  • SQLite est très petit et léger, moins de 400 Ko entièrement configuré ou moins de 250 Ko avec des fonctionnalités facultatives omises.

  • SQLite est autonome, ce qui signifie aucune dépendance externe.

  • Les transactions SQLite sont entièrement compatibles ACID, permettant un accès sécurisé à partir de plusieurs processus ou threads.

  • SQLite prend en charge la plupart des fonctionnalités du langage de requête présentes dans la norme SQL92 (SQL2).

  • SQLite est écrit en ANSI-C et fournit une API simple et facile à utiliser.

  • SQLite est disponible sous UNIX (Linux, Mac OS-X, Android, iOS) et Windows (Win32, WinCE, WinRT).

SQLite Une brève histoire

  • 2000 - D. Richard Hipp a conçu SQLite dans le but qu'aucune administration ne soit requise pour faire fonctionner un programme.

  • 2000 - En août, SQLite 1.0 est sorti avec GNU Database Manager.

  • 2011 - Hipp annonce l'ajout de l'interface UNQl à SQLite DB et le développement de UNQLite (base de données orientée document).

Limitations de SQLite

Il existe quelques fonctionnalités non prises en charge de SQL92 dans SQLite qui sont répertoriées dans le tableau suivant.

N ° Sr. Description des fonctions
1

RIGHT OUTER JOIN

Seul LEFT OUTER JOIN est implémenté.

2

FULL OUTER JOIN

Seul LEFT OUTER JOIN est implémenté.

3

ALTER TABLE

Les variantes RENAME TABLE et ADD COLUMN de la commande ALTER TABLE sont prises en charge. Les DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT ne sont pas pris en charge.

4

Trigger support

Les déclencheurs FOR EACH ROW sont pris en charge, mais pas les déclencheurs FOR EACH STATEMENT.

5

VIEWs

Les vues dans SQLite sont en lecture seule. Vous ne pouvez pas exécuter une instruction DELETE, INSERT ou UPDATE sur une vue.

6

GRANT and REVOKE

Les seules autorisations d'accès qui peuvent être appliquées sont les autorisations d'accès aux fichiers normales du système d'exploitation sous-jacent.

Commandes SQLite

Les commandes SQLite standard pour interagir avec les bases de données relationnelles sont similaires à SQL. Ce sont CREATE, SELECT, INSERT, UPDATE, DELETE et DROP. Ces commandes peuvent être classées en groupes en fonction de leur nature opérationnelle -

DDL - Langage de définition de données

N ° Sr. Commande et description
1

CREATE

Crée une nouvelle table, une vue d'une table ou un autre objet dans la base de données.

2

ALTER

Modifie un objet de base de données existant, tel qu'une table.

3

DROP

Supprime une table entière, une vue d'une table ou d'un autre objet de la base de données.

DML - Langage de manipulation de données

N ° Sr. Commande et description
1

INSERT

Crée un enregistrement

2

UPDATE

Modifie les enregistrements

3

DELETE

Supprime les enregistrements

DQL - Langage de requête de données

N ° Sr. Commande et description
1

SELECT

Récupère certains enregistrements d'une ou plusieurs tables