一、 多表设计中的三种实体关系:
(1)一对多(1:n):
一个部门可以对应多个员工,一个员工只能属于一个部门!
一个客户可以对应多个订单,一个订单只能属于一个客户!
* 一对多关系建表原则: 需要在多的一方添加一个字段,作为外键指向一的一方主键!
(2)多对多(m:n):
一个学生可以选择多门课程,一个课程可以被多个学生所选择的!
* 多对多关系建表原则: 需要创建第三张表,第三张表中需要两个字段,这两个字段分别作为外键指向多对多双方的主键!
(3)一对一(1:1):(使用比较少)
一个公司只能对应一个地址,一个地址也只能对应一个公司!
* 公司表:地址是公司的表的字段.
* 一对一的关系的建表原则: (a) 主键对应: (b) 唯一外键对应:
(1)一对多(1:n):
一个部门可以对应多个员工,一个员工只能属于一个部门!
一个客户可以对应多个订单,一个订单只能属于一个客户!
* 一对多关系建表原则: 需要在多的一方添加一个字段,作为外键指向一的一方主键!
(2)多对多(m:n):
一个学生可以选择多门课程,一个课程可以被多个学生所选择的!
* 多对多关系建表原则: 需要创建第三张表,第三张表中需要两个字段,这两个字段分别作为外键指向多对多双方的主键!
(3)一对一(1:1):(使用比较少)
一个公司只能对应一个地址,一个地址也只能对应一个公司!
* 公司表:地址是公司的表的字段.
* 一对一的关系的建表原则: (a) 主键对应: (b) 唯一外键对应:
总结:
1:1 (一个用户只有一个卡)
1:n (一个系有多个老师)
m:n(多个老师有多个学生)