Progettazione di database per E-Commerce ordini con attributi di prodotto e prezzo multiplo

Ecco un design del database per la sezione degli ordini in e-commerce, con prodotti con più attributi e più prezzi:

Tavolo: Users

  • UserID: chiave primaria, numero intero univoco
  • Username: Corda
  • Email: Corda
  • Password: Corda
  • CreatedAt: Data e ora
  • UpdatedAt: Data e ora

Tavolo: Orders

  • OrderID: chiave primaria, numero intero univoco
  • UserID: Chiave esterna che fa riferimento alla tabella Utenti
  • TotalAmount: decimale
  • OrderDate: Data

Tavolo: OrderItems

  • OrderItemID: chiave primaria, numero intero univoco
  • OrderID: Chiave esterna che fa riferimento alla tabella degli ordini
  • ProductID: Chiave esterna che fa riferimento alla tabella Prodotti
  • VariantID: Chiave esterna che fa riferimento alla tabella ProductVariants
  • Quantity: Numero intero
  • Price: decimale
  • Subtotal: decimale

Tavolo: Products

  • ProductID: chiave primaria, numero intero univoco
  • Name: Corda
  • Description: Testo
  • CreatedAt: Data e ora
  • UpdatedAt: Data e ora

Tavolo: ProductVariants

  • VariantID: chiave primaria, numero intero univoco
  • ProductID: Chiave esterna che fa riferimento alla tabella Prodotti
  • Name: stringa(ad esempio, colore, dimensione)
  • Value: Stringa(ad es., Rosso, XL)

Tavolo: VariantPrices

  • PriceID: chiave primaria, numero intero univoco
  • VariantID: Chiave esterna che fa riferimento alla tabella ProductVariants
  • Price: decimale
  • Currency: stringa(ad es. USD, VND)

In questa progettazione, la OrderItems  tabella contiene informazioni su ciascun articolo in un ordine, inclusi i dettagli sul prodotto, la variante del prodotto, la quantità, il prezzo e il subtotale.