为产品变体设计数据库的最佳方式

Best way to design a database for product varients

我正在尝试重新设计我的数据库,我想遵循规范化规则,但我不知道应该如何存储产品变体。

我目前的数据库设计:

假设我想在我的网站上展示产品,并且每个产品都连接到一个平台。

以下是可用的平台:

  1. PS4
  2. PS3
  3. Xbox One
  4. Xbox 360
  5. PC

例如,我将 Far Cry 5 注册为产品并将其连接到 PS4,但也有 PC 和 Xbox One 版本可用,PS3 而 Xbox 360 没有有自己的版本,所以这两个被排除在外。

将其存储在数据库中的最佳方式(包括规范化)是什么?

因此您会遇到产品只有 1 个平台或只有 3 个平台的情况,但也可能有 2、4 和 5 个平台。

最后,如果产品有超过 1 个变体,我想在产品页面上为用户提供每个变体的 link。

非常感谢您的帮助。

编辑:

我的测试数据库及其数据:

您可以创建产品和平台的连接 table,如下所示。

然后您可以执行以下 select 语句来获取任何给定产品 ID 的平台名称:

SELECT pp.productID, pp.platformID, pl.platformName FROM Product_Platform pp 
    JOIN Platform pl ON pp.platformID = pl.platformID WHERE productID = 123456;