一文打通ER图(手把手教你画)

news2024/12/23 12:49:10

期末了,E-R图也是大学课程设计中经常用到的,也是期末考的重点,毕竟大学生也没什么好考的,最近也有不少同学问,不少单子也扯到E-R图,但是我看了看网上的玩意好像没到手把手的地步,那么我就写一个手把手的画E-R图的博客吧。

什么是er图?

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型属性联系的方法,用来描述现实世界的概念模型。

这是来自百度百科的介绍,从上面我们可以看到3个最重要的词,实体类型属性,联系,那这三个是什么意思呢?

什么是实体类型?

具有相同属性的实体必然具有共同的特征和性质。用实体名及描述它的各属性名,可以刻画出全部同质实体的共同特征和性质,称为实体类型。例如,学生(学号,姓名,性别,出生年月,所在院系,入学时间)就是一个实体型。说白了,最粗糙的理解无非就是物品的玩意,客观存在并可以相互区别的事物,一个学生是,一个班级是,一个学校是。在E-R图中用矩形表示,矩形框内写明实体名

 什么是属性?

实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。

什么是联系 ?

联系也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。

 一对一

一对一关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。

比如一个人,只有一个身份证号,一个身份证号也对应一个人。

 一对多

一对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。

比如一个班级里有多个学生

 这里注意可能不清晰这个1和n怎么标?把1和n的位置标不对。呃我就是那个人,后面我是这样子记得:俩个实体是吧,先假想是其中的的一个实体,把描述的关系放联系名对面的边,我是一个班级,那么我有n个学生,所以n放对边,我是一个学生是吧,我只有一个班级,所以1放我对边。然后就完成了。

再看一个例子:一个教师可讲授多门课,一门课只有一个教师讲授

 我是一个教师,那么我有n个课要教,n放对边。

 我是一个课程,我只有一个教师来教,1放对边。

 多对多

多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。

比如一个学生可以选多个课程,一个课程也可以有多个学生。

注意点

有时候我们可以发现在菱形框内连着椭圆形属性可能你会觉得奇怪?不是说属性和实体相连吗?这其实是一个很正常的一种画法,由于视图间产生的联系,产生的新属性那就应该画在

联系名上,比如学生跟课程实体产生了联系以后就会出现一个成绩的属性。

 下面通过俩个例题来打通这个玩意去应付期末的玩意

例题解答

一个学生可选修多门课,一门有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。

设某商业集团有多个商店。在其信息系统中,对“商店”记录有商店编号、商 店名、地址等信息;对销售的 “商品”记录有商品号、商品名、规格、单价等信息;对其 “职工”记录其职工编号、姓名、性别和业绩等级(优秀、良好、较差)等。每个商店可销 售多种商品,每种商品也可放在多个商店销售,每个商店销售每一种商品,需要记录每月的 销售量;每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工按照聘期规定 月薪发放工资,每个聘期长度为 1 年。 

(1)试画出 ER 图,并在图上注明属性、联系的类型。 
(2)转换成关系模式集,要求满足 3NF,并指出每个关系模式的主键和外键。

商店:

 职工:

商品:

 商店和商品的关系:

 看这里,由于商店跟商品进行联系以后就会产生了一个新的的属性那就是月销售量

最后再结合商店跟职工的关系:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java面试题总结-ArrayList和LinkedList的区别

ArrayList和LinkedList都实现了List接口,并且两者都不是线程安全的。他们有以下的区别: (1)首先,最最本质的区别是:ArrayList内部使用的是动态数组来存储元素,而LinkedList内部使用的是双向链表…

PS图层+移动工具(3)对齐方式 对齐参照调整

此文为续文 请先查看 PS图层移动工具(2)复制删除快捷键 图层分组 前景色填充 后再查看本文 我们先来多选几个图层 然后上方属性栏 就激活了对应的操作 我们先来一波 左对齐 然后 就左对齐了 值得一提的是 这个左对齐 不是在屏幕的最左侧对齐 而是针对 所有你当前选择的图片…

华为机试 - 查找二叉树节点

题目描述 已知树形结构的所有节点信息,现要求根据输入坐标(x,y)找到该节点保存的内容值,其中x表示节点所在的层数,根节点位于第0层,根节点的子节点位于第1层,依次类推;y表示节点在该层内的相对偏移,从左至右,第一个节点偏移0,第二个节点偏移1,依次类推; 举例:上…

mysql索引失效

一、索引失效 1.当or左右查询字段只有一个是索引,该索引失效,只有当or左右查询字段均为索引时,才会生效 2.使用order by对数据库进行查询时,导致索引失效 ,order by走全表扫描比回表的时间更少 3.主键和唯一索引在同…

算法刷题入门数据结构|二分查找

一.二分查找基础 1、二分查找介绍 二分查找(Binary search)也称折半查找,是一种效率较高的查找方法,时间复杂度。当对查数题目有时间复杂度要求是,首先就要考虑到二分查找。二分查找的思想很简单,属于分治策略的变种情况。但是&am…

贷后催收评分模型中的数据清洗与数据治理细节介绍

数据清洗是一个非常修炼身心的过程,途中你除了需要把所有的数据整业务合到一张宽表里。而这种宽表中所有的字段,是你理解完业务后,细心整理出来的所有适合建模的数据。 今天我们给大家介绍一下,在风控贷后评分模型中,…

C规范编辑笔记(七)

往期文章: C规范编辑笔记(一) C规范编辑笔记(二) C规范编辑笔记(三) C规范编辑笔记(四) C规范编辑笔记(五) C规范编辑笔记(六) 正文: 大家好,今天来分享一下C语言规范编辑笔记的第七篇,分享这个是希望自己后面忘记了可以去复习…

ADI Blackfin DSP处理器-BF533的开发详解26:扩展IO输入的详细讲解(含源代码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 硬件设计原理图 功能介绍 ADSP-EDU-BF53x 开发板上扩展接口的 PORT2 和 PORT3 中引出了 6 个扩展 IO 接口输入接口,这些连接到了CPLD…

C. Rooks Defenders Codeforces Round #791 (Div. 2)(树状数组!)

传送门 题意:给你一个的棋盘,然后给你一个t(t只能为1,2,3),对于不同的t产生不同的影响: t1时,给你一个点的坐标x,y,在这个点上生成一辆坦克(保证…

模拟实战从外网打点渗透到内网域控的笔记

信息收集 本次项目是一个是模拟渗透测试 电信诈骗网站,境外人员依赖该网站通过优惠卷诱导受害者进行消费, 诈骗受害人金钱。 前台地址 项目拓扑图 http://ip/user.php?moddo&actlogin&fromtohttp%3A%2F%2F43.143.193.216%2F 后台地址 http…

rabbitmq基础2——rabbitmq二进制安装和docker安装、基础命令

文章目录一、RabbitMQ安装1.1 二进制安装1.2 rabbitmqctl工具1.3 docker安装二、rabbitmq基础命令2.1 多租户与权限类2.1.1 创建虚拟主机2.1.2 查看虚拟主机信息2.1.3 删除虚拟主机2.1.4 给用户授权2.1.5 清除用户权限2.1.6 查看权限2.2 用户管理类2.2.1 创建用户2.2.2 查看用户…

爱心源码动图-Html网页运行

程序示例精选 爱心源码动图-Html网页运行 如需安装运行环境或远程调试,见文章底部微信名片! 前言 Html写的追女生神器-爱心动图,代码整洁,规则,易读,对学习与使用Html有较好的帮助。 文章目录 一、所需工具…

Redis高可用之主从复制、哨兵、cluster集群

Redis高可用之主从复制、哨兵、cluster集群Redis 高可用什么是高可用Redis的高可用技术Redis主从复制主从复制的作用主从复制流程搭建Redis主从复制所有节点安装Redis修改master节点的配置文件修改slave节点的配置文件验证主从效果Redis哨兵模式哨兵模式的作用哨兵结构故障转移…

Redis集群模式

目录 前言 一、集群的作用 二、集群模式的数据分片 三、集群模式的主从复制模型 四、Redis集群模式 Redis集群部署 开启群集功能 修改所有集群服务的配置文件端口,使其不一致 启动集群 集群测试 前言 1、集群,即 Redis Cluster, …

模型效果差?我建议你掌握这些机器学习模型的超参数优化方法

模型优化是机器学习算法实现中最困难的挑战之一。机器学习和深度学习理论的所有分支都致力于模型的优化。 机器学习中的超参数优化旨在寻找使得机器学习算法在验证数据集上表现性能最佳的超参数。超参数与一般模型参数不同,超参数是在训练前提前设置的。举例来说&a…

CKA考试Tips

前言 今年黑五的双证套餐的折扣比双11时还便宜个200多,不到2000,应该是史低吧,反正比前年低。即使考试前看了各种避坑技巧,虽然通过了但是结果还是因为各种问题导致时间不够没做完扣分,于是下面总结一下参加CKA/CKS考试时候的技巧。 报名及考…

[基因遗传算法]进阶之四:实践VRPTW

参考资料: 《旅行商问题(TSP)、车辆路径问题(VRP,MDVRP,VRPTW)模型介绍》 本文对《基于GA算法解决VRPTW》的分析和思考.具体的代码可以参考 《Python实现(MD)VRPTW常见求解算法——遗传算法(GA)》 . 文章目录壹、VRPTW一. 定义类二、数据读取三. 构造初…

JVM调优手段

JDK提供命令工具 jstat 是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据,在没有 GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟…

博球一看,CSDN与你共观世界杯

2022卡塔尔世界杯不知不觉已接近尾声,不仅让人感叹,乌拉圭,巴西,葡萄牙都已淘汰,四强诞生分别是阿根廷,法国,摩洛哥,克罗地亚,非常期待梅西和魔笛的对决,也希…

电子学会2020年12月青少年软件编程(图形化)等级考试试卷(三级)答案解析

目录 一、单选题(共25题,每题2分,共50分) 二、判断题(共10题,每题2分,共20分) 三、编程题【该题由测评师线下评分】(共3题,共30分) 青少年软件…