Дизайн базы данных для E-Commerce заказов с атрибутами продукта и несколькими ценами

Вот дизайн базы данных для раздела заказов в e-commerce, с продуктами, имеющими несколько атрибутов и несколько цен:

Стол: Users

  • UserID: первичный ключ, уникальное целое число
  • Username: Нить
  • Email: Нить
  • Password: Нить
  • CreatedAt: Дата и время
  • UpdatedAt: Дата и время

Стол: Orders

  • OrderID: первичный ключ, уникальное целое число
  • UserID: Внешний ключ, ссылающийся на таблицу пользователей.
  • TotalAmount: Десятичная дробь
  • OrderDate: Дата

Стол: OrderItems

  • OrderItemID: первичный ключ, уникальное целое число
  • OrderID: Ссылка на внешний ключ таблицы Orders
  • ProductID: Ссылка на внешний ключ Таблица продуктов
  • VariantID: Внешний ключ, ссылающийся на таблицу ProductVariants.
  • Quantity: целое число
  • Price: Десятичная дробь
  • Subtotal: Десятичная дробь

Стол: Products

  • ProductID: первичный ключ, уникальное целое число
  • Name: Нить
  • Description: Текст
  • CreatedAt: Дата и время
  • UpdatedAt: Дата и время

Стол: ProductVariants

  • VariantID: первичный ключ, уникальное целое число
  • ProductID: Ссылка на внешний ключ Таблица продуктов
  • Name: Строка(например, Цвет, Размер)
  • Value: Строка(например, красный, XL)

Стол: VariantPrices

  • PriceID: первичный ключ, уникальное целое число
  • VariantID: Внешний ключ, ссылающийся на таблицу ProductVariants.
  • Price: Десятичная дробь
  • Currency: Строка(например, доллары США, VND)

В этом дизайне OrderItems  таблица содержит информацию о каждом элементе заказа, включая сведения о продукте, варианте продукта, количестве, цене и промежуточной сумме.