数据库E-R模型的知识点是软件评测师考试的高频考点,经常出现在上午场的客观选择题当中在数据库设计中,常用E-R模型(实体联系模型)来描述现实世界到信息世界的问题,它是软件设计中的一个重要工具。E-R模型易于用户理解,是用户和数据库设计人员交流的语言。


一、实体

实体是指现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中的每个员工都是一个实体。每个实体有一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工实体中的职工号。实体集是具有相同属性的实体集合。例如,学校所有教师具有相同的属性,因此教师的集合可以定义为一个实体集;学生具有相同的属性,因此学生的集合可以定义为另一个实体集。


二、联系

两个不同实体集之间存在一对一、一对多、多对一和多对多的联系类型。

(1)一对一:指实体集E1中的一个实体最多 只与实体集E2中的一个实体相联系,记为1 : 1。例如一个班级只有一个班主任,一个班主任只属于一个班级,这种关系就是一对一。

(2)一对多:表示实体集E1中的一个实体可与实体集E2中的多个实体相联系,记为1 : n。例如一个班级可以有多名学生,一名学生只能属于一个班级,班级和学生之间的关系就是一对多。

(3)多对一:表示实体集E1中的多个实体可与实体集E2中的一个实体相联系,记为n : 1。例如一个班级可以有多名学生,一名学生只能属于一个班级,学生和班级之间的关系就是多对一。

(4)多对多:表示实体集E1中的多个实体可与实体集E2中的多个实体相联系,记为n :  m。例如一个学生可以选多门课程,一门课程也可以被多个学生选择,学生和课程之间的关系就是多对多。


三、实体的属性

属性是实体某方面的特性,例如职工实体集具有职工号、姓名、年龄、参加工作时间和通信地址等属性。每个属性都有其取值范围,如职工号为0001~9999的4位整型数,姓名为10位的字符串,年龄的取值范围为18~60等。E-R 模型中的属性有如下分类:

(1)简单属性:简单属性是原子的、不可再分的,例如某人的性别。如果不特别声明,通常都是指简单属性。

(2)复合属性:复合属性是相对于简单属性来说的,复合属性可以细分为更小的部分,即可以划分为别的属性,例如通信地址可以进一步划分为省、市、区和街道等,如果考题考察复合属性,一般会特别声明一下。

(3)单值属性:指属性对于一个特定的实体都只有多带带的一个值,例如对于一个特定的学生,在系统中只对应一个学号和身份证号。

(4)多值属性:多值属性是相对于单值属性来说的,在某些特定情况下,一个属性可以对应一组值,例如一个部门可以有多部电话,那么电话的属性就属于多值属性。

(5)NULL属性:当实体在某个属性上没有值,或属性值未知时,使用NULL值,表示无意义或不知道。

(6)派生属性:该属性可以从其他属性得出,例如“学生”实体中有“生日”和“年龄”等属性,从“生日”可以计算出“年龄”属性的值,“年龄”属性就是派生属性。