2ER模型与关系模型课件.ppt

上传人(卖家):三亚风情 文档编号:3003574 上传时间:2022-06-21 格式:PPT 页数:66 大小:212.50KB
下载 相关 举报
2ER模型与关系模型课件.ppt_第1页
第1页 / 共66页
2ER模型与关系模型课件.ppt_第2页
第2页 / 共66页
2ER模型与关系模型课件.ppt_第3页
第3页 / 共66页
2ER模型与关系模型课件.ppt_第4页
第4页 / 共66页
2ER模型与关系模型课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、.第二章 ER模型与关系模型张建英单位:大连理工大学,电信学院电话:84706003-3820E-mail:.本章要点n1 数据模型组成要素n2 概念模型n3 常用的数据模型n4 ER图转换为表n5 小结.1 数据模型(Data Model)组成要素回顾:什么叫数据模型? 根据对现实世界抽象层次的不同,数据模型分几种?.1 数据模型的三要素数据模型都有其共性,静态特性、动态特性、完整性约束。n数据结构:描述数据库的组成对象以及对象之间的关系。n刻画数据模型性质最重要的方面(按数据结构命名数据模型)n是静态特性n数据操作n是指该数据结构上的各种实例允许操作的集合,包括操作及有关的操作规则。n是动

2、态特性.1 数据模型的三要素n数据的约束条件n一组完整性约束的集合。是给定的数据模型中数据及其联系所具有的约束和依存规则,用以限定符合数据模型的数据,保证数据的正确、有效、相容。n数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件,也应该提供定义完整性约束条件的机制。n例:员工的年龄大于等于18且小余60返回.本章要点n1 数据模型组成要素n2 概念模型n2.1 ER模型基本概念n2.2 ER图n2.3* ER模型的扩充n3 常用的数据模型n4 ER图转换为表.2 概念模型n概念模型是现实世界到数据模型的一个中间层次n概念模型用于信息世界建模n信息世界里有什么?n实体、属性、

3、码、域、实体型、实体集、联系n实体集(Entity set):同型实体的集合n联系(Relationship):不同实体间的联系n一对多n一对一n多对多返回.2.1 概念模型的表示Entity-Relation图 实体-联系模型(简称E-R模型)基于对现实世界这样一种认识:世界是由一组称作实体的基本对象及这些对象间的联系组成。因此,E-R模型是一种语义模型,其语义主要体现在模型力图去表达数据的意义。n为什么要学习ER图n进行数据库设计的有力工具n数据库人员与用户进行交互的工具n较强的表达能力,能方便、直接地表达各种语义知识n简单、清晰、易于用户理解.客户贷款 借款贷款编号客户名客户街道客户城市

4、SSN数量客户贷款 借款贷款编号客户名客户街道客户城市SSN数量1n1、用箭头与线段表示联系类型2、用标注表示联系类型2.1 ER图.2.1 ER图与ER模型np.p.s.chen The entity-relationship model-toward a unified view of data. ACM transaction on database systems,1(1):9-36,1976.2.1 ER模型基本概念实体是现实世界中可区别于其他对象的实体是现实世界中可区别于其他对象的“事件事件”或或“物体物体”。每个实体有一组性质,其中一部分性质的取值可以唯一地标识实体。例如:张三、

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

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

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

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

9、示是主码属性n菱形:表示联系集n线段:将属性连接到实体集或将实体集连到联系集n双椭圆:表示多值属性n虚椭圆:表示派生属性n双线。表示一个实体全部参与到联系集中.2.2 ER图客户贷款 借款贷款编号客户名客户街道客户城市SSN数量客户贷款 借款贷款编号客户名客户街道客户城市SSN数量1n1、用箭头与线段表示联系类型2、用标注表示联系类型.2.2 带有角色标识的E-R图员工领导1n领导者被领导人员工号电话员工姓名 .2.2 包含三元关系的ER图用户贷款分行用户号用户名分行号分行名贷款号贷款名CLR.2.2 带有属性的联系集ER图客户账户存款 账号客户名客户街道客户城市SSN 余额最后访问日期.2.

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

11、透支额已用支票数利率最小余额出生日期.2.3* 分类n特化的四种可能n子类不相交、父类可完全特化子类不相交、父类可完全特化n子类不相交、父类不可完全特化n子类相交、父类可完全特化n子类相交、父类不可完全特化n特化的特殊情况(1)分类n每个低层实体集不交叉1.每个高层实体属于且仅属于一个低层实体。.2.3* 聚集n聚集:为了表达联系间的联系,将联系看作是实体。学生课程选课考核教师返回.本章要点n1 数据模型组成要素n2 概念模型n3 常用的数据模型n3.1 层次模型n3.2 网状模型n3.3 关系模型n3.4 面向对象的模型n4 ER图转换为表n5 小结.3 常见的数据模型 逻辑上的,即用户眼中

12、看到的数据范围。同时可以用某种语言描述,是计算机系统能够理解,被数据库管理系统支持。n层次模型(Hierarchical Model)n网状模型(Network Model)n关系模型(Relation Model)n面向对象的模型(Object Oriented Model)返回.3.1 层次模型n是最早出现的数据模型,层次数据库采用层次模型作为数据的组织方式n以树型结构表示各类实体及实体间的联系n有且仅有一个节点没有双亲节点,根结点n根结点以外的其他节点有且只有一个双亲节点n每个节点表示一个记录类型n代表系统nIBM的IMS(information management system),1

13、968.3.1 层次数据库例子信息楼计算机D02系数据库R01信息系统R02网络R01教研室E2101王大明数据库E1709冯玲数据仓库E2101孟永 并行数据库教员E1101陈良网络安全E1809张豪网络管理S6387文继荣 数据库S3409刘华数据仓库S4501张孝 并行数据库学生教员学生数据库.3.1 层次模型n多对多联系在层次模型中如何表达n虚拟节点n层次模型的特点n简单、性能好、良好的完整性n非层次、多对多联系n插入、删除的限制较多n查询子女节点需通过双亲节点n结构严谨、层次命令程序化返回.3.2 网状模型 现实世界中事物之间更多的联系是非层次的,用层次模型表示非树形结构很不直接,网

14、状模型可以克服这一弊病。n网状模型是比层次模型更普遍的模型n网状数据库:是采用网状模型作为数据的组织方式。n代表系统:DBTG系统,亦称CODASYL系统.3.2 网状数据模型n数据结构n允许一个以上的节点无双亲n一个节点可以有多于一个的双亲n例学号姓名系别课程号 课程名 学分学号课程号成绩学生课程选课.3.2 网状数据模型n优缺点:n更为直接描述现实世界n具有良好的性能n结构复杂。应用越复杂,数据结构就更复杂nDDL,DML语言复杂返回.3.3 关系模型n1970,IBM,E.F.Codd首次提出了关系模型。1981年turning奖。n20世纪80年代以来,关系数据库一统天下.3.3 关系

15、模型n建立在严格的数学概念的基础上,数学基础是关系代数n离散数学:集合,笛卡尔积,映射、关系n数据的逻辑结构是一张二维表,由行列组成。学号姓名年龄性别系别年级200001 王小明19女社会学2000200081 黄大鹏20男计算机2000200030 张文斌18男法律系2000.3.3 关系模型基本概念n关系(Relation):一个关系对应通常说的一张表。n元组(Tuple):表中的一行。n属性(Attibute):表中的一列成为一个属性。每个属性需有一个名称,即属性名。n主码(Key):表中的某个属性组,可以唯一确定一个元组。n域(Domain):属性的取值范围。n分量:元组中的一个属性值

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

17、.2 用表表示联系集n4.3 表的冗余与合并n4.4 用表表示多值属性n4.5* 用表表示概括n4.6* 用表表示聚集n5 小结.4 ER图转换为表n为什么需要转换:将现实世界映射到机器世界nER模型离现实世界近n关系模型离机器世界近n表与关系n有重大的区别n不严格的情况下,可以将关系看作是某些值形成的一个表返回.4.1用表表示强实体设E是具有描述性属性a1,a2,an的强实体集,用具有n个不同列的表E来表示这个实体集,每列同实体集E的一个属性对应。表中各行对应于实体集中的各个实体。.4.1* 设A是具有属性a1,a2,am的弱实体集,而B是A所依赖的强实体集,且其主码包括属性b1,b2, b

18、n。用表A表示实体集A,表中各列对应于以下属性集合中的各个属性:a1,a2,amb1,b2,bn.例:用表表示弱实体集住房贷款贷款号贷款额还款还款号还款日期还款金额 还贷款1n.4.1* 用表表示弱实体集n例弱实体集付款有三个属性,它所存在依赖的实体集贷款的主码是属性贷款号,因此表付款就对应有四个列。贷款号付款号付款日期付款金额L-1782002-11-26500L-2332002-21-02200L-1792003-01-09900L-1842003-01-10200返回.设R是联系集,而所有参与R的实体集的主码属性集合为a1,a2,am,如果R有描述性属性,则不妨设为b1,b2,bn。用表

19、R表示该联系集,表中各列对应于以下属性集合中的各个属性:a1,a2,amb1,b2,bn例:联系集借款涉及两个实体集客户和贷款,它们的主码分别为SSN和贷款号,而该联系集没有任何属性。所以借款表就只有两列SSN号与贷款编号。.借款(SSN,贷款编号)等于 借款(SSN,贷款编号)吗?客户贷款 借款贷款编号客户名客户街道客户城市SSN数量1n4.2 例:用表表示联系集.4.2 例:用表表示一元二度的联系关键是将该实体看作是两个实体员工领导1n领导者被领导人员工号电话员工姓名 返回.住房贷款贷款号贷款额还款还款号还款日期还款金额 还贷款1n例还贷款(贷款号,还款编号)由于还款(贷款号,还款编号,还

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

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

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

23、用表表示聚集n关键是将聚集看作是一个实体学生课程选课考核教师返回.小结基于对现实世界的这样一种认识:世界由一组基本对象(称作)及这些对象间的组成。此模型的主要目的是用于数据库的概念结构设计,简单地说就是帮助设计;n每个实体都有描述该实体的一组。是多个实体间的相互关联。相同类型的所有实体的集合构成,相同类型的所有联系的集合构成;.小结是指一个实体集中的实体通过联系集可以和另一实体集中的多少个实体相联系。还有一种约束是,表示实体x的存在依赖于实体y的存在;n从数据库的角度讲,不同实体或联系之间的差异必须用属性来表示。为了进行这样的区别,每个实体集或联系集都有一个。主码是一个或多个属性的集合,它们可以在实体集中唯一确定一个实体或在联系集中唯一确定一个联系;.小结n如果一个实体集的所有属性都不足以形成主码,就称该实体集为,相反其属性组合可以构成主码的实体集为;和定义了一个和多个之间的联系。特殊化是利用高层实体集的子集来形成多个低层实体集;概括是用两个或多个低层实体集的共性形成一个高层实体集。高层实体集的和被低层实体集。.小结n概念模型是现实世界到数据模型的一个中间层次。ER模型是概念模型的典型代表。n数据模型的发展经历了格式化数据模型(层次模型和网状模型)、关系模型,正在走向面向对象等非传统的数据模型。n由概念模型可以转化到数据模型。返回

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(2ER模型与关系模型课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|