TD N°5 : Le Langage SQL
Exercice 1 :
Soit la base Fabrication :
PIECE (NOP, DESIGNATION, COULEUR, POIDS)
SERVICE(NOS, INTITULE, LOCALISATION)
ORDRE(NOP*, NOS*, QUANTITE)
En faisant les suppositions suivantes :
• La quantité doit être supérieur à zéro
• Si un service est supprimé, l’ensemble de l’information qui en dépend doit être supprimée de
la base
• Si une pièce est supprimée, l’ensemble de l’information qui en dépend ne doit pas être
supprimée de la base.
Répondre aux requêtes suivantes en utilisant SQL :
1- Proposez une définition des trois tables en SQL qui prennent en compte les contraintes
d’intégrités ?
2- Créer une vue des numéros et désignation des pièces.
3- Donner les numéros de services ayant en commande la pièce P1 avec une quantité > à
10 dans l’ordre croissant.
4- Quel est le nombre total des services.
5- Quelle est la quantité moyenne commandée pour la pièce P3.
6- Quel est le nombre de services ayant des commandes.
7- Quelle est la liste des pièces commandées par le service S1 avec leur libellé et leurs
poids.
8- Quels sont les numéros des services qui ont commandé la pièce P3 avec une quantité
inférieure à la quantité moyenne commandée pour cette pièce.
9- Quelles sont les caractéristiques de chaque pièce ayant un poids < à la moyenne des
poids des pièces de leur couleur.
10- Quels sont les numéros et la désignation des pièces qui sont commandées par le
service ‘Diffusion’ ? Donnez 2 solutions : en utilisant une jointure et le prédicat IN.
11- Numéros des services ayant commandé au moins une pièce en quantité strictement
supérieur à chacune des quantités des pièces commandées par le service S1 ?
Exercice 2 :
Sur la même base de données de l’Exercice 2, exprimez les requêtes suivantes en SQL :
1- Quel est le nombre total des pièces de couleur rouge ?
2- Quel est le nombre des différents services ayant passé des
commandes d'une quantité qui dépasse 10 ?
3- Quelle est la quantité moyenne commandée pour les pièces faisant
l’objet de plus de trois commandes ?
4- Quels sont les numéros des services qui ont commandé toutes les pièces ?
5- Supprimer de la table Pièce toutes les informations concernant la pièce P3 ?
6- Ajouter à la table Pièce l’attribut Prix (NUMBBER (6,2)) sachant
que ce champ doit être non nul.
7- Attribuer le droit de mise à jour à l’utilisateur Mohamed ? 8-
Supprimer tous les droits de l’utilisateur Ali ?