关系型数据库表关系

介绍

表与表的关系有以下几种:

  • 一对一
  • 一对多(多对一)
  • 多对多

1. 一对一

A表的 一条记录 对应 B表的 一条记录

应用场景不多,因为可以创建成一张表

案例:

某表的字段过多,比如有50多个字段,经过分析这些字段有20个是常用字段,另外30个是不常用字段,所以将其拆分成2个表,主表 保存常用字段,从表 保存不常用字段

表设计:

  1. 主表的主键 与 从表主键 相同
  2. 在从表中创建一个字段,保存主表的主键

2. 一对多(多对一)

A表的 一条记录 对应 B表的 多条记录,但是,B表的 一条记录 对应 A表的 一条记录

A表 就是 一对多 中的 一
B表 就是 一对多 中的 多

应用场景最多

案例

  1. 部门表 与 员工表
  2. 作者表 与 文章表
  3. 班级表 与 学生表
  4. 用户表 与 收货地址表

表设计:

在 多的一方 创建一个字段,保存 一的一方 的主键

student表增加teacher_id字段,如下:

sid sname teacher_id
1 李雷 高老师的id
2 韩梅梅 高老师的id
3 川普 高老师的id

主表、从表

一对多 中,一 方称之为 主表,多 方称之为 从表

班主任 与 学生 的关系是 一对多,所以 班主任 是 主表,学生 是 从表

多对一

与 一对多 是一个含义,就看从哪个方向说

班主任 与 学生 的关系是 一对多

学生 与 班主任 的关系是 多对一

3. 多对多

A表的 一条记录 对应 B表的 多条记录,B表的 一条记录 也能对应 A表中的 多条记录

应用场景较多

案例

  1. 学生表 与 专业表
  2. 分类表 与 电影表

表设计

需要创建 中间表,中间表至少两个字段,分别保存两表的主键


原文出处:/show_1EF5X28kA8Jr.html