Académique Documents
Professionnel Documents
Culture Documents
CAS NATURALIA
PRÉSENTATION DE L’ENTREPRISE
La société anonyme NATURALIA achète, traite, conditionne et commercialise des herbes aromatiques (thym,
laurier, estragon…), des légumes déshydratés (champignons, céleri, persil…) et des épices (poivre, curcuma, clous
de girofle…).
Les herbes, légumes et épices, achetés en vrac, sont traités dans un atelier de production. Ils peuvent être triés,
lavés, séchés, déshydratés, hachés ou moulus.
Leur conditionnement est fonction du type de clientèle :
- Les produits destinés aux industriels de l’alimentation ou aux artisans charcutiers sont vendus en sacs de
grande contenance (variable selon le produit).
- Les produits vendus par l’intermédiaire de la grande distribution, du commerce de proximité ou des
bouchers charcutiers, sont conditionnés en petits pots de verre ou en sachets.
Cette société a connu ces dernières années une croissance rapide, de l’ordre de 15 % par an.
Ses dirigeants ont été, jusqu’à présent, plus préoccupés par la conquête de nouveaux marchés et par les impératifs
de la production que par la gestion de l’entreprise.
Leur souhait est aujourd’hui de dépasser une vue à court terme afin de mieux gérer l’entreprise dont ils ont
l’impression de ne plus maîtriser totalement l’évolution.
Assistant(e) du contrôleur de gestion, vous devez, pour répondre à leurs attentes, réaliser différents travaux liés à
l’organisation du système d’information.
La progression régulière des activités de la société NATURALIA amène les dirigeants à réorganiser leurs locaux,
repenser le système d’information de manière à améliorer la maîtrise des coûts, et à intégrer un nouveau type de
produit basé sur des mélanges particuliers d’épices. Pour cela, l’application base de données existante de type
client/serveur va être complétée sous la conduite de M. FRANCOIS, contrôleur de gestion.
Pour répondre aux impératifs de gestion des stocks, M. FRANÇOIS vous demande d’exploiter la base de données
afin de trouver un certain nombre de renseignements.
TRAVAIL À FAIRE
À partir des annexes 1, 2 et 3 , répondez aux requêtes suivantes en complétant l’annexe A, à rendre avec
votre copie.
- 1 / 15 -
Un réaménagement des ateliers a été décidé par la direction, à cette occasion l’atelier numéro 4 va être supprimé.
Les produits conditionnés dans cet atelier seront désormais conditionnés dans l’atelier numéro 3.
TRAVAIL À FAIRE
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.
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.
8. Rédiger la requête SQL nécessaire à la suppression de l’atelier numéro 4.
Les dirigeants de la société NATURALIA souhaitent développer les commandes spéciales qui portent sur des
mélanges particuliers d’épices. Le client choisit les épices composant le mélange et leurs proportions en accord
avec le responsable de fabrication M. ANTHONY.
Pour mieux comprendre la gestion de ces commandes, vous avez un entretien avec ce responsable. À l’issue de
cette rencontre, vous devez formaliser les informations recueillies.
TRAVAIL À FAIRE
À l’aide des annexes 4, 5, A et B
1) Compléter le diagramme de flux du domaine « gestion des commandes spéciales » sur l’annexe B (à
rendre avec la copie).
2) Compléter le diagramme évènement résultat pour la « gestion des commandes spéciales » sur l’annexe C
(à rendre avec la copie).
- 2 / 15 -
Annexe 1 : Extrait du Schéma de la base de données du domaine « production »
MATIERE
LIG_COMMANDE COMMANDE_CLT
CodeMatiere
LibMatiere NumCde NumCde
Conditionnement CodeProd DateCde
PrixAchMat QtesCom DteLiv
PoidsNetMatiere QtesLiv NumCli
PRODUIT NumLot
CodeProd
LibelleProd CLIENT
GENCOD NumCli
TVA NomCli
UniteVente ORDRE AdrRueCli
PrixVente FABRICATION AdrCpCli
Casier AdrVilleCli
ATELIER NumLot
PoidsNet TelCli
CodeAtelier PoidsBrut DateFabri
LibAtelier TempsMOD DLUOConditionnee
TauxMOD TempsMachine QtesConditionnees
CUO_Atelier QtesAconditionner CtrPeseeO/N
CodeMatiere CodeProd
CodeAtelier
- 3 / 15 -
Annexe 3 : État mensuel des lots atteignant la DLUO
Cet état reprend les lots dont la date limite d’utilisation optimale (DLUO) expire dans le mois.
FICHE PRODUIT
Casier A01R10C150
QtesAconditionner : 10
- 4 / 15 -
Annexe 5 : Entretien avec le responsable fabrication
Vous : Bonjour, je vous remercie de me recevoir. Pourriez-vous me décrire précisément ce qu’est une
commande spéciale ?
M. ANTHONY (MA) : Quand un client veut un mélange d’épices spécifique, il passe une commande spéciale
MA : La commande spéciale est reçue par le service commercial. Ce service m’en transmet alors aussitôt un
double et j’examine si elle est ou non réalisable. Si cette commande ne peut pas être traitée, j’en
informe le service commercial qui avertit le client par courrier.
MA : Le laboratoire me la renvoie et je fais alors une demande de prix auprès du service contrôle de gestion.
Ce service consulte à l’ordinateur les informations sur le produit, en détermine le coût de revient et fixe
son prix de vente qu’il me transmet. Une fois le prix obtenu, je complète la partie concernant le prix de
vente de la fiche « produit ». J’avertis le service commercial qui, après avoir consulté le client, me
confirme la commande.
MA : Dès que la commande est confirmée, j’édite, pour la commande concernée, l’ordre de fabrication et je le
remets à un chef d’atelier. La production liée à la commande spéciale peut alors effectivement
commencer. Avez-vous d’autres questions ?
- 5 / 15 -
Annexe A : (à compléter et à rendre avec la copie) : Exploitation de la base de données
3. Rédiger la requête SQL qui permet d’obtenir la liste des produits (Code, Libellé) qui ont été commandés
depuis janvier 2023.
SELECT
FROM
WHERE
AND
AND
4. Rédiger la requête SQL qui permet d’obtenir le nombre de client ayant passé une commande en mai 2016.
SELECT
FROM
WHERE
AND
5. Rédiger la requête SQL qui permet d’obtenir le nombre de produit par atelier.
SELECT
FROM
WHERE
GROUP BY
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
FROM
WHERE
AND
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
SET
WHERE
- 6 / 15 -
Annexe B (à compléter et à rendre avec la copie) :
Diagramme de flux du domaine « gestion des commandes spéciales »
Laboratoire
①
13
Client
12
11
-7-
Annexe C (à compléter et à rendre avec la copie) :
Diagramme évènement résultat pour la « gestion des commandes spéciales »
Command
e
spéciale
Réception
demande
Double
Commande
Demande
non
réalisable
Demande
réalisable
-8-
Client Service commercial Service fabrication Laboratoire Contrôle de gestion Atelier
-
-
-9-
AIDE-MEMOIRE SQL
COMMANDES COMMENTAIRE EXEMPLES
SELECT Opérateur de projection, permettant de Affiche le nom et le prénom de tous les élèves
choisir les colonnes à afficher SELECT NomE, PrenomE
Suivi de noms de colonnes ou de * FROM ELEVES;
(indiquant toutes les colonnes)
FROM Suivi d'une ou plusieurs noms de table. La Affiche tous les articles (toutes les colonnes)
présence de plusieurs tables réalise le SELECT *
produit cartésien de ces tables. FROM Article ;
WHERE Opérateur de sélection, qui permet de Affiche la designation de tous les articles de la
choisir des lignes selon certains critères commande numéro 1258
(séparés par AND ou OR)
Cet opérateur permet aussi de réaliser des SELECT art_designation
jointures , le plus souvent par égalité des FROM Article, Commande
deux colonnes de sens identique dans les WHERE Article.art_num = Commande.art_num
deux tables. AND num_com = 1258;
Critère de jointure
Critère de sélection
DISTINCT La clause DISTINCT permet d’éliminer les Afficher toutes les villes où habite au moins un élève
doublons : si dans le résultat plusieurs
lignes sont identiques, une seule sera SELECT DISTINCT VilleE
conservée. FROM ELEVES;
ORDER BY La clause ORDER BY permet de trier les Afficher la liste des employés par salaire décroissant
résultats par ordre croissant (ASC) ou SELECT NomEmp, sal FROM EMPLOYE
décroissant (DESC). ORDER BY sal DESC;
Le tri peut se faire sur une ou plusieurs Afficher les élèves par ordre alphabétique du nom
colonnes puis du prénom
SELECT * FROM ELEVES
L’option ASC est prise par défaut pour ORDER BY NomE, PrenomE;
chacune des expressions citées.
« » Les cotes sont obligatoire s pour entourer les Recherche tout les articles de couleur rouges :
chaînes de caractères et les dates.
## Sur Access on utilise « » pour les chaînes SELECT art_num FROM Article
de caractères et # # pour les dates WHERE art_coul = « ROUGE »;
-1-
BETWEEN Indique si une valeur est comprise entre deux Articles qui coutent entre 10 et 20 €
valeurs. Les extrêmes sont inclus dans inclus. Select art_num, art_lib
l'intervalle. FROM Article
WHERE prix BETWEEN 10 AND 20;
OPERATEURS Permet d'afficher le résultat d'un calcul à Affiche la référence et la marge de tous les p
DE CALCUL : partir d'une ou plusieurs colonnes roduits
+ - * …
SELECT refprod, (prix_vente – prix_achat) as
marge
OPERATEURS D'AGREGATION
Attention, ici nous présentons l'utilisation de ces opérateurs sans group by. Nous reviendrons sur la clause GROUP BY
ultérieurement
COUNT (*) Permet de c ompter le nombre de lignes Compte le nombre d'élève habitant Cachan et
résultant d'un résultat. On peut nommer la appelle le résultat Nb_Cachanais.
colonne correspondante avec AS.
SELECT COUNT (*) AS Nb_Cachanais
FROM ELEVES
WHERE VilleE = 'CACHAN';
SUM (colonne) Permet d'additionner les valeurs d'une Calcul le cumul (la somme) de tous les opérations
colonne numérique pour les lignes de débit du compte 1259 le 09/01/04
sélectionnées
SELECT SUM(montant_opération) AS débit
! ATTENTION ! _0901
A NE PAS CONFONDRE AVEC FROM
COUNT OPERATIONS
AVG (colonne) Permet d'afficher la moyenne des valeurs WHERE compte
Afficher le salaire=moyen des analystes
d'une colonne numérique pour les lignes
sélectionnées SELECT
AVG(salaire)
FROM EMPLOYE
MAX (colonne), Permet d'obtenir la valeur maximale (ou Affiche le salaire de la secrétaire la mieux payée:
MIN (colonne) minimale) d'une colonne pour un ensemble de
lignes sélectionnées SELECT MAX(s
alaire) FROM
EMPLOYE
WHERE function = "secrétaire";
OPERATEURS ENSEMBLISTES
UNION Il est possible de faire l’union des résultats de La liste des villes où habitent des élèvent et
deux requêtes. L'union élimine les doublons des professeurs :
On a alors A U B (ou
A+ B- An B ) SELECT
VilleE FROM
ELEVES
UNION
SELECT
VilleP FROM
INTERSECT Il est possible de faire l’intersection des La liste des villes où habitent à la fois des
résultats de deux requêtes. élèves et des professeurs :
On a alors : A n B
SELECT DISTINCT
VilleE FROM ELEVES
INTERSECT
SELECT DISTINCT VilleP
FROM PROFS ;
MINUS Il est possible de faire la différence des La liste des villes où habitent seulement des
résultats de deux requêtes. élèves et pas de professeurs :
On a alors : A – B
SELECT DISTINCT
VilleE FROM ELEVES
MINUS
SELECT DISTINCT
VilleP FROM PROFS ;
Fonctions date
-2-
NOW () renvoie la date du jour
-3-