Les déclencheurs et les procédures stockées avec Postgresql :
Etude de cas

Résumé

Vous mettez en oeuvre ici les procédures stockées et les triggers étudiés dans le cour associé.


Table des matières

Contexte
Règles de gestion
Travail a faire
Gilles Thomassin
Julien Legrand

La base correspondant au MEA ci-dessous, nommée baseCommerciale, est une gestion classique des commandes :

  • Chaque jour, la table des commandes a passer est listée, les commandes correspondantes sont passées et la table des commandes a passer est vidée.
  • Lorsqu un produit est réceptionné, il faut mettre a jour le prix unitaire moyen du produit, sa quantité en stock et la quantité commandée (qui diminue si elle n est pas a 0).
  • Lorsqu une ligne de commande est insérée :
  • il faut valoriser le prix de vente. Le prix auquel le client achète est égal au prix unitaire moyen du produit commandé majoré de 10%. Ce prix est enregistré dans la ligne de commande.
  • Si la quantité en stock a laquelle on enlève la quantité réservée est suffisante pour satisfaire le client alors on passe le champ ok a vrai dans la ligne de commande et on diminue le stock. Sinon ok reste à faux et c est la quantité réservée du produit qui augmente.

  • Quand le stock varie, si diminution :
  • Si la nouvelle quantité en stock + la quantité commandée - la quantité réservée atteint le stock d alerte, il faut insérer une ligne dans la table des commandes a passer.
  • La quantité commandée est celle qui est prévue pour le produit concerné. La quantité commandée (dans produit) augmente alors d autant.

  • Quand le stock varie, si augmentation :
  • En cas d augmentation, on va servir les lignes de commande non ok qui concernent le produit.
  • La quantité réservée du produit diminue alors, ok passe a vrai, et la quantité en stock du produit diminue.

  • Lorsque la quantité réservée d un produit augmente il est nécessaire de vérifier s il est nécessaire de passer commande(voir diminution du stock).

Après avoir créé la base et y avoir inséré un jeu d essais, implémentez les triggers nécessaires et vérifiez le bon fonctionnement de l ensemble.