Dans le cours : L'essentiel de SQLite

Découvrir SQLite

Bienvenue dans cette formation sur l'essentiel de SQLite. Avant toute chose, juste une question d'orthographe. Vous notez que SQLite s'écrit avec un seul L, comme ça vous l'écrivez correctement. Parenthèse fermée Qu'est ce que SQLite ? C'est ce qu'on appelle un SGBDR, un système de gestion de bases de données relationnelles. On pourrait dire une base de données, mais non, la base de données, c'est quelque chose qui est stocké alors que le système de gestion va assurer la maintenance, les modifications, la sécurité, la protection, la lecture d'une base de données. C'est donc un système de gestion complet et c'est un système relationnel car il se base sur un modèle de structure de la donnée qui est le modèle relationnel et qui a des caractéristiques précises. On crée des tables, on fait des relations entre les tables, etc. Mais contrairement à beaucoup de SGBDR, il a une spécificité il est local, c'est-à-dire qu'il est utilisé en bibliothèque par une application localement. C'est ce qu'on appelle une base de données embarquée. Qu'est-ce que ça veut dire ? Un SGBDR local comme SQLite et il n'y en a pas beaucoup est en opposition avec la plupart des SGBDR du marché comme MySQL ou PostgreSQL par exemple, qui eux sont client-serveur. Ça veut dire que vous installez MySQL sur une machine sur votre réseau, un serveur et que vous l'interrogez à partir d'autres machines sur le réseau qui sont des clients et vous échangez des informations entre le client et le serveur. Le serveur va centraliser les données et beaucoup de clients vont pouvoir y accéder. Mais SQLite, lui, est local. Il est distribué avec votre application. Si vous programmez une application de facturation, par exemple, vous prenez la bibliothèque SQLite et vous utilisez ces fonctionnalités. Vous stockez un fichier de base de données local, peut-être dans le même répertoire que votre application de facturation. Vous ne traversez pas le réseau et même comme c'est une bibliothèque, lorsque cela s'exécute, vous exécutez pas SQLite. Vous utilisez la bibliothèque et tout se passe dans le même processus. C'est beaucoup plus léger et beaucoup plus simple. Mais évidemment, vous avez une limite de taille de volume et vous ne faites pas en général quelque chose de multi-utilisateurs. Autre particularité, c'est un logiciel totalement libre. Vous avez le droit de l'utiliser pour ce que vous voulez, commercialement ou pas. Avec une licence extrêmement libérale, je dirais. C'est quelque chose qui est très compact également. La bibliothèque SQLite fait encore aujourd'hui environ 240 kilos octets. Je ne sais pas si vous vous rendez compte par rapport au gigantisme de certaines applications aujourd'hui. Et c'est très rapide parce que le code est en C et très optimisé. Vos manipulations de données sur des volumes raisonnables entre guillemets données par exemple, quelques gigas vont être très rapides. Ce sera très agréable de travailler avec SQLite en tant que développeur. SQLite est totalement multiplateformes. Vous avez des bibliothèques compilées pour évidemment Linux, Mac, OS, Windows. Vous pouvez l'utiliser pour tous vos développements. Non seulement SQLite est multiplateformes, mais les fichiers de base de données qui sont générés par SQLite sont totalement portables. Vous pouvez créer une base de données sur Windows, la copier sur Linux, ça va marcher parfaitement. Le format de stockage n'est pas limité à un système d'exploitation et il est pérenne parce que comme c'est de l'open source, vous savez que si vous avez une base de données SQLite que vous voulez ouvrir, dans 50 ans peut-être ce sera possible. Vous pouvez compter sur le fait que ce type de stockage va être permanent. Ce n'est pas quelque chose qui va disparaître au fil des versions de l'application ou même si l'application disparaît. On est sur quelque chose de totalement libre qui est utilisé par des millions et des millions de développeurs dans le monde. Vous allez manipuler les données avec le langage SQL, langage classique d'interrogation des données et SQLite implémente une grande partie de la norme SQL. Le langage SQL SQLite est très riche. Il supporte les transactions ACID. Ça veut dire qu'il supporte l'environnement transactionnel qui vous permet de modifier plusieurs tables en même temps avec une sécurité et une implémentation de la logique des modifications. C'est finalement le SGBDR le plus utilisé au monde puisque il est implémenté et utilisé dans de très nombreuses applications. Celle qui me vient à l'esprit, c'est Firefox, le navigateur internet qui utilise SQLight pour stocker un certain nombre de ces propriétés ou des informations de l'utilisateur de Firefox.

Table des matières