192
Chapitre 7 • Applications avancées en SQL
peut ajouter le cadeau dès que le montant dépasse 2.000 et que le cadeau n’a
pas encore été ajouté.
7.13 On ajoute à la table COMMANDE une colonne MONTANT, qui donne le
montant total des détails de chaque commande. Ces valeurs sont évidemment
calculables à partir des valeurs de QCOM de DETAIL et de PRIX de
PRODUIT. Ecrire les déclencheurs qui gère les valeurs de cette nouvelle
colonne.
7.14 Ajouter au schéma de la base de données 3.5 les éléments suivants : des
colonnes QREAPPRO, QCOM_MIN et QCOM de PRODUIT, indiquant
respectivement le seuil et la quantité minimum de réapprovisionnement, et la
quantité commandée aux fournisseurs mais non encore livrée; une table
FOURNISSEUR; une table OFFRE indiquant à quelles conditions un
fournisseur peut livrer un produit : quantité minimum, prix unitaire fixe, frais
de transport fixes; enfin une table COM_FOURN qui décrit les commandes de
réapprovisionnement effectuées pour un produit et envoyées à un fournisseur.
Lorsqu’un produit tombe en dessous de son seuil de réapprovisionnement, on
calcule la quantité à commander, puis on recherche le fournisseur qui peut
réapprovisionner au meilleur prix. On passe alors commande à ce fournisseur
pour ce produit. Construire un système à base de déclencheur qui crée
automatiquement les commandes de réapprovisionnement.
Suggestion. On admet qu’en fin de journée on lance une requête d’ajustement
de QSTOCK de PRODUIT (voir 5.8.3). La modification de cette colonne
déclenche une réaction de vérification de la quantité à commander
éventuellement, de choix du fournisseur et de création d’une commande.
Attention : on ne réagira que si QSTOCK + QCOM est trop faible. On peut
d’ailleurs lancer une commande fournisseur alors que d’autres sont encore en
attente.
7.5.3 Les données temporelles
7.15 On considère la table temporelle H_CLIENT de la figure 7.2. Rechercher les
numéros des clients qui ne sont plus actifs.
7.16 On considère la table temporelle H_CLIENT de la figure 7.2. Rechercher,
pour chaque client, la (les) localité(s) dans laquelle (lesquelles) ce client a été
classé dans la catégorie de plus haut niveau dans son existence.
7.17 La table COMMANDE comprend les colonnes (NCLI,DATECOM) qui
pourraient être considérées comme formant une clé étrangère temporelle vers
la table H_CLIENT. Ecrire une requête qui affiche, pour chaque commande,
le nom et la localité du client au moment indiqué par DATECOM.
Chapitre 7 • Applications avancées en SQL
peut ajouter le cadeau dès que le montant dépasse 2.000 et que le cadeau n’a
pas encore été ajouté.
7.13 On ajoute à la table COMMANDE une colonne MONTANT, qui donne le
montant total des détails de chaque commande. Ces valeurs sont évidemment
calculables à partir des valeurs de QCOM de DETAIL et de PRIX de
PRODUIT. Ecrire les déclencheurs qui gère les valeurs de cette nouvelle
colonne.
7.14 Ajouter au schéma de la base de données 3.5 les éléments suivants : des
colonnes QREAPPRO, QCOM_MIN et QCOM de PRODUIT, indiquant
respectivement le seuil et la quantité minimum de réapprovisionnement, et la
quantité commandée aux fournisseurs mais non encore livrée; une table
FOURNISSEUR; une table OFFRE indiquant à quelles conditions un
fournisseur peut livrer un produit : quantité minimum, prix unitaire fixe, frais
de transport fixes; enfin une table COM_FOURN qui décrit les commandes de
réapprovisionnement effectuées pour un produit et envoyées à un fournisseur.
Lorsqu’un produit tombe en dessous de son seuil de réapprovisionnement, on
calcule la quantité à commander, puis on recherche le fournisseur qui peut
réapprovisionner au meilleur prix. On passe alors commande à ce fournisseur
pour ce produit. Construire un système à base de déclencheur qui crée
automatiquement les commandes de réapprovisionnement.
Suggestion. On admet qu’en fin de journée on lance une requête d’ajustement
de QSTOCK de PRODUIT (voir 5.8.3). La modification de cette colonne
déclenche une réaction de vérification de la quantité à commander
éventuellement, de choix du fournisseur et de création d’une commande.
Attention : on ne réagira que si QSTOCK + QCOM est trop faible. On peut
d’ailleurs lancer une commande fournisseur alors que d’autres sont encore en
attente.
7.5.3 Les données temporelles
7.15 On considère la table temporelle H_CLIENT de la figure 7.2. Rechercher les
numéros des clients qui ne sont plus actifs.
7.16 On considère la table temporelle H_CLIENT de la figure 7.2. Rechercher,
pour chaque client, la (les) localité(s) dans laquelle (lesquelles) ce client a été
classé dans la catégorie de plus haut niveau dans son existence.
7.17 La table COMMANDE comprend les colonnes (NCLI,DATECOM) qui
pourraient être considérées comme formant une clé étrangère temporelle vers
la table H_CLIENT. Ecrire une requête qui affiche, pour chaque commande,
le nom et la localité du client au moment indiqué par DATECOM.
