《数据厍设计与开发》讲义 5.2实体联系模型 ·实体联系模型( Entity relationship model) 是P.P.Chen于1976年首先提出的,此后此模型 不断扩展和完善,成为被广泛采用的概念模型 设计方法。这个模型直接从现实世界中抽象出 实体类型及实体间联系,然后用实体联系图 (ER图)表示数据的抽象和数据的联系。设计ER 图的方法称为ER方法 5.2.1ER模型的概念 5.2.2ER图的绘制 5.2.3ER模型的转换 5.2.4数据库设计工具(CASE) 5.2.5ER模型实例分析 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2 实体联系模型 • 实体联系模型(Entity Relationship Model) 是P.P.Chen于1976年首先提出的,此后此模型 不断扩展和完善,成为被广泛采用的概念模型 设计方法。这个模型直接从现实世界中抽象出 实体类型及实体间联系,然后用实体联系图 (ER图)表示数据的抽象和数据的联系。设计ER 图的方法称为ER方法。 5.2.1 ER模型的概念 5.2.2 ER图的绘制 5.2.3 ER模型的转换 5.2.4 数据库设计工具(CASE) 5.2.5 ER模型实例分析
《数据厍设计与开发》讲义 5.2.1ER模型的概念 实体( entity)就是具有公共性质的可区别的现实 世界对象的集合。例如CAP数据库中的客户、代 理商、产品都为实体,分别表示不同对象的集合。 数学表述中通常用一个大写字母代表一个实体, 个实体E由一个现实世界对象的集合构成,使 用小写字母加下标表示这些对象: E={ ·属性( attribute)是描述实体或者联系的性质的 数据项。在实体的定义中说,属于一个实体的所 有实体实例具有共同性质,这些性质就是属性 在一个实体中,能够唯一标识实体的实例的属性 或属性集合称为实体标识符(主键)。属性域是属 性的可能取值范围,也称为属性的值域 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 • 实体(entity)就是具有公共性质的可区别的现实 世界对象的集合。例如CAP数据库中的客户、代 理商、产品都为实体,分别表示不同对象的集合。 数学表述中通常用一个大写字母代表一个实体, 一个实体E由一个现实世界对象的集合构成,使 用小写字母加下标表示这些对象: E={e1 ,e2 ,…,en }。 • 属性(attribute)是描述实体或者联系的性质的 数据项。在实体的定义中说,属于一个实体的所 有实体实例具有共同性质,这些性质就是属性。 在一个实体中,能够唯一标识实体的实例的属性 或属性集合称为实体标识符(主键)。属性域是属 性的可能取值范围,也称为属性的值域
《数据厍设计与开发》讲义 5.2.1ER模型的概念 属性的分类: 基本属性和复合属性 单值属性和多值属性 导出属性和空值属性 基本属性和复合属性 基本属性是不可再分割的属性,复合属性 是可再分解为其他属性的属性。例如性别、 年龄为基本属性;地址属性为复合属性,因 为地址可以分解为邮编、省(市)、县(区)、 街道等子属性 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 • 属性的分类: 基本属性和复合属性 单值属性和多值属性 导出属性和空值属性 –基本属性和复合属性 基本属性是不可再分割的属性,复合属性 是可再分解为其他属性的属性。例如性别、 年龄为基本属性;地址属性为复合属性,因 为地址可以分解为邮编、省(市)、县(区)、 街道等子属性
《数据厍设计与开发》讲义 5.2.1ER模型的概念 单值属性和多值属性 单值属性指的是同一实体的属性只能取 个值,多值属性指同一实体的某些属性可能 取多个值。例如年龄属性只能取一个值,是 单值属性;学位是多值属性,可以取学士 硕士、博士多个值,爱好也是多值属性 导出属性和空值属性 通过具有相互依赖的属性推导而产生的属 性称为导出属性,例如年龄可以由出生年份 导出;当实体的实例在某个属性上没有值时 应使用空值(Nu11),Nu11还可用于值未知, 可以使用Nu11的属性称为空值属性。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 –单值属性和多值属性 单值属性指的是同一实体的属性只能取一 个值,多值属性指同一实体的某些属性可能 取多个值。例如年龄属性只能取一个值,是 单值属性;学位是多值属性,可以取学士、 硕士、博士多个值,爱好也是多值属性。 –导出属性和空值属性 通过具有相互依赖的属性推导而产生的属 性称为导出属性,例如年龄可以由出生年份 导出;当实体的实例在某个属性上没有值时 应使用空值(Null),Null还可用于值未知, 可以使用Null的属性称为空值属性
《数据厍设计与开发》讲义 5.2.1ER模型的概念 联系( relationship):给定m个实体的有序列表: E1,E2,…,En(列表中同一个实体可以出现多次) 个联系R定义了这些实体实例之间的对应规 则。联系表示一个或多个实体之间的关联关系, 联系是实体之间的一种行为,一般用动词(英 语用动名词)来命名联系。 联系的元数 个联系涉及到的实体个数,称为该联系的元数 或度数( degree)。同一个实体的实例之间的联系称 为一元联系,也称递归联系;两个不同实体的实例 之间的联系称为二元联系;三个不同实体实例之间 联系称为三元联系;依此类推 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 • 联系(relationship):给定m个实体的有序列表: E1 ,E2 ,…,Em (列表中同一个实体可以出现多次), 一个联系R定义了这些实体实例之间的对应规 则。联系表示一个或多个实体之间的关联关系, 联系是实体之间的一种行为,一般用动词(英 语用动名词)来命名联系。 –联系的元数 一个联系涉及到的实体个数,称为该联系的元数 或度数(degree)。同一个实体的实例之间的联系称 为一元联系,也称递归联系;两个不同实体的实例 之间的联系称为二元联系;三个不同实体实例之间 联系称为三元联系;依此类推
《数据厍设计与开发》讲义 5.2.1ER模型的概念 联系的属性 联系也可以有附加的属性。经常先不考虑 ER图中联系的属性,集中精力考虑实体的联 系 联系中实体的基数 两个有联系R的实体E和F,E中每个实例可 能与F中的实例联系,(联系实例数目大于0) 也可能没有与与F中的实例联系(联系实例数 目等于0),E中每个实例与F中有联系实例 数目的最小值和最大值,称为E的基数。记 作 minard(E,R和 magcard(E,R)。同理有 minard(F,R)和 magcard(F,R)。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 –联系的属性 联系也可以有附加的属性。经常先不考虑 ER图中联系的属性,集中精力考虑实体的联 系。 –联系中实体的基数 两个有联系R的实体E和F,E中每个实例可 能与F中的实例联系,(联系实例数目大于0), 也可能没有与与F中的实例联系(联系实例数 目等于0) ,E中每个实例与F中有联系实例 数目的最小值和最大值,称为E的基数。记 作mincard(E,R)和maxcard(E,R)。同理有 mincard(F,R)和maxcard(F,R)
《数据厍设计与开发》讲义 5.2.1ER模型的概念 联系中实体的基数 例如学生实体E和课程实体F有选修联系R, 每位学生至少选1门课,最多选10门课;每 门课程最多有100人选,最少可以没人选。 则有: minard(e, r=1, maxcard(E, r=10. minard (, r=0, maxcard(F, R=100 个实体E参与联系R,并且 minard(E,R)=x, magcard(E,R)=y,那么在 ER图中,E和R之间的连接线可以用标记: card(E,R)=(x,y)表示实体的基数。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 –联系中实体的基数 例如学生实体E和课程实体F有选修联系R, 每位学生至少选1门课,最多选10门课;每 门课程最多有100人选,最少可以没人选。 则有: mincard(E,R)=1,maxcard(E,R)=10。 mincard(F,R)=0,maxcard(F,R)=100。 一个实体E参与联系R,并且 mincard(E,R)=x,maxcard(E,R)=y,那么在 ER图中,E和R之间的连接线可以用标记: card(E,R)=(x,y)表示实体的基数
《数据厍设计与开发》讲义 5.2.1ER模型的概念 联系的方式 联系涉及到实体之间实例的对应方式, 元联系的联系方式有四种:1:1,1:N,M:N,M:1。 由于M:1是1:N的反面,通常不单独提及。 如果实体E和F在联系R中有 magcard(E,R)=1, magcard(F,R)=1,那么E和F联系是1:1的 如果实体E和F在联系R中有 magcard(E,R)=N, magcard(F,R)=1,那么E和F联系是1:N的 如果实体E和F在联系R中有 magcard(E,R)=M, magcard(F,R)=N,那么E和F联系是M:N的 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 –联系的方式 联系涉及到实体之间实例的对应方式,二 元联系的联系方式有四种:1:1,1:N,M:N,M:1。 由于M:1是1:N的反面,通常不单独提及。 如果实体E和F在联系R中有maxcard(E,R)=1, maxcard(F,R)=1,那么E和F联系是1:1的。 如果实体E和F在联系R中有maxcard(E,R)=N, maxcard(F,R)=1,那么E和F联系是1:N的。 如果实体E和F在联系R中有maxcard(E,R)=M, maxcard(F,R)=N,那么E和F联系是M:N的
《数据厍设计与开发》讲义 5.2.1ER模型的概念 联系的方式 当一个联系R中的实体E具有 minard(E,R)=1时,E称为强制参与R ( mandatory participation),或简单称E在 R中是强制的 实体F在R中不是强制的, 则称为可选的( optional participation)。 类似地,可以给出一元联系、三元联系的 对 对多、多对多定义。特别注意多 元联系的多对多联系方式。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 –联系的方式 当一个联系R中的实体E具有 mincard(E,R)=1时,E称为强制参与R (mandatory participation),或简单称E在 R中是强制的。一个实体F在R中不是强制的, 则称为可选的(optional participation)。 类似地,可以给出一元联系、三元联系的 一对一、一对多、多对多定义。特别注意多 元联系的多对多联系方式
《数据厍设计与开发》讲义 5.2.1ER模型的概念 ·属性的基数:仿照联系中实体的基数概念,有 实体中属性的基数,给定一个实体E和隶属于 它的属性A, minard(A,E)=0时,表示属性A是可选的; 当 minard(A,E)=1时,表示属性A是强制的; 当 magcard(A,E)=1时,表示属性A是单值的; 当 magcard(A,E)-N时,表示属性A是多值的。 个属性A参与实体E,并且 minard(A,E)=x magcard(A,E)=y,那么在ER图中,A和E之间的 连接线可以用标记:card(A,E)=(x,y)表示属 性的基数。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 5.2.1 ER模型的概念 • 属性的基数:仿照联系中实体的基数概念,有 实体中属性的基数,给定一个实体E和隶属于 它的属性A, 当mincard(A,E)=0时,表示属性A是可选的; 当mincard(A,E)=1时,表示属性A是强制的; 当maxcard(A,E)=1时,表示属性A是单值的; 当maxcard(A,E)=N时,表示属性A是多值的。 一个属性A参与实体E,并且mincard(A,E)=x, maxcard(A,E)=y,那么在ER图中,A和E之间的 连接线可以用标记:card(A,E)=(x,y)表示属 性的基数