实际开发中,一个项目通常需要很多张表才能完成。且这些表的数据之间存在一定的关系。多表关系可以概括为“一对多”、“一对多/多对一”、“多对多”。

一对一关系

• 一个学生只有一张身份证;一张身份证只能对应一学生。

• 在任一表中添加唯一外键,指向另一方主键,确保一对一关系。

• 一般一对一关系很少见,遇到一对一关系的表最好是合并表

一一对应关系示例

一对多/多对一

例如:

部门和员工

分析:一个部门有多个员工,一个员工只能对应一个部门

实现原则:在多的一方建立外键,指向一的一方的主键

一个分类对应很多子元素,但是每个子元素只对应一个分类。

一对多/多对一的示意

多对多关系

学生和课程

分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择

原则:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,将多对多的关系,拆成一对多的关系,中间表至少要有两个外键,这两个外键分别指向原来的那两张表的主键。

多对多的示意

在后面会详细介绍如何进行多表操作。


声明:内容来源于B站视频《2022黑马程序员最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程》,博客内容仅作学习参考使用。



博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/mysql13.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 06 月 05 日
如果觉得我的文章对你有用,请随意赞赏