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

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

一对一一对多多对多

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
214396513 小时前
mysql如何处理不走索引的OR查询_使用UNION ALL优化重写
jvm·数据库·python
2301_8135995513 小时前
如何在网页中完整显示数组内所有对象的全部属性
jvm·数据库·python
y小恒13 小时前
Gbase 8a中的union和union all
数据库
解救女汉子13 小时前
如何分析Data Guard的网络瓶颈_Bandwidth与Redo传输速率的计算公式
jvm·数据库·python
m0_7436239213 小时前
Golang怎么做数据库事务_Golang数据库事务教程【技巧】
jvm·数据库·python
qq_3300379913 小时前
模型持久化不会提升准确率——揭秘机器学习中常见的评估误区
jvm·数据库·python
qq_4240985613 小时前
CSS如何实现背景平铺与拉伸控制_使用background-repeat属性
jvm·数据库·python
qq_4138474013 小时前
html标签如何正确闭合_self-closing标签注意事项【介绍】
jvm·数据库·python
2501_9142459313 小时前
Go语言怎么做并发下载_Go语言多协程下载教程【技巧】
jvm·数据库·python
a95114164213 小时前
mysql如何创建安全的用户账户_mysql权限配置方法
jvm·数据库·python