多表关系
概述:项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本分为三种:
- 一对多(多对一)
- 多对多
- 一对一
一对多(多对一)
- 案例:部门与员工的关系
- 关系:一个部门对应多个员工,一个员工对应一个部门
- 实现:在多的一方建立外键,指向一的一方的主键
多对多
- 案例:学生与课程的关系
- 关系:一个学生可以选多门课程,一门课程也可以共多个学习选择
- 实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键
一对一
案例:用户与用户详情的关系
关系:一对一关系用于单表拆分,将一张表的基础字段放在一张表中,其他详情字段放在另一张表中,以提升效率
实现:在任意一方加入外键,关联另外一方的主键,并且设置外键为唯一的(unique)
多表查询概述
- 概述:指从多张表中查询数据
- 笛卡尔积:笛卡尔积是指在数学中ÿ