1.2.2 概念模型
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,信息世界的基本概念包括实体、属性、实体型、实体集,域、联系、E-R图等。
1.概念模型的基本概念
(1)实体
实体是指客观存在并可相互区别的事物及其事物之间的联系。实体可以是实际事物,也可以是事物之间的联系。例如:“一个学生”、“一门课程”和“学生成绩”等都是实体,其中,“一个学生”和“一门课程”属于实际事物,“学生成绩”属于学生与课程之间的联系。
(2)属性
属性是指描述实体的某一方面的特性,属性由两部分组成,即属性名和属性值,同一属性名,可以取相同或不同的属性值。
实体是通过属性来描述,一组不同的属性组合就构成了一个实体,例如“一个学生”具有学号、姓名、性别、出生日期、政治面貌、班级等属性,属性的具体数据如(1001010101,王洁茹,女,1992-9-23,10市场营销1班)就构成“一个学生”实体。
(3)实体型
实体型是用来描述同类型的实体,其表示格式为
实体名(属性1,属性2,……,属性n)
例如,“学生”实体型可表示为
学生(学号,姓名,性别,出生日期,班级)
(4)实体集
实体集是按照实体型格式,表达一系列同类实体,形成一个集合。
例如:根据“学生(学号,姓名,性别,出生日期,班级)”实体型,可以描述一系列学生,如表1-2所示,这些具体学生的集合就构成了学生实体集。
表1-2 学生实体集
(5)码
码是唯一标识实体的某个属性或属性组合,也称为关键字。如“学号”是学生实体的码。
(6)域
域是属性的取值范围,如“学号”的域规定为10个数字序列,“性别”域为“男”或“女”。
2.实体间联系
实体间对应的关系称为实体间联系,它反映现实世界事物之间的相互关联。实体间联系通常是指一个实体集中每一个实体与另一个实体集中多少个实体存在联系。
实体间联系可分为如下3种类型。
(1)一对一联系
如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1∶1。
例如,班级和班长两个实体,如果一个班级只能有一个班长,一个班长只能在一个班级任职,在这种情况下,则班级和班长之间存在一对一联系,如图1-6所示。
图1-6 一对一示意图
(2)一对多联系
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1∶n。
例如,班级和学生两个实体,一个班级可以有若干个学生,而每个学生只在一个班级中学习,则班级与学生之间存在一对多联系,如图1-7所示。
图1-7 一对多示意图
(3)多对多联系
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m∶n。
例如,一个学生可以选修多门课程,而每门课程可以有多名学生选修,则学生与课程之间存在多对多联系。如图1-8所示。
图1-8 多对多的示意图
3.E-R图
概念模型的表示方法有很多,常用实体-联系模型(E-R图)来描述现实世界的概念模型,E-R图提供了表示实体、属性和实体间联系的方法,具体表示方法如下:
(1)实体。用矩形表示,并在框内标注实体名称。
(2)属性。用椭圆形表示,并用无向连线将其与相应的实体连接起来。
例如,学生实体具有学号、姓名、性别、出生日期、班级等属性,E-R图表示方法如图1-9所示。
图1-9 实体E-R图
(3)联系。用菱形表示,菱形框内写明联系名,并用无向连线分别与有关实体连接起来,同时在连线上标注联系的类型(1∶1、1∶n、或m∶n)。
例如,“学生”与“课程”之间,依靠“选课”相互连接,“选课”本身也构成一个实体,E-R图表示方法如图1-10所示。
图1-10 实体联系的E-R图