实体-联系图(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图)_实体关系图

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • restful 幂等性(什么是幂次法则)

    理解RESTful的幂等性,并且设计符合幂等规范的高质量RESTfulAPI。怎么理解幂等性HTTP幂等方法,是指无论调用多少次都不会有不同结果的HTTP方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。还是以之前的博文的例子为例。【GET】/users#查询用户信息列表【GET】/users/1…

  • 香港手机号正则表达式「建议收藏」

    香港手机号正则表达式「建议收藏」刚遇到一个问题,不了解香港手机号的规则,现在记录下来,方便以后查看香港手机号码正则:^([6|9])\d{7}$澳门手机号码正则:^[0][9]\d{8}$大陆:^[1][3-8]\d{9}$正则表达式:^[1][3-8]\d{9}$|^([6|9])\d{7}$|^[6]([8|6])\d{5}$这是规则:大陆:开头13-8号码

  • cefsharp文档在哪_hdfs创建目录

    cefsharp文档在哪_hdfs创建目录参考:https://github.com/cefsharp/CefSharp/issues/601https://gist.github.com/BlackBooth/19ce027c4f68c1eb4fc1144988ca6662关键点:(1)设置CefSettings的BrowserSubprocessPath属性为对应的CefSharp.BrowserSubprocess.exe的…

  • java数组定义长度_JAVA数组的定义

    java数组定义长度_JAVA数组的定义JAVA一维数组一,注意不可添加数组元素不可改变数组长度一个数组中的说有元素必须数据类型相同二,创建方法三种1直接添加元素类型[]数组名={元素,元素,元素,……};int[]arr={1,2,3,4};2先定义数组长度再添加元素类型[]数组名=new类型[长度];int[]arr=[2];arr[0]=1;arr[1]=2;与此方法类似的int[]arr;arr=newin…

  • 什么是SpringApplication[通俗易懂]

    什么是SpringApplication[通俗易懂]SpringApplication什么是SpringApplication在spring的官方文档里面没有给出确切的定义,文档中说,SpringApplication是一个类,然后提供一些便利的功能来引导spring程序的启动,在main的方法里面启动likethis:…

  • springboot框架的理解_谈谈你对springmvc的理解

    springboot框架的理解_谈谈你对springmvc的理解1.起源SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像Maven整合了所有的Jar包,SpringBoot整合了所有的框…

发表回复

您的电子邮箱地址不会被公开。

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