天天看点

为什么要拆表

拆分表的目的:

为了解决数据冗余问题,可以减少重复数据的储存,表的结构也更加清晰了。

拆分之后:

在某些业务下,需要查询多个表,速度减低了。

空间和时间

11.2表与表之间的关系

11.2.1 一对一

人与身份证的关系:

注意:

(1)一对一不存在数据容易问题??可以拆分表么?可以。

什么场景需要拆分

(2)用户信息+身份证+……-》表中的字段太多了。

11.2.2一对多

最最常见的关系:

学生和成绩的关系:1个学生有多个成绩。

部门和成员的关系:1个部门有多个员工。

这种关系怎么去建立,怎么去表达

在“多”的一方,储存“一”的主键ID。

在成绩表中存储用户的ID。

在员工表中存储部门的ID。

建表:使用主外键实现。

11.2.2多对多

常见的案例:

老师与学生的关系:一个老师对应多位学生,一个学生对应多位老师;

用户与商品的关系:

用户和权限的关系:

这种关系怎么去建立,怎么去表达:借助第三张表

用户和商品:订单(谁(用户ID))什么时候买了什么商品(商品ID)

用户和权限的关系:谁拥有什么权限