数据库:实体关系图(ER图)「建议收藏」

数据库:实体关系图(ER图)「建议收藏」1,组成元素元素 描述 表示形似 实体 客观存在并可以相互区别的事物 用矩形框,矩形框内写明实体名 属性 实体所具有的一个属性 用椭圆型表示,并用无向边将其与相应的实体连接起来 关系 实体和实体之间以及实体内部的关系 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来, 同时在无向边旁边标上联系的类型 2,关系详解一,一对一一对一关系是指对于实体集A与实体集B,A中的每一个实体至多与B中

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

1,组成元素

元素 描述 表示形似
实体 客观存在并可以相互区别的事物 用矩形框,矩形框内写明实体名
属性 实体所具有的一个属性 用椭圆型表示,并用无向边将其与相应的实体连接起来
关系 实体和实体之间以及实体内部的关系 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁边标上联系的类型

2,关系详解

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

数据库:实体关系图(ER图)「建议收藏」

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

数据库:实体关系图(ER图)「建议收藏」

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

数据库:实体关系图(ER图)「建议收藏」

3,实例详解

问题描述:

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

ER图:

数据库:实体关系图(ER图)「建议收藏」

4,ER图的集成

确定公共实体类型:一般仅根据实体型名称和主键来认定公共实体型,即把同名实体型作为一个候选的公共实体型或把具有相同主键的实体型也作为一个候选的公共实体型。

合并分ER图:采用逐步合并的方式,首先将两个具有公共实体型的分E-R图进行合并,然后每次将一个新的、与前面已合并的E-R图具有公共实体型的分ER图合并起来……这样即可最终获得全局的初步E-R图。

检查并消除冲突:各个局部应用所面向的问题不同,各个子系统的E-R图之间必定会存在许多不一致的地方,称之为冲突。冲突类型:属性冲突、命名冲突、结构冲突。

属性冲突 属性域冲突,即属性值的类型、取值范围或取值集合不同 零件号,有的部门把它定义为整数,有的部门把它定义为字符型。
属性取值单位冲突 零件的重量有的以公斤为单位,有的以斤为单位,有的以克为单位
解决办法 通过讨论、协商等行政手段加以解决。
命名冲突 同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。 对科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程。
异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
通过讨论、协商等行政手段加以解决
结构冲突 同一对象在不同应用中具有不同的抽象 职工在某一局部应用中被当作实体,而在另一局部应用中则被当作属性
把属性变换为实体或把实体变换为属性,使同一对象具有相同的抽象
一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同。 实体E1在ER1中三个属性,在ER2中四个属性。
使该实体的属性取各子系统的E-R图中属性的并集,再适当调整属性的次序。
实体间的联系在不同的E-R图中为不同的类型。 实体E1E2在一个E-R图中是多对多联系,在另一个E-R图中是一对多联系
是根据应用的语义对实体联系的类型进行综合或调整。

5,ER图的优化

所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。

(1)实体型的合并,以减少实体类型的个数:合并不是指前面的“公共实体型”的分E-R图的合并, 而是指两个有联系的实体型的合并。

例如:两个具有1:1联系的实体型通常可以合并成一个实体型。

对于具有相同主键的两个实体型, 如果经常需要同时处理它们, 则也可以将它们合并, 但可能产生大量的空值。

(2)尽可能消除实体中的冗余属性:通常在各个分E-R图中是不允许冗余属性存在的, 但在合并为全局的初步E-R图以后, 可能产生全局范围的冗余属性。

例如:在某大学的数据库设计中, 一个分E-R图中可能有已毕业学生数、招生数、在校学生数和即将毕业的学生数,而另一个分E-R图中可能有毕业学生数、招生数、各年级在校学生数和即将毕业学生数,则这两个分E-R图自身都没有冗余,但合并为一个全局E-R图时,“在校学生数”就成为冗余属性,因此可以考虑将其删除。

(3)尽可能消除冗余的联系:除分析的方法外, 还可应用规范化理论来发现和消除冗余的联系。

确定分E-R图实体之间的数据依赖。实体之间一对一、一对多、多对多的联系可以用实体码之间的函数依赖来表示。于是有函数依赖集FL

求FL的最小覆盖GL,差集为 D=FL-GL。逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。

例如:部门和职工之间有一个一对一的 “领导”联系和一个一对多的“属于”联系 , 其“属于”联系表示为:  职工号→部门号。而其“领导”联系则应表示为:负责人.职工号→部门号  或  部门号→负责人.职工号。

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

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

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


相关推荐

  • 【SpringBoot学习】5、SpringBoot 实现文件上传,图片上传并显示功能[通俗易懂]

    【SpringBoot学习】5、SpringBoot 实现文件上传,图片上传并显示功能[通俗易懂]我先看一下《颈椎病康复指南》再给大家说怎么实现的这两个功能,毕竟只是一个新手,解决这种复杂点的问题(相对而言),还是需要花费大量时间的,这篇文章花了两天的时间才实现的功能,现在就记录一下使用springboot怎么实现文件上传下载的。我这里使用的是springboot2.0.3,不需要导入相关jar包,2.x的版本已经整合进去了,直接使用即可。spring官网提供了springbo…

    2022年4月27日
    45
  • 转载:Visio2013的密钥「建议收藏」

    转载:Visio2013的密钥「建议收藏」因为新买的电脑安装visio后之前的注册机都用不了,只能从网上找密钥激活,以下是转载网上的,有需要者自行尝试把VisioProfessional2013KEYC2FG9-N6J68-H8BTJ-BW3QX-RM3B32NYF6-QG2CY-9F8XC-GWMBW-29VV8FJ2N7-W8TXC-JB8KB-DCQ7Q-7T7V3VXX6C-DN3HQ-3CRXG-RF4KT-YG7V3B3…

    2022年6月24日
    71
  • css边框渐变色和圆角_css边框颜色渐变

    css边框渐变色和圆角_css边框颜色渐变一个DIV实现圆角边框渐变<divclass=”box”></div>.box{width:713rpx;height:80rpx;border-radius:100rpx;border:5rpxsolidtransparent;background-origin:border-box;background:linear-gradient(0deg,#E24556,#E82148,#F35F77

    2025年7月13日
    2
  • Java面试题整理,2021年腾讯Java高级面试题及答案[通俗易懂]

    Java面试题整理,2021年腾讯Java高级面试题及答案[通俗易懂]正文如果你参加过一些大厂面试,肯定会遇到一些开放性的问题:1、写一段程序,让其运行时的表现为触发了5次YoungGC、3次FullGC、然后3次YoungGC;2、如果一个Java进程突然消失了,你会怎么去排查这种问题?3、给了一段Spring加载Bean的代码片段,阐述一下具体的执行流程?是不是看上去很难,是不是和自己准备的“题库”中的问题不一样?不知道从何处下手?如果你有这种感觉,那么说明你的技术还需要继续修炼。面对如此多的技术面试,怎么样才能说自己的技术已经过关了呢?只有

    2022年7月18日
    17
  • html css制作静态网页_简单的静态网页代码

    html css制作静态网页_简单的静态网页代码网页简介:经过pink老师的课程学习之后,制作了一个简单的静态页面,其中的重点内容是对所学css样式的编写格式,顺序等进行规范练习,对页面结构的规划安排,对html,css基本内容的熟练,对浮动,定位,盒子模型嵌套的运用等。

    2025年9月13日
    6
  • Ti杯电子竞赛前期准备工作

    Ti杯电子竞赛前期准备工作标题竞赛时间和竞赛周期:1997年开始每二年举办-届,竞赛时间定于竞赛举办年度的9月份,赛期四天三夜(具体日期届时通知)。在双数的非竞赛年份,组织开展全国的专题性竞赛。竞赛方式:全国统一-命题、分赛区组织的方式。采用“半封闭、相对集中”的组织方式进行。学生可查阅纸介或网络技术资料,队内学生集体商讨设计,分工负责、团结协作,以队为基本单位独立完成竞赛任务;竞赛期间不允许任何教师或其他…

    2022年5月7日
    94

发表回复

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

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