表关系
表与表之间(实体)的关系
一对一
两张表使用相同的主键
学生表
学生ID(PRI) 姓名 年龄 性别 籍贯 住址
常用的信息会经常查询,不常用的信息偶尔会用到
解决方案:将两张表拆分
常用的字段放一张表
不常用的放一张表
学生表(常用字段)
学生ID(PRI) 姓名 年龄 性别
学生表(不常用字段)
学生ID(PRI) 籍贯 住址
一对多(多对一)
"多关系"的表中维护一个"一关系"的主键
示例:
父子关系:一个父亲有多个孩子,一个孩子只有一个父亲
父亲表
父亲ID 年龄 身高 F1 F2
孩子表
孩子ID 年龄 身高 父亲ID K1 F1 K2 F1
多对多
一张表中的一条记录,在另一张表中可以匹配多条记录,反过来也一样
需要通过第三张表来维护关系
让中间表和对应的表行成多对一的关系;
在“多表”中增加“一表”对应的主键字段
例如:师生关系
老师表
tid name age gender T1 王老师 30 男 T2 李老师 28 女
学生表
sid name age gender S1 张飞 18 男 S2 关羽 16 男 S3 刘备 19 男 S4 小乔 16 女
老师学生关系表
i
d tid sid 1 T1 S1 2 T1 S2 3 T2 S1 4 T2 S3 5 T2 S4 6 T2 S5