Vous êtes sur la page 1sur 5

CORRIGE DS P7 07/04/22 – BEN ET FILS

A - Exploitation de la base de données


1. Présenter le schéma relationnel relatif au schéma physique figurant sur l’annexe 1.
MATIERE(CodeMatiere, LibMatiere, Conditionnement, PrixAchMat, PoidsNetMatiere)
ATELIER(CodeAtelier, LibAtelier, TauxMOD, CUO_Atelier)
PRODUIT(CodeProd, LibelleProd, GENCOD, TVA, UniteVente, PrixVente, Casier, PoidsNet, PoidsBrut, TempsMOD, TempsMachine, QtesAconditionner, #CodeMatiere ,
#CodeAtelier)
ORDRE FABRICATION(NumLot, DateFabri, DLUOConditionnee, QtesConditionnees, CtrPeseeO/N, #CodeProd)
LIG_COMMANDE(#NumCde, #CodeProd, QtesCom, QtesLiv, #NumLot)
COMMANDE_CLT(NumCde, DateCde, DteLiv, #NumCli)
CLIENT(NumCli, NomCli, AdrRueCli, AdrCpCli, AdrVilleCli, TelCli)

2. Rédiger la requête SQL qui permet d’obtenir les données figurant dans l’état de l’annexe 3.
SELECT NumLot, DateFabri, DLUO Conditionnee, Produit.CodeProd, LibelleProd, QtesConditionnees
FROM PRODUIT, [ORDRE FABRICATION]
WHERE [ORDRE FABRICATION].CodeProd = PRODUIT.CodeProd
AND DLUOConditionnee BETWEEN #01/05/2016# AND #31/05/2016#;

3. Rédiger la requête SQL qui permet d’obtenir la liste des produits (Code, Libellé) qui ont été commandés depuis janvier 2012.
SELECT DISTINCT CodeProd, LibelleProd
FROM PRODUIT, LIG_COMMANDE, COMMANDE_CLT
WHERE PRODUIT.CodeProd = LIG_COMMANDE.CodeProd
AND LIG_COMMANDE.NumCde = COMMANDE_CLT.NumCde
AND DateCde >= #01/01/2012#;

4. Rédiger la requête SQL qui permet d’obtenir le nombre de client ayant passé une commande en mai 2016.
SELECT Count (*) AS [Nombre clients]
FROM CLIENT, COMMANDE_CLT
WHERE CLIENT.NumCli = COMMANDE_CLT.NumCli
AND DateCde BETWEEN #01/05/2016# AND #31/05/2016#;
5. Rédiger la requête SQL qui permet d’obtenir le nombre de produit par atelier.
SELECT CodeAtelier, Count (*) AS [Nombre de produits]
FROM PRODUIT,ATELIER
WHERE PRODUIT.CodeAtelier=ATELIER.CodeAtelier
GROUP BY CodeAtelier ;

6. Rédiger la requête SQL qui permet d’obtenir la liste des produits (Code, Libellé) conditionnés dans l’atelier numéro 4.
SELECT CodeProd, LibelleProd
FROM PRODUIT,ATELIER
WHERE PRODUIT.CodeAtelier=ATELIER.CodeAtelier
AND CodeAtelier = 4 ;

7. Modifier les fiches de tous les produits listés dans la question précédente, afin de les affecter à l’atelier numéro 3.
UPDATE PRODUIT
SET CodeAtelier = 3
WHERE CodeAtelier = 4 ;

8. Rédiger la requête SQL nécessaire à la suppression de l’atelier numéro 4.


DELETE
FROM ATELIER
WHERE CodeAtelier = 4 ;
Laboratoire


Fiche produit + 
Double de la Fiche produit
commande spéciale complétée

① Commande spéciale  Double commande

 Courrier de rejet de commande Demande réalisable Atelier


Service 13 Ordre de
Client Demande non Service fabrication
commercial
 Demande d’accord  Prix de la commande fabrication
12 Confirmation de
11 Accord la commande
client
 
Demande Prix de
de prix vente

Contrôle de
gestion
points
2)
Client Service commercial Service fabrication Laboratoire Contrôle de gestion Atelier

Command
e
spéciale
Réception
demande

Double
Commande

Examen commande spéciale


Création fiche produit
MAJ Base de données
Non OK OK

Demande
non Double
réalisable Commande Fiche
spéciale produit
Rédaction courrier pour
demande non réalisable.
Courrier de ET
rejet de
commande
Vérification proportions
Demande Compléter fiche produit
réalisable Saisie proportions
dans la base
Saisie dans la base de Fiche produit
données : complétée
du numéro de commande,
de la date commande
Rédaction d’une
et du numéro client.
demande de prix.
Demande
Base de de prix
données mise à
jour
Client Service commercial Service fabrication Laboratoire Contrôle de gestion Atelier

Demande
de prix

Consultation des prix,


Détermination du coût
de revient,
Détermination du prix
de vente

Prix de
vente

Ajout du prix de
vente dans la fiche
Prix de la produit
commande

Rédaction d’une
demande d’accord Avec
Prix de la commande
Demande
d’accord

Accord
client
Réception accord
client
Confirmation de
la commande

Edition ordre de
fabrication
Ordre de
fabrication

Clien
t

Vous aimerez peut-être aussi