数据库一对一、一对多、多对多关系
     本来数据库一对一、一对多、多对多关系并不复杂,但是最近在理解的时候感觉又感觉多了写新意,所以现在在来总结一下吧
一、首先给出三种关系的实例
1、一对一关系实例
   * 一个人对应一张身份证,一张身份证对应一个人
2、一对多关系实例
   * 一个班级拥有多个学生,一个学生只能够属于某个班级
3、多对多实例
   * 一个学生可以选修多门课程,一个课程可以被多个学生选修
二、一对一关系
一对一关系是最好理解的一种关系,在数据库建表的时候可以将人表的主键放置与身份证表里面,也可以将身份证表的主键放置于人表里面
三、一对多关系
  • 班级是1端,学生是多端,结合面向对象的思想,1端是父亲,多端是儿子,所以多端具有1端的属性,也就是说多端里面应该放置1端的主键,那么学生表里面应该放置班级表里面的主键

四、多对多关系

对于多对多关系,需要转换成1对多关系,那么就需要一张中间表来转换,这张中间表里面需要存放学生表里面的主键和课程表里面的主键,此时学生与中间表示1对多关系,课程与中间表是1对多关系,学生与课程是多对多关系

四、总结

总而言之,最重要的关系就是1对多关系,根据面向对象思想在建表的时候将1端主键置于多端即可。

数据库一对一、一对多、多对多关系相关推荐

  1. 数据库一对一 一对多 多对多关系

    参考:https://blog.csdn.net/u013144287/article/details/79024130 自己在项目中写的实例: '实体'和'公理'具有多对多关系,即一个实体可以对应多 ...

  2. SQLAlchemy_定义(一对一/一对多/多对多)关系

    SQLAlchemy_定义(一对一/一对多/多对多)关系 目录 Basic Relationship Patterns One To Many One To One Many To Many Basi ...

  3. Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作

    Python进阶----表与表之间的关系(一对一,一对多,多对多),增删改查操作,单表查询,多表查询 一丶表与表之间的关系 背景: ​ ​ ​  ​ ​ 由于如果只使用一张表存储所有的数据,就会操作数 ...

  4. 7. MyBatis多表查询 - 一对一 - 一对多 - 多对多

    7. MyBatis多表查询 - 一对一 - 一对多 - 多对多 前言 在前面的篇章,我们已经熟悉了单表查询,下面我们来看看如何进行 多表查询. 数据准备 create database if not ...

  5. mybatis的一对一 一对多 多对多

    mybatis的一对一 一对多 多对多 1.表 2.建表语句 order_t表 CREATE TABLE `order_t` ( `id` int(11) NOT NULL, `user_id` in ...

  6. 数据库设计中,多对多关系使用使用逗号分割关联讨论

    进公司一个月,发现公司很多人喜欢用逗号分割,去存储其它表的主键,做多对多关联,但存在很多乱用现象.这里对这种方式做了下总结. 在传统数据库设计中,多对多关系存储通常都是用一张中间表来简历两张表的关系. ...

  7. 数据库外键:一对多/多对多关系

    数据库事务四大特性ACID: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 基于原子性对存在重复数据的表进行拆分 一对多 ...

  8. day 69-70 一对一 一对多 多对一联表查询

    day 69 orm操作之表关系,多对多,多对一多对一/一对多,多对多{类中的定义方法}day691. 昨日内容回顾1. 单表增删改查2. 单表查询API返回QuerySet对象的:1. .all() ...

  9. JPA 一对一 一对多 多对一 多对多配置

    1 JPA概述 1.1 JPA是什么 JPA (Java Persistence API) Java持久化API.是一套Sun公司 Java官方制定的ORM 方案,是规范,是标准 ,sun公司自己并没 ...

  10. Django一对一 ,一对多,多对多

    Django 数据库一对多,多对多 目录 app01/models.py app01/views.py app01/urls.py Python_Django/urls.py 目录 app01/mod ...

最新文章

  1. AMD VS 英特尔:芯片制造实力似乎正在发生逆转!
  2. python中的高阶函数
  3. postgresql修炼之道_PostgreSQL内核开发学习资料
  4. 语言 micropython_MicroPython蓝牙BLE例程实操(一)
  5. 计算机专硕专业课单科分数线,计算机考研|这两所自划线,单科没过线也能复试?...
  6. 无人机集群定位与编队方式研究总结(最详细的鸟群模型分析)
  7. Centos7配置本地yum安装源出现错误
  8. OpenShift 4 - 配置本地Neuxs Registry并通过Pull Secret访问
  9. ssm面试题总结 spring springmvc mybatis面试题
  10. python全栈测试题(一)
  11. Windows98 win98.bif 文件
  12. 计算机毕业设计ssm校园办公管理系统
  13. 数据库系统概论第五版(王珊)-基础篇(三)
  14. 0603封装 1%贴片电阻代码表示的阻值
  15. 必须了解的EXCEL常用函数都有哪些?【附动图详解】数据分析
  16. Excel如何批量生成条形码
  17. 怎样在小方框上打对号 小方框内打对勾 word 方框打对勾
  18. 解释部署大数据解决方案应遵循的步骤
  19. linux中audit服务,linux下的audit服务
  20. Unity 安卓 apk 反编译 重新打包 签名修改

热门文章

  1. SwiftUI 绘制刻度时钟表盘(自定义组件教程含源码)
  2. 如何通过web of science查询一个学者每一年的h-index?(h指数)
  3. c语言 exec sql编程,C语言采用嵌入式方式操作数据库exec_sql.doc
  4. 【Clemetine】数据挖掘在风险分析中的应用
  5. Android系统开发篇(二) —— 建立Android系统开发环境之Ubuntu 20.04.4 LTS
  6. 人工智能 —— 人工智能发展大事件
  7. 【贪心法】黑白连线问题
  8. python json模块_python json模块使用详情
  9. [剑指Offer]-把数字翻译成字符串
  10. 重命名多个图片文件,并修改图片后缀名