主键作为外键

时间:2011-06-14 03:52:19

标签: mysql database database-design

我有这个设计

table: users
-------------
PK id_users
users

table: single_users
--------------------
PK FK users_id_users
something

table: workers
---------------
PK FK single_users_users_id_users
something

将PK作为外键有什么问题吗?像上面的例子一样?

感谢

1 个答案:

答案 0 :(得分:3)

我认为,只要您在用户与工作人员之间建立一对多的关系,并将用户与one_users建立关系,我认为这很好。

注意:您必须拥有多重值PK。例如

users 
1 Al
2 Eve
3 Bob

user_workers
1 something_1
1 something_2

因此,您必须将id和某些内容作为复合主键。通常更容易为工人提供一个主键的id字段。

所以:

user_workers
id | user_id | something
1    1         something_1
2    1         something_2