PCSI 1 Dumont d’Urville 2013-2014
Langage de manipulation de données : obtention d’informations, langage SQL
Un peu d’histoire
Les bases de données relationnelles sont issues des travaux d’IBM durant la période des années 60. C’est E.F.
Codd, directeur du centre de recherches d’IBM à San José, qui invente en 1970 ( article publié à cette date) le
modèle relationnel que l’on utilise.
De 1974 à 1979, IBM travaille sur un prototype de bases de données relationnelles reposant sur la théorie de
Codd, et le langage de programmation de ce système est appelé SEQUEL ( Structured English Query Langage
en anglais).
En s’enrichissant, ce langage sera rebaptisé SQL ( pour des raisons phonétiques)
De 1978 à 1986, plusieurs langages concurrents sont développés par différentes sociétés ( Oracle, TeraData,
RTI...)
En 1986 ,l’ANSI ( American National Standard Institute) normalise pour la première fois le langage SQL, et
le SQL est adopté comme norme internationale en 1987 par l’organisation internationale de normalisation (
International Organisation for Standardization - ISO)
Microsoft n’entre sur le marché des éditeurs de SGBD ( Système de Gestion de Bases de Données) qu’en 1994.
Le succès du langage SQL est dû en grande partie à sa normalisation.
Phénomène rare dans le domaine de l’informatique, ce langage a été adopté paar pratiquement tous les éditeurs
de SGBD commerciaux.
Catégories d’instructions du langage SQL
Les instructions du langage SQL sont regroupées en cinq catégories en fonction de leur utilité et des entités
manipulées.
Le langage de définition des données ( Data Definition Language, soit DDL) permet de créer, modifier
et supprimer des relations dans des bases de données.
Les instructions du DDL sont : CREATE, ALTER, DROP , RENAME , TRUNCATE .
Le langage de manipulation des données ( Data Manipulation Language, soit DML en anglais) permet
l’extraction, l’ajout, la suppression et la modification des données de la base de données.
Les instructions du DML sont : SELECT , INSERT, UPDATE, DELETE.
Le langage de protection d’accès ( Data Control Language, soit DCL en anglais) s’occupe de gérer les
privilèges accordés aux utilisateuurs, comme les droits d’accès aux tables.
Les instructions du DCL sont GRANT, REVOKE.
Les deux autres catégories sont le langage de contrôle des transactions ( TCL) et le SQL intégré, qui ne sont
pas à notre programme.
Les bases de données servant pour les exemples sont :
•la base cinéma, dont le schéma relationnel est le suivant :
personne(idPersonne,nom,prenom)
film( idFilm,idRéalisateur,titre,genre,année)
jouer(idActeur,idFilm,rôle)
cinema ( idCinema,nom,adresse)
projection( idCinema,idFilm,jour)
Avec les clés étrangères suivantes :
dans film : idRéalisateur fait référence à la relation personne
dans jouer : idActeur fait référence à la relation personne et idFilm fait référence à la relation film
dans projection : idCinema fait référence à la relation cinema et idFilm fait référence à la relation film
1