首页 > 其他 > 详细

表关系

时间:2021-04-14 16:02:25      阅读:19      评论:0      收藏:0      [点我收藏+]

 表与表之间的关系

 为什么要拆表

拆分表的目的:

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

拆分之后:

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

空间 和 时间

11.2 表与 表 之间 的 关系

11.2.1 一对一

人与身份证的关系:

注意:

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

(2)什么场景需要拆分

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

 一对多

最最常见的关系:

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

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

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

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

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

在员工表中存储部门的 ID

建表:使用主外键实现。

 多对多

常见的案例:

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

用户与商品的关系:

用户和权限的关系:

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

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

Id

用户 ID

  商品 ID

 

1001

  1

6

 

1002

1

5

1003

2

6

 

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

Id  

 

用户 ID

权限 ID

1001

1

1001

1002

1

1003

1003

2

1001

多表查询

多表查询查询有如下几种

(1) 合并结果集:union,union all

(2) 连接查询(列的合并):

内连接:

外连接:

左外连接

有外连接

全连接

自然连接

(3) 子查询

合并结果集(行连接)

2 个结果集(表)合并到一起。

要求:2 个结果集的列数(数据类型)应该要相同

表关系

原文:https://www.cnblogs.com/M78-u-p/p/14656278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!