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

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

一对一一对多多对多

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
是Yu欸13 小时前
vLLM 0.11.0 新特性解析:视觉推理精度跃升与长序列性能革新
数据库·qwen·昇腾·npu·vllm
不屈的铝合金13 小时前
MySQL 数据库服务多实例部署指南
运维·数据库·mysql·多实例部署·维度隔离
杨云龙UP14 小时前
SQL Server定时自动备份配置:使用SSMS维护计划向导配置数据库每日自动备份_20260101
运维·服务器·数据库·sql·sqlserver·桌面
jjjxxxhhh12314 小时前
【项目】-添加辐射源点的接口
数据库
酸菜牛肉汤面14 小时前
21、MySQL中InnoDB的行锁是怎么实现的?
数据库
麦聪聊数据14 小时前
解构“逻辑数据仓库 (LDW)”与数据虚拟化
数据库·数据仓库·sql
天然玩家14 小时前
【数据库知识】MySQL演进/迭代5.x 8.0 9.5
数据库·mysql
降临-max14 小时前
JavaWeb企业级开发---MySQL
java·开发语言·数据库·笔记·后端·mysql
代码不停15 小时前
MySQL索引和视图
数据库·mysql
Ahtacca15 小时前
Redis 五大常用数据类型详解及 Java 客户端(RedisTemplate)操作实战
java·数据库·redis·学习·缓存