Introduction au langage SQL
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 ?
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
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.

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
| Commande | Description |
|---|---|
CREATE | Crée une nouvelle table, une vue d'une table ou un autre objet de la base de données. |
ALTER | Modifie un objet de base de données existant, tel qu'une table. |
DROP | Supprime 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
| Commande | Description |
|---|---|
SELECT | Récupère certains enregistrements d'une ou de plusieurs tables. |
INSERT | Crée un enregistrement. |
UPDATE | Modifie les enregistrements. |
DELETE | Supprime les enregistrements. |
3. LCD - Langage de Contrôle de Données
| Commande | Description |
|---|---|
GRANT | Donne un privilège à l'utilisateur. |
REVOKE | Reprend les privilèges accordés à l'utilisateur. |
Nous reviendrons sur toutes ces commandes en détail dans les prochains cours.
Récapitulatif des catégories de commandes
| Catégorie | Rôle | Commandes principales |
|---|---|---|
| LDD | Définir la structure des objets | CREATE, ALTER, DROP |
| LMD | Manipuler les données | SELECT, INSERT, UPDATE, DELETE |
| LCD | Contrôler les accès | GRANT, REVOKE |
- 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.