dimanche 14 juillet 2013

Examen de Fin de Module

Programmation des procédures Stockées et des Triggers / EFM 
variante 2


Une épicerie souhaite disposer d'une application informatique pour la gestion de ses tâches quotidiennes. L'analyse nous a conduit à produire la base de données suivante :
·          Produit (RéférencePro, DésignationPro, PUPro, QtéStock)
·          Client (NumClient, NomClient, PrénomClient, TypeClient, MontantTotalVente)
·          Fournisseur(CodeFou, RaisonSocialeFou, AdresseFou)
·          Vente(NumVente, DateVente, NumClient, Payé, NombreProduits)
·          ProduitsVendus(NumVente, RéférencePro, QtéVendue)
·          Entrées(NumEntrée, DateEntrée, QtéEntrée, RéférencePro, CodeFou)

Remarques pratiques :
·          Le numéro d'entrée est un numéro automatique ;
·          Deux produits ne peuvent pas avoir la même désignation et deux fournisseurs ne peuvent pas avoir la même raison sociale
·          Le champ payé ne peut prendre que les valeurs 0 ou 1 (Vrai ou Faux) ;

Partie I : Créer les procédures stockées suivantes :
PS1.      Qui reçoit un Numéro de client et enregistre une vente pour ce client dans la table Vente sachant que......................... 3
S  Le numéro de vente  est calculé automatiquement. Le système recherche le dernier numéro de vente et l'incrémente de 1
S  La date de vente prend la date du jour
S  Le champ Payé prend la valeur 0
PS2.      Qui valide le paiement d'une vente dont le numéro est donné en paramètre (Valeur 1 pour le champ Payé)............... 1
PS3.      Qui supprime tous les clients n'ayant pas de ventes associées et tous les fournisseurs n'ayant fournis aucun produit 2
PS4.      Qui reçoit un numéro de vente et qui retourne en sortie le montant total pour cette vente............................................... 2
PS5.      Qui permet d'enregistrer une entrée en stock d'un produit. La procédure reçoit en entrée la raison sociale d'un fournisseur, la date d'entrée (si l'utilisateur n'a fourni aucune date, elle prendra par défaut la date du jour), la désignation d'un produit et la quantité à introduire. Avant d'enregistrer l'entrée en stock, cette procédure vérifie que le produit et le fournisseur donné existent et que la quantité est positive. Si ce n'est pas le cas, la procédure affiche un message d'erreur système et retourne un code d'erreur 1. Sinon l'entrée est enregistrée........................................................................................................................................................... 6
PS6.      Qui affiche pour un client donné en paramètre, la liste des ventes impayées entre deux dates également données en paramètre (pour chaque vente on a besoin du numéro, de la date et du montant de la vente)........................................................... 3
PS7.      Qui reçoit un numéro de vente. Vérifie si  la vente est payé Si ce n'est pas le cas le système affiche le message 'Vente non encore validée) sinon un reçu est affiché pour le client. Il a la forme suivante :.............................................................................. 4
Reçu pour la vente n° : 345 qui a lieu le : 25/02/2006
Pour le client numéro : C8                                Nom : Salim         Prénom : Hassan

Liste des produits :
Référence
Désignation
Prix Unitaire
Quantité
Montant
R4-3
R8
R3-1
Limonade Coca Cola 1L
Thon à la tomate Isabelle
Centrale 1/2 Litre de Lait
  5.5
6
3
2
1
5
11
  6
15

Total payé : 32 DH
PS8.      Qui pour chaque vente, affiche les informations sur le client et la liste des produits.......................................................... 2

Partie II : Créer les triggers suivants
TR1.  Qui s'assure que le champ payé ne prend que les valeurs 0 ou 1........................................................................................... 1
TR2.  Qui à l'enregistrement d'un produit pour une vente, n'enregistre que les produits ayant une quantité Vendue positive. Les autres sont ignorés...................................................................................................................................................................................... 3
TR3.  Qui à la suppression d'un produit d'une vente vérifie s'il s'agit du dernier produit pour cette vente. Si c'est le cas supprime la vente concernée ........................................................................................................................................................................................ 3
TR4.  Qui à l'association de produits à des ventes, vérifie que le nombre de produits pour chaque vente ne dépasse pas 5 3
TR5.  Qui à l'enregistrement d'une entrée met à jour la quantité en stock dans la table Produit et le nombre de produits dans la table vente.............................................................................................................................................................................................. 3,5

TR6.  Qui à la suppression d'une vente met à jour le champ MontantTotalVentes de la table Client................................... 3,5

                                  Télecharger le fichier par ici :

1 commentaire: