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

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

一对一一对多多对多

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
2301_773553623 分钟前
HTML5中SharedWorker生命周期与浏览器进程关闭的关系
jvm·数据库·python
m0_640309309 分钟前
mysql flush privileges有什么作用_mysql权限生效机制解析
jvm·数据库·python
2401_897190559 分钟前
mysql备份期间如何监控系统负载_使用iostat与top命令
jvm·数据库·python
2301_7965885010 分钟前
SQL批量删除不同条件的记录_使用IN子句简化删除逻辑
jvm·数据库·python
m0_6845019810 分钟前
Golang如何解析嵌套JSON_Golang嵌套JSON解析教程【简明】
jvm·数据库·python
2301_8148098619 分钟前
防止SQL注入的运维实践_实时清理数据库缓存与历史记录.txt
jvm·数据库·python
qq_3729069334 分钟前
宝塔面板网站无法发邮件怎么办_检查PHP函数与SMTP配置
jvm·数据库·python
2401_883600251 小时前
怎么为MongoDB事务调优:将读操作尽量移到事务外面执行.txt
jvm·数据库·python
m0_493934531 小时前
Go 中嵌入类型字段在派生结构体字面量中的初始化规则详解
jvm·数据库·python
Polar__Star1 小时前
PHP新手如何评估AI成本_预算控制方法【教程】
jvm·数据库·python