ChatDiagram
1 template · ERD

E-Commerce-Datenbank-ER-Diagramm-Beispiele

Ein ER-Diagramm für eine E-Commerce-Datenbank ist der Schema-Bauplan hinter jedem Onlineshop – vom einfachen MVP bis zum voll ausgestatteten Marktplatz.

Standard Chen 1976 / Everest 1976 (crow's foot)Engine schematex-erdExport SVG · PNG · PDF
How to

How to use an erd template.

  1. 01User- und Product-Entitäten definieren

    Beginne mit User (user_id, email, name, address) und Product (product_id, name, description, price, stock). Diese beiden Entitäten bilden das Zentrum jedes E-Commerce-Schemas.

  2. 02Beziehung zwischen Order und OrderItems modellieren

    Erstelle Order mit einer Verknüpfung zu User (ein User, viele Bestellungen) und OrderItems als Verknüpfungstabelle zwischen Order und Product. OrderItems speichert quantity und unit_price zum Zeitpunkt des Kaufs.

  3. 03Cart und CartItems ergänzen

    Modelliere Cart als temporäre Bestellentität, die mit User verknüpft ist, und verknüpfe Cart und Product über CartItems. Die Umwandlung des Warenkorbs in eine Bestellung ist ein wichtiger Workflow, den du abbilden solltest.

  4. 04Payment und Versand einbeziehen

    Ergänze Payment mit einer Verknüpfung zu Order (payment_method, status, amount, transaction_id) sowie Shipping (carrier, tracking_number, estimated_delivery, status), um den gesamten Transaktionslebenszyklus abzubilden.

  5. 05Bewertungen und Rabatte ergänzen

    Füge eine Review-Entität (user_id FK, product_id FK, rating, text, date) sowie eine Discount- oder Coupon-Entität (code, discount_type, amount, expiry) hinzu, um eine vollständige Commerce-Plattform zu modellieren.

FAQ

Questions about erd templates

Welche zentralen Entitäten gibt es in einer E-Commerce-Datenbank?

Zentrale Entitäten sind User, Product, Order, OrderItems (Verknüpfungstabelle), Cart, CartItems, Payment und ShippingAddress. Erweiterte Entitäten ergänzen ProductVariant, Review, Category, Discount und Inventory.

Wie modelliere ich Produktvarianten (Größe, Farbe) in einem ER-Diagramm?

Erstelle eine ProductVariant-Entität, die mit Product verknüpft ist und für jede Variantendimension Attribute enthält (size, color, SKU, stock_qty, price_modifier). OrderItems und CartItems verweisen anschließend auf ProductVariant statt direkt auf Product.

Sollten Cart und Order separate Entitäten sein?

Für die meisten Designs: ja. Cart ist vergänglich (kann aufgegeben, geändert oder abgelaufen sein), während Order einen dauerhaften Transaktionsdatensatz darstellt. Durch die Trennung lassen sich Abbruchraten von Warenkörben leichter analysieren und die Integrität der Bestellhistorie sicherstellen.

Wie verwalte ich mehrere Lieferadressen pro User?

Erstelle eine separate Address-Entität, die mit User verknüpft ist (ein User, mehrere Adressen). Order verweist dann über einen Fremdschlüssel shipping_address_id auf Address. So bleibt die Adresse zum Kaufzeitpunkt erhalten, auch wenn der User sein Profil später aktualisiert.

Wie modelliere ich Rabattcodes in einem E-Commerce-Schema?

Erstelle eine Discount-Entität (code, type: percentage/fixed, value, min_order_amount, expiry, max_uses). Verknüpfe sie über einen applied_discount_id-Fremdschlüssel mit Order. Dadurch wird für jede Bestellung festgehalten, welcher Rabatt beim Checkout angewendet wurde.