Formation PUB210 : SQLite, 2018 Premiers pas avec SQLite

Qu'est-ce que SQLite ?


SQLite est un SGBD relationnel léger conçu spécifiquement pour le stockage local de données. Il ne nécessite pas l'installation d'un serveur de base de données.

SQLite fonctionne dans différents environnements, notamment Linux, Windows, macOS, Adroid et iOS.

Ce petit SGBD, créé en 2000 par D. Richard Hipp, est à code source ouvert. La version actuelle, SQLite 3.0, a été publiée en 2004.

Selon Wikipédia :

SQLite est le moteur de base de données le plus utilisé au monde, grâce à son utilisation dans de nombreux logiciels grand public comme Firefox, Skype, Google Gears, dans certains produits d'Apple, d'Adobe et de McAfee et dans les bibliothèques standards de nombreux langages comme PHP ou Python. De par son extrême légèreté (moins de 300 Ko), il est également très populaire sur les systèmes embarqués, notamment sur la plupart des smartphones modernes : l'iPhone ainsi que les systèmes d'exploitation mobiles Symbian et Android l'utilisent comme base de données embarquée. Au total, on peut dénombrer plus d'un milliard de copies connues et déclarées de la bibliothèque.

Saviez-vous que Google Chrome utilise SQLite pour stocker les cookies?

Si vous voulez voir les données brutes de ces cookies sur votre ordinateur, rendez-vous dans le dossier C:\Users\votrenom\AppData\Local\Google\Chrome\User Data\Default (Windows) ou /Users/votrenom/Library/Application Support/Google/Chrome/Default (Mac).

Le fichier se nomme Cookies.

Vous pourrez l'ouvrir à la ligne de commande SQLite ou dans votre éditeur graphique SQLite préféré.

▼Publicité

Forces et limitations

Moins puissant que d'autres SGBDR comme MySQL ou MS SQL, SQLite supporte néanmoins de nombreuses fonctionnalités :

  • jointures internes et externes
  • requêtes imbriquées
  • transactions
  • contraintes d'intégrité référentielle
  • fonctions d'aggrégation
  • etc.

Parmi ses limites, notons :

  • ne supporte que quatre types de données : INTEGER, REAL, TEXT, BLOB (dans les faits, les types de données sont dynamiques et tout est stocké à l'interne en tant que texte), mais est-ce que c'est vraiment une limite ?
  • ne supporte pas les jointures externes vers la droite (RIGHT OUTER JOIN)
  • ne supporte pas les procédures et fonctions stockées
  • possibilités de modification d'une table avec ALTER TABLE limitées
  • gestion des droits d'accès aux données limitée aux droits conférés par le système d'exploitation au fichier de la base de données
  • etc.

Dans quels types d'applications est-ce que je peux utiliser SQLite ?

Si vous développez une application native, par exemple une application mobile, une application embarquée ou une application de bureau, SQLite est un choix intéressant pour stocker des données localement.

Si vous développez une application Web, vous devez savoir que depuis 2010, le consortium W3C ne  supporte plus la spécification Web SQL Database qui permet de travailler avec SQLite. Néanmoins, l'API Web SQL Database est supporté par Google Chrome, Safari et le navigateur d'Android. SQLite demeure donc intéressant pour développer des applications qui s'adressent à un public ciblé.

Firefox, IE et Edge ne supportent pas les bases de données SQLite.

Si votre choix s'arrête sur SQLite pour le stockage local de données, vous serez heureux d'apprendre qu'il existe des extensions qui permettent d'automatiser la synchronisation des données locales avec une base de données côté serveur, par exemple MySQL, MS SQL, Oracle, PostgreSQL. SQLite-sync.com n'est qu'un exemple parmi tant d'autres. 

Où sont stockées les données ?

Une base de données SQLite est en fait un simple fichier dans lequel les informations sont encodées de façon particulière. Toutes les tables et leurs données sont stockées dans ce même fichier.

Les bases de données SQLite sont locales, c'est-à-dire que leurs fichiers sont enregistrés sur le poste de l'usager ou sur sonmappareil mobile. 

Si la base de données est utilisée par une application native, son fichier sera généralement stocké au même endroit que l'application, à moins que le développeur en ait décidé autrement.

Dans le cas d'une application Web, le fichier de la base de données sera stocké dans un dossier spécifique au navigateur. Par exemple, sous Google Chrome, les fichiers de bases de données sont stockés dans le dossier C:\Users\votrenom\AppData\Local\Google\Chrome\User Data\Default\databases (il ne faut pas confondre les données stockées par le navigateur - les cookies - et les données stockées par une application Web).

Pour plus d'information

« SQLite ». Wikipédia. https://fr.wikipedia.org/wiki/SQLite

« Appropriate Uses For SQLite ». SQLite. https://sqlite.org/whentouse.html

« SQLite Tutorial ». SQLite Tutorial. http://www.sqlitetutorial.net/

« Distinctive Features Of SQLite ». SQLite. https://www.sqlite.org/different.html

« Limits In SQLite ». SQLite. https://sqlite.org/limits.html

« SQL Features That SQLite Does Not Implement ». SQLite. https://www.sqlite.org/omitted.html

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Dernière révision le 21 février 2021
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre