MySQL数据库(14):表关系

表关系

表与表之间(实体)的关系

一对一

两张表使用相同的主键

学生表

学生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   女

老师学生关系表

id tid sid
1   T1  S1
2   T1  S2
3   T2  S1
4   T2  S3
5   T2  S4
6   T2  S5

猜你喜欢

转载自blog.csdn.net/mouday/article/details/124973850