Le langage SQL
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Objectif
Découvrir les possibilités du langage SQL.
Mise en situation
Le modèle relationnel a été inventé par E.F. Codd (Directeur de recherche du centre IBM de San José) en 1970, suite à quoi de nombreux langages ont fait leur apparition :
IBM Sequel (Structured English Query Language) en 1977 ;
IBM Sequel/2 ;
IBM System/R ;
IBM DB2 ;
Ce sont ces langages qui ont donné naissance au standard SQL, normalisé en 1986 au États-Unis par l'ANSI[1] pour donner SQL/86 (puis au niveau international par l'ISO[2] en 1987).
Définition : SQL
Sous-ensembles de SQL : LDD, LCD, LMD, LCT
SQL est un langage déclaratif, il n'est donc un langage de programmation complet, mais plutôt une interface standard pour accéder aux bases de données. Il est composé de quatre sous ensembles :
Le Langage de Définition de Données (LDD[6], ou en anglais DDL, Data Definition Language) pour créer et supprimer des objets dans la base de données (tables, contraintes d'intégrité, vues, etc.).
Exemple de commandes :
CREATE DROP ALTER
Le Langage de Contrôle de Données (LCD[7], ou en anglais DCL, Data Control Language) pour gérer les droits sur les objets de la base (création des utilisateurs et affectation de leurs droits).
Exemple de commandes :
GRANT REVOKE
Le Langage de Manipulation de Données (LMD[8], ou en anglais DML, Data Manipulation Language) pour la recherche, l'insertion, la mise à jour et la suppression de données. Le LMD est basé sur les opérateurs relationnels, auxquels sont ajoutés des fonctions de calcul d'agrégats et des instructions pour réaliser les opérations d'insertion, mise à jour et suppression.
Exemple de commandes :
INSERT UPDATE DELETE SELECT
Le Langage de Contrôle de Transaction (LCT, ou en anglais TCL, Transaction Control Language) pour la gestion des transactions (validation ou annulation de modifications de données dans la BD).
Exemple de commandes :
COMMIT ROLLBACK
Conseil : Le SQL, c'est du code informatique, il faut le faire fonctionner
Le code SQL est fait pour être testé. Cela peut être fait simplement grâce à des interfaces en ligne comme :
Conseil : Alimenter vos bases de données
Une base de données sans données, c'est au mieux une base, mais pas une base de données. Ce n'est pas suffisant pour être testé.
Pour tester une base de données et voir si elle fonctionne, il faut l'alimenter avec des données, pour vérifier qu'elle permet effectivement de faire ce que l'on souhaite.
Conseil : Utiliser une référence en ligne
Utiliser une référence correspondant à son SGBDR.
Dans le doute PostgreSQL est un des SGBDR les plus proches du standard et dont la documentation est très complète : https://docs.postgresql.fr.
Complément : Versions de SQL
SQL-86 (ou SQL-87) : Version d'origine
SQL-89 (ou SQL-1) : Améliorations mineures
SQL-92 (ou SQL-2) : Extensions fonctionnelles majeures (types de données, opérations relationnelles, instruction LDD, transactions, etc.
SQL-99 (ou SQL-3) : Introduction du PSM[10] (couche procédurale sous forme de procédure stockées) et du RO[11]
SQL-2006 : Améliorations mineures (pour XML notamment)
SQL-2008 : Améliorations mineures (pour le RO notamment)
Les SGBD acceptent ou non certaines fonctions en fonction leur niveau d'implémentation de SQL. Certains SGBD ont implémenté des fonctions avant leur standardisation SQL, en conséquence elles peuvent différer du standard.
Fondamental : Référence SQL : SQL-99 complete, really
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.