Le langage SQL
Introduction
Le langage SQL, Structured Query Language a vu son apparition en 1974 mais a été normalisé en 1986..
Comme son nom l'indique il est spécialisé dans la structuration de requêtes et donc tout à fait adapté à être utilisé avec les bases de données.
Il n'est pas orienté objet et n'est pas procédural.
C'est un langage déclaratif, c'est-à-dire qu'il permet de décrire le résultat escompté, sans décrire la manière de l'obtenir.
Les SGBD sont équipés des mécanismes qui déterminent automatiquement la manière optimale d'effectuer les opérations, notamment par une estimation de la complexité algorithmique. Celle-ci est fondée sur des statistiques récoltées à partir des données contenues dans la base de données (nombre d'enregistrements, nombre de valeurs distinctes dans une colonne, etc.).
Mise en œuvre
Les instructions utilisées pour créer et manipuler une base de données peuvent être saisies
- dans un fichier texte (qui porte généralement l'extension .SQL). Ce fichier texte sera ensuite importé dans le SGBD
- dans une console d'édition
- dans un environnement de développement équipé d'assistants.
Quelques règles
- SQL n'est pas sensible à la casse des caractères : create est identique à CREATE, mais par convention on écrit les instructions généralement en majuscule ;
- le caractère ; (point-virgule) sépare chaque instruction SQL ;
- le caractère # est utilisé comme commentaire non visible dans un script SQL ;
- les noms des champs sont écrits en minuscule par convention sans caractères spéciaux hormis "-" ou "_" ;
- les noms des tables ont en général au pluriel (par convention) ;
- les instructions s'exécutent de manière séquentielle.
On se limitera dans ce cours à deux parties distinctes du langage SQL :
- DDL (Data Definition Language) : création modification de la base de donnée
- DML (Manipulation Data Language) : extraction, ajout modification de données