我在我的数据库中感到困惑

时间:2016-03-28 14:11:43

标签: database database-design

我想真正决定在库存领域创建数据库的正确方法是什么。我有此表Product,我的产品有idsupplierproduct_namecategorysizecolor,{ {1}}和expiration

因此,我们创建了一个输入1个产品但输入尺寸很多的UI。

The Picture here

我在产品表中输入它们的第一个手段是根据尺寸来循环它们(我的计数器是要输入多少尺寸),因为在1个产品中只有1个尺寸对吗?

例如,我有一个名为selling_price的产品,其大小为11 12 13和14。 由于有4种尺寸,我将在表产品中循环4次,现在应该有4行,相同的产品名称但不同的尺寸。这不是多余的,因为在1个产品中只有1个尺寸。

现在,我有点困惑。耐克可以是或有很多尺寸,但它的1个产品规则可以是1个尺寸吗?还是品牌?或者是什么?那么我应该规范化并制作另一个名为Product_sizes的表还是让它成为现实?因为即使我要制作另一张桌子,也会有4行的尺寸。

帮助!

1 个答案:

答案 0 :(得分:1)

从你的文字中,我猜一个合适的数据库结构会是这样的(请注意耐克听起来不像是我的产品,而是供应商,所以我在这里包括):

supplier(id, name, ...)
product(id, name, description, supplier_id, ...)
product_size(id, size, product_id, ...)

关键是要为每种特定产品引入可用尺寸的单独表格。否则,为每种尺寸引入产品记录,您将引入大量冗余,例如:重复产品名称和每种尺寸的描述,这将导致一致性问题。

根据您的具体要求,哪些属性应归于产品,哪些归属于产品尺寸。例如,如果相同产品的所有尺寸的价格总是相同的,那么它将转到产品,否则转到尺寸。同样的产品没有。如果您的客户对每种尺寸都有单独的产品编号,则会转到尺寸表,否则转到产品。 (这不应与数据库ID混淆,数据库ID应该在任何情况下使用并且对于每个表都存在。)

不要对用户的特定表示的结构感到困惑。即使您使用上面建议的表格设计,您仍然可以生成一个列表,其中每个尺寸都显示为自己的产品系列。只是不要存储那样的数据。