E-R图

1,383 阅读5分钟

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

模型历史

ER模型最早由Peter Chen(陈品山)于1976年提出,它在数据库设计领域得到了广泛的认同,但很少用作实际数据库管理系统的数据模型。即使对SXL-92数据库来说,设计好的数据库也是具有挑战性的。

大部分数据库设计产品使用实体-联系模型(ER模型)帮助用户进行数据库设计。ER数据库设计工具提供了一个“方框与箭头”的绘图工具,帮助用户建立ER图来描绘数据。

实体联系模型,实体关系模型或实体联系模式图(ERD)是由美籍华裔计算机科学家陈品山(Peter Chen)发明,是概念数据模型的高层描述所使用的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。这种数据模型典型的用在信息系统设计的第一阶段;比如它们在需求分析阶段用来描述信息需求和/或要存储在数据库中的信息的类型。但是数据建模技术可以用来描述特定论域(就是感兴趣的区域)的任何本体(就是对使用的术语和它们的联系的概述和分类)。在基于数据库的信息系统设计的情况下,在后面的阶段(通常叫做逻辑设计),概念模型要映射到逻辑模型如关系模型上;它依次要在物理设计期间映射到物理模型上。注意,有时这两个阶段被一起称为"物理设计"

E-R 三要素

名称作用描述符号举例
实体客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体。image.png学生,课程
联系信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。image.png学生选修课程
属性一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。image.png学生的姓名,学号,性别

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

注意:

  1. 联系不能脱离实体,必须有实体连接且可以是实体的自身联系
  2. 属性既可以连接实体,也可以连接联系。但一个属性只能有唯一的连接对象。

实体-联系 三种情况

一对一联系(1:1)

对于两个实体集A和B,若A中的每一个值在B中至多有一个实体值与之对应,反之亦然,则称实体集A和B具有一对一的联系。

例如:一个学校只有一个正校长,而一个校长只在一个学校中任职,则学校与校长之间具有一对一联系。

graph LR
school[学校] -- 1 --- serveAs{担任} -- 1 --- principal[校长]

一对多联系(1:N)

对于两个实体集A和B,若A中的每一个值在B中有多个实体值与之对应,反之B中每一个实体值在A中至多有一个实体值与之对应,则称实体集A和B具有一对多的联系。

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

graph LR
school[学校] -- 1 --- teaching{教学} -- n --- teacher[教师]

多对多联系(M:N)

对于两个实体集A和B,若A中每一个实体值在B中有多个实体值与之对应,反之亦然,则称实体集A与实体集B具有多对多联系

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

graph LR
student[学生] -- m --- attendClass{上课} -- n --- course[教师]

attendClass --- time((上课时间))

弱实体

弱实体(weak entity)是一种数据库系统术语。其定义为一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。

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

作图步骤

  1. 确定所有的实体集合;
  2. 选择实体集应包含的属性;
  3. 确定实体集之间的联系;
  4. 确定实体集的关键字,用下划线在属性上表明关键字的属性组合;
  5. 确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型。

总结

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