2ER模型与关系模型课件_第1页
2ER模型与关系模型课件_第2页
2ER模型与关系模型课件_第3页
2ER模型与关系模型课件_第4页
2ER模型与关系模型课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 ER模型与关系模型,电话:84706003-3820 E-mail:,1,学习交流PPT,本章要点,1 数据模型组成要素 2 概念模型 3 常用的数据模型 4 ER图转换为表 5 小结,2,学习交流PPT,1 数据模型(Data Model)组成要素,回顾: 什么叫数据模型? 根据对现实世界抽象层次的不同,数据模型分几种?,3,学习交流PPT,1 数据模型的三要素,数据模型都有其共性,静态特性、动态特性、完整性约束。 数据结构:描述数据库的组成对象以及对象之间的关系。 刻画数据模型性质最重要的方面(按数据结构命名数据模型) 是静态特性 数据操作 是指该数据结构上的各种实例允许操作的集合

2、,包括操作及有关的操作规则。 是动态特性,4,学习交流PPT,1 数据模型的三要素,数据的约束条件 一组完整性约束的集合。是给定的数据模型中数据及其联系所具有的约束和依存规则,用以限定符合数据模型的数据,保证数据的正确、有效、相容。 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件,也应该提供定义完整性约束条件的机制。 例:员工的年龄大于等于18且小余60,返回,5,学习交流PPT,本章要点,1 数据模型组成要素 2 概念模型 2.1 ER模型基本概念 2.2 ER图 2.3* ER模型的扩充 3 常用的数据模型 4 ER图转换为表,6,学习交流PPT,2 概念模型,概念模

3、型是现实世界到数据模型的一个中间层次 概念模型用于信息世界建模 信息世界里有什么? 实体、属性、码、域、实体型、实体集、联系 实体集(Entity set):同型实体的集合 联系(Relationship):不同实体间的联系 一对多 一对一 多对多,返回,7,学习交流PPT,2.1 概念模型的表示Entity-Relation图,实体-联系模型(简称E-R模型)基于对现实世界这样一种认识:世界是由一组称作实体的基本对象及这些对象间的联系组成。因此,E-R模型是一种语义模型,其语义主要体现在模型力图去表达数据的意义。 为什么要学习ER图 进行数据库设计的有力工具 数据库人员与用户进行交互的工具

4、较强的表达能力,能方便、直接地表达各种语义知识 简单、清晰、易于用户理解,8,学习交流PPT,客户,贷款,1、用箭头与线段表示联系类型,2、用标注表示联系类型,2.1 ER图,9,学习交流PPT,2.1 ER图与ER模型,p.p.s.chen The entity-relationship model-toward a unified view of data. ACM transaction on database systems,1(1):9-36,1976,10,学习交流PPT,2.1 ER模型基本概念,实体: 实体是现实世界中可区别于其他对象的“事件”或“物体”。每个实体有一组性质,其

5、中一部分性质的取值可以唯一地标识实体。 例如: 张三、宝马、一笔贷款、登山活动 实体集: 实体集是具有相同类型及相同性质(或属性)的实体集合。 例:学生、机动车、贷款、体育活动,11,学习交流PPT,2.1 ER模型基本概念,属性 是实体集中每个成员(实体)具有的描述性性质。 例如:人的身高、机动车的排量、贷款的金额 实体集的属性是将实体集中的实体映射到属性域的函数 例: 张三的年龄为18岁 李四的年龄为40岁 的年龄为岁,12,学习交流PPT,2.1 ER模型基本概念,描述实体集的属性可以根据组成、取值和导出关系简单地划分为以下几类 简单属性 复合属性 单值属性 多值属性 派生属性,13,学

6、习交流PPT,2.1 ER模型基本概念,简单属性 是指不能再划分为更小的部分(即别的属性)的属性; 复合属性 是指可以再划分为别的属性的属性。 复合属性可以将相关属性聚集起来,使模型更加清晰 例:住址=省+市+县+街道,14,学习交流PPT,2.1 ER模型基本概念,单值属性 对一个特定的实体而言一个属性只有单独的一个值 多值属性 对某个特定的实体来说,一个属性可能对应一组值,15,学习交流PPT,2.1 ER模型基本概念,问题:实体的属性值没有或不知道怎么在数据库中表示? NULL 表示没有 例:处于培训的员工,还没有部门 或表示不知道或缺失 例:登记员工基本信息时,不知道他的地址 不同于空

7、串、0,不是值,是状态,16,学习交流PPT,2.1 ER模型基本概念,各个属性在实体集中的地位是不一样的 码属性与非码属性 例:学生的学号与籍贯 超码 是一个或多个属性的集合,该组合可以在该实体集中唯一标识一个实体。 候选码 它的任意真子集都不能成为超码。(最小超码) 主码 被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。,17,学习交流PPT,2.1 ER模型基本概念,联系集 联系是多个实体间的相互关联 联系集是同类联系的集合 例:选课 学生可以选不同的课程 联系两个实体:学生、课程 张三选课 李四选课 联系集的元与度(方程里的元与次),18,学习交流PPT,2.1 ER模型

8、基本概念,联系集的标识 一对一的联系: 任一实体的主码 一对多的联系 取基数多的实体的主码 多对多的联系 取两个实体的主码联合 联系集也可能具有描述性属性。 例:借书联系中的借书时间,19,学习交流PPT,2.1 ER模型基本概念,派生属性 这类属性的值可以从别的相关属性或实体派生出来 例:假设实体集employee有两个属性start-date和employment-length分别表示银行员工参加工作的时间和在银行工作的年限,那么employment-length的值可以由start-date和当前日期得到。在这里,start-date称为基属性或存储属性。,返回,20,学习交流PPT,2

9、.2 ER图,矩形:表示实体集 椭圆:表示属性,加下划线表示是主码属性 菱形:表示联系集 线段:将属性连接到实体集或将实体集连到联系集 双椭圆:表示多值属性 虚椭圆:表示派生属性 双线。表示一个实体全部参与到联系集中,21,学习交流PPT,2.2 ER图,客户,贷款,1、用箭头与线段表示联系类型,2、用标注表示联系类型,22,学习交流PPT,2.2 带有角色标识的E-R图,员工,1,n,领导者,被领导人,员工号,电话,员工姓名,23,学习交流PPT,2.2 包含三元关系的ER图,用户,贷款,分行,CLR,24,学习交流PPT,2.2 带有属性的联系集ER图,最后访问日期,25,学习交流PPT,

10、2.2 带多值属性与导出属性的ER图,员工,员工号,姓名,电话,入公司日期,工作年限,返回,26,学习交流PPT,2.3* 包含弱实体ER图,存在依赖:表示实体x的存在依赖于实体y的存在 弱实体:实体集的属性不足以形成主码,27,学习交流PPT,特殊化与一般化(概括):两个方向 属性继承:高层实体的属性被低层的实体继承 概括的约束:对概括加条件 确定哪些实体能成为给定低层实体集的成员 确定一个实体是否属于多个低层实体 高层实体集中的一个实体是否至少属于一个低层实体,2.3* 特化与泛化,28,学习交流PPT,2.3* 特殊化和概括,账户,储蓄帐户,支票账户,标准支票账户,金支票账户,老人支票账

11、户,ISA,ISA,账户号,余额,利率,透支额,已用支票数,利率,最小余额,出生日期,29,学习交流PPT,2.3* 分类,特化的四种可能 子类不相交、父类可完全特化 子类不相交、父类不可完全特化 子类相交、父类可完全特化 子类相交、父类不可完全特化 特化的特殊情况(1)分类 每个低层实体集不交叉 每个高层实体属于且仅属于一个低层实体。,30,学习交流PPT,2.3* 聚集,聚集:为了表达联系间的联系,将联系看作是实体。,学生,课程,选课,考核,教师,返回,31,学习交流PPT,本章要点,1 数据模型组成要素 2 概念模型 3 常用的数据模型 3.1 层次模型 3.2 网状模型 3.3 关系模

12、型 3.4 面向对象的模型 4 ER图转换为表 5 小结,32,学习交流PPT,3 常见的数据模型,逻辑上的,即用户眼中看到的数据范围。同时可以用某种语言描述,是计算机系统能够理解,被数据库管理系统支持。 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relation Model) 面向对象的模型(Object Oriented Model),返回,33,学习交流PPT,3.1 层次模型,是最早出现的数据模型,层次数据库采用层次模型作为数据的组织方式 以树型结构表示各类实体及实体间的联系 有且仅有一个节点没有双亲节点,根结点 根结点以外的其

13、他节点有且只有一个双亲节点 每个节点表示一个记录类型 代表系统 IBM的IMS(information management system),1968,34,学习交流PPT,3.1 层次数据库例子,信息楼,计算机,D02,系,数据库,R01,信息系统,R02,网络,R01,教研室,教员,学生,教员学生数据库,35,学习交流PPT,3.1 层次模型,多对多联系在层次模型中如何表达 虚拟节点 层次模型的特点 简单、性能好、良好的完整性 非层次、多对多联系 插入、删除的限制较多 查询子女节点需通过双亲节点 结构严谨、层次命令程序化,返回,36,学习交流PPT,3.2 网状模型,现实世界中事物之间更多

14、的联系是非层次的,用层次模型表示非树形结构很不直接,网状模型可以克服这一弊病。 网状模型是比层次模型更普遍的模型 网状数据库:是采用网状模型作为数据的组织方式。 代表系统: DBTG系统,亦称CODASYL系统,37,学习交流PPT,3.2 网状数据模型,数据结构 允许一个以上的节点无双亲 一个节点可以有多于一个的双亲 例,学生,课程,选课,38,学习交流PPT,3.2 网状数据模型,优缺点: 更为直接描述现实世界 具有良好的性能 结构复杂。应用越复杂,数据结构就更复杂 DDL,DML语言复杂,返回,39,学习交流PPT,3.3 关系模型,1970,IBM,E.F.Codd首次提出了关系模型。

15、1981年turning奖。 20世纪80年代以来,关系数据库一统天下,40,学习交流PPT,3.3 关系模型,建立在严格的数学概念的基础上,数学基础是关系代数 离散数学:集合,笛卡尔积,映射、关系 数据的逻辑结构是一张二维表,由行列组成。,41,学习交流PPT,3.3 关系模型基本概念,关系(Relation):一个关系对应通常说的一张表。 元组(Tuple):表中的一行。 属性(Attibute):表中的一列成为一个属性。每个属性需有一个名称,即属性名。 主码(Key):表中的某个属性组,可以唯一确定一个元组。 域(Domain):属性的取值范围。 分量:元组中的一个属性值。 关系模式:对

16、关系的描述。 关系名(属性1,属性2,属性),42,学习交流PPT,3.3关系模型的操作与完整性约束,操作 查询 插入 删除 修改数据 完整性约束 实体完整性 参照完整性 自定义完整性,43,学习交流PPT,3.3 关系模式的优缺点,建立在严格的数学概念的基础上 概念简单 数据结构简单、清晰、用户易懂易用 存取路径对用户透明,用户不用关心 反面影响:增加系统的负担,返回,44,学习交流PPT,3.4 面向对象的模型,对象 包括对象内存储的实例变量值 包含对此对象进行操作的代码方法 类 类与对象的关系(如:变量类型与变量值) 对象标识,返回,45,学习交流PPT,本章要点,1 数据模型组成要素

17、2 概念模型 3 常用的数据模型 4 ER图转换为表 4.1用表表示强实体 4.2 用表表示联系集 4.3 表的冗余与合并 4.4 用表表示多值属性 4.5* 用表表示概括 4.6* 用表表示聚集 5 小结,46,学习交流PPT,4 ER图转换为表,为什么需要转换:将现实世界映射到机器世界 ER模型离现实世界近 关系模型离机器世界近 表与关系 有重大的区别 不严格的情况下,可以将关系看作是某些值形成的一个表,返回,47,学习交流PPT,4.1用表表示强实体,设E是具有描述性属性a1,a2,an的强实体集,用具有n个不同列的表E来表示这个实体集,每列同实体集E的一个属性对应。表中各行对应于实体集

18、中的各个实体。,48,学习交流PPT,4.1* 用表表示弱实体集,设A是具有属性a1,a2,am的弱实体集,而B是A所依赖的强实体集,且其主码包括属性b1,b2, bn。用表A表示实体集A,表中各列对应于以下属性集合中的各个属性: a1,a2,amb1,b2,bn,49,学习交流PPT,例:用表表示弱实体集,50,学习交流PPT,4.1* 用表表示弱实体集,例 弱实体集付款有三个属性,它所存在依赖的实体集贷款的主码是属性贷款号,因此表付款就对应有四个列。,返回,51,学习交流PPT,4.2 用表表示联系集,设R是联系集,而所有参与R的实体集的主码属性集合为a1,a2,am,如果R有描述性属性,

19、则不妨设为b1,b2,bn。用表R表示该联系集,表中各列对应于以下属性集合中的各个属性:a1,a2,amb1,b2,bn 例: 联系集借款涉及两个实体集客户和贷款,它们的主码分别为SSN和贷款号,而该联系集没有任何属性。所以借款表就只有两列SSN号与贷款编号。,52,学习交流PPT,借款(SSN,贷款编号)等于 借款(SSN,贷款编号)吗? 联系集生成表的主码与影射的基数的关系?,4.2 例:用表表示联系集,53,学习交流PPT,4.2 例:用表表示一元二度的联系,关键是将该实体看作是两个实体,返回,54,学习交流PPT,例 还贷款(贷款号,还款编号)由于还款(贷款号,还款编号,还款日期,还款

20、金额)的存在而冗余。,4.3 例:表的冗余,55,学习交流PPT,4.3*表的冗余,将弱实体集和相应强实体集相关联的标识性联系集比较特殊,它仅含有两个实体集的主码,而弱实体集也同时包含两个实体的主码,这两个实体的联系可以由弱实体对应表来导出,故该联系集是冗余的。,56,学习交流PPT,4.3 ER图转换为表,表合并示例,借款(SSN,贷款编号)+贷款(贷款编号,数量)= 贷款( 贷款编号, SSN,数量),57,学习交流PPT,4.3 表的合并,从实体集A到实体集B的多对一的联系集AB。用前面介绍的建表方法将得到三个表:A、B和AB。如果实体集A全部参与联系集AB,那么可以将表A和表AB合并成

21、一个表,该表的列就是上述两个表所包含列的并集;如果实体集A部分参与联系集AB,那么合并后的表将会出现空值null。 由于表AB的列包含了实体集A和B的主码属性,因此只需要将实体集B的主码属性和联系集AB所特有的属性作为列加入到表A中,就可以完成表A和表AB的合并。,返回,58,学习交流PPT,4.4 用表表示多值属性,在将E-R图转换为表的时候,E-R图中的属性通常都可以直接映射到相应表中的列,但多值属性并不如此简单。对一个多值属性M,必须为其创建表T,T中有一列C与M对应,而T中其余的列对应于以M为多值属性的实体集或联系集的主码。即MT(C,主码属性)。例如,为员工的多值属性电话创建表: 电

22、话(员工号,电话) 员工的每个电话在表中以单独的一行出现。,返回,59,学习交流PPT,4.5*用表表示概括,方法一:为高层实体集创建一个表,为每个低层实体集创建一个表(其中的部分列对应于高层实体集的主码属性)。这是表示概括的最通用的方法。 方法二:如果概括是不相交且全部的(分类)。这时,就没有必要为高层实体集创建任何表,而只需要为每个低层实体集创建相应的表。,60,学习交流PPT,4.5 *用表表示概括,如果概括是可重叠的,那么某些属性如balance就会被存储两次;如果概括不是全部的,即有的帐户,如股票帐户,既不是储蓄帐户又不是支票帐户,这样的帐户就无法用方法二来表示。方法一是表示概括的最通用的方法。,返回,61

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论