SQL SQL

SQL est le langage avec lequel un logiciel interroge une base de données, si bien que chaque rapport de ventes à l'écran est une question SQL posée à votre place.

Également appelé langage de requête structuré requêtes SQL langage de base de données

Définition

SQL est le langage qui sert à poser une question à une base de données, puisque vous écrivez la question et que la base va chercher la réponse. Un commerçant ne le tape jamais lui-même, et pourtant chaque rapport de ventes affiché à l'écran est une question SQL posée par le logiciel à sa place.

La particularité de SQL, c'est que vous décrivez la réponse voulue et non les étapes pour l'obtenir. Vous demandez les dix clients qui ont le plus dépensé le mois dernier, sans jamais expliquer comment parcourir les lignes. La base s'en occupe seule, et c'est pour cela que les mêmes quelques mots vont chercher une réponse dans dix enregistrements comme dans dix millions.

Voici ce qui surprend les dirigeants. La même question peut revenir en une demi-seconde ou en dix minutes, et un serveur plus puissant règle rarement le problème. En général il manque un index, une petite liste tenue à part qui permet à la base de sauter directement aux bonnes lignes au lieu de toutes les lire. L'ajouter prend quelques minutes, et quand on demande à Linkysoft pourquoi un rapport est devenu lent, l'index manquant est la réponse la plus fréquente.

SQL est utilisé depuis les années 1970 et il a très peu changé. C'est rare en informatique et c'est à votre avantage, car quelqu'un qui l'a appris sur MySQL sait lire les requêtes d'un système bâti sur PostgreSQL. Cela veut dire aussi que vos données ne sont pas prisonnières, alors demandez un export complet de vos propres enregistrements avant de signer. Si la réponse devient compliquée, mieux vaut le savoir tôt.

Un danger mérite d'être nommé, car si un site insère tel quel ce qu'un visiteur a tapé dans une question SQL, un inconnu peut modifier la question elle-même. Cela s'appelle l'injection SQL, et c'est encore l'une des façons les plus courantes de perdre les données de ses clients. On s'en protège par la manière d'écrire le code, pas en achetant un produit. Nous le vérifions donc sur chaque application web que nous reprenons, et c'est un point fixe de l'audit de sécurité de Linkysoft. Les rapports que vous lisez dans Storek sont des requêtes SQL écrites une seule fois, si bien que plus personne n'a besoin d'y penser.

Questions sur SQL

Dois-je apprendre le SQL pour gérer mon entreprise ?
Non. Vos employés ne le voient jamais. Le mot vaut d'être connu, car lorsque vous demandez un nouveau rapport, c'est du SQL que quelqu'un écrit, et c'est souvent un petit travail.
Le SQL et une base de données, est-ce la même chose ?
Non. SQL est le langage dans lequel vous posez les questions. MySQL, PostgreSQL et SQL Server sont des bases de données qui le comprennent. Un langage, plusieurs produits.
Qu'est-ce que l'injection SQL et dois-je m'en inquiéter ?
C'est lorsqu'un inconnu tape dans un formulaire quelque chose qui modifie la question posée à la base par votre site. Un code bien écrit rend cela impossible. C'est une habitude de développement, pas un produit à acheter.
Puis-je emporter mes données si je change de prestataire ?
Le plus souvent oui, car une base SQL s'exporte proprement. Demandez un exemple d'export par écrit avant de signer, pas une fois la relation dégradée.

Vous ne voyez toujours pas comment cela s'applique à votre projet ?

Dites-nous ce que vous construisez et nous vous répondrons simplement.