社区
MySQL
帖子详情
为什么数据库设计时要将两张多对多表,拆分为三张表,两张表和中间表为一对多的关系
向云
2017-09-11 09:36:54
1、因为性能考量吗?
2、因为关系型数据库无法实现多对多?
还是因为其他
...全文
975
3
打赏
收藏
为什么数据库设计时要将两张多对多表,拆分为三张表,两张表和中间表为一对多的关系
1、因为性能考量吗? 2、因为关系型数据库无法实现多对多? 还是因为其他
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LongRui888
2017-09-11
打赏
举报
回复
建议拆表。 我记得有一本书,sql反模式,里面就对sql设计里面的各种坑,详细说明了,同时给出了解决的拜访。 其中有一种反模式,就是把多对多的对应存到一个表里,都逗号拼接起来,说中建议拆分为另一张表,性能上是一个大问题。 另外,还有其他经典的问题,比如,组织层级,bom类的表结构,论坛回帖这种,要如何设计,如何提高性能,有多种方法
rucypli
2017-09-11
打赏
举报
回复
拆表一般是后期性能的要求
ACMAIN_CHM
2017-09-11
打赏
举报
回复
数据库设计 的 第三范式 要求。 为什么要符合范式设计,建议可以先百度一下。
MySQL
数据库
多
表
设计
(含有外键---Foreign-Key、
一对多
、一对一、
多对多
、案例练习)
如果在业务系统当中,对用户的基本信息查询频率特别的高,但是对于用户的身份信息查询频率很低,此时出于提高查询效率的考虑,我就可以将这张大
表
拆分
成
两张
小
表
,第一张
表
存放的是用户的基本信息,而第二张
表
存放的就是用户的身份信息。一对一
关系
表
在实际开发中应用起来比较简单,通常是用来做单
表
的
拆分
,也就是将一张大
表
拆分
成
两张
小
表
,将大
表
中的一些基础字段放在一张
表
当中,将其他的字段放在另外一张
表
当中,以此来提高数据的操作效率。当我们添加了外键之后,再删除ID为1的部门,就会发现,此时
数据库
报错了,不允许删除。
【JaveWeb教程】(21) MySQL
数据库
开发之多
表
设计
:
一对多
、一对一、
多对多
的
表
关系
详细代码示例讲解
如果在业务系统当中,对用户的基本信息查询频率特别的高,但是对于用户的身份信息查询频率很低,此时出于提高查询效率的考虑,我就可以将这张大
表
拆分
成
两张
小
表
,第一张
表
存放的是用户的基本信息,而第二张
表
存放的就是用户的身份信息。一对一
关系
表
在实际开发中应用起来比较简单,通常是用来做单
表
的
拆分
,也就是将一张大
表
拆分
成
两张
小
表
,将大
表
中的一些基础字段放在一张
表
当中,将其他的字段放在另外一张
表
当中,以此来提高数据的操作效率。当我们添加了外键之后,再删除ID为1的部门,就会发现,此时
数据库
报错了,不允许删除。
mysql 10张
表
左关联查询_MySQL的多
表
设计
和关联查询(
数据库
设计
范式, 外键使用, 关联查询之内外交叉)...
多
表
设计
-关联查询为什么需要多
表
设计
?多
表
设计
的目的就是为了消除冗余的数据,将一张
表
拆分
成为多张
表
,或者将多张
表
中的共同数据提取到一张
表
中.举个例子,有如下
两张
表
编号姓名民族国籍1张三汉族中国2李四汉族中国编号省份国籍1陕西中国2广州中国这
两张
表
中就存在着大量的冗余,如民族,国籍,若是我们对其进行多
表
设计
就可以变为民族
表
民族编号民族1汉族2回族国家
表
国家编号国籍1中国2巴基斯坦而最上面的
两张
表
就可...
深入浅出SQL(10)-多张
表
的
数据库
设计
该系列文章系个人读书笔记及总结性内容,任何组织和个人不得转载进行商业活动! 多张
表
的
数据库
设计
:拓展你的
表
到了某个时候,一张
表
不够了: 我们在上一章中就已经体会到,对于四季饮品的
表
,查询饮品信息还是销售信息,都只能从这一张
表
查询; 当数据变得越来越复杂,这唯一的一张
表
就显得不够用了;
表
里充满了多余的数据,浪费空间又会拖慢速度; 本章我们将学习用多张
表
来...
数据库
(五):多
表
设计
和多
表
查询
项目开发中,在进行
数据库
表
结构
设计
时,会根据业务需求及业务模块之间的
关系
,分析并
设计
表
结构,由于业务之间相互关联,所以各个
表
结构之间也存在各种联系,基本上分为三种:一对一、多对一、
一对多
。需求:根据页面原型及需求文档,完成部门及员工模块的
表
结构
设计
。(一个部门对应多个员工)
设计
部门
表
和员工
表
(父
表
和子
表
) 插入数据: 问题:部门数据可以直接删除,然而还有员工归属于该部门下,此时就出现了数据的不完整不一致的问题。 原因:此时这
两张
表
在
数据库
层面并没有建立关联,所以无法保证数据的一致性和完整性。 解决方案:使
MySQL
57,063
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章