数据库的 一对多、多对一、一对一、多对多 关系

关联映射:一对多/多对一

存在最普遍的映射关系,简单来讲就如球员与球队的关系;

一对多:从球队角度来说一个球队拥有多个球员 即为一对多

多对一:从球员角度来说多个球员属于一个球队 即为多对一

数据表间一对多关系如下图:

关联映射:一对一

一对一关系就如球队与球队所在地址之间的关系,一支球队仅有一个地址,而一个地址区也仅有一支球队。

数据表间一对一关系的表现有两种,一种是外键关联,一种是主键关联。图示如下:

一对一外键关联:

一对一主键关联:要求两个表的主键必须完全一致,通过两个表的主键建立关联关系

关联映射:多对多

多对多关系也很常见,例如学生与选修课之间的关系,一个学生可以选择多门选修课,而每个选修课又可以被多名学生选择。

数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。

数据表间多对多关系如下图:

转载于:https://www.cnblogs.com/aiqingqing/p/4397927.html

总结一下数据库的 一对多、多对一、一对一、多对多 关系相关推荐

  1. 数据库建表-- 一对多/多对一/一对一/多对多 关系

     转自: https://blog.csdn.net/zhongshan_c/article/details/8210196 数据库建表-- 一对多/多对一/一对一/多对多 关系 关联映射:一对多 ...

  2. 【MySQL数据库之多表关联关系(一对一、一对多、多对多)】

    文章目录 多表关联关系的实现 多表关联关系的分类 一对多 多对多 一对一 多表关联关系的实现 外键是一列或一组列,用于强制两个表中的数据之间的链接. 在外键引用中,第一个表的主键列(或多个列)由第二个 ...

  3. 详解Mybatis一对多、多对一、多对多

    1.什么是关系型数据库? 这个东西我仿佛在大学的<数据库原理>中学过,好吧,我不记得了,来整理一下. 是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据.简 ...

  4. MyBatisPlus 一对多、多对一、多对多的解决方案

    在学习MyBatisPlus 时,简单的查询非常简单,只需继承了相关类,就能够进行增删改.但是在实际运用时,对象之间的关系非常复杂,一对多.多对一.多对多.网上查询了大量i资料都无法解决此问题. 难道 ...

  5. MYSQL学习笔记06:列属性[NULL,default,comment],主键,自增长,唯一键,数据库设计规范[范式(1NF,2NF,3NF),逆规范化],表关系[1V1,1VN,NVN]

    列属性 列属性又称为字段属性. 在mysql中一共有6个属性:null,默认值,列描述,主键,唯一键和自增长. NULL属性 NULL属性代表字段为空. 如果对应的值为yes表示该字段允许为null, ...

  6. 数据库设计(ER模型和UML模型及转换为关系模型的公式)

    本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒. 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库. 掌握概念模型(ER模型 ...

  7. 数据库中的常用的数据模型 层次模型 网状模型 关系模型

    层次数据模型     定义:层次数据模型是用树状<层次>结构来组织数据的数据模型.     满足下面两个条件的基本层次联系的集合为层次模型     1. 有且只有一个结点没有双亲结点,这个 ...

  8. SpringBoot之解决一对一、多对一、多对多等关联实体在JSON序列化/输出时产生的无限递归死循环问题(infinite recursion)

    SpringBoot之解决一对一.多对一.多对多等关联实体在JSON序列化/输出时产生的无限递归死循环问题(infinite recursion) 参考文章: (1)SpringBoot之解决一对一. ...

  9. 使用LSTM进行预测,有一对一、多对一、多对多的预测,其中有一些疑问一起探讨(一)

    数据说明 我的数据是1万6千多的数据,想用4个特征(这个特征未加输出)预测2个输出,也就是多对多的预测. 使用LSTM 一对一的预测 先用对一的预测简单一些,就是用一段时序数据取预测,代码例子看的MA ...

最新文章

  1. Apache服务器下使用 ab 命令进行压力测试
  2. pgsql自动安装shell脚本整理
  3. Codeforces Round #719 (Div. 3)/ Codeforces Round #720 (Div. 2)
  4. python基础知识点小结(2021/2/9)
  5. linux 与有什么不同
  6. 原生JS实现HTML文件上传,HTML5 js实现拖拉上传文件功能
  7. [转贴]怎样学好法语?
  8. 【威联通Nas】安装docker版本的wiznote/wizserver
  9. 光储直流微电网能量管理。 系统主要由光伏发电模块、mppt控制模块、混合储能系统模块、直流负载模块、改进前的soc限值管理控制模块
  10. 普通话测试-短文60篇文章,附带拼音(51-60篇)
  11. android模拟器报错dev kvm is not found
  12. (高小德用车)高仿滴滴/快的应用源码
  13. win7系统用笔记本做wifi热点
  14. 第一行代码-第二版(郭霖著)笔记十一(Material Design)
  15. supervisor详解-苏坡外泽
  16. python隐藏源码,生成pyd文件并调用的完整过程
  17. pr使用视频素材技巧
  18. xinxin - 初步学习tkinter
  19. Debian10.12安装oracle11g(亲测有效)
  20. UR机器人通信接口总结

热门文章

  1. 形容计算机专业好句子,关于形容专业水平高的句子大全 精于专业的名言警句...
  2. java date和localdate_Java8 Date与LocalDate互转
  3. Idea修改字体颜色
  4. meta refresh 刷新
  5. 2020 年百度之星·程序设计大赛 - 初赛一 Drink
  6. 【OpenJudge7826】分苹果(小学奥数)
  7. 【NOIP2018】【Luogu5019】铺设道路(贪心,差分)
  8. 【Luogu1182】数列分段Section II(二分)
  9. hadoop的安装需要java_Hadoop windows本地环境安装
  10. linux db2升级,linux 下 db2 v97 升级到db2 v10.1 实战