我有一张表“人物”(ID,姓名)
1, George
2, Nick
3, John
4, Paul
每个客户都可以连接到另一个客户(仅供参考) 例如乔治与保罗联系在一起
所以我创建了一个新表PeopleConnections(PeopleConnectID,PeopleID,ConnectedID)
我添加了人与人之间的关系
1, 1, 4 (George with Paul)
1, 2, 3 (Nick with John)
1, 2, 4 (Nick with Paul)
我需要在记录视图gui中显示所有关系。所以
John, Paul
George, Nick
Nick
这是正确的设计吗? 我应该添加什么外键?
答案 0 :(得分:1)
这是一种many-to-many
关系,在我看来这是一个正确的设计。您的外键应该是来自ID
表的People
。你已经在那个部分回答了自己。
答案 1 :(得分:0)
是的,您的设计通常是合适的。您应该在PeopleConnections.PeopleID和PeopleConnections.ConnectedID上放置外键约束。这两个都应该引用People.PeopleID。
您可能还希望对PeopleConnections.PeopleID和PeopleConnections.ConnectedID的聚合放置唯一约束,以防止重复关系。