数据库设计 - 来自多个来源的销售

时间:2013-04-02 22:27:04

标签: sql database

我们目前有一个SQL数据库,其中包含一个表格,用于保存我们公司的在线销售,该公司使用其他网站(例如亚马逊)销售产品。表格架构已设置为保存我们的项目当前销售的网站(例如,站点A)提供的特定销售数据/属性。

我们正在扩大对其他网站的销售,这些网站提供的不同于网站A在销售商品时使用的属性(例如,网站A可能提供唯一的销售ID编号,而网站B可能不提供唯一的销售ID编号,但也提供站点A未提供的其他一些信息,我们仍然需要捕获)。

问题是我在销售的每个“网站”上添加一个单独的销售表,因为架构会有所不同,或者尝试将所有销售合并到一个表中,无论平台如何,只留下一些列为null如果它不属于特定平台?或者也许是混合方法,只将两个站点中不常见的属性分隔成单独的表,而“主”销售表保存共享的属性(sale_price,sale_date等)?

还有其他表格可以保存内部信息(产品ID,成本等),这些信息通过唯一标识符链接到销售表。无论我选择哪种路线,我都需要提供一个我可以在所有表​​格中使用的唯一标识符(例如自动递增的sale_id),并将其存储在表格中以供参考/加入。

欢迎任何建议!

2 个答案:

答案 0 :(得分:2)

销售是销售>>相同的数据属于同一个表。我绝对不会建议将您的销售分成几个表,因为这会给所有可能产生的问题带来很多困难:销售统计等等。尽量将所有销售保留在一个表中。

如果这是一个非常小的项目,它可能是将不同字段集成到一个表中的最佳方法。否则,您可能会尝试为每个销售平台创建配置文件:在这种情况下,请使用实体 - 属性 - 值模型。

答案 1 :(得分:1)

不要为每个网站添加表格。听起来您在站点和属性之间存在多对多关系,因此请以这种方式设置数据库。此外,对于您需要的任何唯一标识符,请自行创建。