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

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

一对一一对多多对多

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
TDengine (老段)1 天前
TDengine Go 连接器入门指南
大数据·数据库·物联网·golang·时序数据库·tdengine·涛思数据
CC.GG1 天前
【Qt】常用控件----按钮类控件
开发语言·数据库·qt
小北方城市网1 天前
第 6 课:全栈项目性能 & 安全双进阶 ——Redis 缓存 + JWT 认证(打造高并发高安全后端)
开发语言·数据库·redis·python·安全·缓存·数据库架构
java干货1 天前
拒绝应用层循环!用 MySQL 8.0 JSON_TABLE 一键把 JSON 数组“变”成表
数据库·mysql·json
蜗牛~turbo1 天前
云星空 应收款账龄分析取数SQL
数据库·sql·金蝶·云星空·k3 cloud
l1t1 天前
一个用SQL Sever求解数独的SQL
数据库·sql·sql server·数独·sudoku
未来之窗软件服务1 天前
数据库(四)MySQL 数据表修复——东方仙盟练气
数据库·mysql·仙盟创梦ide·东方仙盟·数据库修复
P-ShineBeam1 天前
知识图谱-结构化数据的通用LLM推理框架-StructGPT
数据库·人工智能·语言模型·自然语言处理·知识图谱
rchmin1 天前
PostgreSQL数据库详细介绍
数据库·postgresql
Ama_tor1 天前
pycharm|学会模块(包)编码模式+旧.py重构+struture管理面板
数据库·重构·pycharm