E-R模型是概念模型的一种。
E-R图也称实体-联系图(Entity Relationship Diagram),它提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
E-R图是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。
- 用“矩形框”表示实体,矩形框内写明实体名称;
- 用“椭圆图框”或圆角矩形表示实体的属性,并用“实心线段”将实体的属性与相应关系的“实体”连接起来;
- 用”菱形框“表示实体之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n,m:n)。
E-R图的成分
在 E-R图中有如下四个成分:
- 矩形框:表示实体,在框中记入实体名。
- 菱形框:表示联系,在框中记入联系名。
- 椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。
- 连线:
- 实体与属性之间;
- 实体与联系之间;
- 联系与属性之间。
连线用直线相连,并在直线上标注联系的类型。
- 对于一对一联系,要在两个实体连线方向各写1;
- 对于一对多联系,要在一的一方写1,多的一方写N;
- 对于多对多关系,则要在两个实体连线方向各写N,M。
构成E-R图的要素
构成 E-R图的 3 个基本要素是:实体、属性和联系。
信息世界中的基本概念实体
客观存在并可相互区别的事物称为实体。
实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个职工、一个学生、一个部门、一门课、学生的一次选课、部门的一次订货、教师与院系的工作关系(即某位教师在某院系工作)等都是实体。
属性
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画。
例如,学生实体可以由学号、姓名、性别、出生年月、所在院系、入学时间等属性组成, 属性组合(201315121,张山,男,199505,计算机系,2013)即表征了一个学生。
实体有属性,联系也可以有属性。
联系有属性,这种情况多出现在多对多联系中,例如:学生“ 选修” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“ 成绩” 既依赖于某名特定的学生又依赖于某门特定的课程,所以成绩是学生与课程之间的联系“ 选修”的属性。
联系
联系也称关系,信息世界中反映实体内部或实体之间的关联。
- 实体内部的联系通常是指:组成实体的各属性之间的联系;
- 实体之间的联系通常是指:不同实体集合之间的联系。
实体不会是单独存在的,实体和其他的实体之间存在着联系。比如:
- 老师 和 学生:老师给学生授课,存在授课关系;
- 学生 和 课程:学生选课,存在选课关系。
一般性约束
实体-联系数据模型中的联系,存在 3 种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),这 3 种一般性约束用来描述实体集合之间的数量约束。一对一联系(1∶1)
对于实体集合 A 和实体集合 B,若 A 中的每一个值在 B 中至多有一个实体值与之对应,反之亦然,则称实体集 A 和 B 具有一对一的联系。反之亦然的意思是:若 B 中的每一个值在 A 中至多有一个实体值与之对应。
一个学校只有一个正校长,而一个校长只在一个学校中任职,我们就说:学校与校长之间具有一对一联系。
- 实体集合 A:{校长1,校长2,校长3,校长4….}
-
一对多联系(1∶N)
对于实体集合 A 和实体集合 B,若 A 中的每一个值在 B 中有多个实体值与之对应,反之 B 中每一个实体值在 A 中至多有一个实体值与之对应,则称实体集 A 和 B 具有一对多的联系。
存在一对多联系的例子: 教师与课程之间存在一对多的联系“教”,一位教师可以教多门课程,但是一门课程只能由一位教师来教。
- 专业与学生之间存在一对多的联系,一个专业中可以有多名学生,但一名学生只能对应一个专业。
多对多联系(M∶N)
对于实体集合 A 和实体集合 B,若 A 中每一个实体值在 B 中有多个实体值与之对应,反之亦然,则称实体集 A 与实体集 B 具有多对多联系。反之亦然的意思是:若 B 中每一个实体值在 A 中有多个实体值与之对应。
存在多对多联系的例子:
- 学生与课程之间存在多对多的联系,一名学生可以选修多门课程,并且一门课程可以有多名学生选修。
联系是随着数据库语义而改变的,假如有如下 3 种语义规定,则有不同的联系:
- 规定一个部门只能有一个经理,一个员工只能是一个部门的经理。在这种规定下,经理与部门之间的“管理”联系是一对一的。(一个经理只能管理一个部门,一个部门只能被一个经理管理)
- 规定一个部门只能有一个经理,但一个员工可以是多个部门的经理。在这种规定下,经理与部门之间的“管理”联系是一对多的。(一个经理能管理多个部门,一个部门只能被一个经理管理)
- 规定一个部门可以有多个经理,并且一个员工可以是多个部门的经理。在这种规定下,经理与部门之间的“管理”联系是多对多的。(一个经理能管理多个部门,一个部门能被多个经理管理)
作E-R图的步骤
- 确定所有的实体;
- 确定实体应该包含的属性;
- 确定实体之间的联系;
- 确定实体的关键字,用下划线在属性上标明关键字的属性组合;
- 确定联系的类型,并在旁边标注好是 1 还是 n。
关键字可以理解为主键,用来唯一标识一行记录。 关键字可以由一个属性构成,也可以由多个属性构成。