Sens Pluriel explore la polysémie des mots à travers les cultures : bouddhisme tibétain, industrie durable, linguistique et bien-être.Explorer nos dossiers →
Linguistique et étymologie

SQL : le langage et ses grandes familles d’instructions

SQL, pour « langage de requête structuré », sert à dialoguer avec les bases de données relationnelles. Il permet de définir des tables, de rechercher des informations et de contrôler certaines opérations. Ses instructions se répartissent en grandes…

SQL : le langage et ses grandes familles d’instructions

SQL, pour « langage de requête structuré », sert à dialoguer avec les bases de données relationnelles. Il permet de définir des tables, de rechercher des informations et de contrôler certaines opérations.

Ses instructions se répartissent en grandes familles, selon qu’elles agissent sur la structure, les données, les accès ou les transactions. Savoir les distinguer aide à choisir la bonne commande et à limiter les erreurs.

À retenir : les familles d’instructions SQL

  • DDL pour créer et faire évoluer les structures des tables
  • DML pour insérer, modifier ou supprimer des enregistrements
  • DQL pour interroger les données avec SELECT
  • DCL et TCL pour gérer les permissions et les transactions

Comprendre les familles de commandes SQL

Pour distinguer les commandes SQL, imaginez une petite entreprise qui organise ses clients, ses commandes et ses produits dans des tables liées. Chaque famille intervient à un niveau différent, de la construction de cette organisation à la consultation quotidienne des informations.

DDL et DML : définir la structure et modifier les données

Le DDL, ou langage de définition des données, concerne la structure de la base. CREATE crée une table, ALTER la modifie et DROP la supprime ; cette dernière commande peut entraîner la perte de sa structure et de son contenu.

A lire également :  Jointures : les types et leurs résultats

Le DML, ou langage de manipulation des données, agit sur les enregistrements. INSERT ajoute une ligne, UPDATE modifie des valeurs et DELETE retire des lignes sélectionnées, généralement à l’aide d’une condition WHERE.

Avant une modification, l’équipe vérifie la condition et teste la commande dans un environnement sûr. Sans filtre WHERE, UPDATE ou DELETE peut toucher toutes les lignes concernées de la table.

Commandes de structure et de manipulation :

  • CREATE TABLE pour créer une table
  • ALTER TABLE pour modifier sa définition
  • INSERT INTO pour ajouter des données
  • UPDATE et DELETE pour corriger ou retirer des lignes

DQL, DCL et TCL : consulter, autoriser et sécuriser

Le DQL, ou langage d’interrogation des données, regroupe notamment SELECT. Une requête peut sélectionner des colonnes, filtrer avec WHERE, regrouper avec GROUP BY ou trier avec ORDER BY.

Le DCL encadre les autorisations : GRANT accorde des droits et REVOKE les retire. Le TCL contrôle les transactions, notamment avec COMMIT pour valider les changements et ROLLBACK pour annuler une transaction non validée.

Familles et commandes courantes :

Famille Rôle Exemples
DDL Définir la structure CREATE, ALTER, DROP
DML Modifier les enregistrements INSERT, UPDATE, DELETE
DQL Interroger les données SELECT
DCL Gérer les autorisations GRANT, REVOKE
TCL Contrôler les transactions COMMIT, ROLLBACK

Tables, clés et relations dans une base SQL

Une fois les familles de commandes identifiées, leur usage dépend de la manière dont les informations sont organisées. Une base relationnelle répartit les données entre des tables et relie celles-ci au moyen de clés, ce qui facilite les recherches cohérentes.

A lire également :  Sigles et acronymes : quand une entreprise choisit le nom d'un concept ancien

Clés primaires et étrangères pour relier les tables

Une clé primaire identifie chaque ligne d’une table de façon unique. Dans une table Clients, un identifiant client peut remplir ce rôle, tandis que le nom seul risque de se répéter.

Une clé étrangère référence une clé d’une autre table. Ainsi, la table Commandes peut contenir l’identifiant du client concerné : la base peut alors vérifier que ce client existe et relier ses achats à son dossier.

Une conception simple pour un suivi de commandes :

  • Clients : identifiant, nom et coordonnées
  • Commandes : identifiant, date et identifiant du client
  • Produits : identifiant, libellé et prix
  • Lignes de commande : commande, produit et quantité

Jointures SQL pour réunir des informations

Les jointures combinent des lignes provenant de plusieurs tables à partir d’une relation. INNER JOIN conserve les correspondances présentes des deux côtés, tandis que LEFT JOIN garde toutes les lignes de la table placée à gauche.

Par exemple, une boutique peut associer Clients et Commandes pour afficher les achats d’une personne. Avant d’interpréter le résultat, il faut vérifier les clés de rapprochement : une relation mal définie peut produire des doublons ou masquer des lignes sans correspondance.

Comportement des jointures usuelles :

Jointure Résultat principal Usage courant
INNER JOIN Correspondances des deux tables Afficher les commandes associées à un client
LEFT JOIN Toutes les lignes de gauche et leurs correspondances Inclure les clients sans commande
RIGHT JOIN Toutes les lignes de droite et leurs correspondances Conserver tous les éléments de la table droite
FULL JOIN Lignes des deux tables, avec ou sans correspondance Repérer les éléments présents d’un seul côté

Écrire des requêtes SQL fiables et lisibles

Après la modélisation des tables, l’enjeu devient la justesse des requêtes. Une commande bien ciblée répond au besoin sans modifier inutilement les données ni ralentir les opérations.

A lire également :  Corrélation et causalité : la confusion à éviter

SELECT, filtres et agrégations pour analyser

SELECT choisit les colonnes à afficher et WHERE limite les lignes selon une condition. Pour obtenir les commandes dépassant un seuil, on peut sélectionner les informations utiles puis appliquer un filtre sur le montant.

GROUP BY rassemble les lignes partageant une valeur, par exemple pour compter les commandes par client. HAVING filtre ensuite les groupes calculés, tandis que ORDER BY organise les résultats selon un ordre choisi.

Pour des requêtes de lecture plus efficaces :

  • Choisir les colonnes nécessaires plutôt que tout extraire
  • Filtrer les lignes avec des conditions compréhensibles
  • Utiliser GROUP BY avec une fonction comme COUNT ou SUM
  • Contrôler le résultat avant de l’intégrer à un rapport

Transactions et précautions avant modification

Une transaction rassemble plusieurs opérations qui doivent être traitées comme un ensemble cohérent. Dans un transfert entre comptes, par exemple, le débit et le crédit doivent réussir ensemble ; sinon, l’annulation évite un état incomplet.

COMMIT valide les opérations et ROLLBACK les annule avant validation. Les détails et la syntaxe varient selon les systèmes de gestion de bases de données ; il est donc prudent de tester les scripts et de vérifier les sauvegardes avant une intervention importante.

Avant une mise à jour sensible, l’opérateur peut d’abord exécuter un SELECT avec la même condition pour contrôler les lignes visées. Cette habitude simple réduit le risque d’une modification trop large.

À retenir

Un mot qui se comprend dossier après dossier

Qu'il s'agisse de philosophie bouddhiste, de méditation, de culture tibétaine, d'industrie durable, de linguistique ou de bien-être, chaque rubrique raconte une facette différente de la même question : comment un même mot peut porter, à la fois, une pensée millénaire et un usage bien actuel. Rien n'est figé : chaque contexte nouveau peut encore faire évoluer ce sens.

Pour aller plus loin

  • Comparer plusieurs sources avant de juger la portée d'une traduction ou d'une définition
  • Replacer chaque terme dans son contexte culturel réel, pas seulement sa traduction littérale
  • S'intéresser aux usages vivants de la langue autant qu'aux définitions figées
  • Observer comment un même mot évolue d'un domaine à l'autre au fil du temps