2011-02-01 112 views
2

在一到父表和子表之间一对多的关联的主键。有一个外键的子表

它是确定以使对儿童表的外键为同一子表的主键。

只是我的工作方式,通过DBMS,并希望在这些类型的设计专家的意见。

哪些优点和缺点?

+1

我很困惑。如果关系是一对多关系,那么子表不能使用父ID作为主键,因为会有重复。如果子表上的主键包含其他某个键,以使其成为一个组合键,那么它将起作用。 – 2011-02-01 01:18:28

回答

6

如果你的意思是一个父行映射到许多子行,那么你将不能够做到这一点。主键值具有唯一的键约束;如果您需要多个子行来引用同一父级,则将外键引用设置为主键将禁止这种情况,因为您将无法拥有多个具有相同外键引用的行。

+0

欣赏答案!就在按钮上!非常感谢!所以,只是重新迭代。 “亚当罗宾逊”解释说,这种设计只适用于1对1的关系。 – 2011-02-01 02:55:55

4

这将创建一个1:0-1的关系,而不是1:0-N,因为界定涉及孩子家长外键作为孩子的主键会阻止你有一个以上的孩子相同的父键。