什么是er图?

E-R图又称实体关系图,是一种提供了实体,属性和联系的方法,用来描述现实世界的概念模型。通俗点讲就是,当我们理解了实际问题的需求之后,需要用一种方法来表示这种需求,概念模型就是用来描述这种需求。

比如:大学中的院系与学生专业,和学生本体之间的关系,大致就遵循下面这张er图

er图中的基本元素

我们用上面那张图来说明:

  1. 实体:实际问题中存在并且可以相互识别的事物

比如上图中的:院系,专业,男同学,女朋友

  1. 属性:实体所具有的某个特性,我们称为属性

比如:上图院系可以用:院系编号,名称,邮箱进行属性描述

专业可以用专业代码,专业名称描述

男同学可以用学号,姓名描述

  1. 实体集:相同属性实体的集合,(211……13,明弟)就是学生实体集中的一个实体
  2. 键:唯一标识实体的属性称为键,键也属于实体的属性,作为键的属性取值必须唯一且不能空置。比如学号211……13就可以称之为键
  3. 1对1,1对多,多对多,3种

绘制er图规范

  1. 矩形框:表示实体,框中书写实体名

  2. 菱形框:表示联系,框中书写联系名

  3. 椭圆形框:表示属性,框中书写属性名

  4. 连线:实体与属性,实体与联系,联系与属性之间都用直线连接,

    连接过程中还要在直线上标注来联系的类型:

    1对1:联系方向各写1

    1对多:1的一方写1,多的一方写n

    多对多:连线方向各写n,m

实例

通过上面的讲解,我们来做一个练习吧。

图书管理系统应该都不陌生吧,简单分析一下,发现数据库主要提供以下的服务:

  • 可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。

  • 可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。

    约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。


最后如果感觉有用的还请三连一下,你们的三连就是对作者最大的鼓励!!!

一篇文章学会er图绘制相关推荐

  1. 软件工程-数据流图+ER图绘制听课笔记

    视频链接:2-软件工程-数据流图+ER图绘制_哔哩哔哩_bilibili 目录 基础知识 例子 解答 基础知识 例子 解答 图1 顶层图 图2  0层图 图3 E-R图

  2. 一篇文章学会写作,自媒体人的必经之路

    自媒体离不开好内容. 能否持续性的创作出好内容是每一个自媒体人绕不过的坎. 今天从图文自媒体分享下写作. 写作应该是花80%的时间思考,花20%的时间把思考的内容写出来. 例如,我要写一篇知乎带货的文 ...

  3. 不看后悔!新手小白必看的保姆级教程!一篇文章学会数据仓库!

    一.什么是数据仓库? 1.1 数据仓库概述: 数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境.数据仓库致力于研究和解决从数据库中获取信息的问题. 1.2 数据仓库特征: 面向主题 ...

  4. 一篇文章学会使用摩斯密码,简单易懂,你也可以使用“降维打击”

    阅读之前,大家请先看一行符号,看看大家能不能猜出这段符号所代表的含义: "--. --- --- -.. .--- --- -..." 相信能看出这段符号含义的人还是占少数,没关系 ...

  5. 一篇文章学会 python turtle海龟绘图

    海龟绘图python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),出现在1966年的Logo计算机语言. 海龟绘图(turtle库)是python的内部模块, ...

  6. 一篇文章学会Python函数重写,每天进步一个知识点

    函数重写(override) 前提:必须有继承性 原因: 父类中的功能(函数),子类需要用,但是父类中函数的函数体内容和我现在要执行的逻辑还不相符 那么可以将函数名保留(功能还是此功能),但是将函数体 ...

  7. 括号表示法字符串构造二叉树_一篇文章学会二叉树和二叉查找树

    树是计算机科学中经常用到的一种数据结构.树是一种非线性的数据结构,以分层的方式存储数据. 树被用来存储具有层级关系的数据,比如文件系统中的文件. 树还可以用来存储有序列表. 树的定义 树是由一组以边连 ...

  8. ajaxfileupload 监听上传进度_一篇文章学会文件上传

    文件上传 文件上传原理 文件上传的原理,就是DOM中的FileUpload对象.就是这句 <input type="file"> 但仅仅这样并不足够. 文件上传本质上是 ...

  9. 一篇文章学会springMVC

    更多精彩和干货和你分享 说在前面 本文只是入门 为什么用springMVC?springMVC有什么有缺点?springMVC和Struts有什么区别?等等这些问题可以参考网路上资源,本文的重点是快速 ...

  10. 一篇文章学会使用 nmon

    1.Nmon简介 Nmon (Nigel's Monitor)是由IBM 提供.免费监控 AIX 系统与 Linux 系统资源的工具.该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可 ...

最新文章

  1. 他被导师半夜敲门叫醒:你得诺贝尔奖了!还曾为5G频谱拍卖设计方案,担任谷歌IPO咨询顾问...
  2. 练习. SQL--选修课程练习
  3. 干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?
  4. DataGridView中实现点击单元格Cell动态添加自定义控件
  5. AI入门:不用任何公式把逐步提升讲清楚
  6. 自动关机脚本2007-10-28 10:04@ECHO off
  7. python中正则表达式是什么意思_python – 正则表达式中[^.] *的含义是什么?
  8. 新手必学的java报表开发工具FineReport实用技巧
  9. linux串口 接收 字符串_非常好用的 Win10 串口调试助手
  10. 诺基亚挥别Qt,转手给Digia
  11. 【编译原理笔记18】代码优化:活跃变量分析,可用表达式分析
  12. window10查看内存情况
  13. cisco命令大全解释、注释
  14. 计算机一直显示配置更新开不了机怎么办,电脑开机出现配置更新怎么办
  15. 上海电力大学计算机专业全国排名,上海电力大学有哪些专业 上海电力大学专业排名...
  16. C语言用一维数组模拟抛硬币,模拟抛硬币(C语言实现)
  17. OI生涯回忆录(Part7:至高一湖南集训Day3)
  18. Vue和React的区别到底是什么?
  19. 【galgame的解包教程】galgame解包及游戏基本信息
  20. 什么是大数据,大数据的特点

热门文章

  1. SPSS使用命令语法之复制与粘贴讲解
  2. ##spss软件学习笔记20181031
  3. 银行学生助学贷款管理系统免费PPT模板
  4. MATLAB----矩阵的运算
  5. 数学建模——相关系数(4)——斯皮尔曼相关系数(spearman)
  6. 如何实现USB自动挂载?
  7. idea格式化java代码,设置属性自动换行
  8. linux dma大块内存,宋宝华:Linux内核的连续内存分配器(CMA)——避免预留大块内存...
  9. win10开启ftp连接不上的正确解决方案
  10. Linux自学、大数据学习前奏笔记---Linux基础知识,shell命令介绍学习