目录
多表之间的关系
多表之间总共存在着三种关系:一对一,一对多,多对多
一对一
如:人和身份证
分析:一个人只有一个身份证,一个身份证只能对应一个人
实现原则:一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键
其实实际开发中遇到的一对一的情况比较少,如果是一对一,还不如直接合为一张表,没必要拆分成两张表
这里重点是外键添加唯一特性,因为外键是可重复的,只有添加了唯一特性才能保证是一对一
一对多(多对一)
如:部门和员工
分析:一个部门有多个员工,一个员工只能对应一个部门
实现原则:在多的一方建立外键,指向一的一方的主键
多对多
如:学生和课程
分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择
原则:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,将多对多的关系,拆成一对多的关系,中间表至少要有两个外键,这两个外键分别指向原来的那两张表的主键
通过中间表可以做到一个人可以选择多门课程,一门课程也可以被多个人选择,但是联合主键是唯一的,也就是说两个主键的组合方式是唯一的