0

我需要在数据库中存储一个价目表。

存储价目表的最佳方式是什么?

价目表示例:

在此处输入图像描述

我想到了2个解决方案。

创建一个名为 products 的表,其中包含以下列:

name (varchar)
price (integer)
price_2 (integer)

该名称将是 example,例如“product_a1”,用于引用 YAML 翻译文件。

然后创建所有产品的名称。因此,以我为例,大约有 100 个。

解决方案2:

将所有数据存储在一行中。所以表列将是:

product_a1
product_a2
product_a3
product_b1
product_b1_2
product_b2
product_b2_2

还有99个..

PS:我只有1个价目表

4

2 回答 2

1

为什么不使用实体-属性-值模型(EAV),这样您就可以在模型上获得任意数量的属性。它为您提供了极大的灵活性,因此将来您可以在不重构代码的情况下动态添加更多属性。

于 2013-02-18T22:18:42.287 回答
0

为什么不创建两个具有关系的表:

class Product < ActiveRecord::Base
  has_many :prices
end

class Price < ActiveRecord::Base
  belongs_to: :product
end

这使您可以灵活地在未来根据需要添加额外的价格。我不愿意硬编码具有固定限制的数据库。

于 2013-02-18T21:59:51.603 回答