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

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

一对一一对多多对多

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
alien爱吃蛋挞3 分钟前
【JavaEE】万字详解Mybatis(上)
数据库·java-ee·mybatis
写代码的【黑咖啡】3 分钟前
HiveSQL 语法详解与常用 SQL 写法实战
数据库·sql
黄筱筱筱筱筱筱筱7 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
怣5011 分钟前
MySQL WHERE子句完全指南:精准过滤数据的艺术
数据库·mysql
大鳥15 分钟前
第一章 - 数据仓库是什么
大数据·数据库·hive
u0109272712 小时前
RESTful API设计最佳实践(Python版)
jvm·数据库·python
qq_192779879 小时前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
u0109272719 小时前
使用Plotly创建交互式图表
jvm·数据库·python
爱学习的阿磊9 小时前
Python GUI开发:Tkinter入门教程
jvm·数据库·python
tudficdew10 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python