




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章ER模型与关系模型电话:84706003-3820E-mail:
2ER模型与关系模型本章要点1数据模型组成要素2概念模型3常用的数据模型4ER图转换为表5小结2ER模型与关系模型1数据模型(DataModel)组成要素回顾: 什么叫数据模型?根据对现实世界抽象层次的不同,数据模型分几种?2ER模型与关系模型1数据模型的三要素数据模型都有其共性,静态特性、动态特性、完整性约束。数据结构:描述数据库的组成对象以及对象之间的关系。刻画数据模型性质最重要的方面(按数据结构命名数据模型)是静态特性数据操作是指该数据结构上的各种实例允许操作的集合,包括操作及有关的操作规则。是动态特性2ER模型与关系模型1数据模型的三要素数据的约束条件一组完整性约束的集合。是给定的数据模型中数据及其联系所具有的约束和依存规则,用以限定符合数据模型的数据,保证数据的正确、有效、相容。数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件,也应该提供定义完整性约束条件的机制。例:员工的年龄大于等于18且小余60
返回2ER模型与关系模型本章要点1数据模型组成要素2概念模型2.1ER模型基本概念2.2ER图2.3*ER模型的扩充3常用的数据模型4ER图转换为表2ER模型与关系模型2概念模型概念模型是现实世界到数据模型的一个中间层次概念模型用于信息世界建模信息世界里有什么?实体、属性、码、域、实体型、实体集、联系实体集(Entityset):同型实体的集合联系(Relationship):不同实体间的联系一对多一对一多对多返回2ER模型与关系模型2.1概念模型的表示—Entity-Relation图
实体-联系模型(简称E-R模型)基于对现实世界这样一种认识:世界是由一组称作实体的基本对象及这些对象间的联系组成。因此,E-R模型是一种语义模型,其语义主要体现在模型力图去表达数据的意义。为什么要学习ER图进行数据库设计的有力工具数据库人员与用户进行交互的工具较强的表达能力,能方便、直接地表达各种语义知识简单、清晰、易于用户理解2ER模型与关系模型客户贷款借款贷款编号客户名客户街道客户城市SSN数量客户贷款借款贷款编号客户名客户街道客户城市SSN数量1n1、用箭头与线段表示联系类型2、用标注表示联系类型2.1ER图2ER模型与关系模型2.1ER图与ER模型p.p.s.chenTheentity-relationshipmodel-towardaunifiedviewofdata.ACMtransactionondatabasesystems,1(1):9-36,19762ER模型与关系模型2.1ER模型基本概念实体: 实体是现实世界中可区别于其他对象的“事件”或“物体”。每个实体有一组性质,其中一部分性质的取值可以唯一地标识实体。例如:张三、宝马、一笔贷款、登山活动实体集: 实体集是具有相同类型及相同性质(或属性)的实体集合。例:学生、机动车、贷款、体育活动2ER模型与关系模型2.1ER模型基本概念属性是实体集中每个成员(实体)具有的描述性性质。
例如:人的身高、机动车的排量、贷款的金额实体集的属性是将实体集中的实体映射到属性域的函数例:张三的年龄为18岁李四的年龄为40岁…的年龄为…岁2ER模型与关系模型2.1ER模型基本概念 描述实体集的属性可以根据组成、取值和导出关系简单地划分为以下几类简单属性复合属性单值属性多值属性派生属性2ER模型与关系模型2.1ER模型基本概念简单属性是指不能再划分为更小的部分(即别的属性)的属性;复合属性是指可以再划分为别的属性的属性。复合属性可以将相关属性聚集起来,使模型更加清晰 例:住址=省+市+县+街道2ER模型与关系模型2.1ER模型基本概念单值属性对一个特定的实体而言一个属性只有单独的一个值多值属性对某个特定的实体来说,一个属性可能对应一组值2ER模型与关系模型2.1ER模型基本概念问题:实体的属性值没有或不知道怎么在数据库中表示?NULL表示没有例:处于培训的员工,还没有部门或表示不知道或缺失例:登记员工基本信息时,不知道他的地址 不同于空串、0,不是值,是状态2ER模型与关系模型2.1ER模型基本概念各个属性在实体集中的地位是不一样的码属性与非码属性例:学生的学号与籍贯超码是一个或多个属性的集合,该组合可以在该实体集中唯一标识一个实体。候选码它的任意真子集都不能成为超码。(最小超码)主码被数据库设计者选中的,用来在同一实体集中区分不同实体的候选码。2ER模型与关系模型2.1ER模型基本概念联系集联系是多个实体间的相互关联联系集是同类联系的集合例:选课学生可以选不同的课程联系两个实体:学生、课程 张三选课 李四选课……联系集的元与度(方程里的元与次)2ER模型与关系模型2.1ER模型基本概念联系集的标识一对一的联系:任一实体的主码一对多的联系取基数多的实体的主码多对多的联系取两个实体的主码联合联系集也可能具有描述性属性。例:借书联系中的借书时间2ER模型与关系模型2.1ER模型基本概念派生属性这类属性的值可以从别的相关属性或实体派生出来例:假设实体集employee有两个属性start-date和employment-length分别表示银行员工参加工作的时间和在银行工作的年限,那么employment-length的值可以由start-date和当前日期得到。在这里,start-date称为基属性或存储属性。返回2ER模型与关系模型2.2ER图矩形:表示实体集椭圆:表示属性,加下划线表示是主码属性菱形:表示联系集线段:将属性连接到实体集或将实体集连到联系集双椭圆:表示多值属性虚椭圆:表示派生属性双线。表示一个实体全部参与到联系集中2ER模型与关系模型2.2ER图客户贷款借款贷款编号客户名客户街道客户城市SSN数量客户贷款借款贷款编号客户名客户街道客户城市SSN数量1n1、用箭头与线段表示联系类型2、用标注表示联系类型2ER模型与关系模型2.2带有角色标识的E-R图员工领导1n领导者被领导人员工号电话员工姓名2ER模型与关系模型2.2包含三元关系的ER图用户贷款分行用户号用户名分行号分行名贷款号贷款名CLR2ER模型与关系模型2.2带有属性的联系集ER图客户账户存款账号客户名客户街道客户城市SSN余额最后访问日期2ER模型与关系模型2.2带多值属性与导出属性的ER图员工
员工号姓名电话入公司日期工作年限返回2ER模型与关系模型2.3*包含弱实体ER图存在依赖:表示实体x的存在依赖于实体y的存在弱实体:实体集的属性不足以形成主码住房贷款贷款号贷款额还款还款号还款日期还款金额还贷款1n2ER模型与关系模型特殊化与一般化(概括):两个方向属性继承:高层实体的属性被低层的实体继承概括的约束:对概括加条件确定哪些实体能成为给定低层实体集的成员确定一个实体是否属于多个低层实体高层实体集中的一个实体是否至少属于一个低层实体2.3*特化与泛化ISA2ER模型与关系模型2.3*特殊化和概括账户储蓄帐户支票账户标准支票账户金支票账户老人支票账户ISAISA账户号余额利率透支额已用支票数利率最小余额出生日期2ER模型与关系模型2.3*分类特化的四种可能子类不相交、父类可完全特化子类不相交、父类不可完全特化子类相交、父类可完全特化子类相交、父类不可完全特化特化的特殊情况(1)——分类每个低层实体集不交叉每个高层实体属于且仅属于一个低层实体。2ER模型与关系模型2.3*聚集聚集:为了表达联系间的联系,将联系看作是实体。学生课程选课考核教师返回2ER模型与关系模型本章要点1数据模型组成要素2概念模型3常用的数据模型3.1层次模型3.2网状模型3.3关系模型3.4面向对象的模型4ER图转换为表5小结2ER模型与关系模型3常见的数据模型 逻辑上的,即用户眼中看到的数据范围。同时可以用某种语言描述,是计算机系统能够理解,被数据库管理系统支持。层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationModel)面向对象的模型(ObjectOrientedModel)返回2ER模型与关系模型3.1层次模型是最早出现的数据模型,层次数据库采用层次模型作为数据的组织方式以树型结构表示各类实体及实体间的联系有且仅有一个节点没有双亲节点,根结点根结点以外的其他节点有且只有一个双亲节点每个节点表示一个记录类型代表系统IBM的IMS(informationmanagementsystem),19682ER模型与关系模型3.1层次数据库例子信息楼计算机D02系数据库R01信息系统R02网络R01教研室E2101王大明数据库E1709冯玲数据仓库E2101孟永并行数据库教员E1101陈良网络安全E1809张豪网络管理S6387文继荣数据库S3409刘华数据仓库S4501张孝并行数据库学生教员学生数据库2ER模型与关系模型3.1层次模型多对多联系在层次模型中如何表达虚拟节点层次模型的特点简单、性能好、良好的完整性非层次、多对多联系插入、删除的限制较多查询子女节点需通过双亲节点结构严谨、层次命令程序化返回2ER模型与关系模型3.2网状模型现实世界中事物之间更多的联系是非层次的,用层次模型表示非树形结构很不直接,网状模型可以克服这一弊病。网状模型是比层次模型更普遍的模型网状数据库:是采用网状模型作为数据的组织方式。代表系统: DBTG系统,亦称CODASYL系统2ER模型与关系模型3.2网状数据模型数据结构允许一个以上的节点无双亲一个节点可以有多于一个的双亲例学号姓名系别课程号课程名学分学号课程号成绩学生课程选课2ER模型与关系模型3.2网状数据模型优缺点:更为直接描述现实世界具有良好的性能结构复杂。应用越复杂,数据结构就更复杂DDL,DML语言复杂返回2ER模型与关系模型3.3关系模型1970,IBM,E.F.Codd首次提出了关系模型。1981年turning奖。20世纪80年代以来,关系数据库一统天下2ER模型与关系模型3.3关系模型建立在严格的数学概念的基础上,数学基础是关系代数离散数学:集合,笛卡尔积,映射、关系数据的逻辑结构是一张二维表,由行列组成。学号姓名年龄性别系别年级200001王小明19女社会学2000200081黄大鹏20男计算机2000200030张文斌18男法律系2000··················2ER模型与关系模型3.3关系模型基本概念关系(Relation):一个关系对应通常说的一张表。元组(Tuple):表中的一行。属性(Attibute):表中的一列成为一个属性。每个属性需有一个名称,即属性名。主码(Key):表中的某个属性组,可以唯一确定一个元组。域(Domain):属性的取值范围。分量:元组中的一个属性值。关系模式:对关系的描述。关系名(属性1,属性2,...,属性n)2ER模型与关系模型3.3关系模型的操作与完整性约束操作查询插入删除修改数据完整性约束实体完整性参照完整性自定义完整性2ER模型与关系模型3.3关系模式的优缺点建立在严格的数学概念的基础上概念简单数据结构简单、清晰、用户易懂易用存取路径对用户透明,用户不用关心反面影响:增加系统的负担返回2ER模型与关系模型3.4面向对象的模型对象包括对象内存储的实例变量值包含对此对象进行操作的代码—方法类类与对象的关系(如:变量类型与变量值)对象标识返回2ER模型与关系模型本章要点1数据模型组成要素2概念模型3常用的数据模型4ER图转换为表4.1用表表示强实体4.2用表表示联系集4.3表的冗余与合并4.4用表表示多值属性4.5*用表表示概括4.6*用表表示聚集5小结2ER模型与关系模型4ER图转换为表为什么需要转换:将现实世界映射到机器世界ER模型离现实世界近关系模型离机器世界近表与关系有重大的区别不严格的情况下,可以将关系看作是某些值形成的一个表返回2ER模型与关系模型4.1用表表示强实体
设E是具有描述性属性a1,a2,…,an的强实体集,用具有n个不同列的表E来表示这个实体集,每列同实体集E的一个属性对应。表中各行对应于实体集中的各个实体。2ER模型与关系模型4.1*用表表示弱实体集
设A是具有属性a1,a2,…,am的弱实体集,而B是A所依赖的强实体集,且其主码包括属性b1,b2,…,bn。用表A表示实体集A,表中各列对应于以下属性集合中的各个属性:{a1,a2,…,am}∪{b1,b2,…,bn}2ER模型与关系模型例:用表表示弱实体集住房贷款贷款号贷款额还款还款号还款日期还款金额还贷款1n2ER模型与关系模型4.1*用表表示弱实体集例 弱实体集付款有三个属性,它所存在依赖的实体集贷款的主码是属性贷款号,因此表付款就对应有四个列。贷款号付款号付款日期付款金额L-1782002-11-26500L-2332002-21-02200L-1792003-01-09900L-1842003-01-10200……………………返回2ER模型与关系模型4.2用表表示联系集
设R是联系集,而所有参与R的实体集的主码属性集合为{a1,a2,…,am},如果R有描述性属性,则不妨设为b1,b2,…,bn。用表R表示该联系集,表中各列对应于以下属性集合中的各个属性:{a1,a2,…,am}∪{b1,b2,…,bn}例:
联系集借款涉及两个实体集客户和贷款,它们的主码分别为SSN和贷款号,而该联系集没有任何属性。所以借款表就只有两列——SSN号与贷款编号。2ER模型与关系模型借款(SSN,贷款编号)等于借款(SSN,贷款编号)吗?联系集生成表的主码与影射的基数的关系?客户贷款借款贷款编号客户名客户街道客户城市SSN数量1n4.2例:用表表示联系集2ER模型与关系模型4.2例:用表表示一元二度的联系关键是将该实体看作是两个实体员工领导1n领导者被领导人员工号电话员工姓名返回2ER模型与关系模型住房贷款贷款号贷款额还款还款号还款日期还款金额还贷款1n例还贷款(贷款号,还款编号)由于还款(贷款号,还款编号,还款日期,还款金额)的存在而冗余。4.3例:表的冗余2ER模型与关系模型4.3*表的冗余 将弱实体集和相应强实体集相关联的标识性联系集比较特殊,它仅含有两个实体集的主码,而弱实体集也同时包含两个实体的主码,这两个实体的联系可以由弱实体对应表来导出,故该联系集是冗余的。2ER模型与关系模型4.3ER图转换为表表合并示例客户贷款借款贷款编号客户名客户街道客户城市SSN数量1n借款(SSN,贷款编号)+贷款(贷款编号,数量)=〉贷款(贷款编号,SSN,数量)2ER模型与关系模型4.3表的合并
从实体集A到实体集B的多对一的联系集AB。用前面介绍的建表方法将得到三个表:A、B和AB。如果实体集A全部参与联系集AB,那么可以将表A和表AB合并成一个表,该表的列就是上述两个表所包含列的并集;如果实体集A部分参与联系集AB,那么合并后的表将会出现空值null。 由于表AB的列包含了实体集A和B的主码属性,因此只需要将实体集B的主码属性和联系集AB所特有的属性作为列加入到表A中,就可以完成表A和表AB的合并。返回2ER模型与关系模型4.4用表表示多值属性
在将E-R图转换为表的时候,E-R图中的属性通常都可以直接映射到相应表中的列,但多值属性并不如此简单。对一个多值属性M,必须为其创建表T,T中有一列C与M对应,而T中其余的列对应于以M为多值属性的实体集或联系集的主码。即M→T(C,主码属性)。例如,为员工的多值属性电话创建表:电话(员工号,电话)员工的每个电话在表中以单独的一行出现。返回2ER模型与关系模型4.5*用表表示概括方法一:为高层实体集创建一个表,为每个低层实体集创建一个表(其中的部分列对应于高层实体集的主码属性)。这是表示概括的最通用的方法。方法二:如果概括是不相交且全部的(分类)。这时,就没有必要为高层实体集创建任何表,而只需要为每个低层实体集创建相应的表。2ER模型与关系模型4.5*用表表示概括 如果概括是可重叠的,那么某些属性如balance就会被存储
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三位数除以一位数(商是三位数)教学设计-2024-2025学年三年级下册数学人教版
- 2025年消防安全知识培训考试题库:消防安全管理体系应急处理历年真题
- 2025年小学语文毕业升学考试全真模拟卷(语文综合素养测评)现代文阅读
- 2025年成人高考语文《语言表达与运用》专项突破解析题库试题
- 2025年医保信息化平台操作考试题库及答案:医保知识选择题集
- 2025年乡村医生公共卫生服务公共卫生服务与公共卫生改革试题库试卷
- 2025年安全生产标准化建设安全风险预防与控制措施实施策略实施案例分析考试题库
- 环保安全事故应急处理预案
- 2025年洛阳驾驶员货运从业资格证模拟考试题
- 2025年四川货运从业资格证模拟考试题库
- 15 青春之光 公开课一等奖创新教学设计
- 2024年全国中学生数学奥林匹克竞赛内蒙古赛区初赛试卷(解析版)
- 第七届北京市大学生模拟法庭竞赛第二轮赛题A
- 2022年班主任育人故事一等奖两篇范文
- 用字母表示数——说课稿
- 德龙自卸车合格证扫描件(原图)
- 公文收发文登记表
- 热固板施工方案
- 弯矩调幅计算例题(共4页)
- 基础工程柱下独立基础课程设计
- 加油机计量作弊新动向解析与查处技巧加油机反作弊资料(二)
评论
0/150
提交评论