SQLiteManager

SQLiteManager

SQLite

SQLite
Sqlite.png
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

  • Portail des bases de données Portail des bases de données
Ce document provient de « SQLite ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article SQLiteManager de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • VertrigoServ — Dernière version 2.21 (9 juillet 2008) [ …   Wikipédia en Français

  • Vertrigo Serv — VertrigoServ VertrigoServ Dernière version 2.21 (le 9 juillet 2008) [+/−] …   Wikipédia en Français

  • VertrigoServ — Эта страница требует существенной переработки. Возможно, её необходимо викифицировать, дополнить или переписать. Пояснение причин и обсуждение на странице Википедия:К улучшению/2 июня 2012. Дата постановки к улучшению 2 июня 2012 …   Википедия

  • EasyPHP — Infobox Software name = EasyPHP caption = author = developer = Laurent Abbal, Emmanuel Faivre and Thierry Murail released = latest release version = 2.0 beta 1 latest release date = December 23, 2006 latest preview version = latest preview date …   Wikipedia

  • EasyPHP — Développeur Laurent ABBAL Emmanuel FAIVRE Thierry MURAIL Dernière version 5.4 …   Wikipédia en Français

  • Fvpatwds — Développeur Franck THIBAULT Dernière version …   Wikipédia en Français

  • WAMP5 — WampServer WampServer Développeur Romain BOURDON Dernière version …   Wikipédia en Français

  • Wampserver — Développeur Romain BOURDON Dernière version …   Wikipédia en Français

  • MAMP — El acrónimo MAMP se refiere al conjunto de programas software comúnmente usados para desarrollar sitios web dinámicos sobre sistemas operativos Apple Macintosh, MAC OS X. Mac OS X: Sistema operativo. Apache: Servidor Web. MySQL: Sistema Gestor de …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”