什么是ER图?数据库ER图基础概念整理

什么是ER图?数据库ER图基础概念整理前置知识概述:数据模型的基本概念模型就是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象。对于具体的模型人们并不陌生,如航模飞机、地图和建筑设计沙盘等都是具体的模型。最常用的数据模型分为概念数据模型和基本数据模型。1)概念数据模型概念数据模型也称为信息模型,是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象,强调其语义表达功能,易于用户理解,是用户和数据库设计人员交流的语言,主要用于数据库设计。这类模型中最著名的是实体联系模型,简称E-R模型。2)基本数据

大家好,又见面了,我是你们的朋友全栈君。

前置知识

概述:数据模型的基本概念

模型就是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象。对于具体的模型人们并不陌生,如航模飞机、地图和建筑设计沙盘等都是具体的模型。最常用的数据模型分为概念数据模型和基本数据模型。

1)概念数据模型

概念数据模型也称为信息模型,是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象,强调其语义表达功能,易于用户理解,是用户和数据库设计人员交流的语言,主要用于数据库设计。这类模型中最著名的是实体联系模型,简称E-R模型

2)基本数据模型

基本数据模型是按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现,不同的数据模型具有不同的数据结构形式,目前最常用的数据结构模型有层次 模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)和面向 对象数据模型(Objct Oriented Model)。其中,层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在20世纪70年代非常流行,在数据库系统产品中占据了主导地位。

E-R模型(什么是E-R图)

    概念模型是对信息世界的建模。所以概念模型能够方便、准确地表示信息世界中的常用概念。概念模型有很多种表示方法,其中最常用的是 P.P.S.Chen 于 1976 年提出的 实体-联系 方法(Entity Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,称为实体-联系模型(Entity-Relationship Model,E-R模型)

    E-R模型是软件工程设计中的一个重要方法,在数据库设计中,常用E-R模型来描述现实世界到信息世界的问题。因为它接近于人的思维方式,容易理解并且于计算机无关,所以用户容易接受,是用户和数据库设计人员交流的语言。但是, E-R模型只能说明实体间的语义联系,还不能进一步地详细说明数据结构。在解决实际应用问题时,通常应该先设计一个E-R模型,然后再将其转换成计算机能接受地数据模型。

E-R图中的主要构件:

什么是ER图?数据库ER图基础概念整理

 在E-R图中,实体集作为主码(或主键)的一部分属性名下面加 下画线 标明。另外,在实体集于联系的线段上标注联系的类型。

什么是ER图?数据库ER图基础概念整理

实体(Entity) 在E-R图中实体用矩形表示,通常在矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校所有教师具有相同属性,因此教师的集合可以定义为一个实体集,学生具有相同的属性,因此学生的集合可以定义为另一个实体集。

联系(Relationship) 在E-R模型中,联系用菱形表示。通常可在菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注上联系的类型(1:1、1:* 或 *:* )。实体的联系分为实体内部的联系和实体与实体之间的联系。实体内部的联系反映数据在同一记录内部各字段间的联系。

1)两个不同实体之间的联系

两个实体之间的联系可分为3类:一对联系记为1:1,一对多联系记为1:*(或1:n),多对多联系记为  *:*(m:n)。

(1) 1:1。如果对于实体集A中的每一个实体, 实体集B中至多有一个实体与之对应;反之亦然,则称A与B具有一对一联系。

(2) 1:*。如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与 之对应;反之, 对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称A与B具有一对多联系。

(3) *:*。如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与 之对应;反之,对于实体集B中的每一个实体,实体集A 中也有m个实体(m≥0)与之对应,则称A与B具有多对多联系。

什么是ER图?数据库ER图基础概念整理

2)两个以上不同实体集之间的联系

两个以上不同实体集之间存在 1:1:1、1:1:*、1:*:* 和 *:*:*的联系。

什么是ER图?数据库ER图基础概念整理

3)同一实体集内的二元联系

同一实体集内的各实体之间也存在 1:1、1:*和*:*的联系。

什么是ER图?数据库ER图基础概念整理

属性(attribute) 属性是实体某方面的特性。例如,职工实体集具有职工号、姓名、年龄、参加工作时间和通信地址等属性。每个属性都有其取值范围,如职工号为0001-9999的4位整型数,姓名为10位的字符串,年龄的取值范围为18-60等。在同一实体集中,每个实体的属性及其域是相同的,但可能取不同的值。E-R模型中的属性有如下分类。

1)简单属性和复合属性。

简单属性是原子的、不可再分的,复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。例如,职工实体集的通信地址可以进一步分为邮编、省、市、街道。若不特别声明,通常指的是简单属性。

2)单值属性和多值属性。

前面所举的例子中,定义的属性对于一个特定的实体都只有单独的一个值。例如,对于一个特定的职工,只对应一个职工号、职工姓名,这样的属性叫作单值属性。但是,在某些特定情况下,一个属性可能对应一组值。例如,职工可能有0个、1个或多个亲属,那么职工的亲属的姓名可能有多个数目,这样的属性称为多值属性。

3) NULL属性。

当实体在某个属性上没有值或属性值未知时,使用NULL值。表示无意义或不知道。

4)派生属性。

派生属性可以从其他属性得来。例如,职工实体集中有“参加工作时间”和“工作年限”属性,那么“工作年限”的值可以由当前时间和参加工作时间得到。这里,“工作年限”就是一个派生属性。年龄可从身份证号中得出,因此年龄也属于派生属性。

扩充的 E-R 模型

    尽管基本的 E-R 模型是对大多数数据库特征建模,但数据库某些情况下的特殊语义,仅用基本的 E-R 模型无法表达清楚。所以引入了扩充的 E-R 模型,包括:弱实体、特殊化、概括和聚集等概念。

1)弱实体: 即一个实体的存在必须以另一个实体为背景,将这类实体称为弱实体。在扩展的 E-R 图中,弱实体用双边矩形表示。

什么是ER图?数据库ER图基础概念整理

 2)特殊化:某些实体在一方面具有一些共性,另一方面还具有各自的特殊性。

什么是ER图?数据库ER图基础概念整理

    这样,一个实体集可以按照某些特征区分为几个子实体。设有实体集E,如果 S 是 E 的某些真子集的集合,则称 S 是 E 的一个特殊化,E 是 S 的超类,S 是 E 的子类。图中,学生是超类,专科生、本科生和研究生是学生的子类。

    如果,所有子集 S1、S2、….、Sn的并集等于 E,则称 S 是 E 的全特殊化,否则是 E 的部分特殊化。

    如果,Si 与 Sj 的交集为空集,i ≠ j,则 S 是不相交特殊化,否则是重叠特殊化。

扩充 E-R 图中的主要构件:

什么是ER图?数据库ER图基础概念整理

.….部分内容来自《数据库系统工程师教程》

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

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

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

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

(0)
blank

相关推荐

  • linux route add 接口,route add命令如何使用「建议收藏」

    linux route add 接口,route add命令如何使用「建议收藏」routeadd命令用于在本地IP路由表中显示和修改条目,使用不带参数的ROUTE可以显示帮助,代码为【route[-f][-p][command[destination][masknetmask]….】。routeadd命令使用情况:一、具体功能该命令用于在本地IP路由表中显示和修改条目。使用不带参数的ROUTE可以显示帮助。二、语法详解route[-f][-p][c…

  • 【转载】Web Service和WCF的到底有什么区别

    【转载】Web Service和WCF的到底有什么区别

    2021年11月21日
  • 《欧美剧集观看最佳索引》【2006-9-24更新】

    《欧美剧集观看最佳索引》【2006-9-24更新】 allyesno:我在上两个月说要做一个美剧的网站由于最近公司的事情一直很繁忙我没有时间去做自己都积累了一大堆美剧日剧恐怖片没看两个电脑的硬盘都塞的满满的呵呵真是天长地久有时尽,此恨绵绵无绝期。哈哈~“我现在正在构思是不是把美剧网站列入公司的发展计划的一部分来做这样我的兴趣和工作就能结合在一起而且也能得到更大的硬件平台以及人力资源的支持一切都在

  • docker-compose 集群_hadoop完全分布式搭建步骤

    docker-compose 集群_hadoop完全分布式搭建步骤前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

  • Dedecms_DedeCMS提示信息

    Dedecms_DedeCMS提示信息dedecms:说这个是国内人气最旺的cms,我想没有人反对吧?中国站长站(chinaz.com),站长资讯(admin5.com),称这两个站点是大站,没人反对吧?如果你做的是个人站点,如果数据不是很大,那么dedecms依然是首选,dedecms在20w数据就会反应迟钝,有过技术文章分析的,dedecms的数据表频繁查询,导致性能不过关,但是首选你的站有多大?10w篇文章,每天发10篇那…

  • cocos2dx luajit_如何还原文件打开方式

    cocos2dx luajit_如何还原文件打开方式最近对一款游戏的lua脚本提取,发现提取出来的脚本都是LJ格式的文件。如图:image在网上找了好几个工具都没什么用,最后在github找到了luajit-decomp-master,还原出来的伪代码基本能看懂,但是还是有残缺。如果不明确的逻辑和数据还是要结合ida动态调试。可以看看效果原lua源码functioniter(a,i)i=i+1…

发表回复

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

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