/* * 3-712-16 -- Gestion des bases de données * HEC Montréal * Travail Pratique 2 * Enseignant : * -Bogdan Negoita * * Instructions de remise : * -Répondre aux questions directement dans ce fichier .sql * -Remettez également le modèle logique en format PDF. -Les modèles logiques se construisent avec Visio 2013. Vous avez accès au téléchargment de Visio 2013 via MSDNAA et nous vous conseillons de l'utiliser. Vous pouvez aussi utiliser draw.io (https://www.draw.io/). Nous tolérerons toutefois des diagrammes faits à main levée pour autant qu'ils soient clairs et lisibles. * -A remettre via ZoneCours dans l'outil de remise de travaux * -Date de remise : voir la date de remise sur ZoneCours, aucun retard permis * * Correction : * -8% de la note finale, /8 * -Une question qui génère une erreur se verra attribuer la note de 0 automatiquement * */ USE AdventureWorks2014 GO /* Mise en contexte : Ayant fait un bon travail dans les dernières semaines, le mot court chez AdventureWorks que vous êtes rendu la nouvelle vedette "Data"... Vous êtes désormais responsable pour répondre aux demandes ad-hoc des utilisateurs d'affaires. (étude ad-hoc : étude ponctuelle réalisée pour un seul demandeur) */ /* Question #1 : Le directeur des ventes vous demande des informations supplémentaires, sur les tables suivantes: -Purchasing.PurchaseOrderHeader -Purchasing.PurchaseOrderDetail -Production.Product a) Préparez le modèle logique de ces tables pour lui présenter. Le model logique doit inclure les 3 tables, leur noms, leur colonnes, et leur clefs correctement identifiées (PK ou FK). Le modèle doit aussi inclure les cardinalités que vous avez trouvé au point b). b) Puisqu'il y a 3 tables, il y aura donc 2 cardinalités à identifier. Utilisez des requêtes pour trouver et prouver les cardinalités. Expliquez votre raisonnement. Completez le modèle logique des 3 tables avec les cardinalités que vous avez trouvé. */ --a) et b) : remettre le fichier avec le modèle logique en format *.vsd (Visio 2013), *.pdf, or scanned sur ZoneCours --b) insérez les requêtes et vos explications des cardinalités ci-bas : /************************************************************ Note : il y a plusieurs manières de prouver les cardinalités, expliquez votre approche. ************************************************************/ /******PurchaseOrderHeader (x..x) -- (x..x) PurchaseOrderDetail****/ /************************************************************/ /************************************************************/ /******PurchaseOrderDetail (x..x) -- (x..x) Product*************/ /************************************************************/ /* Question #2 : Le responsable des ventes vient vous voir à nouveau. Tout comme il y a deux semaines, il veut une liste restreinte de produits qui peuvent être vendus à l'heure actuelle. En plus, il veut voir les ID des vendeurs (si disponible) de ces produits. Le responsable des ventes prend la peine de vous indiquer que la liste résultante devrait contenir que les codes de produits, leur nom, leur prix correspondant, et le ID du vendeur (si disponible). */ /* Question #3 : Toujours pour cette même liste (produits qui peuvent être vendus à l'heure actuelle), je veux analyser les couts des achats de ces produits depuis le 2014-01-01 jusqu'à présent. Pour chaque produit dans cette liste, affichez : -le code du produit, -le nom du produit, -le nombre de fois qu'il a été acheté -le montant total en dollars correspondant. Je ne veux conserver que les cas ou on a achete le produit plus de 10 fois. Faites un tri par la somme des achats pour que ce soit compréhensible! */ /* Question #4 : Toujours pour cette même liste (produits qui peuvent être vendus à l'heure actuelle), je veux analyser les coûts des rejets parmi nos achats de ces produits. Pour chaque produit dans cette liste, affichez : -le nom du vendeur, -le code du vendeur, -le nombre de fois qu'un vendeur a eu des produits rejeté -le montant total en dollars de ces rejets. Faites un tri descendant par le nombre de fois qu'un vendeur a eu des produits rejeté. */