0

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

我们正在将销售扩展到提供与站点 A 在销售商品时使用的属性不同的其他网站(例如站点 A 可能提供唯一的销售 ID 号,站点 B 可能不提供唯一的销售 ID 号,但还提供一些其他信息站点 A 没有提供我们仍然需要捕获的内容)。

问题是我是否在我们销售的每个“网站”上添加一个单独的销售表,因为架构会有所不同,或者尝试将所有销售合并到一个表中,无论平台如何,如果没有,则将某些列保留为空与特定平台无关?或者可能是一种混合方法,仅将两个站点之间不常见的属性分隔到单独的表中,而“主”销售表包含共享的属性(sale_price、sale_date 等)?

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

欢迎任何建议!

4

2 回答 2

2

销售就是销售>>相同的数据属于同一个表。我绝对不建议将您的销售额分成几张表,因为这会给随后的所有事情带来很多困难:销售统计等等。尽量将所有销售额放在一张桌子上。

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

于 2013-04-02T22:45:29.033 回答
1

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

于 2013-04-02T22:40:14.923 回答