第2章实体-联系数据模型
第2章 实体-联系数据模型2.1 E-R模型概述 ★ ★ ★ 2.2 基于E-R模型的概念数据库设计★
2.1 E-R模型概述2.1.1 E-R模型的基本概念 2.1.2 完整性约束 2.1.3 E-R图
E-R模型是由P.P.Chen于1976年首先提 出的。作为数据建模工具被广泛用于数 据库设计中。
2.1.1 E-R模型的基本概念(1)实体(Entity) 概念世界中的基本单位,是客观存在的 且又能相互区别的事物。 (2)属性(Attribute) 实体具有若干特征,每个特征称为实体 的一个属性。
(3)实体型(Entity Type) 是对现实世界中各种事物的抽象。 通常用实体名和属性名来抽象和刻画同 类实体。 例如:学生(学号,姓名,性别,年龄) 一般来说,每个实体型相当于数据库中 的一张数据表结构。
(4)实体集(Entity Set) 若干同型实体的集合。或者说,凡是有 共性的实体组成的一个集合。 (5)关键字或码(Key) 能唯一标识实体集中每个实体的属性集 合。
(6)域(Domain) 属性的取值范围。 例如,性别的域为集合{男,女}。 (7)联系(Relationship) 现实世界中事物之间或事物内部之间的 关联。
【例2-1】书15页 (1)根据说明,可以定义如下3个实体型: 系(系号,系名,系主
任) 学生(学号,姓名,性别,出生日期,所在 系,班级) 课程(课程号,课程名,所在系,学分) (2)存在的联系: 实体集与实体集之间的联系: 实体之间的联系:
2.1.2 完整性约束 二元联系是指两个实体型之间的联系。 例如:学生与课程两个实体型之间的联 系“选课”就是二元联系。
二元联系中实体数量上的约束
如书16页图2-1所示,通常将两个实体集 之间的联系分为三类:一对一联系、一 对多联系和多对多联系。
(1)一对一联系(1:1) 如果实体集A中的一个实体至多同实体集B中 的一个(也可以没有)实体相联系,反之亦 然,则称实体集A与实体集B具有一对一联系, 记为1:1。 例如,一个班级有一名班长。一个学校与一 名正校长,行进中的司机与汽车。
(2)一对多联系(1: n) 如果实体集A中的一个实体可以同实体集B中n 个实体(n=0)相联系,而实体集B中的一个 实体至多同实体集A中的一个实体相联系,则 称A与B具有一对多联系。 例如,学院与教师;班级与学生;学生宿舍房 间与学生;
(3)多对多联系(m:n) 如果实体集A中的一个实体可以同实体集B中n 个实体(n=0)相联系,而实体集B中的一个 实体也可以同实体集A中m个实体(m=0)相 联系,则称A与B具有多对多联系,记为m:n。 例如,学生与课程;教师与课程。
【例2-2】
书16页
联系的属性位置约束 对于1:1和1:n的联系,数据库设计者可以根 据具体的应用将联系的属性移动到某个实体 集中作为属性。具体做法如下: 如果实体集A和B之间的联系为1:1,则联系的属性 既可以移动到实体集A中,也可以移动到实体集B 中。 如果实体集A和B之间的联系为1:n,则联系的属性 可以移动到与n对应的实体集B中。
2.1.3 E-R图 是E-R模型的一种图形化表示,具有简 单性和清晰性。 E-R图提供了表示实体型、属性和联系 的方法,用来描述现实世界的概念模 型。
1、E-R图的3个要素(1)实体(集、型):矩形框内标注实体名称。 (2)属性:椭圆表示,并用无向边将其与相应 的实体连接。 (3)实体之间的联系:菱形框内注明联系名称, 并用无向边分别与有关的实体连接起来,同时 在无向边旁标上联系的类型。如果一个联系具 有属性,则这些属性也要用无向边与该联系连 接起来。
2、联系的表示方法 使用图形表示两个实体型之间的三类联 系如图2-3所示。
3、E-R图的制作步骤(1)需求分析,确定系统中所包含所有实体。(2)分析并选择每个实体所具有的属性。 (3)确定实体的关键字,用下划线标明关键字 的属性组合。 (4)确定实体之间的联系。
(5)确定联系的类型。
因篇幅问题不能全部显示,请点此查看更多更全内容