Le Portail du Manager Innovant

Syndication, fil RSS du site piloter.org    Je suis aussi  sur facebook    Je suis aussi sur  Linkedin    Actualités Twitter
Syndication, fil RSS du site piloter.org  Je suis aussi  sur facebook  Je suis aussi sur  Linkedin  Actualités Twitter
×

Qu'est-ce qu'un langage L4G ? Exemple : SQL

17 juin 2021  Par   Partagez

Qu'est-ce qu'un L4G, langage de 4e génération ? En quoi est-il différent des autres langages ? Étudions pour mieux comprendre le cas de SQL, langage majeur s'il en est.

Un langage pour communiquer... avec la "machine"

Pour communiquer avec un système informatique et en extraire des données, nous utilisons des langages spécifiques. Ces langages ont évolué au fil du temps et il est coutumier de les classer par génération, selon le degré d'évolution et d'orientation utilisateur, depuis les langages machines jusqu'au langage d'interrogation de type SQL, plus proche de la langue anglaise.

Évolution des langages de programmation

SQL humour
Légende : Humour SQL


Passons en revue les quatre (cinq ?) générations des langages informatiques ?
  • 1re génération : les langages machines

    Outils des pionniers de l'informatique, ils imposaient une programmation en binaire et des calculs d'adressage absolu.
  • 2e génération : les langages assembleur

    Net progrès avec l'utilisation de mnémoniques en lieu et place des codes binaires et la mise en place d'outils "d'aide à la programmation" traduisant les mnémoniques et calculant les adressages.
  • 3e génération : les langages de haut niveau

    Apparus avec l'augmentation de performance des machines, ils soulagent le programmeur d'un grand nombre de contraintes matérielles pour lui laisser un peu plus d'énergie pour traiter son propre problème. Cobol, Fortran, C et tous les langages objets, dont C++, Java et C# ou orientés développement web : PHP, Python... sont des langages de 3e génération. Pour ces 3 générations de langage, l'informatique reste un domaine de spécialiste. Avant d'accéder aux données, le programmeur doit décrire précisément le moyen d'accès.
  • 4e génération, l'informatique change de logique

    Tout au moins théoriquement, le langage n'est plus spécifiquement réservé aux spécialistes. En effet, avec un langage de 4e génération (L4G), l'utilisateur ne se préoccupe pas des moyens pour accéder aux données. Il ne se préoccupe que de la donnée elle-même. Il peut ainsi interroger sa machine :

    "Donne-moi la liste des vendeurs ayant dépassé 1MF de chiffre au mois de janvier".

    L'utilisateur peut poser cette question directement à partir de sa console. La réponse est immédiate. L'interactivité est le second avantage majeur pour l'utilisateur occasionnel. En SQL, langage rustique mais standardisé, une telle question s'exprime simplement. Voir SQL ci-dessous.

L4G... une évolution ?

Il est bien évident que ce terme de "4ème génération", qui sous-entend un degré d'évolution, est un poil abusif. Les développements informatiques sont toujours réalisés en langage "dit de 3ème génération" avec quelques phases écrites en langage de "4ème génération". Avec l'introduction de ce terme, il s'agissait plutôt de mettre en avant le côté interactif et l'utilisation possible pour un non-informaticien.

Et la L5G ?

Quant à la "5ème génération" "L5G", sensée aborder la conception des développements informatiques sous un autre angle d'attaque (programmation par les contraintes notamment), hormis quelques expérimentations, elle n'est pas encore vraiment sortie des labos de recherche.

SQL Structured Query Language

SQL est depuis les années 70 le langage standard d'utilisation des bases de données relationnelles. C'est aujourd'hui un langage normalisé. Avec SQL, au contraire d'un langage classique, l'utilisateur ne décrit pas à l'ordinateur comment il faut faire pour atteindre les données. Il se contente de préciser quelles sont les données qu'il souhaite visualiser.

Ainsi, la question : "Donne-moi la liste des vendeurs ayant dépassé 1MF de chiffre d'affaires au mois de janvier", évoquée ci-dessus, se traduira en SQL presque textuellement :

Select Nom, CA From table-vendeur
Where CA>1000000 and mois = "Janvier"

SQL utilise une algèbre relationnelle. Le langage propose des opérations élémentaires pour mettre en relation les données de la base et en tirer le maximum d'enseignement.

SQL est un langage très complet. Il est suffisant pour toutes les manipulations intervenant sur une base de données. Il propose ainsi deux niveaux d'instructions :

  • Un premier niveau baptisé DDL (Data Definition Language) pour construire les tables et les structures
  • Un second niveau baptisé DML (Data Manipulation Language) pour utiliser les données enregistrées (lecture, écriture, modification)

Depuis sa création, le langage SQL n'a cessé d'évoluer pour rester en accord avec les SGBD modernes. SQL est encore pour longtemps le langage de manipulation des SGBD et les nouvelles versions sont régulièrement normalisées.

Remarque
La syntaxe de SQL devient un peu lourde lorsque les requêtes sont trop complexes et trop complètes. Les requêtes portant sur de très nombreuses lignes sont difficiles à relire, donc à maintenir. Les experts SQL oublient parfois l'importance de la relecture des programmes déjà écrits.

Le langage SQL est indissociable des bases de données relationnelles et... vice versa ! Les références données au chapitre SGBD sont aussi valables pour étudier le langage SQL.

L'image illustrant cet article et une grande partie de l'article sont extraits de l'ouvrage : Le bon usage des technologies expliqué au manager ©Editions d'Organisation 2001.

À ce sujet, voir aussi

  • Les bases de données relationnelles, SGBDR
    Définition, historique et principe des bases de données relationnelles qui représentent aujourd'hui la très large majorité des SGBD d'entreprise. Un système de base de données, SGBD, est un logiciel spécialisé dans la gestion des données de l'entreprise indépendamment des programmes qui les utilisent.
    Avant l'invention des bases de données relationnelles, les informaticiens utilisaient d'autres types de bases de données moins pratiques telles que les bases hiérarchiques et les bases réseaux.
  • Les Bases de données NoSQL, principe
    Que sont les bases de données Non SQL ? Quelles sont les applications où elles s'avèrent plus performantes que les bases de données relationnelles SGBD-R ? Les bases de données relationnelles se prêtent mal aux exigences des applications massivement parallèles exploitant de grandes quantités de données...
  • Définition Hadoop
    Hadoop est un projet Open Source géré par Apache Software Fundation basé sur le principe Map Reduce et Google File System, deux produits Google Corp. Le produit est écrit en langage Java. Le principe repose sur l'exécution du traitement répartie multi noeuds pour augmenter drastiquement les capacités de calculs et de stockage afin de traiter de très grandes quantités de données.

À lire...

Un guide pratique de référence, un incontournable...

SQL pour les Nuls poche, 3e édition SQL pour les Nuls poche
3e édition

Allen G. TAYLOR
First Interactive
480 pages

Dispo : www.amazon.fr, Kindle


Remarque

Cet article s'inspire d'un court texte présent dans les éditions 3,4 du livre "Les nouveaux tableaux de bord des managers". Il commençait à dater un peu et a donc été supprimé et remplacé pour les nouvelles éditions. Il est toutefois toujours disponible et actualisé en ligne ici pour les lecteurs intéressés par ce thème. ©Eyrolles

Nouveaux tableaux de bordNouveaux tableaux de bord des managers
Le projet Business Intelligence clés en main
Livre de référence
6ème éd. Eyrolles
Voir la fiche détaillée >>>

Dispo : www.amazon.fr, PDF ou ePub, Kindle


Partagez cet article...

Envoyer le lien de cet article par e-mail   
(total partages cumulés > 105)

Sur le même thème...