-
1 pièce(s) jointe(s)
Vente en ligne
bonjour,
j'ai commencé a développé un site de vente en ligne avec un mcd non corrigé.
Arrivé au panier j'ai bien vu qu'il n'était pas complet , car pour une commande j'ai un id_cmd qui est la clé primaire, l'id_client et l'id_article.
je suppose qu'il me faut une autre table qui me lie à la commande et aux articles .
j'ai fait un nouveau mcd , pourriez vous m'aider à le corriger?
-
Bonjour,
Commencez par énumérer les règles de gestion sous la forme
- R01 : toute commande comporte au moins une ligne détail de commande
- R02 : toute ligne de commande concerne un et un seul article
etc...
C'est l'étape nécessaire et préalable à la schématisation de votre MCD.
De plus quelques remarques en vrac :
- s'il n'y a vraiment qu'une seule ligne de commande par commande, alors autant n'avoir qu'une seule entité-type "commande", et l'identifiant de ligne est inutile
- la cardinalité mini de zéro de commande vers utilisateur semble très suspecte
- la relation "gérer" à 4 pattes est plus que suspecte
- qu'est ce que la relation consulte ?
- êtes vous certaine qu'un article peut être de plusieurs catégories ?
- les prix et quantités ne doivent pas être définis en integer mais en numérique avec décimales, et associés à des unités de mesure
- le sexe doit être un code (par exemple char(1)) et non un varchar et faire référence à une entité-type sexe qui référencera le libellé
-
Bonjour,
Je vous remercie de m'avoir répondu.
Malheureusement, j'ai toujours eu un problème de lecture.
Alors je vais essayer d'énumérer les relations:
- R01 : toute commande comporte au moins une ligne détail de commande
- R02 : toute ligne de commande concerne un et un seul article
- R03: tout article appartient à une et une seule catégorie
- R04: toute facture concerne une et une seule commande
Dans ma table utilisateur, il y a 2 types un administrateurs et des clients
Pour le coté administrateur :
- R05 : un admin. gère au moins un articles
- R06 : un admin. gère au moins un catégorie .
- R07 : tout client est géré par un et un seul administrateur.
Pour le coté client :
- R08 :un client commande au moins un article
J'ai mis la relation consulte pour le client qui visite le site sans commander.
Personnellement, je ne suis pas très compétant dans ce domaine.
est ce que c'est un bon début ou je suis encore cote de la plaque.:calim2:
-
C'est un très bon début, à compléter bien sur, mais vous pouvez déjà en déduire quelques corrections dans votre MCD
Par exemple "R01 : toute commande comporte au moins une ligne détail de commande" signifie qu'il peut y avoir plusieurs lignes pour une commande, il faut donc corriger la cardinalité maxi de l'entité-type "commande" vers l'association "est détaillée" qui passe de 1,1 à 1,n
Mais il est préférable d'avancer sur la rédaction des règles avant de corriger le schéma, ça limite le nombre d'allers-retours
Une remarque au passage : utilisez plutôt des verbes pour identifier les relations, par exemple vous pouvez remplacer "est détaillée" par "composer", "inclure", "comporter" etc...
-
Merci pour votre encouragement
alors je vais continué dans mes relations
Pour le coté client :
- R08 : un client commande au moins un article
- R09 : un client consulte au moins un article
- R010: un client consulte au moins une catégorie
- R011: tout client note au moins article
Si il y a d'autres relations, je n'en voie plus d'autres.
-
Bonjour,
Faites attention aux synonymes, il faut soit les supprimer, soit les définir clairement, par exemple, vous avez modélisé une entité-type "utilisateur" mais dans vos règles, il s'agit de clients, sont-ce bien les mêmes acteurs ? à préciser.
Les règles R08 à R10 ne sont pas compatibles entre elles
- soit un client est une personne ayant passé commande auquel cas pourquoi le contraindre à consulter un article et noter un article, ne peut on commander un article sans le consulter ni le noter ?
- soit un client recouvre un concept plus large : toute personne s'étant identifiée sur le site, ayant ou non passé commande, auquel cas la règle R08 tombe.
La règle "R08 :un client commande au moins un article " est mal formulée :
Le client n'est pas directement en relation avec l'article, mais avec la commande, commande en lien avec la ligne de commande et ligne de commande en lien avec l'article.
C'est donc par transitivité que le client est en relation avec l'article.
Du coup la règle R08 devient "R08 :un client passe au moins une commande" sous réserve que les prospects ne soient pas identifiés comme clients
-
Bonsoir,
Si j'ai bien compris la relation consulte m'est inutile. Je pensais qu'il fallait détailler toutes actions qu'un utilisateur pourra faire entant que client
C’est bien une entité- type "utilisateur" dont l'attribut rôle définira si il est client ou admin.
est ce que je dois encore développé des relations ou bien passé à la conception de mes tables ? :?
-
Bonjour,
Si vous avez fait le tour de vos règles, vous pouvez créer votre MCD, les tables viendront après : quand le MCD est validé, on en dérive le MLD puis le MPD et donc les tables et autres objets BDD
-
J'ai oublié de vous remercier pour l'aide que vous m'aviez apporté.
Merci