2025年关于数据库中FK的简单理解以及应用

关于数据库中FK的简单理解以及应用问题来源 思考如果有两张表 应该以什么样的方式将两者关联起来 直接用两个表中的字段进行关联 还是使用第三张关系表进行关联 说明 FK foreign key PK primary key 注 下面提到的 一对一

大家好,我是讯享网,很高兴认识大家。

问题来源:思考如果有两张表,应该以什么样的方式将两者关联起来?直接用两个表中的字段进行关联,还是使用第三张关系表进行关联?

说明:FK(foreign key)、PK(primary key)

(注:下面提到的:“一对一”、“一对多”、“多对一”,是指一个表的记录只能与另一个表的一条记录连接;或者是一个表的记录与另一个表的多条记录连接)
查询之前,先要了解 表之间的关系

理解:


讯享网

如果两个表之间的关系涉及一对多,或者多对一,肯定会有FK
即便没有显示声明FK,也会有一个字段起到FK的作用;

如果当时设计是一对多,或者多对一,就可以利用FK关联
但是大部分情况,我们是不会显示声明FK的;

如果两个表之间的关系是多对多,中间必然会有 “关系表”(例如“教师-学生关系表”,教师表和学生表的关系)
这个时候,查询时,中间的“关系表”起到关联中介的作用。

总结:
如果两张表是:“一对多”,或者“多对一”的关系,那么可以考虑使用 FK 进行关联两张表;
如果两张表是:“多对多”的关系,那么就会需要使用到第三张“关系表”来进行关联;

举个例子:
现有一个新系统,一个用户只允许有一个角色,一个角色可以对应多个用户,(分别对应用户表,角色表)
这个时候,FK应该在哪个表上?
FK应该在 角色表上; FK设定的重要原则:FK必然是另一个表的PK的映射。(做FK的不一定是PK字段)

FK 的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。


---- 还有好多的不懂之处,后续知道了再补充。

小讯
上一篇 2025-03-14 09:19
下一篇 2025-03-09 14:10

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/23290.html