Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql rails db设计适用于具有多个区域和多种产品变体的车间_Mysql_Sql_Ruby On Rails_Ruby On Rails 3_Database Design - Fatal编程技术网

Mysql rails db设计适用于具有多个区域和多种产品变体的车间

Mysql rails db设计适用于具有多个区域和多种产品变体的车间,mysql,sql,ruby-on-rails,ruby-on-rails-3,database-design,Mysql,Sql,Ruby On Rails,Ruby On Rails 3,Database Design,我正试着围绕着这个话题思考,但找不到一个简单的解决办法 基于区域价格的产品 每个地区有一种货币,每个地区有一种股票 然后是产品的变化,如颜色和大小,颜色应该是特殊的,因为我需要它的图像 颜色和尺寸取决于基于区域的库存 产品每个地区有一个价格 也许这里的任何人都有一个关于db布局的好主意 编辑 产品 身份证 名字 标识符 鼻涕虫 产品变更 身份证 产品标识 名字 大小 形象 产品库存 身份证 计数 产品变量id 区域id 产品价格 身份证 产品标识 区域id 价格 区域 身份

我正试着围绕着这个话题思考,但找不到一个简单的解决办法

  • 基于区域价格的产品
  • 每个地区有一种货币,每个地区有一种股票
  • 然后是产品的变化,如颜色和大小,颜色应该是特殊的,因为我需要它的图像
  • 颜色和尺寸取决于基于区域的库存
  • 产品每个地区有一个价格
也许这里的任何人都有一个关于db布局的好主意

编辑

产品
  • 身份证
  • 名字
  • 标识符
  • 鼻涕虫
产品变更
  • 身份证
  • 产品标识
  • 名字
  • 大小
  • 形象
产品库存
  • 身份证
  • 计数
  • 产品变量id
  • 区域id
产品价格
  • 身份证
  • 产品标识
  • 区域id
  • 价格
区域
  • 身份证
  • 名字
  • 鼻涕虫
尽管如此,尺寸还是与变化有关。。 我需要一个具有多个尺寸的变体,并且库存也应能够根据区域链接到尺寸

可能类似于:

产品

  • Id
  • 名称
产品变化,如颜色和大小,颜色

产品变体

  • Id
  • ProductId
  • StockId
    (颜色和大小取决于地区库存)
  • 颜色
  • Size
每个地区有一种货币,每个地区有一种股票

货币

  • Id
  • 名称
股票

  • Id
  • 名称
  • RegionId
地区

  • Id
  • 名称
  • CurrencyId
  • StockId
产品每个地区有一个价格

基于区域价格的产品

产品价格

  • Id
  • ProductId
    ->Products表
  • RegionId
    ->区域表
  • 价格
您可能需要稍微调整此结构以适应:

  • 产品图像取决于每个产品只需要一个图像还是一个产品可以有多个图像(新表
    ProductImages
  • 你没有明确你需要的产品属性(产品变体),它们是每个产品的很多变体(每个产品一对多)还是每个产品的一个属性
更新:

一个尺码也可以有存货

在这种情况下,您可以移动
颜色
大小
大小
仅当您想要一个新表时,例如,
ProductVariationOptions

产品变量选项

  • Id
  • 大小
  • 颜色
然后您的
ProductVariationOptions
将如下所示:

产品变体

  • Id
  • ProductId
  • StockId
    (颜色和大小取决于地区库存)
  • ProductVariationOptions ID
    ->
    ProductVariationOptions

一个地区可以有多种不同的产品

一个变体可以有多个图像

区域
  • 名字
  • 通货
产品
  • 名字
变异
  • 颜色
  • 尺寸
  • 价格
  • 区域id
  • 产品标识
图像
  • 变异识别码

对于大小和颜色,我可能会使用简单的_enum gem。我一直在一个项目中使用它,我一直在工作,它非常好。

谢谢你的回答-尺寸呢?一种尺码也可以有存货。。您认为如何创建产品变量(颜色)和带有键值(大小)的产品选项表,然后在产品库存表中创建产品变量id(无产品选项)和产品选项id(大小库存)