Bonjour,
Je suis en cours d'élaboration d'un MCD pour la mise en place d'une facturation. L'entreprise vend des installations spécialisées ce qui fait que les lignes de produits sont spécifiques à un seul client avec un prix défini pour chaque ligne.
Le principe est le schéma classique client, devis, commande et facture.
Mais tout se complique lors de la mise en œuvre en raison des particularités de fonctionnement de l'entreprise.
J'ai prévu les entités suivantes
Clients(IdClient, Nom, Autres_Attribus)
Devis(IdDevis, Date, Num, Autres_Attributs)
Commandes(IdCde, Date, Num, Autres_Attributs)
Factures(IdFact, Date, Num, Autres_Attributs)
Pour les trois dernières entités, il existe les lignes de produits que j'ai prévu d'inclure dans une entité
Lignes(IdLig, Désignation, Spécificité, quantité, prix_Unit)
Mon idée est d'avoir une entité ligne commune pour les devis, commandes et factures, car dans 80 % des cas, la ligne du devis est reprise dans la commande. Puis la ligne de commande est reprise dans la facture. Mais les 20 % qui restent me préoccupent.
Une commande ne peut posséder qu'un seul devis
Une facture ne peut posséder qu'une seule commande
Mais dans la pratique, nous avons :
Un devis peut faire l'objet d'une commande ou simplement être classé sans suite (Refus du client)
Une commande peut être la reprise d'un devis, mais il est possible que certaines lignes du devis ne soient pas retenues dans la commande. Il existe aussi la possibilité d'ajouter des lignes complémentaires à la commande, lesquelles ne sont pas prévues au devis. (Visite du commercial pour prise de commande)
Une commande peut être faite sans devis lors de la visite d'un commercial
Pour la facture, nous avons la même situation reprise de la commande, lignes de commandes non retenues ou ajout direct de lignes livrées sans devis ni commande. Il s'agit d'ajout complémentaire de dernière minute au moment de l'installation
Une facture peut également être faite directement de produits livrés sans devis et sans commande. (Petites installations)
J'ai créé mon MCD sur le principe suivant
Duquel j'obtiens le MPD ci-après.
J'ai ensuite procédé à quelques corrections pour parvenir au MPD suivant :
L'examen de ce document me conduit à constater que de nombreuses clés étrangères vont être nulles. Je vais donc être dans l'impossibilité de mettre en œuvre l'intégrité référentielle sur ces clés d'où une fragilité de ma base et de mon développement du logiciel de gestion commerciale.
Mes questions :
Ma démarche présente-t-elle, sans être satisfaisante, une certaine cohérence ?
Serait-il préférable de créer une entité lignes spécifiques Devis, Commandes, Factures ? Dans cette approche, il y aura redondance de 80 % des lignes de produit.
Existe-t-il un moyen pour assurer une fiabilité aux différentes clés étrangères par l'intermédiaire de triggers ou autres. L'objectif est de s'assurer qu'il n'existe aucune ligne orpheline, c'est-à-dire sans au minimum une clé étrangère reliée à un devis, à une commande ou à une facture.
J'ai utilisé PowerAMC 12.1 pour réalisé le MCD
Ne pas hésiter à me faire part de vos remarques et critiques. Je vous en remercie par avance
Partager