(Re)bonjour Jugoz,
Alors likez les messages qui vous ont aidé.
(1) Les c... ça ose tout !
Commencez par ne pas tenir compte de leur ânerie, puis on verra comment dégénérer le modèle, faire tenir les tables dans ce lit de Procuste à 10 places (par exemple virer la table AGENCE puisqu’il n’y a qu’une agence, faire absorber MODELE par MARQUE (viol de la deuxième forme normale), et autres astuces vaseuses).
(2) En passant, comme vous l’a rappelé Escartefigue (post #2), dans un MCD on ne traite pas de tables mais d’entités-types (
aka types d’entités, classes d’entités).
(3) La patte d’association connectant VEHICULE et CONCERNER est porteuse d’une cardinalité 1,N : si un véhicule peut ne pas encore avoir été loué (par exemple parce qu’il vient tout juste d’être acquis par l’agence), alors la cardinalité doit être 0,N.
(4) Ça n’est pas fondamental, mais vous pourriez renommer l’association CONCERNER en LOCATION (à moins de perdre des points en n’utilisant pas des verbes pour les associations, puisque les c... qui notent ça ose tout...) Dans ce qui suit, j’effectue ce changement de nom.
Abordons le coeur du modèle, c’est-à-dire la partie sensible...
(5) Si la période de location n’est pas nécessairement la même pour tous les véhicules concernés par un contrat, alors les attributs DATE_DEBUT_LOC et DATE_FIN_LOC doivent migrer dans LOCATION.
(6) Il devrait probablement en aller de même concernant les attributs ETAT_VEHICULE_D, ETAT_VEHICULE_R.
(7) Le tarif de location (attribut TARIF_LOC) est-il spécifique à un contrat ? Comment faites-vous si ce contrat concerne plus d’un véhicule, par exemple une Twingo et une Porsche Taycan Turbo S ?
(8) Même observation concernant l’attribut CAUTION.
(9) Que recouvre le montant total (attribut MONTANT_TOTAL) ? Quelle relation avec le montant porté par la facture ?
(10) Normalement la facture doit comporter des lignes de facture, chaque ligne faisant référence à un véhicule : on devra en reparler quant aux conséquences sur la modélisation.
(11) Par le chemin VEHICULE -> LOCATION -> CONTRAT -> CLIENT, on sait que le véhicule Ve est loué par le client Cl, au cours de la période Pe. D’un point de vue fonctionnel, l’association RESERVER est-elle strictement nécessaire ? Si oui, le MCD va en prendre un bon coup !
(12) Remplacer le type FLOAT (virgule flottante) par DECIMAL (virgule fixe).
Bon courage, persévérez !
Partager