Vous êtes sur la page 1sur 1

TD Bases de données 3

Exercice 1

Une société qui commercialise des produits sur commande personnalisée gère la base de données suivante.
Dans cette base, le client ne commande qu’un seul produit par commande.

Client (numclient, nom, prenom, datenaiss, Ville)

Produit (numprod, designation, prixunit, qte_stock)

Commande (#numcl, #nump, date_cde, quantite)

1. Formuler les requêtes SQL permettant de retourner :


- La liste des clients (nom et prenom) ayant commandé le produit numéro 105.
- Les noms des clients ayant commandé un produit de prix supérieur ou égal à 300 DNT.
2. Créer une vue V_clientproduit permettant de visualiser les caractéristiques des produits commandés par
chaque client : numclient, nom, prenom, numprod, designation, quantité, prixunit et datecde.
3. Lister le contenu de la vue V_clientproduit.
4. Reformuler les requêtes de la question1 en utilisant la vue V_clientproduit.
5. Formuler les requêtes suivantes en utilisant la vue V_clientproduit :
- Pour chaque client, prix du produit commandé le plus cher.
- Pour chaque client dont le prénom se termine par la lettre ‘e’, prix moyen des produits commandés.
6. Créer une vue V_clientpro basée sur V_clientproduit permettant d’afficher seulement nom, prenom et
designation pour les commandes du mois de mai 2020.
7. On voudrait matérialiser la vue V_clientproduit en l’appelant VM_clientproduit.
8. Formuler les requêtes suivantes en utilisant la vue VM_clientproduit :
- Les totaux des montants commandés par les différents clients.
- Numéros des produits commandés plus de deux fois.
9. La vue VM_clientproduit doit être mise à jour. Créer une procédure stockée qui permet de mettre à jour
la vue matérialisée (sur demande).
10. On souhaiterait remplacer la mise à jour sur demande par une mise à jour automatique. Pour ce faire :
a. Créer un trigger qui permet de mettre à jour VM_clientproduit pour chaque nouvelle commande.

Vous aimerez peut-être aussi