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

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

一对一一对多多对多

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
m0_514520574 小时前
宝塔面板怎样实现数据库的多地异地自动备份_结合阿里云OSS与定时任务插件
jvm·数据库·python
北漂Zachary4 小时前
四大编程语言终极对决
java·linux·数据库
qq_334563554 小时前
golang如何优化磁盘IO性能_golang磁盘IO性能优化思路
jvm·数据库·python
Aloudata4 小时前
基于 NoETL 语义编织技术构建 AI-Ready 数据底座
数据库·人工智能·数据分析·skill·语义编织
主角1 74 小时前
NoSQL之Redia配置与优化
数据库·nosql
2402_854808374 小时前
MySQL高负载下查询中断怎么解决_增加系统内存与调整参数
jvm·数据库·python
2401_887724504 小时前
Go语言GORM怎么做分页_Go语言GORM分页查询教程【实用】
jvm·数据库·python
星星也在雾里4 小时前
MySQL 数据迁移到 PostgreSQL 实战教程
数据库·mysql·postgresql
m0_640309304 小时前
SQL在分组聚合时如何减少内存消耗_优化GROUP BY查询计划
jvm·数据库·python
gjc5924 小时前
直击MySQL致命坑!GROUP_CONCAT默认截断不报错
android·数据库·mysql