Structured Query Language - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Syntaxe générale

Les instruction SQL s'écrivent d'une manière qui ressemble à celle de phrases ordinaires en anglais. Cette ressemblance voulue vise à faciliter l'apprentissage et la lecture.

C'est un langage déclaratif, c'est-à-dire qu'il permet de décrire le quoi des opérations à effectuer, mais pas le comment. Les SGBD sont équipés d'optimiseurs de requêtes - des mécanismes qui déterminent automatiquement la manière optimale d'effectuer les opérations, par une estimation de la complexité algorithmique.

Les instructions de manipulation du contenu de la base de données commencent par les mots clés SELECT, UPDATE, INSERT ou DELETE qui correspondent respectivement aux opérations de recherche de contenu, modification, ajout et suppression. Divers mots clés tels que FROM, JOIN et GROUP permettent d'indiquer les opérations d'algèbre relationnelle à effectuer en vue d'obtenir le contenu à manipuler.

Les instructions de manipulation des métadonnées - description de la structure, l'organisation et les caractéristiques de la base de données - commencent avec les mots clés CREATE, ALTER ou DROP qui correspondent aux opérations d'ajouter, modifier ou supprimer une métadonnée. Ces mots clés sont immédiatement suivies du type de métadonnée à manipuler - TABLE, VIEW, INDEX, ...

Les mots clés GRANT et REVOKE permettent d'autoriser des opérations à certaines personnes, d'ajouter ou de supprimer des autorisations. Tandis que les mots clés COMMIT et ROLLBACK permettent de confirmer ou annuler l'exécution de transactions.

La syntaxe de SQL fait l'objet de la norme ISO 9075. Cette norme laisse la possibilité aux producteurs de SGBD d'y ajouter des instructions spécifiques et non normalisées. En raison de cette possibilité, ainsi que de l'évolution de la norme au cours des années, les éditeurs de SGBD ajoutent souvent des possibilités avant que celle-ci fassent objet de normes, ce qui provoque des variations dans la compréhension et l'interprétation qui est faite d'un code source en SQL par les différents logiciels de SGBD. Ces différences font qu'un code source écrit sans précautions pour un SGBD donné ne fonctionnera pas forcément avec un autre SGBD.

Exemples de code

  • modification d'une table :
      ALTER TABLE table1 ADD COLUMN colonne5 INTEGER NULL;      
  • Recherche
      SELECT name, service      FROM   employees      WHERE  statut='stagiaire'      ORDER  BY name;      
  • procédure stockée
       DECLARE N INTEGER;       SET N = 1;       FOR C        AS C_USR_MISE_A_JOUR           CURSOR FOR              SELECT USR_ID, USR_NOM             FROM   T_UTILISATEUR_USR             ORDER  BY USR_ID          FOR UPDATE OF USR_NOM       DO          IF MOD(N, 2) = 0          THEN             UPDATE T_UTILISATEUR_USR      ...      

Utilisation

Le langage SQL s'utilise principalement de trois manières :

  • un programme écrit dans un langage de programmation donné utilise l'interface de programmation du SGBD pour lui transmettre des instructions en langage SQL. Ces programmes utilisent des composants logiciels tels que ODBC ou JDBC. Cette technique est utilisée par l'invite de commande qui permet à un administrateur d'effectuer des opérations sur les bases de données; opérations qu'il décrit en SQL ;
  • technique dite embedded SQL : des instructions en langage SQL sont incorporées dans le code source d'un programme écrit dans un autre langage ;
  • technique des procédures stockées : des fonctions écrites en langage SQL sont enregistrées dans la base de données en vue d'être exécutées par le SGBD. Cette technique est utilisée pour les trigger - procédures déclenchées automatiquement sur modification du contenu de la base de données.
Page générée en 0.085 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise