Database design 在主表中有外键更好,还是在辅助表中引用主表更好

Database design 在主表中有外键更好,还是在辅助表中引用主表更好,database-design,foreign-keys,relational-database,Database Design,Foreign Keys,Relational Database,如果我有一个名为Products的主表和一个名为Types的次表 类型基本上是一个描述表。(衣服、玩具、食物等) 我应该在Products表中使用TypesId吗?或者我应该在类型表中有ProductsId吗?或者两者都有 如果不再需要类型表,则在类型表中包含ProductId将允许删除类型。这将强制执行“无对多”的策略 以另一种方式,将强制产品始终具有类型。(一对一) 任何建议都很好产品表中的TypesId。您需要问问自己,产品是否总是需要是一种类型,然后如果答案是肯定的,则将其设置为外键 您

如果我有一个名为Products的主表和一个名为Types的次表

类型基本上是一个描述表。(衣服、玩具、食物等)

我应该在Products表中使用TypesId吗?或者我应该在类型表中有ProductsId吗?或者两者都有

如果不再需要类型表,则在类型表中包含ProductId将允许删除类型。这将强制执行“无对多”的策略

以另一种方式,将强制产品始终具有类型。(一对一)


任何建议都很好

产品表中的TypesId。您需要问问自己,产品是否总是需要是一种类型,然后如果答案是肯定的,则将其设置为外键


您不能在类型表中生成ProductsId,因为您将有多个类型相同(衣服)的产品(衬衫、裤子)。

产品表中的TypesId。您需要问问自己,产品是否总是需要是一种类型,然后如果答案是肯定的,则将其设置为外键


您不能在类型表中生成ProductsId,因为您将有多个类型相同(衣服)的产品(衬衫、裤子)。

产品表中的TypesId。您需要问问自己,产品是否总是需要是一种类型,然后如果答案是肯定的,则将其设置为外键


您不能在类型表中生成ProductsId,因为您将有多个类型相同(衣服)的产品(衬衫、裤子)。

产品表中的TypesId。您需要问问自己,产品是否总是需要是一种类型,然后如果答案是肯定的,则将其设置为外键


您不能在类型表中生成ProductsId,因为您将有多个产品(衬衫、裤子)具有相同的类型(衣服)。

哦,对了!基本上,如果是一对一关系(引用静态表),我应该将fk保留在主表(产品)中,否则我将不得不继续向辅助表添加行哦,对了!基本上,如果是一对一关系(引用静态表),我应该将fk保留在主表(产品)中,否则我将不得不继续向辅助表添加行哦,对了!基本上,如果是一对一关系(引用静态表),我应该将fk保留在主表(产品)中,否则我将不得不继续向辅助表添加行哦,对了!基本上,如果是一对一关系(引用静态表),我应该将fk保留在主表(产品)中,否则我将不得不继续向辅助表添加行