多表关系
项目开发中在进行数据库结构设计时, 会根据业务需求及业务模块之间的关系, 分析并设计表结构, 由于业务之间相互关联, 所以各个表结构之间也存在着各种联系, 基本上分为三种.
一对一
一对多
多对多
那么, 在数据库层面我们应该怎么来体现这些关系呢?
一对多
例如
一个部门对应多个员工, 一个员工只对应一个部门
实现: 在多的一方建立外键, 指向一的一方的主键.
多对多
例如
一个学生可以选择多门课程, 一门课程中也将有多个学生
实现: 建立第三张中间表, 中间表至少包含两个外键, 分别关联两方主键.
一对一
例如
一个人的个人信息, 和个人的受教育信息
这种关系可以直接定义在一个表中, 但是实际上, 多用于单表拆分, 将一张表的基础信息放在一张表, 其他详细信息放在另外一张表, 以提升操作效率.
实现: 在任意一方加入外键, 关联另外一方的主键, 并且设置外键为唯一的(unique)


本文探讨了数据库设计中的关键关系类型:一对一、一对多和多对多,并阐述了如何在数据库层面通过外键、中间表等手段来表示这些关系。涵盖了内连接、外连接、自连接和子查询在多表查询中的应用实例。
673

被折叠的 条评论
为什么被折叠?



