Bonsoir,
Envoyé par
haich
je n’arrive pas à modéliser la TVA.
R03: la tva appliquée à ce produit dépend de son lieu de livraison.
Donc, quel que soit le produit figurant dans la facture, la TVA est à déterminer en fonction de l’adresse de livraison.
Partons du MCD suivant, où l’on spécialise les adresses (une adresse de facturation peut être une adresse de livraison : pas de contrainte d’exclusion) :
Dérivons ce MCD en MLD (MPD au sens de l’AGL, car je passe ici par « Outils » > « Générer un MPD ») :
Sous des noms différents, l’attribut client_id est présent 3 fois dans l’en-tête de la table FACTURE :
— client_id, faisant l’objet de la clé étrangère <fk3> {client_id} référençant la clé primaire {client_id} de la table CLIENT ;
— client_facturation_id, participant à la clé étrangère <fk1> {client_facturation_id, adr_facturation_id} référençant la clé primaire {client_id, adr_id} de la table ADRESSE_FACTURATION ;
— client_livraison_id, participant à la clé étrangère <fk2> {client_livraison_id, adr_livraison_id} référençant la clé primaire {client_id, adr_id} de la table ADRESSE_LIVRAISON.
Or il s’agit bien d’un seul et même client, autrement dit les attributs client_facturation_id et client_livraison_id doivent être remplacés par client_id dans les relations avec les tables ADRESSE_FACTURATION et ADRESSE_LIVRAISON.
Pour cela, on sélectionne le lien entre FACTURE et ADRESSE_FACTURATION, on ouvre la fenêtre « Propriétés de la référence » (onglet « Jointures »), et dans la colonne « Colonne de la table enfant », on sélectionne la colonne client_facturation_id :
On descend alors le curseur sur la colonne client_id :
On clique, et au résultat, client_facturation_id a été remplacé par client_id :
Constatant que la colonne adr_facturation_id n’a plus d’emploi, l’AGL la supprime carrément de l’en-tête de la table FACTURE, c'est-à-dire qu’on n’aura même pas à le faire soi-même.
On procède de la même façon pour le lien entre FACTURE et ADRESSE_LIVRAISON, et le MLD devient le suivant :
Ainsi, pour un client et une facture donnés, on peut déterminer le pays de l’adresse de livraison, donc (à une date donnée) la liste des taux de TVA correspondants.
Envoyé par
escartefigue
Il faut donc modéliser une entité-type pays, une entité-type date, une entité-type TVA, et une relation entre les 3 entités-type porteuse de l'attribut "taux"
On n’est plus en Merise pur et dur. Le modèle E/R proposé par l’AGL permet de ne pas avoir à modéliser d’entité-type DATE, la date participant directement à l’identification de l’entité-type TVA. C’est chouette
Partager