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

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

一对一一对多多对多

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
逍遥德几秒前
如何学编程之理论篇.03.如何做数据库表结构设计?
开发语言·数据库·性能优化·代码规范·代码复审
Hello eveybody5 分钟前
如何将十进制转为二进制、八进制、十六进制?
前端·javascript·数据库
a2852820 分钟前
最新SQL Server 2022保姆级安装教程【附安装包】
数据库·性能优化
小刘的大模型笔记28 分钟前
向量数据库深度剖析:核心优劣势 + 适用场景,避开 RAG 落地的选型坑
数据库·人工智能·深度学习·机器学习
w***298536 分钟前
开放自己本机的mysql允许别人连接
数据库·mysql·adb
invicinble1 小时前
对于梳理mysql和jdbc,以及hikiria三者依赖的关系
数据库·mysql
skywalk81631 小时前
DBAASP‌(Database of Antimicrobial Activity and Structure of Peptides) 怎么下载数据集
数据库
knighthood20011 小时前
PCL1.14.0+VTK9.3.0+Qt5.15.2实现加载点云
开发语言·数据库·qt
学到头秃的suhian1 小时前
Redis分布式锁
java·数据库·redis·分布式·缓存
番茄去哪了1 小时前
Redis零基础入门
数据库·redis·缓存