Nothing close enough? Start from a blank erd → Describe it in one paragraph.
How to use an erd template.
- 01Définir les entités User et Product
Commencez par User (user_id, email, name, address) et Product (product_id, name, description, price, stock). Ce sont les deux entités centrales de tout schéma e-commerce.
- 02Modéliser la relation Order et OrderItems
Créez Order relié à User (un utilisateur, plusieurs commandes) et OrderItems comme table de liaison entre Order et Product. OrderItems conserve la quantité et le prix unitaire au moment de l’achat.
- 03Ajouter Cart et CartItems
Modélisez Cart comme une entité de commande temporaire reliée à User, avec CartItems reliant Cart et Product. La conversion du panier en commande est un processus essentiel à représenter.
- 04Inclure Payment et Shipping
Ajoutez Payment relié à Order (payment_method, status, amount, transaction_id) et Shipping (carrier, tracking_number, estimated_delivery, status) pour couvrir l’ensemble du cycle de vie de la transaction.
- 05Étendre le modèle avec les avis et les remises
Ajoutez une entité Review (user_id FK, product_id FK, rating, text, date) ainsi qu’une entité Discount ou Coupon (code, discount_type, amount, expiry) afin de modéliser une plateforme e-commerce complète.
Questions about erd templates
Quelles sont les entités principales d’une base de données e-commerce ?
Entités principales : User, Product, Order, OrderItems (liaison), Cart, CartItems, Payment et ShippingAddress. Les entités étendues ajoutent ProductVariant, Review, Category, Discount et Inventory.
Comment modéliser les variantes de produits (taille, couleur) dans un diagramme ER ?
Créez une entité ProductVariant reliée à Product, avec des attributs pour chaque dimension de variante (size, color, SKU, stock_qty, price_modifier). OrderItems et CartItems référencent ensuite ProductVariant plutôt que Product directement.
Cart et Order doivent-ils être des entités distinctes ?
Oui, dans la plupart des conceptions. Cart est temporaire (il peut être abandonné, modifié ou expirer), tandis que Order constitue un enregistrement permanent de la transaction. Les séparer facilite l’analyse du taux d’abandon des paniers et préserve l’intégrité de l’historique des commandes.
Comment gérer plusieurs adresses de livraison par utilisateur ?
Créez une entité Address distincte reliée à User (un utilisateur, plusieurs adresses). Order référence ensuite Address via une clé étrangère shipping_address_id, ce qui conserve l’adresse au moment de l’achat même si l’utilisateur modifie son profil par la suite.
Comment modéliser les codes de remise dans un schéma e-commerce ?
Créez une entité Discount (code, type : percentage/fixed, value, min_order_amount, expiry, max_uses). Reliez-la à Order via une clé étrangère applied_discount_id. Vous conservez ainsi la remise appliquée à chaque commande au moment du paiement.