Bonjour,
J'ai une difficulté lorsque je transforme mon MCD en MPD à l'aide de Poweramc version 15.1 avec notation E/R + Merise.
Les règles de gestion de mon exemple sont les suivantes :
R1 - Les clients passent des commandes.
R2 - Ces commandes sont acceptées ou refusées. Si une commande est confirmée, elle fait l'objet d'une facture dans sa globalité.
R3 - Une commande ne peut être facturée qu'une seule fois.
Il s'agit d'un exemple simplifié, la difficulté se trouve dans le MPD.
Mon MCD s'établit
Poweramc transforme mon MCD en MPD
Après quelques retouches, le MPD obtenu est
Le code pour la table associative LIER se présente
Je ne m'explique pas pourquoi l'attribut CDE_ID peut être NULL. Bon, il est possible de faire la correction, mais j'aimerais comprendre la démarche de Poweramc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 create table LIER ( CLIENT_ID INTEGER not null, FACTURE_ID INTEGER not null, CDE_ID INTEGER, constraint PK_LIER primary key (CLIENT_ID, FACTURE_ID) ); alter table LIER add constraint FK_LIER_R1_CDE foreign key (CLIENT_ID, CDE_ID) references CDE (CLIENT_ID, CDE_ID); alter table LIER add constraint FK_LIER_R2_FACTURE foreign key (CLIENT_ID, FACTURE_ID) references FACTURE (CLIENT_ID, FACTURE_ID);
Mais le point le plus important est, il semble, l'absence d'une contrainte (CDE_ID, CDE_NUM). Sans cette contrainte, il possible de facturer le bon de commande plusieurs fois à un client. Une erreur qui ne va pas manquer de vous faire incendier par votre client.
Je pense que Poweramc ne sait pas gérer cette difficulté. Il est donc nécessaire d'intervenir, mais je n'ai pas trouvé la solution.
Si une âme charitable maîtrise parfaitement Poweramc, je la remercie d'avance de bien vouloir me sortir de mon pétrin.
Partager