【问题标题】:How it's best to represent an Article in a Database for multiple Stores? [closed]如何最好地在多个商店的数据库中表示一篇文章? [关闭]
【发布时间】:2021-03-03 14:41:39
【问题描述】:

有一个实践项目,并且要求拥有相同的商品(比如可口可乐),具有一些共同的属性,以及针对多个商店的一些单独的属性。

假设商店 1 的条形码与商店 2 不同,价格也不同,但其余部分(如 30 多个属性)是相同的。

我如何在 SQL 中实现这一点,这里的最佳实践是什么,考虑到有 50.000 篇独特的文章,但分布在 100 多家商店(所以 50.000 x 100+)。 数据库访问会非常频繁,因此也要考虑到这一点。

【问题讨论】:

    标签: c# sql database optimization


    【解决方案1】:

    您需要将存储特定信息和文章特定信息分开,然后创建两个单独的表并在它们之间定义外键。例如:

    根据您的描述,我可以说商店的具体信息是条形码和价格。因此表 storeArticles 的列将是 price 和 barcode 并引用存储以及文章。

    对于文章,我猜这将是这 30 多个属性。

    由于商店可以有不止一篇文章并且文章可以在不止1个商店中,我们处理的是多对多关系,所以我们需要联结表。

    整体设置

    表stores,列:

    Id
    -- maybe more columns, like stroeName
    

    表storeArticles(联结表),列:

    StoreId
    ArticleId
    Barcode
    Price
    

    表articles,列

    Id,
    -- those 30+ properties
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-15
      • 2015-12-31
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      相关资源
      最近更新 更多