我的网站包含很多类型的商家,每个商家都有自己的图层,但现在我有一个名为Brand的公共实体。
我是否应该为每个商业品牌信息提供表格,例如:
DB Table
Business1_BrandsInfo
....................
DB Table
Business2_BrandsInfo
...etc ?
当然,我会为每个企业的每个品牌信息都有一个单独的商业实体。
或者我应该有一个公用表并为每个业务添加一个ID来定义该品牌所属的业务。
这几项业务并不相关,但我对每个品牌都有相同的典型信息,无论业务类型如何,我在网站上有5种不同类型的业务。
答案 0 :(得分:0)
简单:如果它对每个表具有相同的属性,那么您可以将它放在1个表中并通过TypeId列识别它们。
如果您有多于一种类型,那么您还需要多于1个实体来满足这些表格。
识别的类型也将在课堂上。
请注意,如果明天您将添加一个特定列以输入“1”,那么您将遇到问题......
答案 1 :(得分:0)
我认为共同实体是指您网站中所有商家共享的对象。如果是这种情况,您的数据库模式应该反映所有品牌的单个表,但它应该有一个BusinessID列,其中包含与其关联业务的外键。
[dbo].[Brands]
ID
BusinessID → [dbo].[Businesses].[ID]
...
[dbo].[Businesses]
ID ← [dbo].[Brands].[BusinessID]
...
您可以根据需要添加任意数量的商家和品牌,但稍后如果您希望自定义属性因企业或品牌而异,则该架构必须更改,或者您必须设计一些这些自定义字段的其他方法。
答案 2 :(得分:0)
我会将这些分开。以下是两个选项。您不需要重复具有相同类型数据的表。
选项1
Brands
{
ID,
BusinessID, (FK to Business.ID)
Info1,
Info2
}
Business
{
ID,
BusinessName,
BusinessDesc,
OtherStuff1,
OtherStuff2
}
选项2
Brands
{
ID,
Info1,
Info2
}
Business
{
ID,
BusinessName,
BusinessDesc,
OtherStuff1,
OtherStuff2
}
BusinessToBrands
{
ID,
BrandsID(FK to Brands),
BusinessID(FK to Business)
}