- SQLiteManager
-
SQLite
SQLite Développeur D. Richard Hipp Dernière version 3.6.18 (le 11 septembre 2009) [+/-] Environnements Multiplate-forme Type Base de données relationnelle Licence Domaine public Site Web www.sqlite.org SQLite est une bibliothèque écrite en C qui propose un moteur de base de données SQL et implémentant en grande partie le standard SQL92 et les propriétés ACID. Contrairement aux serveurs de bases de données comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire le schéma habituel client/serveur mais d'être intégré directement aux programmes en utilisant des fichiers de bases de données. D. Richard Hipp, le créateur de SQLite, a choisi de mettre cette bibliothèque dans le domaine public.
SQLite est le moteur de base de données le plus distribué, grâce à ses implantations dans de nombreux logiciels grand public comme Skype, Firefox, Gears, certains produits McAfee et Symantec, dans de nombreux langages comme PHP, Python et Perl et dans certains téléphones portables dont l'iPhone et ceux fonctionnant sous Symbian, ce qui totalise plus de 200 millions d'implantations de la bibliothèque[1].
Sommaire
Caractéristiques
SQLite ne fonctionne pas selon le paradigme client/serveur, mais est une bibliothèque de fonctions. Parmi ses autres caractéristiques, on notera :
- l'absence de procédure d'installation et de configuration. Cela inclut l'absence de gestion de comptes et de droits utilisateurs.
- toute la base est stockée dans un seul fichier multi-plateforme.
- le type de chaque donnée stockée en base est une propriété de la donnée, pas de la colonne. Une colonne peut donc contenir des données de type différent.
- l'utilisateur peut créer ses propres types de données, ainsi que ses propres fonctions SQL ou des tables virtuelles.
- la bibliothèque est très légère (environ 300 ko), stable et éprouvée par une batterie de tests.
- un Index spatial de type R-Tree est intégré au moteur.
- l'indexation peut être optimisée pour des recherches de texte libre.
SQLite implémente la majorité de la norme SQL 92 à l'exception de :
- la gestion des droits avec GRANT et REVOKE
- la gestion des clés étrangères
- les jointures de type RIGHT OUTER JOIN et FULL OUTER JOIN (mais prend en charge le LEFT OUTER JOIN)
- les déclencheurs ne sont que partiellement pris en compte
- les possibilités de modifier la structure d'une table sont limitées : on peut renommer une table et y ajouter des colonnes, mais pas modifier ou supprimer des colonnes.
Les procédures stockées ne sont pas disponibles, mais le PL/SQL n'a de réelle utilité que dans un cadre client/serveur.
SQLite peut se révéler intéressant au niveau des performances et être utile dans bien des cas (impossibilité d'utiliser un serveur de bases de données, pour des sites internet ou dispositifs et applications embarquées, etc.), mais il ne permet pas à différents processus ou thread d'accéder simultanément en écriture à la même base de données et n'est donc pas conçu pour gérer de nombreux accès concurrents.
La bibliothèque peut être utilisée en Python, C et C++. Des modules pour Perl, PHP, TCL et d'autres langages de scripts sont disponibles.
PHP inclut SQLite dans la distribution de base depuis sa version 5, alors qu'il n'était disponible sous la version 4 que sous la forme d'une extension PECL.
Python inclut également SQLite 3 dans ses librairies standard depuis la version 2.5.
Différentes versions
SQLite existe sous 2 principales versions : 2.x et 3.x. Les versions 2 et 3 de SQLite se distinguent par plusieurs évolutions:
- les fichiers des bases ne sont pas compatibles entre eux. Cela signifie qu’une base au format sqlite2 ne pourra pas être lue par sqlite3 et vice et versa.
- Des syntaxes SQL ne sont pas présentes en SQLite2 : IF NOT EXISTS pour les requêtes, et CREATE TABLE, ADD column et RENAME column pour les requêtes ALTER TABLE.
- SQLite 3 supporte les normes UTF-8 et UTF-16.
- SQLite 3 encode les identifiants de lignes sur 64 bits et non plus sur 32 bits, ce qui permet un nombre de lignes quasiment illimité.
- PHP utilise une classe PDO pour gérer SQLite 3 alors qu’il utilise des fonctions sqlite_*() pour sqlite 2.
Notes et références
Voir aussi
Liens externes
- Site officiel
- (en) The SQLite Consortium, Mitchell Baker, le 27 février 2008.
- SQLite devient la base de données standard du Web déconnecté, David Maume, 01net, 29 février 2008.
- Portail des bases de données
Catégories : Système de gestion de base de données | Logiciel sous licence libre | Bibliothèque logicielle | Logiciel domaine public
Wikimedia Foundation. 2010.