为什么数据库设计时要将两张多对多表,拆分为三张表,两张表和中间表为一对多的关系

时间:2020-11-28 11:56:24
1、因为性能考量吗?
2、因为关系型数据库无法实现多对多?
还是因为其他

3 个解决方案

#1


数据库设计 的 第三范式 要求。
为什么要符合范式设计,建议可以先百度一下。

#2


拆表一般是后期性能的要求

#3


建议拆表。

我记得有一本书,sql反模式,里面就对sql设计里面的各种坑,详细说明了,同时给出了解决的拜访。

其中有一种反模式,就是把多对多的对应存到一个表里,都逗号拼接起来,说中建议拆分为另一张表,性能上是一个大问题。

另外,还有其他经典的问题,比如,组织层级,bom类的表结构,论坛回帖这种,要如何设计,如何提高性能,有多种方法

#1


数据库设计 的 第三范式 要求。
为什么要符合范式设计,建议可以先百度一下。

#2


拆表一般是后期性能的要求

#3


建议拆表。

我记得有一本书,sql反模式,里面就对sql设计里面的各种坑,详细说明了,同时给出了解决的拜访。

其中有一种反模式,就是把多对多的对应存到一个表里,都逗号拼接起来,说中建议拆分为另一张表,性能上是一个大问题。

另外,还有其他经典的问题,比如,组织层级,bom类的表结构,论坛回帖这种,要如何设计,如何提高性能,有多种方法