Un moment que je ne suis plus dans le coin, je viens vous faire une petite requête
Je conçois une base de données pour un site de e-commerce, pour un projet et guise de cas d'étude pour m'exercer.
Il y a plusieurs tables, dont :
- produits
- clients
- commandes
- factures
Dans une commande, il peut y avoir plusieurs produits commandés :
- Commande 1 : Produits A, B, C
- Commande 2 : Produits A, B
- Commande 3 : Produits A, B, C, D, E, F, G, H
1 . Quel type de champ devrais-je créer pour que les produits soient comptabilisés ET surtout identifiables dans la table produits ?
2. Dois-je créer de nouveaux champs "produits commandés" dans la table "commandes" si la dernière commande contient plus de produits que toutes les précédentes ? Cette technique ne me semble pas franchement optimale, je note aussi que j'aurai besoin de récupérer les derniers produits commandés (et le nombre de chaque produits commandés depuis toujours) d'un client donné.
Je veux dire : dès que le client souhaite retrouver sa commande, pour lister ses produits, j'utiliserai la table produits_commande, je n'ai pas besoin de créer plusieurs champs dans commande (un par produit commandé) ?
La question est rhétorique et mon problème est résolu je crois quoi qu'il en soit Merci beaucoup !
Pour les futurs personnes qui auraient ce type de problème : puisque je me suis renseigné sur la partie MCD (modèle conceptuel de données), retrouvé quelques cours de mes anciens profs (dont http://eric.univ-lyon2.fr/~kaouiche/si/mld.pdf), j'ajoute donc qu'il s'agissait en fait d'un problème de cardinalité (deux tables m:n qui peuvent être décomposées en trois tables avec deux relations 1:n)
Une table de commandes identifiant les produits inclus
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !