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

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

Стол: Users

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

Стол: Carts

  • CartID: первичный ключ, уникальное целое число
  • UserID: Внешний ключ, ссылающийся на таблицу пользователей.
  • CreatedAt: Дата и время
  • UpdatedAt: Дата и время

Стол: CartItems

  • CartItemID: первичный ключ, уникальное целое число
  • CartID: Внешний ключ, ссылающийся на таблицу Carts
  • ProductID: Ссылка на внешний ключ Таблица продуктов
  • VariantID: Внешний ключ, ссылающийся на таблицу ProductVariants.
  • Quantity: целое число
  • CreatedAt: Дата и время
  • UpdatedAt: Дата и время

Стол: Products

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

Стол: ProductVariants

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

Стол: VariantPrices

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

В этом дизайне CartItems таблица будет ссылаться на ProductVariants таблицу, чтобы идентифицировать конкретный вариант продукта в корзине. В VariantPrices  таблице хранится информация о ценах для каждого варианта продукта в разных валютах.

Как всегда, дизайн базы данных можно настроить в соответствии с конкретными требованиями вашего проекта и тем, как вы хотите управлять корзиной покупок и продуктами.