ER图

article/2025/8/30 11:01:56

文章转载自「开发者圆桌」

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

用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。

实体联系模型,是概念数据模型的高层描述所使用的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。

下面是一个最常见的ER图,基本上只要讲解ER图就会碰到它。

通俗的讲,ER图是把现实生活中的各种关系,以图片的形式,抽象出来,形成一个思维导图,通过ER图可以了解现实中的各种关系,比如一个班有很多学生组成。

ER图的应用,最最难的地方我觉得是抽象思维能力,你需要把现实生活中各种关系映射到大脑里面,然后以ER图的形式输出可分析和可视化的东西。

通过实例来拆解ER图

一、学校里的那点事儿

现实生活

一个班级有N多的学生组成,每个班级有一个班级号,每一名学生有一个学号;学生可以根据自己的兴趣爱好选修课程,对于选修的课程需要考试,然后出成绩有学分;一名老师可以教授几门课程。

ER图

通过现实的描述分解出几个实体,分别为班级、学生、课程、教师。出现了几组关系,分别为一个班级由多名学生组成(1对多)、一名学生可以选多门课程,同时一门课程可能被多名学生选修(多对多)、一名教师可传授多门课程,同时一门课程可能被多名教师传授(多对多)。这个场景里面没有一对一的关系。

关系数据库

ER图画出来以后,如何映射到关系数据库中的表呢?这一步就非常简单了,分步骤进行创建:把实体映射为表、把关系映射为表。实体映射为表,比较简单,不再赘述。

关系映射为表,相对来说比较复杂,以这里的ER图为例,存在1对多和多对多两类关系。

1对多或者多对1时,在多方添加一个外键,对应到1方,如学生表里的所在班级这个外键。多对多时,需要新增一个关系表,把两个实体间的关系记录下来,比如下面的学生选课关系表、教师任课关系表。根据ER图创建表如下:

班级表(主键:班级号 )

班级号 班级名 专业 人数

C001 动漫一班 动漫设计 60

C002 动漫二班 动漫设计 80

C003 计算一班 计算机应用 70

学生表(主键:学号,外键:所在班级 )

学号 姓名 性别 年龄 所在班级

S001 小明 男 20 C001

S002 小王 女 19 C002

S003 小朱 男 21 C003

课程表(主键:课程号)

课程号 课程名 课时 学分

K001 PS 20 5

K002 玛雅 25 6

K003 数据库 30 10

教师表(主键:编号)

编号 职称 姓名 性别 年龄

T001 助教 李老师 男 30

T002 讲师 朱老师 女 33

T003 教授 王老师 男 43

学生选课关系表

编号 学号 课程号 成绩

SK001 S001 K001 80

SK002 S001 K002 76

SK003 S002 K001 89

SK004 S003 K002 90

教师任课关系表

编号 教师号 课程号 时间

TK001 T001 K001 16:00

TK002 T001 K002 14:00

TK003 T002 K001 10:00

TK004 T003 K002 15:00

二、说说电商

现实生活

我打开淘宝,登录我的账户,查看了一下昨天下的单快递到哪里了,然后又逛了逛,把几个中意的小家电放到购物车里面,这次钱不够了,下次再买,嘿嘿。

ER图
在这里插入图片描述

通过上面简短的描述分解出几个实体,分别为用户、订单、购物车、商品、供应商。出现了几组关系,分别为一个用户会有多个订单(1对多)、一名用户只有一个购物车(1对1),一个购物车选购多种商品,同时一个商品可能存在多个用户的购物车中(多对多)、一个供应商可以供应多种商品,一个商品只能属于一个供应商(多对1)。

关系数据库

同理,根据ER图映射到数据库表,实体首先映射,然后再映射关系,1对1、1对多以及多对1以主外键的形式进行关系映射,多对多以新增一个关系表来进行关系映射。根据ER图创建表如下:

用户表(主键:用户ID)

用户ID 用户名 密码 昵称 身份证

U001 USER01 *** 小马哥 3729***

U002 USER02 *** 购物狂 1010***

U003 USER03 *** 买买买 3302***

订单表(主键:订单ID,外键:用户ID)

订单ID 用户ID 金额 状态

D001 U001 500¥ 完成

D002 U001 600¥ 派送中

D003 U003 700¥ 待评价

购物车表(主键:购物车ID)

购物车ID 用户ID 总价 优惠价

C001 U001 50¥ 45¥

C002 U002 150¥ 120¥

C003 U003 50¥ 40¥

供应商表(主键:注册号)

注册号 名称 联系人

G001 xx电器公司 高先生

G002 yy洗化公司 李先生

G003 zz服装公司 王先生

商品表(主键:编码,外键:供应商注册号)

编码 名称 分类 重量 单价 供应商注册号

P001 热水壶 家电 1kg 50¥ G001

P002 洗衣粉 洗化 3kg 20¥G001

P003 毛衣 服装 400g 150¥G002

选购关系表

编号 购物车ID 商品编码

X001 C001 P001

X002 C001 P002

X003 C002 P001

X004 C003 P002

三、你真的理解1对1、1对多和多对多吗?

要想彻底理解这三类关系,不能只读理论定义,而是从SQL查询结果出发,来从实践层面加深理解。

1对1,在任意一张表中添加外键

1对1的意思是指第一张表中的某条记录,根据主外键关联,只能查询到另一张表中的0条或者1条记录,同时表中的所有其他记录都满足这个特性,反之亦然。

1对1时,需要添加一个外键,外键添加到任何一张表中都可以。

1对多,1方属于主表,多方属于从表,在从表添加外键

1对多的意思是指第一张表中的某条记录,根据主外键关联,能查询到另一张表中的0条、1条或者N条记录,同时表中的所有其他记录都满足这个特性,反之是多对1。

1对多时,以1方为主表,多方为从表,在多方添加一个外键。

多对多,新增一张关系表

多对多的意思是指第一张表中的某条记录,根据主外键关联,能查询到另一张表中的0条、1条或者N条记录,同时表中的所有其他记录都满足这个特性,反之亦然。

多对多时,要新增一张关系表,以记录多对多的数据关系,举个栗子:

课程表(主键:课程号)

课程号 课程名 课时 学分

K001 PS男 20 5

K002 玛雅 25 6

K003 数据库 30 10

教师表(主键:编号)

编号 职称 姓名 性别 年龄

T001 助教 李老师 男 30

T002 讲师 朱老师 女 33

T003 教授 王老师 男 43

教师任课表(多对多关系衍生出来的表)

编号 教师号 课程号 时间

TK001 T001 K001 16:00

TK002 T001 K002 14:00

TK003 T002 K001 10:00

TK004 T003 K002 15:00

在这里插入图片描述

UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五... 很好... 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接
长方形
圆角长方形
菱形
  • 关于 Mermaid 语法,参考 这儿,

FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.2.0 开始 我的操作 确认? 结束 yes no
  • 关于 Flowchart流程图 语法,参考 这儿.

导出与导入

导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


http://chatgpt.dhexx.cn/article/heSjTY6P.shtml

相关文章

如何画数据库ER图

一、ER图基本概念 ER图分为实体、属性、关系三个核心部分。在ER图中,实体是长方形,属性是椭圆形,关系为菱形。 1、实体(entity) 即数据模型中的数据对象(即数据表),用长方体来表示&…

ER图详解及实例

文章目录 ER图基本概念ER图实例 ER图基本概念 ER图分为实体、属性、关系三个核心部分。在ER图中,实体是长方形,属性是椭圆形,关系为菱形。 实体(entity): 即数据模型中的数据对象(即数据表&…

什么是E-R图

E-R图,也称为实体关系图,用于显示实体集之间的关系。它提供了一种表示实体类型、属性和连接的方法;用来描述现实世界的概念模型。ER模型是数据库的设计或蓝图,将来可以作为数据库来实现。 在E-R图中,实体集是一组相似的…

绘制ER图

文章目录 前言一、ER图绘图规范二、使用步骤例如一个学生管理系统 前言 概念 ER图:实体关系图,简记E-R图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式 一、ER图绘图规范 实体用矩形表…

数据库设计 ER图

一、ER图简介 ER图,简单来说,E是实体,实体有一组属性;R是关系。找到系统中的实体以及实体关系就可以绘制出ER图了。 例如,下图是网上找到的ER图,矩形的是实体,椭圆是属性,实体和实体…

视频录制软件哪个好

我们经常需要录制视频,那么有什么比较好用的视频录制软件呢?其实好用的软件有很多,下面小编就给大家介绍一个名为迅捷屏幕录像工具的软件,并教大家如何使用它录制视频,以下便是具体的操作步骤,希望对大家能…

如何录制游戏视频中的音频

随着软件行业的迅速发展,它给人们的生活带来了许多的便捷,现在很多人在录制一段音频的时候就会需要使用工具来完成,相比之前大家用手机录制来比,这种工具真的为我们解决了很多的烦恼,当我们需要录制电脑中视频音频的时…

怎样在电脑上录制ppt课件?如何录制课件讲解视频

怎样在电脑上录制ppt课件?在当前的环境下,大部分学生都是在家进行上网课,本文就给大家分享几款非常简单实用的录制教学视频的工具。 一、PPT录屏 在windows系统中有个常用软件就是ppt,ppt也能够录屏,只是我们大家都忽…

录制课程用什么软件好?3款超好用的课程视频录课软件

在互联网技术的飞速发展下,在线教学已经成为一种新型的教学形式,与传统的教学方法相比,在线教学具有低成本、突破地域、时间灵活、形式多样的教学方式。 那录制课程用什么软件好?今天小编就跟大家分享3款超好用的课程视频录课&…

学术会议演讲视频录制全方位指南

1. 引言 随着进入后疫情时代,在线学术会议愈发频繁。从CCF-A类会议到C类会议,基本上都需要做线上的Oral。 一般的要求就是录制一个15分钟左右的Presentation,然后上传至网站即可。有些会议还贴心的准备了加载字幕的功能,我们的英…

如何快速录制游戏解说视频?新手必看教程!

作为一个游戏领域的自媒体新手,最想知道的肯定包括如何录制一个高清的游戏视频! 那小白如何快速get录制游戏视频的教程?下面手把手教大家方法,包括如何保留清晰高质量的画面,如何在录制过程中快速放大局部进行解说,如何定位录制的画面大小等等。千万不要错过了。分享的经…

如何轻松录制 CS 游戏玩法?4 种免费录制 CS 游戏视频的方法

CS:GO,又名反恐精英:全球攻势,是一款多人第一人称射击游戏,由 Valve 和 Hidden Path Entertainment 于 2012 年设计推出。作为反恐精英系列的第四代,它广受欢迎与全球游戏玩家。随着近年来电子竞技的兴起,用…

电脑如何录制游戏视频

录制游戏视频可以是指录制自己操作游戏的场景也可以是指网上的游戏直播视频。但是不管是哪个我们都需要使用到录屏软件。很多朋友们可能都是想找一款简单好用又免费的比如迅捷屏幕录像工具就是这样一款录屏软件,大家可以试试。 软件简介:  一款操作简单…

录游戏视频的屏幕软件

独乐乐不如众乐乐,有些游戏玩家喜欢录下游戏视频分享给小伙伴们。这时就需要一款针对Mac系统的简单好用的录屏软件。 易我录屏助手Mac版是一款功能完善的屏幕录影软件,可以在Mac电脑录制屏幕上任一区域、全屏录制游戏画面或通过摄像头录影。立即免费下载…

录制游戏怎么设置画质?有哪些注意的细节

在现代游戏中,录制游戏的视频已经成为了一项非常流行的活动。这样可以让玩家记录游戏过程并分享给其他人观看。但是,想要录制出高质量的游戏视频并不是一件易事。下面将介绍录制游戏需要注意的细节和如何设置录制画质。 录制游戏需要注意的细节 1. 电脑硬…

怎么录制游戏视频,哪个电脑录屏软件好用?

平常在家无聊了肯定是需要做点什么事情来打发时间的,这时能想到的肯定是游戏。比如一些游戏爱好者,似乎都把游戏当成自己的副业,十分喜欢自己在游戏场上厮杀的场景。那么如何录制一个高清游戏视频呢?   前言:之前笔…

什么游戏视频录制软件比较好?10 款的游戏录屏软件你值得收藏

市面上有各种各样的游戏捕捉软件,当然,它们都声称是有史以来最好的游戏软件。但有些比其他的更好,最适合您的游戏记录器在很大程度上取决于您要玩的游戏以及您运行的 PC 类型。 目前最好的游戏屏幕录像机 让我们来探索自称是最佳游戏屏幕录…

录制软件obs的使用方法

软件界面 打开OBS可以看到软件界面分为上中下三个部分,上部是菜单栏,中间是内容显示区,下面是功能区。下面从左往右又分为场景,来源,混音器,转场特效和控件。 场景 首先看场景,场景可以理解为可…

怎么用计算机打游戏视频,如何录制电脑上正在玩的游戏视频

大家喜欢用手机玩游戏还是用电脑玩游戏,小编相信真正喜欢玩游戏的小伙伴差不多都喜欢用电脑玩,电脑的屏幕更大,配置更好,玩起来更爽。用电脑玩游戏的时候遇到打的精彩的画面想要录制下来,该怎么做?如何录制…

计算机软件 已录制 是指啥,录像软件是什么?怎么录制电脑屏幕视频?

原标题:录像软件是什么?怎么录制电脑屏幕视频? 录像软件是什么?怎么录制电脑屏幕视频?在工作生活中,我们经常都会有录制视频的需求。这时候我们会用到录像软件。但是录像软件是什么?在电脑上又如…