实体-联系图(ER图)_实体关系图

实体-联系图(ER图)_实体关系图我们通常用实体、联系和属性这三个概念来理解现实问题,因此ER模型比较接近人的思维方式。此外,ER模型用简单的图形符号表达系统分析员对问题域的理解,不熟悉计算机技术的用户也能理解它,因此,ER模型可以作为用户与分析员之间有效的交流工具。一、ER模型ER模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此之间相互连接的关系。1.数据对象数据对象是对软件必须理解的复合信息…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

我们通常用实体、联系和属性这三个概念来理解现实问题,因此ER模型比较接近人的思维方式。此外,ER模型用简单的图形符号表达系统分析员对问题域的理解,不熟悉计算机技术的用户也能理解它,因此,ER模型可以作为用户与分析员之间有效的交流工具。

一、ER模型

ER模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此之间相互连接的关系。

1.数据对象

数据对象是对软件必须理解的复合信息的抽象。所谓符合信息是指具有一系列不同性质或属性的事物,仅有单个值得事物(例如,宽度)不是数据对象。数据对象可以是外部实体(例如,产生或使用信息的任何事物)、事物(例如,报表)、行为(例如,打电话)、事件(例如,响警报)、角色(例如,教师、学生)、单位(例如,会计科)、地点(例如,仓库)或结构(例如文件)等。总之,可以由一组属性来定义的实体都可以被认为是数据对象。
数据对象彼此间是有关联的,例如,教师“教”课程,学生“学”课程。教或学的关系表示教师和课程或课程之间的一种特定的连接。
数据对象只封装了数据而没有对施加于数据上的操作的引用,这是数据对象与面向对象范型中的“类”或“对象”的显著区别。

2.属性

属性定义了数据对象的性质。必须把一个或多个属性定义为“标识符”,也就是说,当人们希望找到数据对象的一个实例时,用标识属性作为“关键字”(通常简称为“键”)。
应该根据对所要解决的问题的理解,来确定特定数据对象的一组合适的属性。例如,为了开发机动车管理系统,描述汽车的属性应该是生产厂、品牌、型号、发动机号码、车体类型、颜色、车主姓名、住址、驾驶证号码、生产日期及购买日期等。但是,为了开发设计汽车的CAD系统,用上述这些属性描述汽车就不合适了,其中车主姓名、住址、驾驶证号码、生产日期和购买日期等属性应该删去,而描述汽车技术指标的大量属性应该添加进来。

3.联系

客观世界中的事物彼此间往往是有联系的。例如,教师与课程渐存在“教”这种联系,而学生与课程间则存在“学”这种联系。
数据对象彼此之间相互连接的方式称为联系,也称为关系。联系可分为以下3种类型。
•一对一联系(1:1)
    例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。
•一对多联系(1:N)
   例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。
•多对多联系(M:N)
    例如,学生与课程间的联系(“学”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。

联系也可能有属性。例如,学生“学”某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩”既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学”的属性。

 

二、如何画ER图

1.要素表示

实体-联系图(ER图)_实体关系图

2.画图步骤

  • 首先确定这个模块有哪几个核心的对象以及具体有哪些特征,
  • 其次思考这些对象之间的关系,如何相互转变。
  • 最后把他们用ER图的方法表述出来。
  • 当然需要尽量精简实体以及优化属性

3.画图工具

processon在线画图、Mircosoft Office VISO2013、亿图图示等

4.示例

假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。

实体-联系图(ER图)_实体关系图

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193525.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件工程概论题库「建议收藏」

    一、选择题:1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。A.软件工程 B.软件周期 C.软件危机 D.软件产生2.瀑布模型本质上是一种(A)模型。A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B)。A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4.螺旋模型是…

    2022年4月17日
    132
  • 关于VUE双向绑定失效的问题「建议收藏」

    关于VUE双向绑定失效的问题「建议收藏」双向绑定失效的原因有很多。lz就说最近遇到的。是的,单价下的那个输入框我用了双向绑定(比如叫price,比如100)。然后ipnut键入中文时,(即使我做了输入验证)。回车时虽然框中不会保留中文,但事实上VUE的双向绑定已经失效了。不管你后面输入什么,绑定的price保存的值只会是中文前的那个值(100)。这样就导致表面好像没事,但是当你提交时就数据不对了。还有

    2025年11月15日
    5
  • Linux禁用防火墙规则的命令_linux 防火墙开启端口

    Linux禁用防火墙规则的命令_linux 防火墙开启端口linux防火墙有时候觉得太烦人了,想禁用下,该怎么办呢?下面由学习啦小编给你做出详细的linux防火墙禁用方法介绍!希望对你有帮助!linux防火墙禁用方法一:Linux中现主要有两套管理服务的软件。大多数的发行版使用SysVinit的系统启动进程管理体系,即service和chkconfig命令来配置和控制服务,例如CentOS6有些发行版则默认使用比较新的也是争议很大的systemd体系…

    2025年11月29日
    6
  • 安装drupal

    安装drupal1.把汉化文件拷贝到profiles/standard/translations/可以中文安装2.改变一个文件夹属性,cp一个文件。3.建立数据库4.开始安装,导入翻译中进度条卡死,硬盘不响了,刷新一下继续。5.设置网站名称信箱,管理员帐号信箱。6.安装开始,完毕,注意参阅install.txt文件。7.安装必须模块:Administrationmenu;a…

    2022年7月20日
    16
  • python 图像处理库_Python图像处理库

    python 图像处理库_Python图像处理库1.如果没有安装库就先安装库fromPILimportImage2.操作fromPILimportImage#导入库Image.open(‘1.png’)#读取图片im=np.array(Image.open(‘1.png’))#查看图片的gbk的颜色数组b=im[::-1]#改图片gbk数组的排列new_im=Image.fromarray(b.astype(‘uint8’))#

    2022年10月10日
    3
  • SecureCRTPortable的安装和使用(图文详解)

    SecureCRTPortable的安装和使用(图文详解)不多说,直接上干货!玩玩这个远程连接软件,是个绿色软件。别人已经做好了的。解压之后,下面,软件展示下,这会默认去打开,为了,方便,使用,放到桌面,作为快捷方式成功欢迎大家,加入我的微信

    2022年8月5日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号