mysql_alias

Et si vous appreniez à manipuler de l’information ? – (les bases du SQL)

Finance et Excel

Un article plus technique que les autres. Voici quelques notions concernant le langage SQL et les bases de données relationnelles.

Le SQL: c’est quoi exactement?

Le langage SQL est utilisé un peu partout dans le monde de l’informatique pour ce qui concerne le traitement des bases de données. Par exemple, pour un site internet, vous êtes obligé de stocker toute l’information dans des tables : les logins, les mots de passe, les articles, les commentaires…tout doit bien être enregistré quelque part.

Le tout est d’avoir accès à cette information rapidement.

Les bases de données sont présentes vraiment partout : du système d’information de la sécurité sociale à l’hôpital de votre quartier en passant par le ministère des finances, les banques, les entreprises…

Ce langage s’est développé dans les années 70 et même s’il n’existe pas un seul langage SQL, certains standards se sont développés dans le secteur informatique au fur et à mesure des années.

Le langage SQL ou la nécessité de scinder l’information pour mieux l’organiser

Le système SQL fonctionne via différentes tables.

Voici comment se présente une table :

Chaque ligne sera une entrée unique d’information. Cette table va s’appeler « Customer ». Elle continent toutes les informations disponibles pour chaque client. Une ligne par client, pas deux ni trois donc.

Imaginons maintenant qu’il s’agisse d’une société qui commercialise des produits d’électroménager, nous aurons dans ce cas une deuxième table qui va s’appeler « Sales »  dans laquelle on va venir enregistrer sur chaque ligne chaque nouvelle vente réalisée.

Le principe de base est le suivant : chaque table a un but et enregistre une information particulière.

On peut aussi imaginer créer d’autres tables dans lesquelles on pourrait enregistrer les stocks associés à chaque produit, ou encore une autre table dans laquelle on aurait les prix des produits et les promotions associées, une autre contenant tous les fournisseurs, la liste est longue.

L’important comme vous pouvez vous en douter est de pouvoir relier les tables entre elles par des clés, des ID (ID pour identifiants).

Ainsi dans le cas présenté –très simple- vous allez pouvoir associer à chaque personne le nombre de ventes réalisées.

Nous apprenons donc que nous avons 3 acheteurs pour les 6 produits vendus étudiés ce jour là.

En langage SQL, cela donnerait :

Select COUNT(DISTINCT ID) AS NB_ACHETEURS
, COUNT(*) AS NB_VENTES

FROM CUSTOMER c

INNER JOIN SALES s ON(c.ID=s.ID)

Décortiquons ces lignes de code.

On ne demande dans la clause FROM que les lignes qui ont des correspondances dans les 2 tables sur le champ ID. De fait, toutes les personnes enregistrées dans la base de gauche qui n’ont pas fait d’achat ce jour là ne seront pas comptées.

C’est la clause INNER JOIN qui pose cette condition d’égalité. Si l’on avait mis à la place une clause LEFT JOIN, cela nous aurait ramené  toutes les lignes de la table de gauche et nous n’aurions pas eu le même résultat.

Le count(*) se charge de compte le nombre de lignes. Nous avons 6 ventes donc le résultat retourné est de 6.

On demande ensuite le count(distinct ID), ce qui revient à compter le nombre d’acheteurs différents. On a 3 acheteurs différents.

En l’état on pouvait se passer de la jointure entre les tables mais si maintenant nous cherchons à ne faire un tri que sur une année précise (admettons que l’on fasse une étude marketing sur les résultats par tranche d’âge), on pourrait écrire la requête suivante :

Select COUNT(DISTINCT ID) AS NB_ACHETEURS

, COUNT(*) AS NB_VENTES

FROM CUSTOMER c

INNER JOIN SALES s ON(c.ID=s.ID)

WHERE c.annee_naissance<1950

De fait nous aurions eu un seul résultat, celui de René Jiop, né en 1940 et qui a acheté un Ipod rose (Il a très bien pu l’offrir).

Les tables de données relationnelles sont très puissantes pour mener à bien de l’analyse, faire remonter des informations dans des interfaces aux visiteurs d’un site ou établir des factures…les applications concrètes du SQL et des données relationnelles sont nombreuses.

Comment apprendre le SQL?

Le meilleur moyen est la pratique… couplée à un peu de théorie. Pour aller plus loin et apprendre le SQL, voici quelques livres dont la lecture est recommandée:

[aff cat= »livre-sql »]

Fiverr, la plateforme avec des milliers d'offres de freelances

Découvrez notre séléction de produits pour les particuliers et professionnels.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *