C# 如何';在多个商店的数据库中表示一篇文章的最佳方式是什么?

C# 如何';在多个商店的数据库中表示一篇文章的最佳方式是什么?,c#,sql,database,optimization,C#,Sql,Database,Optimization,有一个实践项目,要求的是有相同的文章(比如可口可乐),有一些共同的属性,以及每个多个商店的一些单独属性 比如说,对于商店1,它的条形码与商店2不同,价格也不同,但其余的(如30多个属性)是相同的 我如何在SQL中实现这一点,这里的最佳实践是什么,考虑到有大约50000篇独特的文章,但分布在大约100多家商店(因此是50000 x 100+)。 数据库访问将非常频繁,因此这也需要考虑。您需要将存储特定信息和文章特定信息分开,然后创建两个单独的表并在它们之间定义外键。例如: 根据您的描述,我可以说,

有一个实践项目,要求的是有相同的文章(比如可口可乐),有一些共同的属性,以及每个多个商店的一些单独属性

比如说,对于商店1,它的条形码与商店2不同,价格也不同,但其余的(如30多个属性)是相同的

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

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

根据您的描述,我可以说,商店特定的信息是条形码和价格。因此,表
storeArticles
的列将是
price
barcode
以及对商店和物品的引用

对于这篇文章,我想这就是这30多个属性

由于存储可以有多个项目,并且项目可以位于多个存储中,因此我们正在处理多对多关系,因此我们需要连接表

整体设置

存储
,列:

Id
-- maybe more columns, like stroeName
StoreId
ArticleId
Barcode
Price
storeArticles
(连接表),列:

Id
-- maybe more columns, like stroeName
StoreId
ArticleId
Barcode
Price
文章
,列

Id,
-- those 30+ properties