E-R图的基本概念(一)

可能是因为物联网这个词本身的概念范围太广了。作为一名物联网专业的学生,也是累,什么都搞搞。出到社会还要和计算机科学专业的人抢饭碗。这不。。。学完嵌入式后,来学数据库了。
鉴于听别人说学好数据库,不愁找饭碗,因此本着既学之,则安之的原则,为了达到把书越读越薄的目的。来撸撸学习总结。

实体-联系方法(Entity-Relationship Approach),也叫E-R模型,由一位叫P.P.S.Chen的大佬最先提出。主要是用来描述现实世界的概念模型。具体来说就是用一下三种东西来描述我们的问题构成的世界

E-R图的三要素

这里写图片描述

三要素通过一条无向边连接,是一个无向图。

注意:
①联系不能脱离实体,必须有实体连接且可以是实体的自身联系(后面有例子)
②属性既可以连接实体,也可以连接联系。但一个属性只能有唯一的连接对象。

实体和联系的三种情况

1.两个实体之间的联系

联系和实体之间存在三种关系:
①一对一。比如:一个学校只能有一个校长,而一个校长也只能担任一个学校的校长。

这里写图片描述

②一对多。比如:一个学校里有多名教师,而每个教师只能在一个学校教学。

这里写图片描述

③多对多。比如:一个学生可以上n种课程,而每一个课程可以有m个学生学习。而上课还可以有一个属性:上课时间。

这里写图片描述

2.多个实体之间的联系

①多个实体之间一对多。比如:一门课程可以有n个老师来授课,一个老师只讲一门课程,该门课程可以有m本参考书,而这m本书只供这一门课使用。


这里写图片描述

②多个实体之间多对多。比如:一个供应商可以给多个(n)项目提供零件,每个项目可以使用多个(m)供应商供应的零件,每种(p)零件可有不同供应商供给。


这里写图片描述

3.弱实体集

一个实体A对于另一个实体B(A的父实体)具有很强的一来联系,且实体A主码的一部分或全部从其父实体获得。即一个实体的主码由另一个实体的部分或全部属性构成,即一个实体依赖于另一个实体而存在,这样的实体集(A)叫做弱实体集,另外的那个实体集(B)叫做强实体集。

1)弱实体集A到弱实体集B必然是多对一联系。
2)A应为B的主码提供自己的主码。
在E-R图中,用双边矩形来代表弱实体集,用双边菱形来代表弱实体集之间的联系。
下面有个例子。

员工与员工家属的联系。
这里写图片描述

基本概念就讲到这里了。
最后总结以下E-R图的设计原则。
1)尽量减少实体集数量,能作为属性时不要作为实体集。
2)“属性”不能再具有需要描述的性质。必须时不可分割的数据项。不能时其他属性的聚集。
3)“属性”不能与其他实体具有联系
4)综合局部E-R图,产生出总体E-R图。在这个过程中,同名实体只能出现一次,并去掉不必要的联系,以便消除冗余。一般的,能够根据总体E-R图导出各个局部的E-R图。

  • 77
    点赞
  • 263
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
数据库系统(四) 数据库系统(四)---关系型数据库设计及 关系型数据库设计及E-R 1、关系型数据库:   关系型数据库是⼀类采⽤关系模型作为逻辑数据模型的数据库系统,遵从数据库设计的基本步骤,包括:需求分析、概念结构设计、逻辑结构设 计、物理结构设计、数据库实施、数据库的运⾏和维护等阶段。 概念结构设计与逻辑结构设计是关系数据库整个设计过程的关键。 2、关系数据库设计过程与各级模式   在关系数据库设计的不同阶段,会形成数据库的各级模式。   1)需求分析阶段,综合各个⽤户的应⽤需求;   2)概念结构设计阶段,形成独⽴于机器特点、独⽴于各个关系数据库管理系统产品的概念模式;   3)逻辑结构设计阶段,将 E-R 转换成具体的数据库产品⽀持的关系数据模型,形成数据库逻辑模式,然后根据⽤户处理的要求、安全性的考 虑,在基本表的基础上再建⽴必要的视,形成数据的外模式;   4)物理结构的设计阶段,根据关系数据库管理系统的特点和处理的需要,进⾏物理存储安排,建⽴索引,形成数据库内模式。 3、 概念结构设计⽅法   关系数据库的概念结构设计通常采⽤⾃顶向下法,它通过两个步骤来完成概念设计,⾸先建⽴局部信息结构,然后将局部信息结构合成为全局信 息结构并优化,使⽤ E-R 作为概念模型的描述⼯具。 1)局部信息结构设计   局部信息结构设计:根据需求分析报告中标明的不同⽤户视范围所建⽴的满⾜该范围内⽤户需求的信息结构,称为局部信息结构。   局部信息结构设计的步骤包括:确定局部范围;选择实体;选择实体关键字; 确定实体间联系;确定实体的属性。 2)E-R 的表⽰⽅法   概念结构设计就是将需求分析得到的⽤户需求抽象为信息结构的过程,通常使⽤ E-R 来作为描述现实世界的建模⼯具。E-R 提供了表⽰信息 世界中实体、属性和联系的⽅法。   1.实体型,⽤矩形表⽰,写明实体的名称;   2.属性,⽤椭圆形表⽰,并⽤⽆向边将其与其相应的实体连接起来。   3.联系,⽤菱形表⽰,写明联系的名称,⽤⽆向边分别与有关实体连接起来,同时在⽆向边旁标注联系的类型(1:1、1:N 或 M:N),如果⼀个联系 具有属性, 则这些属性也要⽤⽆向边与该联系连接起来。   两个实体型之间、两个以上的实体型之间以及单个实体型内的联系,都会存在如下关系: ⼀对⼀联系(1:1) ⼀对多联系(1:N) 多对多联系 (M:N) 3)全局信息结构设计   全局信息结构设计是将上述步骤中产⽣的所有局部信息结构合并成为⼀个全局信息结构。 各局部 E-R 之间的冲突主要表现在三个⽅⾯:   3.1).属性冲突:属性域冲突和属性取值单位冲突。   3.2).命名冲突:同名异义和异名同义。   3.3).结构冲突:     同⼀对象在⼀个局部 E-R 中作为实体,⽽在另⼀个 局部 E-R 中作为属性;     同⼀实体在不同的 E-R 中属性个数和类型不同;     实体之间的联系在不同的 E-R 中是不同的类型。   eg:   【例】设有如下实体:     学⽣:学号,姓名,性别     课程:课程号,课程名,学分     班级:班号,班名,     其中,每个班有若⼲学⽣,每个学⽣只可以在—个班级学习;每个学⽣可选修多门课程,每门课程可被多个学⽣选修,学⽣选修课程要记录 成绩。    1. 试画出反映上述实体关系的 E-R (不必画实体的属性)。          注意:学⽣选修课程之后才能有成绩,故成绩是选修(联系)的属性。 4、逻辑结构设计⽅法   逻辑结构设计的任务是把在概念结构设计产⽣的概念模型转换为具体的 DBMS 所⽀持的逻辑数据模型,也就是导出特定的 DBMS 可以处理的数 据库逻辑结构。 通常包括三项⼯作:将 E-R 转换为关系模型、对关系数据模型进⾏优化、设计⾯向⽤户的外模式。 1)E-R 向关系模型的转换 遵循原则如下:   1. ⼀个实体型转换为⼀个关系模式。   2. ⼀个⼀对⼀联系可以转换为⼀个独⽴的关系模式。   3. ⼀个⼀对多联系可以转换为⼀个关系模式。   4. ⼀个多对多联系转换为⼀个关系模式。   5. 具有相同码的关系模式可合并。  eg:   使⽤3中的⽰例,将E-R转化为关系模式,并说明主外键   (1)⼀个实体型对应⼀个关系模式:    R学⽣(学号,姓名,性别)     R课程(课程号,课程名,学分)     R班级(班号,班名) (2)⼀个⼀对多联系可转化为⼀个关系模式(中间表)     R属于(学号、班号)外键 学号 和 班号   (3)⼀个多对多联系可转化为⼀个关系模式(中间表)     R选修(学号、课程号、成绩)外键 学号 和 课程号   (4)R学⽣和R属于可合并成⼀张表    

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值