Vous êtes sur la page 1sur 4

Atelier_Bases de données Dr.

Mouna BELHAJ

TD : SQL 2

I. Langage de définition de données LDD


A. Les tables
Soit la base de données suivante :

1. Ecrire la requête permettant de créer la table voiture.


 Tous les champs sont obligatoires sauf l’attribut couleur.
 Les seules valeurs acceptables pour Marque sont «HONDA»,
«TOYOTA», «NISSAN ».
2. Ecrire la requête permettant de créer la table propriétaire : Tel est
un champ optionnel, attribuer un nom à chacune des contraintes.
3. Ecrire la requête permettant de créer la table
Proprietere_Voiture sans les clés étrangères.
4. Ecrire les requêtes permettant d’ajouter les contraintes de clés
étrangères propV_Prop_FK et propV_Voit_FK dans la table
« Proprietere_Voiture ».
5. Ecrire la requête permettant de modifier le type de la colonne Tel.
6. Ecrire la requête permettant de supprimer la contrainte sur le nom
dans la table « Propriétaire ».
Atelier_Bases de données Dr. Mouna BELHAJ

7. Ecrire la requête permettant de s’assurer que la base de données ne


permettra pas à la valeur de Permis d’être insérée dans une nouvelle
ligne si cette valeur a déjà utilisé dans une autre ligne.
8. Ecrire la requête permettant d’ajouter un attribut Adresse à la table
propriétaire. Il est de 30 caractères de large.
9. Ecrire la requête permettant de retirer la colonne couleur de la table
de la « Voiture ».
10. Ecrire la requête permettant de renommer la table « voiture » en
« vehicule ».
11. Ecrire la requête permettant la suppression de table
« proprietaire_voiture ».
B. Les vues
Une vue est une table calculée (crée) à partir des tables de base grâce à
une requête.
12. Ecrire la requête permettant de créer la vue EmployesDept20
contenant l’id, le nom et le prénom des employés du département 20.
13. Ecrire la requête permettant consulter son contenu.
14. Ecrire la requête permettant de supprimer la vue.
II. Langage de Manipulation de données LMD
A. Insertion
1. Ajouter une ligne dans la table départements de la base HR.
2. Ajouter le département achat, son numéro est 30.
3. Insérer dans la table SalesRep supposée déjà créée, toutes les lignes
contenant des employés dont le Job_id contient la chaine 'REP'.
B. Mise à jour
1. Modifier le département de l’employé 113 le mettre dans le

département 50.
2. Affecter le poste et le salaire de l’employé 205 à l’employé 113.

C. Suppression
Atelier_Bases de données Dr. Mouna BELHAJ

1. Supprimer le département Finance.

2. Supprimer les employés du département 'Marketing'.

III. Le langage de contrôle des données : LCD

A. Privilèges système
Un ordre SQL a au moins un privilège système associé qui porte le même
nom que l’ordre SQL (Il existe plus d'une centaine de privilèges système
différents).

Exemple: L’ordre SQL CREATE TABLE possède le privilège système


associé, CREATE TABLE.

 Attribuer un privilège système à un utilisateur


GRANT nom_privilège
TO { nom_utilisateur | PUBLIC }
[ WITH ADMIN OPTION ] ;
 Révoquer un privilège système à un utilisateur

REVOKE nom_privilège
From { nom_utilisateur | PUBLIC};
a. L’utilisateur Etudiant n’a aucun privilège ou droit de connexion,
création ou de manipulation des données. Attribuer les privilèges
système à cet utilisateur.
b. Lui assigner des droits de création de tables et d’utilisateurs.
c. Lui donner les droits de création de vues et lui permettre de l’attribuer
à d’autres utilisateurs.
d. Enlever le droit de créer des vues pour cet utilisateur.
e. Accorder tous les privilèges d’un administrateur à l’utilisateur
etudiant.
f. Enlever tous les privilèges attribués à cet utilisateur.
B. Privilèges objet
Les privilèges objet sont :
Atelier_Bases de données Dr. Mouna BELHAJ

◦ SELECT : droit de lecture


◦ INSERT : droit d’insertion de lignes
◦ UPDATE : droit de modification de lignes
◦ DELETE : droit de suppression de lignes
◦ ALL Privileges: Tous les droits
 Attribuer un privilège objet à un utilisateur

GRANT { nom_priv_obj [(liste_colonnes)| ALL [ PRIVILEGES ]}

ON [ nom_schema.] nom_object

TO { nom_utilisateur| PUBLIC }

[ WITH GRANT OPTION ];

 Révoquer un privilège objet à un utilisateur

REVOKE { nom_priv_obj | ALL [ PRIVILEGES ] }

ON [ nom_schema. ] nom_object

FROM { nom_utilisateur| PUBLIC } ;

a. Attribuer les privilèges objet de sélection et d’insertion dans la table


« EMPLOYEES » de l’utilisateur HR à l’utilisateur Etudiant.
b. Attribuer le privilège de mise à jour de la colonne
DEPARTMENT_NAME de la table « DEPARTMENTS» de
l’utilisateur HR à l’utilisateur Etudiant, et lui permettre d’attribuer
ce privilège à d’autres utilisateurs.
C. Création d’un utilisateur
CREATE user nom_user
IDENTIFIED BY password ;
Exemple:
Create user Etudiant; identified by mdp_etud;

Vous aimerez peut-être aussi