Modéliser une BDD d'un produit assemblé

Modéliser une BDD d'un produit assemblé - SQL/NoSQL - Programmation

Marsh Posté le 17-09-2009 à 18:09:42    

Bonjour à tous,
je viens vers vous pour qqs conseils, voici mon soucis :
Je suis un "ensemblier" qui commercialise un produit de type machine electrique que nous assemblons en fonction des besoins des clients. Actuellement je travail avec une nomenclature faite sous excel et c'est assez fastidieux (~1500 lignes et ~50 colonnes). J'aimerais donc faire réaliser une BDD qui, avec les bonnes requetes, me fera gagner un temps précieux.
Mais j'ai tellement d'info, de pièces, de relations, que je ne sais par quoi commencer pour etablir une ébauche de MCD. J'ai un gros problème pour identifier mes entités.
 
Donc je vais donner un exemple, imaginons que je sois constructeur automobile, donc mon produit que je vends est une voiture, que j'assemble à partir de pièces commandées à différents fournisseurs. J'obtiens donc différents types de véhicules en fonction des commandes de mes clients (coupé, berline,monospace).  
Ma BDD doit me permettre d'obtenir plusieurs infos, entre autre :
     - Comparatif de différents fournisseurs pour une même pièce  
     - Nomenclature complète chiffrée de la voiture avec fournisseurs retenus pour chaque pièce
     - Nomenclature partiel (par ex : détail de la boite de vitesse)
     - Listing des pièces pour un même fournisseur (par ex : nb de relais, condos et borniers pris chez schneider)
     - etc...
 
Ma première difficultée (parce qu'il y en aura bien d'autres  :whistle: ) est de savoir comment découper mes voitures, car il y a tellement de pièces différentes (de la vis au bloc usiné en passant par l'ampoule et le siège) que je ne sais par quoi commencer  :cry:  
 
Voilà, je ne sais pas si j'ai été très clair, n'hesitez pas à me poser des questions si çà peut vous permettre de m'aider. merci :jap:


Message édité par tetsuo34 le 17-09-2009 à 18:10:36

---------------
Mon feedback
Reply

Marsh Posté le 17-09-2009 à 18:09:42   

Reply

Marsh Posté le 18-09-2009 à 10:37:29    

Avant de partir dans la fabrique du MCD, je te propose de finir ton "cahier des charges" ;)
 
Mets bien tout a plat, évite les "etc...".
 
Une fois que tu sauras précisement ce que tu voudras, ce sera plus facile :)
 
Je ne pourrais t'aider qu'aujourd'hui, ou alors lundi dans une grosse semaine, Djerba m'appelle :D
 

Reply

Marsh Posté le 18-09-2009 à 13:29:06    

Ce que j'aurais fait :
 
- Une table pour les pièces (id pièce, type de pièce, nom, prix unitaire, fournisseur, ...)
 
- Une table contenant les produits assemblés (id produit, nom, prix total, ...)
 
- Une table contenant les pièces des produits assemblés (id produit, id pièce)
 
 
Du coup :
 
- Comparatif de différents fournisseurs pour une même pièce  
-> Select dans la table des pièces
 
- Nomenclature complète chiffrée de la voiture avec fournisseurs retenus pour chaque pièce
-> Select avec join pour les 3 tables
 
- Nomenclature partiel (par ex : détail de la boite de vitesse)  
-> idem que précédemment mais en sélectionnant seulement un certain type de pièce (ex : pommeau, ...)
 
- Listing des pièces pour un même fournisseur (par ex : nb de relais, condos et borniers pris chez schneider)  
-> Select dans la table des pièces en sélectionnant seulement un certain fournisseur


Message édité par Kormyr le 18-09-2009 à 13:31:21
Reply

Marsh Posté le 18-09-2009 à 17:01:32    

Bonjour @vous et merci pour vos reponses :jap:
alors j'ai essayé de voir un peu plus clair dans tout çà. j'ai commencé à faire un dictionnaire de données (et çà fait peur la qtt de données  :ouch: ). Peut-être que vous serez plus à même de m'aider si je vous en disais un peu plus?
Que voulez-vous savoir? sachant que je ne peux pas trop détailler mon projet, c'est pourquoi j'ai pris l'exemple de la voiture.  
Si vous voulez je peux vous transposez mon besoin à l'exemple de la voiture, çà vous permettra de mieux y voir...


---------------
Mon feedback
Reply

Marsh Posté le 18-09-2009 à 18:28:39    

En transposant ça devrait le faire. Je vais réexpliquer ma vision des choses en plus concret avec l'exemple de la voiture.
 
En gros, imaginons une table "piece" :
 
id_piece          type_piece                              nom                             prix_unitaire          fournisseur
     1                  phare                        ampoule clignotant                          10                   Eclairo
     2                  phare                        ampoule clignotant                          15                   Lumos
     3                  phare                                feu stop                                 23                   Eclairo
     4                 moteur                               Batterie                                 125                 Duracell
 
 
Ensuite une table "voiture" qui contient les voitures :
 
id_voiture               nom                                   prix
     1                 Dacia Logan                            8000
     2           Lamborghini Murcielago                 100000
 
Et enfin une table "pieces_voiture" qui fait le lien entre les 2 :
 
id_voiture          id_piece
     1                      4
     1                      1
     1                      3
     2                      2
     2                      4
     2                      3

Reply

Marsh Posté le 19-09-2009 à 17:54:05    

Tu as vraisemblablement oublié une table liant une même pièce à plusieurs fournisseurs (correspondance d'id, l'id fournisseur n'étant pas la même que l'id interne).
 
Pour moi, il faut :
 
- une table "fournisseur" par fournisseur (ex. Valeo) qui liste ses références propres
- une table "pièces" qui liste les pièces par référence interne
- une table de correspondance entre ces 2 tables (pour déterminer quels fournisseurs sont susceptibles de fournir la pièce de référence interne)
- une table "véhicule"
- une table associant le véhicule et ses pièces
 
Si un élément du véhicule peut être composé de plusieurs sous-éléments (moteur, berceau moteur, calculateur, échappement), il peut également être détaillé de la même façon.
 
Le calcul du coût d'ensemble pour chaque fournisseur d'une référence interne peut se faire par aggrégation (sum) sur une requète assez tordue, le choix du moins cher pour une pièce donnée par une requète un peu plus simple (min) etc etc...


Message édité par Gigathlon le 19-09-2009 à 17:56:02
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed