MySQL数据库基础实例教程
上QQ阅读APP看书,第一时间看更新

1.2.3 实体与关系

现实世界中客观存在的各种事物、事物之间的关系及事物的发生、变化过程,要通过对实体、特征、实体集及其联系进行划分和认识,概念模型就是客观世界到信息(概念)世界的认识和抽象,是用户与数据库设计人员进行交流的语言。实体-联系图(Entity Relationship Diagram,E-R图)常用来表示概念模型,通过E-R图中的实体、实体的属性以及实体之间的关系表示数据库系统的结构。

1. E-R图的组成要素及其画法

(1)实体(Entity)。

实体是现实世界中客观存在并且可以互相区别的事物和活动的抽象。具有相同特征和性质的同一类实体的集合称为实体集,可以用实体名及其属性名集合来抽象和刻画。在E-R图中,实体集用矩形表示,矩形框内写明实体名,如图1-5所示。例如,学生张三、学生李四都是实体,可以用实体集“学生”表示。

(2)属性(Attribute)。

属性即实体具有的某一特性,一个实体可由若干个属性刻画。E-R图中用椭圆形表示属性,并用无向边将其与相应的实体连接起来,如图1-5所示。例如,学生的姓名、学号、性别都是属性。

(3)关系(Relationship)。

关系即实体集之间的相互关系,在E-R图中用菱形表示,如图1-5所示。菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1∶1,1∶nmn)。例如,教师给学生授课存在授课关系,学生选课存在选课关系。

图1-5 实体、属性、关系的表示方法

2. 一对一(1∶1)的关系

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

图1-6 “班级”与“学习委员”的E-R图模型

3. 一对多(1∶n)的关系

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

图1-7 “班级”与“学生”的E-R图模型

4. 多对多(m:n)的关系

多对多的关系中,A中的一个实体可以与B中的多个实体相关,而B中的一个实体也可与A中的多个实体相关。例如,“学生”与“课程”这两个实体集之间的关系是多对多的关系,因为一个学生可选多门课程,反过来,一门课程也可被多个学生选修。“学生”与“课程”的E-R图模型如图1-8所示。

图1-8 “学生”与“课程”的关系E-R图模型