PRATIQUE OUTILS 
SQLite : avantages & limitations
 
"Je sais que SQLite est une base de données simplifiée par rapport à MySQL, mais quelles sont concrètement les fonctionnalités qui manquent ?" (27/01/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

La décision par le groupe PHP de préférer par défaut SQLite en lieu et place de MySQL pour la version 5 du langage, qui faisait suite à un changement de licence de la part de MySQL AB (changement depuis modifié) et a soulevé beaucoup de questions concernant les capacités de cette nouvelle base.

SQLite, comme son nom l'indique, est un moteur SQL simplifié, tant dans sa conception que du point de vue des fonctionnalités SQL qu'il reconnaît.

SQLite diffère de la plupart des SGBD sur le point suivant : il nécessite qu'un fichier par base, directement sur le disque dur du serveur (là où MySQL dispose de son propre serveur). Par certains aspects, cela facilite d'autant l'utilisation d'un SGBD pour les petits sites…

Côté fonctionnalités, on s'aperçoit vite que, si SQLite dispose de la majeure partie des fonctions classiques, il en met de côté certaines, et pas forcément les moins utiles. ALTER TABLE, par exemple, est logiquement inaccessible : la base tenant dans un seul fichier, SQLite n'autorise pas de le modifier. Il faut alors effacer la table et en créer une nouvelle avec la nouvelle structure. De la même manière, GRANT et REVOKE ne sont pas disponibles : la gestion des droits d'accès à la base se limite à l'accès au fichier lui-même…

Voici quelques autres fonctions absentes de cette base : COUNT (DISTINCT x), CHECK, FOREIGN KEY, VIEW (en mode écriture).
Plus largement, SQLite ne reconnaît ni les transactions imbriquées, ni les déclencheurs (triggers).

SQLite est donc à réserver aux sites à faible besoin de puissance. Rien n'empêche par ailleurs de passer à MySQL par la suite…

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page