外键 必须 是另一个表的 主键 么
展开全部
是的,外键的定义就是必须是另一个表的主键
不过如果只是逻辑外键,并没有数据库中的外键约束的话,是没有这个要求的,自己随意设计就可以,比如一个人员表和一个成绩表,人员表中主键为人员id,还有一个普通字段身份证号码,那么在成绩表中如果设计一个引用自人员表的外键 人员id,这个就是数据库中的外键约束,但是身份证号在实际中也是唯一的,也可以用来作为成绩表的逻辑外键,就是你自己设计的时候知道两个表是根据人员身份证号来关联的,但是数据库级别上并没有外键约束。
不过如果只是逻辑外键,并没有数据库中的外键约束的话,是没有这个要求的,自己随意设计就可以,比如一个人员表和一个成绩表,人员表中主键为人员id,还有一个普通字段身份证号码,那么在成绩表中如果设计一个引用自人员表的外键 人员id,这个就是数据库中的外键约束,但是身份证号在实际中也是唯一的,也可以用来作为成绩表的逻辑外键,就是你自己设计的时候知道两个表是根据人员身份证号来关联的,但是数据库级别上并没有外键约束。
展开全部
也可以不是, 两个字段都设置为 UNIQUE索引 ,也可以外键关联,实践过! 只不过索引消耗存储空间,还是慎用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还可以是加了unique约束的列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询