Pb sur la structure d'une base de données

bobarman
Messages postés
29
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
22 juin 2011
- 26 avril 2011 à 15:09
 Utilisateur anonyme - 27 avril 2011 à 19:04
Bonjour,

Je me présente, Je m'appelle Clément, je suis étudiant en chimie, je développe quand j'ai du temps libre et actuellement je suis en stage dans une toute petite entreprise de cosmétique.

Mon sujet de stage est de réaliser une application de GPAO. Cela fais 2 semaines que je lis des articles sur les BDD et que j'étudie la structure et le fonctionnement de l'entreprise et je fais face à un problème de structure de ma base. HELP

Entreprise classique: Commandes, Fournisseurs, Clients.
Relations 1-n dans tout les coins SAUF une, une relation "n-1" (je ne sais pas si cela ce dit, je suis vraiment un newby en BDD).

L'entreprise à des commandes de "crèmes" toutes les formules de crèmes utilisent + ou - les même produits mais pas en même quantités.
Dans ma structure actuelle, j'ai une table commande avec la référence de crème, une table matières premières et il faudrait une table avec les formule des crèmes pour prédire la consommation des matières premières.

En gros, cette table aurait une référence et un code MatPremiere et le %age pour toutes les matières premières.
Le problème c'est que les formules n'ont pas toute le même nombre de constituant, Donc une table avec un nombre de colonnes variables!!!!!!

Et créer une table par formule c'est compliqué puisqu'elles changent fréquemment et qu'il y a environ 400 formules.

Je ne sais pas comment faire.

merci d'avance pour vos conseils,

Clement B

3 réponses

Utilisateur anonyme
26 avril 2011 à 21:46
Si j'ai bien compris tu veux référencer quelque part dans une table pour chaque crème le pourcentage et le code de chaque matière première. Mais comme une crème peut avoir plus de matières premières que d'autres ça risque de devenir très compliquer.

En fait, il va falloir éparpiller un peu tout ça.

Tu as ta table contenant le nom de ta matière première avec son identifiant unique (plus d'autres colonnes éventuellement).
Tu as une table avec le nom de ta crème et son identifiant unique ect.

L'idée, c'est de faire une table spéciale où on va trouver à la fois ta matière première, ta crème et ta quantité. Cette table aura 4 colonnes (3 colonnes et une en plus pour l'identifiant).
Dans cette table tu auras pour 2ème colonne l'identifiant de ta crème, en 3ème colonne l'identifiant de ta matière première et en dernière colonne la quantité/pourcentage.

De cette façon tu sauras quel est l pourcentage pour quelle matière première de quelle crème.

Cela peut te sembler indigeste donc n'hésite pas à poser des questions.

Bon courage.
-- Pylouq : jongleur de clavier AZERTY et de clavier QWERTZ --
0
bobarman
Messages postés
29
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
22 juin 2011
1
27 avril 2011 à 09:10
Je pense avoir bien compris ta réponse,

Ca veut dire que dans cette table: il y aura: + ou - 20 produits par formules fois 400 formules, 8000 instances, c'est cela?

Si c'est cela alors, c'est super et je parts la dessus et si ce n'est pas cela alors: je n'ai rien compris, il faut me ré-expliquer.

Il y aura autre chose: c'est qu'en réalité les 400 formules ont 3 pets de différences (ex: Il y quasiment toujours 56,4% d'eau) et du coup cela me donnera un truc du genre:

ID INCI % Formule
1 EAU 56,4 N1
2 EAU 56,4 N2
3 EAU 56,4 N3
4 EAU 56,4 N4
5 EAU 56,4 N5
6 EAU 22,4 A3

Est ce qu'il est possible d'encore améliorer?

Merci pour ta réponse qui m'a fait entrevoir de l'espoir dans ce sordide bureau.

Clément B
0
Utilisateur anonyme
27 avril 2011 à 19:04
Je pense qu'on peut améliorer encore un peu mais la solution plus haut reste convenable. Avoir une table avec en plus des ID l'ID de la formule, le pourcentage et l'ID du produit c'est pas mal.

Par contre un conseil, dans ton exemple tu as mis les noms en dur des produits et des formules. Utilise plutôt les identifiants de tes tables PRODUIT et FORMULE car si tu es amené à changer leur nom, tu seras coincé car la table ne sera plus valide.

Je pense pas avoir été très clair donc pose des questions si c'est le cas


-- Pylouq : jongleur de clavier AZERTY et de clavier QWERTZ --
0