Introduction au langage SQL

21 Sep 2019 21 Sep 2019 23380 vues ESSADDOUKI Mostafa 6 min de lecture

Introduction au langage SQL

Définition

SQL (Structured Query Language) est un langage pour exploiter des bases de données; il inclut la création, la suppression, l'extraction de lignes, la modification de lignes, etc. de bases de données.

SQL est un langage standard ANSI (American National Standards Institute), mais il existe de nombreuses versions différentes du langage SQL.

Qu'est-ce que le SQL ?

Définition

SQL est un langage de requête structuré, qui est un langage informatique permettant de stocker, manipuler et récupérer des données stockées dans une base de données relationnelle.

SQL est la langue standard pour les systèmes de base de données relationnelle. Tous les systèmes de gestion de base de données relationnelle (SGBDR) tels que MySQL, MS Access, Oracle, Sybase, Informix, Postgres et SQL Server utilisent SQL comme langage de base de données standard.

Pourquoi SQL ?

SQL est très populaire car il offre les avantages suivants :

  • Permet aux utilisateurs d'accéder aux données des systèmes de gestion de base de données relationnelle.
  • Permet aux utilisateurs de décrire les données.
  • Permet aux utilisateurs de définir les données dans une base de données et de les manipuler.
  • Permet d'intégrer dans d'autres langages en utilisant des modules SQL, des bibliothèques et des pré-compilateurs.
  • Permet aux utilisateurs de créer et de supprimer des bases de données et des tables.
  • Permet aux utilisateurs de créer une vue, une procédure stockée et des fonctions dans une base de données.
  • Permet aux utilisateurs de définir des autorisations sur les tables, les procédures et les vues.

Processus SQL

Définition

Le traitement des requêtes inclut des traductions de requêtes de haut niveau en expressions de bas niveau pouvant être utilisées au niveau physique du système de fichiers, une optimisation de la requête et une exécution réelle de la requête pour obtenir le résultat réel.

Processus SQL

Figure : Schéma fonctionnel du traitement des requêtes

Étapes du traitement

Étape 1 : Analyseur

Lors de l'appel d'analyse, la base de données effectue les contrôles suivants :

  • Contrôle de syntaxe : vérifie la validité syntaxique de la requête.
  • Contrôle sémantique : vérifie que les tables et colonnes existent.
  • Contrôle de pool partagé : vérifie si la requête a déjà été exécutée.

Après ces contrôles, la requête est convertie en algèbre relationnelle.

Analyse dure et analyse douce

  • Analyse douce : si le code de hachage de la requête existe déjà dans le pool partagé, la requête passe directement au moteur d'exécution.
  • Analyse dure : si la requête est nouvelle, elle passe par des étapes supplémentaires (optimiseur et génération de sources de lignes).

Étape 2 : Optimiseur

Au cours de la phase d'optimisation, plusieurs plans d'exécution de requêtes sont examinés et le plan le plus efficace est sélectionné. Le catalogue de base de données stocke les plans d'exécution.

Génération de source en ligne

C'est un logiciel qui reçoit un plan d'exécution optimal de l'optimiseur et génère un plan d'exécution itératif (programme binaire) utilisable par le reste de la base de données.

Étape 3 : Moteur d'exécution

Exécute finalement la requête et affiche le résultat souhaité.

Commandes SQL

Les commandes SQL standard pour interagir avec les bases de données relationnelles sont CREATE, SELECT, INSERT, UPDATE, DELETE et DROP. Ces commandes peuvent être classées dans les groupes suivants en fonction de leur nature :

1. LDD - Langage de Définition de Données

CommandeDescription
CREATECrée une nouvelle table, une vue d'une table ou un autre objet de la base de données.
ALTERModifie un objet de base de données existant, tel qu'une table.
DROPSupprime une table entière, une vue d'une table ou d'autres objets de la base de données.

2. LMD - Langage de Manipulation de Données

CommandeDescription
SELECTRécupère certains enregistrements d'une ou de plusieurs tables.
INSERTCrée un enregistrement.
UPDATEModifie les enregistrements.
DELETESupprime les enregistrements.

3. LCD - Langage de Contrôle de Données

CommandeDescription
GRANTDonne un privilège à l'utilisateur.
REVOKEReprend les privilèges accordés à l'utilisateur.
À noter

Nous reviendrons sur toutes ces commandes en détail dans les prochains cours.

Récapitulatif des catégories de commandes

CatégorieRôleCommandes principales
LDDDéfinir la structure des objetsCREATE, ALTER, DROP
LMDManipuler les donnéesSELECT, INSERT, UPDATE, DELETE
LCDContrôler les accèsGRANT, REVOKE
Points clés à retenir
  • SQL est le langage standard pour interagir avec les bases de données relationnelles.
  • Il permet de définir (LDD), manipuler (LMD) et contrôler (LCD) les données.
  • Le traitement d'une requête passe par plusieurs étapes : analyse, optimisation, exécution.
  • Les commandes principales sont : CREATE, ALTER, DROP, SELECT, INSERT, UPDATE, DELETE, GRANT, REVOKE.
  • SQL est utilisé par tous les SGBDR populaires (MySQL, Oracle, SQL Server, PostgreSQL, SQLite, etc.).

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.