关系型数据库实体间有三种关联关系:一对一,一对多,多对多。

一对一关系(1:1):

如果实体集(表)A 中的每一个实休(就是每行记录),在实体集B中只有一条数据与它对应,

反之实体集B 中的每一个实体,在实体A中只有一条数据与它对应

这样的实体关系主是一对一关系

实例:

员工表、员工详细信息表之间的关系是员工表中的一行与详细信息表中的一行对应

一对多关系(1:n):

如果实体集A中每一个实体,在实体集B中有n个与之对应(n>1)(当n为1时,就是一对一的关系)

反之在实体集B中每一个实体,在实体集A中最多只有一个实体与之对应

这样的实体就是一对多关系

实例:

学生表与班级表,多个学生属于同一个班级,班级表中的一行与学生表的多行数据对应

在学生表中新增字段(班级号),该字段作为学生表的外键与班级表中的班级号关联。每一个学生实体在班级号字段的值,表示该学生属于的班级。

多对多关系(m:n):

如果实体集A中每一个实体,在实体集B中有m个与之对应(m>1)

反之如果实体集B中每一个实体,在实体集A中也有n个与之对应(n>1)

这样的实体关系就是多对多关系

实例:

学生表与教师表,一位学生有多位老师来教,一位老师也可以教多位学生,可以看作由两个一对多关系组合而成

外键:

mysql中的innodb引擎才支持外键

A实体的某个字段指向 B实体的主键, 则称A实体的那个字段为该实体的外键, 一个表里可以有多个外键,也可以没有外键;

被指向的实体称为主实体(主表),也叫父实体(父表),负责指向的实体称为从实体(从表),也叫子实体(子表)。

一般在哪个表里定义外键,这个表就是子表

在创建的时候应该先创建主表,然后再创建从表, 插入数据时也应该先插入主表数据

在删除表的时候应该先删除从表(子表), 然后再删除主表

设置级联操作

在主表发生数据改变时,与之相关的从表应该要怎么处理

可以使用关键词on update, on delete来标识

允许的级联操作有:

cascade: 如果主表更新或者删除数据时,那么从表也会执行相应的操作

set null: 如果主表更新或者删除数据时, 那么从表相应的数据会设置成null

restrict: 拒绝主表的操作(默认)

/*删除主表信息时,从表相应的字段设置为null(该字段定义时能为null)*/

Alter table student add foreign key (class_id) references class (class_id) On delete set null

/*主表执行删除或更新时,从表执行同样的操作*/

alter table student add foreign key (class_id) references class (class_id) on delete cascade on update cascade

mysql数据库实体_关系型数据库中实体之间的关系相关推荐

  1. mysql关系数据库_关系型数据库MySql简介

    什么是关系型数据库? 数据库就是用来存储数据的仓库,是一种特殊的文件. 根据存储的数据不同,划分为关系型数据库和非关系型数据库. 关系型数据库就是指 建立在关系模型基础上的数据库,通俗来讲这种数据库就 ...

  2. MySQL数据库是非关系_关系型数据库和非关系型数据库的理解

    综合百度百科和自己的理解整理以下内容,便于日常用到时进行查找,如下: 一.关系型数据库 1.含义: 关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型 ...

  3. mysql关系型数据库的优点和缺点_关系型数据库和非关系型数据库的区别和特点...

    关系型数据库 采用关系模型来组织数据结构的数据库(二维表) cle    DB2    SQLServer    Mysql     SQLite都是关系型数据库 优点:容易理解,它的逻辑类似常见的表 ...

  4. visio连接mysql数据库表_「数据库关系图」使用Visio 2010 画数据库中表与表的关系 - seo实验室...

    数据库关系图 1.在visio中新建数据库模型图 打开visio 2010,文件->新建->数据库->数据库模型图.建立数据库模型图之后,菜单栏多出一个菜单项"数据库&qu ...

  5. MySQL数据库是非关系_MySQL(数据库)基础知识、关系型数据库yu非关系型数据库、连接认证...

    什么是数据库? 数据库(Database):存储数据的仓库 高效地存储和处理数据的介质(介质主要是两种:磁盘和内存) 数据库系统:DBS(Database System):是一种虚拟系统,将多种内容关 ...

  6. rds mysql 是什么_云数据库RDS是什么

    关系型数据库(RDS)是一种稳定可靠.可弹性伸缩的在线数据库服务.具有多重安全防护措施和完善的性能监控体系,并提供专业的数据库备份.恢复及优化方案,使您能专注于应用开发和业务发展. 关系型数据库(Re ...

  7. MySQL列举常见的关系型数据库和非关系型都有那些?

    关系型数据库: Oracle.DB2.Microsoft SQL Server.Microsoft Access.MySQL 非关系型数据库: NoSql.Cloudant.MongoDb.redis ...

  8. 数据库技术:关系型数据库设计总结

    关系型数据库简介 关系数据库由由埃德加·科德(IBM)在1969年左右提出.自推出后就成为商业应用的主要数据库模型(与其他数据库模型,如分级.网络或对象模型相比).如今已有许多商业关系数据库管理系统( ...

  9. 关系型数据库和非关系型数据库的区别与联系

    数据库 一.概念 数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度.与应用程序彼此独立的数据集合. 数据库管理系统是一种操纵和管理数据库的大型软件,用于建立.使用和维护数据库,简称 ...

最新文章

  1. 漫画 | Nature审了个稿,却卷进一桩诺贝尔奖的公案!
  2. Vim 快捷键整理【转】
  3. leetcode287. Find the Duplicate Number
  4. 印章WinForm自定义控件封装,提供源码下载
  5. Get和Post的参数传值
  6. 趣谈unicode,ansi,utf-8,unicode big endian这些编码有什么区别
  7. 小森生活显示无可用服务器,《小森生活》无可用游戏服务器解决教程 无可用网关服务器怎么办...
  8. centos8 安装geany
  9. 阻滞增长模型求解_阻滞增长模型logistic模型.ppt
  10. 货物列车尾部安全防护装置
  11. 谈谈自己对做软件开发这一行业的想法
  12. 【冬瓜哥雄文】高端存储系统江湖风云录!
  13. Android自定义view之围棋动画(化繁为简)
  14. IT界最伟大的十位人物
  15. Disparity(视差)简单解释
  16. C语言判断是否可以构成三角形
  17. 基于微信小程序的校园信息共享平台 毕业设计-附源码211615
  18. Arduino制作俄罗斯方块小游戏(一)整体设计思路
  19. 国外EDU教育邮箱功能简介
  20. Wos/Pubmed/Scopus数据库一键去重+清洗数据 CiteSpace Vosviewer

热门文章

  1. NLP 常用模型和数据集高速下载
  2. oracle网页怎么翻译成中文,sql语句翻译成中文小工具
  3. C#高效编程--改进C#代码的50个行之有效的办法笔记
  4. Ambari配置邮件警告--监控大数据平台
  5. 投资理念研究分析报告
  6. 计算机博后 国外招聘,全额奖学金机会,香港理工计算机系博后/博士/研究助理招收中...
  7. 「引流方法」微商如何获得精准引流的八大方法
  8. 针对大众点评网上商铺评论字体替换反爬的反反爬
  9. 成才之路杂志社成才之路编辑部成才之路杂志2022年第33期目录
  10. 一线互联网架构师筑基必备技能之Java篇,一招彻底弄懂!