【问题标题】:MySQL design multi outlet productsMySQL 设计多插座产品
【发布时间】:2016-04-18 10:06:43
【问题描述】:

一家公司有很多产品。它有很多商店。每家商店都有不同的价格和要跟踪的库存。

我目前的数据库设计是:

产品

ID product_name price inventory

商店

ID store_name

产品属性

store_id product_id price inventory

现在我将库存和价格保存在产品表本身中,以防在其中一个商店中添加新产品并且没有为其他商店创建 ProductAttr 表行,在这种情况下,它们可以默认为产品表。

将属性完全移至 ProductAttr 表是否更好。如果他们在几周内添加新商店,我需要确保在这个新商店下​​创建所有产品属性。此外,当商店创建产品时,为所有商店创建行。

解决这种情况的最佳方法是什么?

【问题讨论】:

    标签: mysql database database-schema


    【解决方案1】:

    您的想法是正确的。 inventory 属性应该属于 ProductAttr,因为它是与该商店的产品相关的属性。

    您可以进一步添加default store,以防您没有商店可分配。

    产品总库存将是ProductAttr表中的库存总和。

    【讨论】:

    • 在产品创建中为 ProductAttr 表中的所有商店插入行是否更好?此外,如果添加了新商店,它也需要有行吗?这是我关心的一点。
    • 是的,您需要在 ProductAttr 中插入行。新店也是如此。这是正确的方法,这就是它在关系数据库中的完成方式!
    猜你喜欢
    • 1970-01-01
    • 2012-09-16
    • 2017-05-08
    • 2017-02-05
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多