Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

Structured Query Language (SQL)

Icône Présentation

Le langage SQL

Le SQL est le langage standard d’interrogation des SGBD-R :

  • Une instruction SQL constitue une requête SQL
  • Le SQL est la version commerciale du langage SEQUEL issue du prototype System R développé par IBM San José en 1975

Les sous-langages du SQL

Le SQL (Structured Query Language) est divisé en différents sous langages :

  • Data Query Language (DQL) - Le langage de requête de données est le sous-langage responsable de la lecture ou de l’interrogation des données d’une base de données. En SQL, cela correspond à SELECT
  • Data Manipulation Language (DML) - Le langage de manipulation de données est le sous-langage responsable de l’ajout, de la modification ou de la suppression de données d’une base de données. En SQL, cela correspond à INSERT, UPDATE et DELETE
  • Data Definition Language (DDL) - Le langage de définition de données est le sous-langage responsable de la définition de la manière dont les données sont structurées dans une base de données. En SQL, cela correspond à la manipulation des tables via CREATE TABLE, ALTER TABLE et DROP TABLE
  • Data Control Language (DCL) - Le langage de contrôle des données est le sous-langage responsable des tâches administratives de contrôle de la base de données elle-même, notamment l’octroi et la révocation des autorisations de base de données pour les utilisateurs. En SQL, cela correspond aux commandes GRANT, REVOKE et DENY, entre autres.

Dans cette premère partie du cours, nous allons nous intéresser au langage SQL DQL

Extractions et modifications de données

Le langage SQL DML comporte 2 grandes classes de fonctions :

  1. l’extraction de données
  2. la modification de données

L’instruction qui permet de faire les extractions ou sélections est l’instruction SELECT

C’est l’équivalent de la projection en algèbre relationnelle

Toutes les requêtes SQL d’extraction de données commenceront par l’instruction SELECT

L’instruction SELECT

L’instruction SELECT est composé de 3 parties principales :

  1. la clause SELECT précise les valeurs (nom des colonnes) qui constituent chaque ligne du résultat attendu
  2. la clause FROM indique la ou les tables à partir desquelles le résultat doit être extrait
  3. la clause WHERE spécifie la condition de sélection qui doit être satisfaite par les lignes du résultat (équivalence en algèbre relationnelle de la sélection)

Le résultat d’une requête SELECT ou SFW (SELECT FROM WHERE) est une table temporaire qui sera considérée comme s’affichant à l’écran.

Par exemple, la requête SFW suivante :

SELECT nom, prenom FROM Clients WHERE ville = 'Grenoble' OR ville = 'Lille'

retournera une table temporaire contenant les colonnes nom et prenom des clients habitant à Grenoble ou Lille :

Clients
nomprenom
Vasseur Georges
Weiss Dominique

Les différents types de tables

Il existe plusieurs types de tables dans un SGBD :

  • Les tables de bases : Les tables que nous avons manipulées jusqu’à présent. Elles sont stockées de manière pérenne dans la mémoire externe et accessibles à tous les utilisateurs.
  • Les résultats des requêtes SFW : La table résultat de l’exécution d’une requête. Ce type de table est volatile.
  • Les tables dérivées : Elles servent à stocker le résultat d’une requête pendant une courte durée (quelques jours). Leurs utilisations sont limitées à un utilisateur. On les appelle aussi snapshot.
  • Les vues : Une vue est une table virtuelle, dont le contenu est défini comme le résultat d’une requête SFW. Seule sa définition (une requête SQL) est stockée . Son contenu est recalculé à chaque consultation.

Conclusion

  • Le langage SQL est le langage standard d’interrogation des SGBD-R
  • Il est composé de deux sous-langages : DDL et DML
  • Les requêtes SFW permettent de faire des extractions de données
  • Le résultat d’une requête SFW est une table temporaire
  • Il existe plusieurs types de tables dans un SGBD