Académique Documents
Professionnel Documents
Culture Documents
Annexe 1 :
Le Langage SQL
Houneida HADDAJI 41
Atelier Bases de Données Annexe 1 : SQL
I. Présentation du SQL
Le langage SQL (Structured Query Language) en français langae de requeêtes
structurées, est un langage de gestion de bases de données relationnelles intégré
dans la majorité des SGBDR.
SQL est développé par la société IBM dans les années 70.
Il est basé sur l’algèbre relationnel (opérations ensemblistes et relationnelles).
SQL est composé de 4 sous ensembles de langages :
o un langage de définition de données : (LDD), c'est-à-dire qu'il permet de
créer des tables dans une base de données relationnelle, ainsi que d'en
modifier ou en supprimer.
o un langage de manipulation de données : (LMD), cela signifie qu'il
permet de sélectionner, insérer, modifier ou supprimer des données dans
une table d'une base de données relationnelle.
o Un langage de contrôle de données : (LCD) Il est possible avec SQL de
définir des permissions au niveau des utilisateurs d'une base de données.
On parle de DCL (Data Control Language).
Houneida HADDAJI 42
Atelier Bases de Données Annexe 1 : SQL
Exemple1:
CREATE TABLE Client (NumCl NUMBER (8) PRIMARY KEY,
NomCl VARCHAR (20),
VilleCl VARCHAR(20));
Exemple2:
CREATE TABLE Compte (NumCompte NUMBER(20),
Solde NUMBER(10),
NumCl NUMBER (8),
PPRIMARY KEY(NumCompte, NumCl),
CONSTRAINT fk FOREIGN KEY (NumCl) REFERENCES
Client);
Remarques:
On peut utiliser CREATE VIEW pour créer une vue, qui est une table crée à partir des
tables de la base.
Houneida HADDAJI 43
Atelier Bases de Données Annexe 1 : SQL
On peut utiliser CREATE INDEX pour créer un index, qui permet d’accélérer les
recherches d’informations.
Syntaxe 1 : Syntaxe 2 :
INSERT INTO nom_de_la_table INSERT INTO nom_de_la_table (attribut1,
VALUES ( valeur_attribut1, attribut2, .., attributN)VALUES(
valeur_attribut2,…., valeur_attribut1, valeur_attribut2, ..,
valeur_attributN); valeur_attributN);
Houneida HADDAJI 44
Atelier Bases de Données Annexe 1 : SQL
2- UPDATE
La commande UPDATE sert à modifier les valeurs des attributs d’un ou plusieurs lignes
sélectionnées.
Syntaxe :
UPDATE nom_de_la_table
SET attribut1 = nouvelle_valeur1, …, attributN =
nouvelle_valeurN
WHERE condition ;
3- DELETE
La commande DELETE supprime des lignes d’une relation. La clause WHERE est facultative et
sert à sélectionner les lignes à supprimer.
Syntaxe : DELETE FROM nom_de_la table WHERE condition ;
Exemple : DELETE FROM Client WHERE NumCl = 120 ;
Plusieurs personnes peuvent travailler simultanément sur une base de données. Toutefois, ces
personnes n'ont pas forcément les mêmes besoins : certaines peuvent par exemple nécessiter de
modifier des données dans la table, tandis que les autres ne l'utiliseront que pour la consulter.
Ainsi, il est possible de définir des permissions pour chaque personne en leur octroyant un mot
de passe.
Cette tâche incombe à l'administrateur de la base de données (en anglais DBA, DataBase
Administrator). Il doit dans un premier temps définir les besoins de chacun, puis les appliquer à
la base de données sous forme de permissions. Le langage SQL permet d'effectuer ces opérations
grâce à deux clauses :
• GRANT permet d'accorder des droits à un (parfois plusieurs sur certains SGBD) utilisateur.
• REVOKE permet de retirer des droits à un (ou plusieurs sur certains SGBD) utilisateur.
Les permissions (appelées aussi droits ou privilèges) peuvent être définies pour chaque (un grand
nombre) clause. D'autre part, il est aussi possible de définir des rôles c'est-à-dire de permettre à
d'autres utilisateurs d'accorder des permissions.
1- La clause GRANT
Permet au propriétaire d’une table ou vue de donner à d’autres utilisateurs des droits d’accès à
celles-ci.
Syntaxe : GRANT Liste_Privilège ON Table/ Vue TO Utilisateur [WITH GRANT OPTION];
Les privilèges sont :
SELECT : droit de lecture
INSERT : droit d’insertion de lignes
UPDATE : droit de modification de lignes
DELETE : droit de suppression de lignes
ALTER : droit de modification de la structure de la table
Houneida HADDAJI 45
Atelier Bases de Données Annexe 1 : SQL
2- La clause REVOKE
Un utilisateur ayant accordé un privilège peut le supprimer à l’aide de la commande REVOKE.
Syntaxe : REVOKE Liste_Privilège ON Table/Vue FROM Utilisateur;
Exemple: REVOKE SELECT ON Produit FROM User1;
Houneida HADDAJI 46