Bonjour à tous,
j'ai un point épineux à résoudre concernant la modélisation d'un fonctionnement : j'ai un produit qui va contenir divers champs et clé étrangères qui va servir de base pour être présenté à des clients.
Ensuite les clients prennent comme base ce produit et le modifie à leur façon.
Mon problème est je ne veux pas toucher au produit de base qui peut servir de référence à d'autres clients mais toute la vente du produit, etc... se fait à partir de la version du produit pour le client.
Comment puis je représenter ces 2 états Produit de base et Produit adapté au client qui ont les même "fonctionnalités" sauf que le 2ème est destiné à un client et va suivre un cycle de commande ?
Pour préciser les choses :
[ Produit ]--0,1----( possède )----0,n--[ Licence ]
[ Produit ]--1,n----( possède )----1,1--[ Specification_Dev ]
etc ...
seulement à ce stade le produit est "générique", des changements vont intervenir quand un client intéressé va demander des modifications propre à lui.
C'est là où je ne sais pas quoi faire car mon [ Produit ] est désormais lié à mon [client] la licence va peut être changer, les Specification_Dev aussi, etc ...
dois je créer une autre table Produit_Client (cette table aura les même relations que [Produit] mais avec des valeurs différentes) ?
Suis je totalement à l'ouest dans ma modélisation ?
Je vais faire ça :
[ Produit ]--1,1----( possède )----0,n--[ Produit ]
qui décrit le fait qu'un produit de base possède plusieurs versions de produit.
Une version de produit possède un seul produit de base
voici une vue du mcd gérant les contraintes suivantes :
Un produit peut être crée sans être affecté à un client - "Produit Racine"
Un "Produit Racine" peut avoir des "versions de produit"
Une "version de produit" peut avoir un "Produit Racine"
Un produit peut être directement affecté à un client
Un produit peut avoir plusieurs versions en fonction du nombre de clients
Une version de produit est propre à un client
Un produit ne peut pas être lancé en commande sans affectation client
est ce que cela vous semble correct ?
Partager