数据库——表格之间的关系(表格之间的连接和处理)

数据库表格之间经常存在各种关系:

一对一一对多多对多

1.一对一 ------ 丈夫表,妻子表为例

连接方式一: 合并为一张表 这种方式对于一对一来说最优

**连接方式二:**在其中一张表内加入一个外键,连接另一张表

连接方式三 :单独创建一张表(不常用)

这三种连接方式从上到下,越来越复杂

2.一对多 ------ 班级和部门,老师和学生表

连接方式一 :合并为一张表 这种方法对于那个"一"方会存好多遍 造成数据冗余

**连接方式二:**在多方加入外键(多方为学生表) 这种方法没有数据冗余(重复的1,2,3表示关系,并不是冗余),在一方(班级表)加入外键,也会造成数据冗余

这种处理是一对多的最优处理结果

连接方式三:单独创建一张表 没有冗余 但是运行较为复杂

3.多对多 ------ 班级和部门,老师和学生表

**连接方式一:**合成一张表 不好 都会造成数据冗余

**连接方式二:**添加外键,不论存在哪一方,都会造成数据冗余

连接方式三 : 新建一张表,不会造成冗余,对于多对多来说单独创建一张表为最优方式

相关推荐
开心工作室_kaic7 分钟前
基于Java的可携宠物酒店管理系统的设计与实现(论文+源码)_kaic
java·开发语言·javascript·数据库·微信小程序·小程序·宠物
小叶子来了啊2 小时前
第二阶段:mysql(学完就隐藏版)
数据库·mysql
2,4(1H,3H)-PD are mine2 小时前
python脚本实现Redis未授权访问漏洞利用
数据库·redis·python·反弹连接
Code成立2 小时前
3、Redis Stack扩展功能
数据库·redis·bootstrap
周周写不完的代码2 小时前
Redis-缓存一致性
数据库·redis·缓存
weixin_531804243 小时前
请解释一下数据库的分区和分片?请解释一下数据库的日志和日志的重要性?
数据库·oracle
dawn1912283 小时前
如何保证 Redis 与数据库的数据一致性
java·数据库·redis·缓存
王哲晓3 小时前
第十二章 Redis短信登录实战(基于Session)
数据库·redis·缓存
李少兄3 小时前
MySQL修改字段卡住问题总结及解决方法
数据库·mysql
CodingBrother3 小时前
Redis基础用法
数据库·redis·缓存