首页 理论教育概念模型与E-R图表的基本概念和绘制方法

概念模型与E-R图表的基本概念和绘制方法

【摘要】:概念模型是现实世界到机器世界的一个中间层,它不依赖于数据的组织结构,反映的是现实世界中的信息及其关系。1)E-R模型中的基本概念概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的信息。3)E-R图绘制概念模型的表示方法很多,其中最为著名、最为常用的是P.P.S.Chen于1976年提出的实体—联系方法,即E-R方法。该方法用E-R图来描述现实世界的概念模型。

由于计算机不可能直接处理现实世界的具体事物,更不能够处理事物与事物之间的联系,因此必须把现实世界的具体事物转换成计算机能够处理的对象。信息世界是现实世界在人脑中的真实反映,是对客观事物及其联系的一种抽象描述。为把现实世界中的具体事物抽象、组织为DBMS所支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。具体地讲,就是首先把现实世界中的客观事物抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,也不与具体的DBMS相关,而是概念级的模型。然后再把概念模型转换为计算机上某一DBMS支持的数据模型。在这个过程中,将抽象出的概念模型转换成数据模型是比较直接和简单的,因此设计合适的概念模型就显得比较重要。

概念模型是现实世界到机器世界的一个中间层,它不依赖于数据的组织结构,反映的是现实世界中的信息及其关系。它是现实世界到信息世界的第一层抽象,也是用户和数据库设计人员之间进行交流的工具。这类模型不但具有较强的语义表达能力,能够方便、直接地表述应用中的各种语义知识,而且概念简单、清晰,便于用户理解。

数据库设计人员在设计初期应把主要精力放在概念模式的设计上,因为概念模型是面向现实世界的,与具体的DBMS无关。

1)E-R模型中的基本概念

概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的信息。

(1)实体

客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也就是事物本身,如职工、学生、图书等;还可以是抽象的概念或联系,如学生选课、部门订货、借阅图书等。

(2)属性

实体所具有的某一特征或性质称为属性。一个实体由若干个属性来刻画。例如学生实体可以用学号、姓名、性别、出生年份、专业、入学时间等属性来描述;学生选课实体可以用学号、课程号、成绩这些属性来描述。属性的具体取值称为属性值。例如,(20070101,王一山,男,1989,软件技术,2007)这些属性组合起来表征了一个具体学生。

(3)联系

在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为两类:一类是实体内部的联系;另一类是实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体之间的联系。

例如,在前面介绍的学生实体中有多个属性,其中相同专业有很多学生,而一名学生当前只能有一种专业属性值,也就是说,学生的学号制约了该学生的专业,这就是实体内部的联系。再比如,学生选课实体和学生基本信息实体之间是有联系的,一名学生可以选修多门课程,一门课程可以被多名学生选修,这就是实体间的联系。

(4)键

也称为码或者实体标识符,是指能唯一标识实体集中每个实体的属性集合。例如,学号可以作为一个学校的学生实体集的键。一个实体集可以有若干个键,通常选择其中一个作为主键。

(5)域

是指属性的取值范围。例如,性别的域为集合{男,女}。

(6)关键字

唯一地标识实体的属性集称为关键字,例如学号是学生实体的关键字。关键字可以包含一个属性,也可以同时包含多个属性。如学生选课关系中,学号和课程号联合在一起才能唯一地标识某个学生某门课程的考试成绩。

(7)实体型

用实体名及其属性名集合来抽象和描述同类实体,称为实体型。例如,学生(学号、姓名、性别、出生年份、专业、入学时间)就是一个实体型,它是表示学生这个信息,不是指某一个具体的学生。通常我们所说的实体就是指实体型。

(8)实体集

性质相同的同一类实体的集合称为实体集。例如,软件学院的所有学生就是一个实体集。

2)实体间的联系

在现实世界中,事物之间的联系较为复杂。同样,实体内部和实体之间也存在着复杂的关系,这里我们主要讨论实体之间的联系。实体间的联系可以分为三类。(www.chuimin.cn)

(1)一对一联系(1∶1)

设A,B为两个实体集。若A中的每个实体至多和B中的一个实体有联系;反之,B中的每个实体至多和A中的一个实体有联系,则称为实体集A与实体集B是一一对应联系,记为1∶1。例如,职工管理信息系统中,一个部门只有一个经理,而一个经理只能担当一个部门的经理职务,所以部门与经理之间是一对一的联系。

(2)一对多联系(1∶n)

设A,B为两个实体集。如果A中的某一个实体可以和B中的n个实体有联系;反之,B中的每个实体至多和A中的一个实体有联系,则称实体集A与实体集B是一对多的联系,记为1∶n。这类联系比较普遍,例如,部门与职工之间就是一对多联系,一个部门可以有多名职工,一名职工只在一个部门就职(只占一个部门的编制)。又如,一个系有多名教师,而每位教师只能在一个系工作,系和老师之间也是一对多联系。一对一联系可以看作一对多联系的一个特殊情况,即n=1时的特例。

(3)多对多联系(m∶n)

设A,B为两个实体集。若A中的每个实体可与B中的多个实体有联系;反之,B中的每个实体也可以与A中的多个实体有联系,则称实体集A与实体集B的联系是多对多,记为m∶n。

例如,一个学生可以选修多门课程,一门课程由多名学生选修,学生和课程间就存在多对多联系。一本书可以由多个作者合作编写,而一个作者可以编写多种不同的图书,则作者与图书之间的联系也是多对多联系。

3)E-R图绘制

概念模型的表示方法很多,其中最为著名、最为常用的是P.P.S.Chen于1976年提出的实体—联系(Entity-Relationship)方法,即E-R方法(E-R模型)。该方法用E-R图来描述现实世界的概念模型。

E-R图中提供了表示实体集、属性和联系的方法。

实体集:用矩形框表示,矩形框内写明实体名。

属性:用椭圆形框表示,椭圆内注明属性名称,并用无向边将其与相应的实体连接起来。属性较多时,可以将实体与其相应的属性另外单独列表表示。

联系:用菱形框表示,菱形框内写明联系名,并用无向边将其与有关实体连接起来,同时在无向边上标注联系的类型(1∶1,1∶n或m∶n)。

联系也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。

图1-10给出了学生实体集与课程实体集及其联系的E-R图。其中学生实体有学号、姓名、性别和出生日期等属性,课程实体有课程号、课程名和学分等属性。这里的联系选修具有成绩属性。

图1-10 课程与学生的E-R图

E-R图的绘制有两种方法:集成法和分离法。集成法是将实体、实体属性、实体与实体之间的联系全部画在一张图上,构成一个完整的E-R图,如图1-11所示。集成法适合规模不大的问题。分离法是先画出实体及其属性图,然后画实体—联系图,适合规模较大的问题,如图1-12所示。

图1-11 E-R图实例(集成法)

(a)实体及其属性图

(b)实体及其联系图

图1-12 E-R图实例(分离法)

实体—联系方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。