0

说我有两个表将一个表中的多个外键转换为另一个表中的单个主键是否正确?

产品表:

|ProductID|ProductName|ListPrice| 

PrebuiltSystems表:

|BuldID|Processor|Motherboard|RAM| 

为处理器值,主板等都是现有ProductID的。我现在正在创建 从每个零件名称列到一个ProductID的外键关系,并为每个零件创建一组导航属性和关系线。这个可以吗?

或者是否有某种关系合并/规则,我可以用来说所有这些列是外键到productID而不创建一对一的关系?

+4

是的。你做得对。 – Isaac

回答

0

是的,它是罚款,有多个外键。然而,在你的例子中,我仍然以不同的方式做;如果每个组件类型都有一列,那么您非常会限制自己。你怎么处理多CPU系统?什么与多个硬盘等?

您应该对PrebuiltSystems表进行标准化,以便您有一个链接表,它可以为产品创建一个n对n的关系(例如,每个产品可以是任意数量的预建系统的一部分,并且每个预建的系统都可以任何数量的产品)。

3

可以吗?

是的,这是正确的做法。

还是有somekind的关系合并/规则,我可以用说 所有这些列的外键,以产品ID

不,他们都是不同的关系。

没有创建一对一的关系?

注意,这些都是多到一个,不一到一个关系,许多PrebuiltSystems将具有相同Processor

+0

+1关于**一对一**/**多对一**关系的说明。 – Isaac

+0

感谢您的支持。我已经看到了你的答案(虽然我不知道你为什么说这是评论),因为我想额外写一下关于点数的问题。 –

+0

我把它作为评论,留下更多的详细答案像你的空间。 – Isaac

相关问题