Mysql 一对多还是一对一,这里用什么?

Mysql 一对多还是一对一,这里用什么?,mysql,foreign-keys,relationship,Mysql,Foreign Keys,Relationship,其实我现在有点糊涂了,看了以后什么时候用1:1,1:n和n:m 首先是一个基本问题:如果我有两张表: users roles ----- ----- user_id role_id role_id .... .... 并且有一个FK FK_用户角色1,这是n:1多个用户可以有一个角色吗 还有第二个问题: users companies companymembers ----- --------- -------------- user_i

其实我现在有点糊涂了,看了以后什么时候用1:1,1:n和n:m

首先是一个基本问题:如果我有两张表:

users      roles
-----      -----
user_id    role_id
role_id    ....
....
并且有一个FK FK_用户角色1,这是n:1多个用户可以有一个角色吗

还有第二个问题:

users    companies    companymembers
-----    ---------    --------------
user_id  company_id   company_id
                      user_id

在companymembers中有两个fk:fk_companymembers_Companyies1和fk_companymembers_users1,这里的正确关系是什么?1:1还是1:n

对于第一个,您是对的,它是1:n一个用户只有一个角色,一个角色可以分配给多个用户。对于第二种情况,这是一种n:m关系。一个用户可以是许多公司的成员,一个公司可以有许多用户作为成员。谢谢!所以,如果我想让一个用户只成为一家公司的成员,我应该像对待角色那样做吗?