1.2.1 概念结构设计

通常,把每一类数据对象的个体称为“实体”,而每一类对象个体的集合称为“实体集”。例如,在管理学生所选课程的成绩时,主要涉及“学生”和“课程”两个实体集。

其他非主要的实体可以很多,例如,班级、班长、任课教师、辅导员等。把每个实体集涉及的信息项称为属性。就“学生”实体集而言,它的属性有学号、姓名、性别、出生时间、专业、总学分、备注;“课程”实体集的属性有课程号、课程名、开课学期、学时和学分。

实体集“学生”和实体集“课程”之间存在“选课”的关系,通常把这类关系称为“联系”,将实体集及实体集联系的图称为E-R模型。E-R模型的表示方法如下。

(1)实体集采用矩形框表示,框内为实体名。

(2)实体的属性采用椭圆框表示,框内为属性名,并用无向边与其相应实体集连接。

(3)实体间的联系采用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向边将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1︰1、1︰nmn

(4)如果一个联系有属性,则这些属性也应采用无向边与该联系相连接起来。

因此,E-R模型也称为E-R图。关系数据库的设计者通常使用E-R图来对信息世界建模。从分析用户项目涉及的数据对象及数据对象之间的联系出发,到获取E-R图的这一过程就称为概念结构设计。

两个实体集A和B之间的联系可能是以下3种情况之一。

1. 一对一的联系(1:1)

A中的一个实体至多与B中的一个实体相联系,B中的一个实体也至多与A中的一个实体相联系。例如,“班级”与“班长”这两个实体集之间的联系是一对一的联系,因为一个班只有一个班长,反过来,一个班长只属于一个班。“班级”与“班长”两个实体集的E-R模型如图1.5所示。

0

图1.5 “班级”与“班长”两个实体集E-R模型

2. 一对多的联系(1:n

A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如,“班级”与“学生”这两个实体集之间的联系是一对多的联系,因为,一个班可有若干学生,反过来,一个学生只能属于一个班。“班级”与“学生”两个实体集的E-R模型如图1.6所示。

0

图1.6 “学生”与“班级”两个实体集的E-R模型

3. 多对多的联系(mn

A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相

联系。例如,“学生”与“课程”这两个实体集之间的联系是多对多的联系,因为,一个学生可选多门课程;反过来,一门课程可被多个学生选修,每个学生选修了一门课以后都有一个成绩。“学生”与“课程”两个实体集的E-R模型如图1.7所示。

0

图1.7 “学生”与“课程”两个实体集的E-R模型