Académique Documents
Professionnel Documents
Culture Documents
Rq2 : Créer une vue « Rq2 » pour afficher le CA par client et par année.
create view Rq2 as select CodeClient, Societe, extract(year from DateCommande) as Ann,
SUM(Prixunitaire*Quantite*(1-Remise/100)) as CA
FROM Clients, Commandes, Lignecommandes, Produits
WHERE Clients.IDClient=Commandes.Idclient
1
Cours : BDD Avancées : BDDR et SQL
TP : N°1 Prof : A. Benmakhlouf Site Web : www.cours-informatique.be.ma
AND Commandes.Idcommande=Lignecommandes.Idcommande
AND Lignecommandes.Idproduit=Produits.Idproduit
GROUP BY CodeClient, Societe, extract(year from DateCommande);
Rq3: créer une vue « Rq3 » pour afficher le meilleur CA par années
Rq4: en utilisant les sous requêtes Rq2 et Rq3, afficher le client qui a réalisé ce meilleur CA par année
2
Cours : BDD Avancées : BDDR et SQL
TP : N°1 Prof : A. Benmakhlouf Site Web : www.cours-informatique.be.ma
Rq5:
a- Reprenez la requête « Rq4 » mais cette fois en utilisant les vues matérialisées suivantes :
MVRq2 qui affiche les mêmes données que Rq2
3
Cours : BDD Avancées : BDDR et SQL
TP : N°1 Prof : A. Benmakhlouf Site Web : www.cours-informatique.be.ma
Dans le cas de l’utilisation des sous requêtes le temps d’exécution va nettement diminuer si on transforme les
sous-requêtes en Vue Matérialisées.
Rq7- Afficher les commandes réalisé le mois dernier puis analyser cette requête pour vérifier si elle
valable quel que soit la data actuelle.
Problème si le mois actuel est 1 (janvier). pour résoudre ce problème il faut introduire un
traitement conditionnel.
4
Cours : BDD Avancées : BDDR et SQL
TP : N°1 Prof : A. Benmakhlouf Site Web : www.cours-informatique.be.ma
Rq9- créer une vue « Rq8 » pour afficher les catégories des produits commandées par clients
5
Cours : BDD Avancées : BDDR et SQL
TP : N°1 Prof : A. Benmakhlouf Site Web : www.cours-informatique.be.ma
Rq10- créer une vue « Rq9 » pour afficher les catégories des produits non encore commandées par
chaque client
Rq11- En utilisant la vue Rq9, afficher les clients qui ont commandé les produits de toutes les
catégories.
Rq12- Les produit les plus commandés pour chaque année avec un nombre de commande Max >=10 :
AND Lignecommandes.Idproduit=Produits.Idproduit
GROUP By extract(year from datecommande), Produits.IDproduit, Designation;