一个表中的主键是不是也可以作为主键出现在另一个表中?

Posted

技术标签:

【中文标题】一个表中的主键是不是也可以作为主键出现在另一个表中?【英文标题】:Can primary key in one table appear in another table as primary key as well?一个表中的主键是否也可以作为主键出现在另一个表中? 【发布时间】:2016-11-24 05:53:38 【问题描述】:

我很抱歉这个相当愚蠢的问题。 例如,一张表是否可以具有由 'user_id' 和 'employee_id'

组成的复合主键

还有另一个包含 'user_id' 作为主键的表?

【问题讨论】:

一个表中的主键作为外键出现在另一个表中 如果第一个表有一个复合主键,这意味着你可以在表中有重复的user_id。该表中user_idemployee_id 之间的关系是什么,为什么它们不是唯一的? 【参考方案1】:

简短回答:是的,在这种情况下,您有一对 0/1 的关系

例如表USERS有PKuser_id

那么表SUPERUSERS也有PKuser_id也是FKusers。并非所有用户都是超级用户,您需要为超级用户定义一些属性/角色/权限。

【讨论】:

以上是关于一个表中的主键是不是也可以作为主键出现在另一个表中?的主要内容,如果未能解决你的问题,请参考以下文章

访问表中的主键是不是会更改

替换其他表中作为外键的主键

sql主键和外键的区别

主键和外键的作用

sql server的主键与外键问题

数据库表中的主键能不能修改?