3数据库设计与实现-高级ER图课件_第1页
3数据库设计与实现-高级ER图课件_第2页
3数据库设计与实现-高级ER图课件_第3页
3数据库设计与实现-高级ER图课件_第4页
3数据库设计与实现-高级ER图课件_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

3.1弱实体背景示例:在银行系统中,希望研究:账户的交易记录与柜员之间的联系账户的交易与利息之间的联系问题:如何表示上述联系?按E-R图的原则,联系是实体与实体之间的联系不能是实体和属性之间、属性和属性之间的联系账户accnoAccNameTransactiondatedealnumLineNodateaccrualAccrualRec银行职员EnoEName2023/7/2213.1弱实体上述问题的表示方法:属性实体化交易记录、利息记录属性实体化之后,实体无法独立标识行号、日期都只能在一个账户内分辨多值属性,缺少全局标识账户accnoAccNameTransactiondatedealnumLineNodateaccrualAccrualRec银行职员EnoEName2023/7/2223.1弱实体弱实体提出的背景存在一些场景,需要研究:一个实体的属性与其它实体之间的关系或者属性之间相互的关联关系E-R图中联系是实体与实体之间的联系在研究属性参与的联系时,需要进行属性实体化某些属性实体化之后,实体可以独立标识,如电话;某些属性实体化之后,实体自身无标识属性,如账户交易;属性实体化后,不能独立标识,形成弱实体弱实体定义没有足够属性标识的实体,称为弱实体反之称为强实体弱实体需要依赖属主实体而存在,不能独立存在2023/7/2233.1弱实体引入弱实体后的E-R图:有效解决了属性实体化后缺少标识问题账户accnoAccNamedatedealnumLineNodateaccrual银行职员EnoEName交易记录操作计息利息记录2023/7/2243.1弱实体弱实体没有足够属性标识的实体,称为弱实体,反之称为强实体标志性联系弱实体和属主实体之间的联系是存在依赖联系弱实体和属主实体间的存在依赖联系,称作实体的标志性联系标识性联系:多对一、全部参与,一般不命名标识性联系在E-R图中以双边框菱形表示账户accnoAccNamedatedealnumLineNo交易记录2023/7/2253.1弱实体分辨符弱实体在特定属主实体内的标识属性,称作分辨符在全局范围内,弱实体的标识由属主实体的主码和弱实体的分辨符共同组成分辨符在E-R图中用虚下划线表示账户accnoAccNamedatedealnumLineNo交易记录2023/7/2263.1属性实体化方法属性实体化属性实体化后,如果有标识属性,自然成为强实体属性实体化后,如果没有标志性属性,有两种办法处理:1、将属性实体化为弱实体2、通过增加标识属性,使属性实体化为强实体练习:请画出银行账户的E-R图,通过增加标识属性,使交易记录等属性实体化为强实体请和使用弱实体的方案比较,哪种方案更好?2023/7/2273.1实体化:弱实体vs强实体实体化为弱实体vs增加标识属性成为强实体增加标识属性实际上是进行了实现相关的设计工作。在分析阶段进行设计工作会限制设计阶段设计方案的选择。使用弱实体能更好地刻画现实语义引入弱实体使E-R图元素增多、复杂性增加2023/7/2283.1弱实体vs属性使用实体的属性,还是使用弱实体?如果不研究属性和其它属性/联系/实体之间的联系,

应该使用属性如果需要研究属性和其它属性/联系/实体之间的联系,

则需要将属性实体化,必要时使用弱实体2023/7/2293.1练习请绘制医院系统住院部分的E-R图医院为住院病人建立病历。病历首页记录病人住院相关的基本信息;病历主体由住院期间每次诊疗的记录顺序排列组成。诊疗记录由诊疗时间、诊疗情况记录组成,并要由进行当次诊疗的住院医生签字。诊疗可发出检查单、治疗医嘱单,需要记录诊疗和检查单、医嘱单的关系。检查单由住院医生写明检查事项发给检查科室。检查科室执行检查,载明检查结果并由检查医生签字返回住院医生。住院医生将检查单黏贴在病历末尾。医嘱单由治疗医生/护士执行,记录执行结果并保存在执行科室备查。请画出相关数据概念模型。具体内容可以根据你对住院管理的理解进行补充和调整。2023/7/221022七月2023113.2继承实体型的层次实体型:现实世界同类事物特征和性质的抽象同一事物抽象层次的不同,形成了不同层次的实体型例如:同一个人,可以被看作是本科生、学生、person等等思考:对一个具体系统中人的研究,应该抽象到哪个层次?

本科生?学生?还是person?对一个具体系统,是否可能同时关注一个事物不同层次的实体型?22七月2023123.2继承实体型的层次同一系统可能会同时关注一个事物不同层次的实体型例如:在学校系统中,教务方面愿意把在校人员看做教师和学生,而图书馆方面更愿意统一看作在校人员思考:如何刻画不同层次实体型之间的关系?教师课程学生上课讲授人员图书借阅3.2继承ISA联系E-R图使用ISA联系表示不同层次实体型之间的关系ISA联系本质是继承关系ISA联系使用标有“ISA”字样的三角形来表示22七月202313教师人员ISA学生3.2继承学校系统E-R图示例:仅关注教学和图书管理部分请给E-R图标上属性:关注人员pid,name,age,关注学生sno,name,age,关注教师tno,name,关注bno,bname,cno,cname22七月202314教师课程学生上课讲授人员图书借阅ISA3.2继承学校系统E-R图示例:思考:实体型[学生]还需要标明属性name,age吗?子类从父类继承了什么?ISA是联系吗?22七月202315教师课程学生上课讲授人员图书借阅ISAtnonamecnocnamebnobnamepidagesno3.2子类从父类继承了什么?子类继承了父类的属性父类属性被子类自动继承[学生]实体不再需要标明属性name、age子类继承参与父类参与的联系E-R图不考虑方法,因此不考虑方法的继承22七月202316教师课程学生上课讲授人员图书借阅ISAtnonamecnocnamebnobnamepidagesno思考:实体型[学生]还需要标明属性name,age吗?子类从父类继承了什么?从这张E-R图看,使用继承的利与弊?3.2子类从父类继承了什么?2023/7/22173.2继承的约束ISA联系的约束全部特殊化约束不相交约束22七月2023183.2全部特殊化约束ISA联系的子类完全性分类全部特殊化:每个父类实体均必须是一个子类实体全部特殊化是对ISA关系的约束全部特殊化约束应在E-R图上予以标明部分特殊化:允许一些父类实体不是任何子类实体部分特殊化不是对ISA关系的约束,不需要标明思考:教师、学生对在校人员的ISA关系,具有全部特殊化约束吗?22七月202319存款账户账户ISA贷款账户全部3.2不相交约束ISA联系的相交性分类相交(重叠)同一实体可以同时属于一个父类的多个不同子类相交不是对ISA关系的约束,不需要在E-R图上标明不相交一个实体至多属于一个子类不相交是对ISA关系的约束不相交约束应在E-R图上予以标明思考:教师、学生对人员的ISA关系,具有不相交约束吗?22七月202320文章科研成果ISA项目不相交22七月2023212.2练习学校系统数据概念模型如图下所示现在需要增加在校人员的借书业务请尝试使用在校人员和教师学生的继承关系学生选课scoreage院系隶属属教师课程讲授属dnodnametnonamecnocnamepidagesnonamepid隶属属22七月2023222.2练习学校系统增加借书业务后的概念模型参考方案(一)学生选课score院系隶属属教师课程讲授属dnodnametnocnocnamesno隶属人员图书借阅namebnobnamepidageISA22七月2023232.2练习学校系统增加借书业务后的概念模型参考方案(二)学生选课score院系隶属教师课程讲授属dnodnametnocnocnamesno人员图书借阅namebnobnamepidageISA2.2练习学校系统增加借书业务后的概念模型请比较方案一、二的优缺点应该选择哪个方案?选择的依据是什么?练习:请给出不使用继承的概念模型对比使用继承和不使用继承的概念模型,各有什么优缺点?22七月2023242.2练习学校系统增加借书业务后的概念模型参考方案(三),不使用继承22七月202325学生选课scoreage院系隶属教师课程讲授属dnodnametnonamecnocnamepidagesnonamepid隶属图书借阅bnobname借阅22七月202326数据库系统概念----E-R3.3聚集背景示例:请用E-R图表示如下关系客户和项目之间存在着订购关系某些订购需要第三方(银行)提供担保思考:如何表示?问题本质,担保的是“订购”联系实体和联系之间不能建联系客户项目订购银行担保22七月202327数据库系统概念----E-R3.3聚集聚集可以将联系和参与联系的实体聚集为高层实体高层实体可以和其它实体产生联系例如:客户、项目及订购联系聚集成的高层实体,可以和银行之间建立担保联系思考:如果不使用聚集,如何用E-R图表示?客户项目订购银行担保22七月202328数据库系统概念----E-R3.3聚集不使用聚集,E-R图的两种表示方案思考:这两种方案比较优缺点如何?那种方案更好?使用聚集和不使用聚集相比,优缺点如何?担保全部全部客户项目银行担保客户项目订购银行订购订购合约关于隶属方案一:联系实体化方案二:看作两种不同的订购22七月202329数据库系统概念----E-R图2:属性表示方法汇总示例角色3.4E-R图元素符号总结E-R图的主要符号、表示方法总结birthdayage学生snonamerelativepidnamerelationcitystreetaddrtelnopostal_codeERR弱实体ISA3..5RR图1:E-R图的主要符号22七月202330数据库系统概念----E-R3.4E-R图的符号体系可选的符号E-R图有多种符号体系例如:另一种常见的基数约束表示方法具体选择哪个符号体系由项目组决定课程学习学生院系隶属院长管理mn1m1122七月202331数据库系统概念----E-R3.4E-R图的符号体系比较与思考两种基数约束表示方法各有哪些优缺点?你更喜欢哪一种表示方法?①②课程学习学生院系隶属院长管理mn1m11课程学习学生院系隶属院长管理22七月202332数据库系统概念----E-R3.5概念模型设计过程概念模型设计过程局部E-R图设计全局E-R图设计全局E-R图优化设计过程的基本原则每个过程都要在需求调研和理解基础上进行每个过程的结果都需要得到相关用户确认22七月202333数据库系统概念----E-R3.5局部E-R图设计需求调研确定局部结构范围实体定义联系定义属性分配局部E|R模式设计全局E-R模式设计22七月202334数据库系统概念----E-R3.5全局E-R图设计局部E-R模式确定公共实体类型合并两个局部E-R模式检查并消除冲突全局E|R模式设计还有未合并的局部模式?全局E-R模式优化无有22七月202335数据库系统概念----E-R3.5全局E-R图设计:消除冲突消除冲突不同E-R图对同一问题表述不一致形成冲突E-R合并需要检查并消除冲突检查和消除冲突必须在理解的基础上进行,不能机械进行常见的E-R图冲突命名冲突属性冲突结构冲突22七月202336数据库系统概念----E-R3.5命名冲突命名冲突同名异义相同的名字表示的对象不同财务部:工资=月工资+奖金人力资源部:工资指不含奖金的工资异名同义同一意义的对象具有不同的名字例如:工资、社保缴费基数命名冲突消除在全局范围内使用统一和精确无二义的命名冲突消除目标:同名同义、同义同名22七月202337数据库系统概念----E-R3.属性冲突属性冲突属性域的冲突属性的类型、取值范围不同如成绩存在五分制、百分制、等级制属性取值单位冲突如重量单位:吨、千克、克属性冲突消除目标同一属性概念、域、单位完全相同22七月202338数据库系统概念----E-R3.5结构冲突结构冲突同一对象在不同E-R图中的抽象结果不同同一实体在不同E-R图中属性组成不同同一实体在不同E-R图中抽象层次不同同一联系在不同E-R图中呈现不同的类型结构冲突消除需要对E-R图进行必要的重构22七月202339数据库系统概念----E-R3.5全局E-R图优化识别继承关系消除冗余属性消除冗余联系全局E|R模式优化全局E-R模式逻辑数据库设计22七月202340数据库系统概念----E-R3.5识别继承关系识别继承关系的主要方法概括:对相关实体型根据它们共同特点,在更高层次上进行抽象;自底向上、逐步合成的过程特殊化:根据实体集某些差异特性,对实体集分组细化自顶向下、逐步求精的过程识别继承关系识别继承关系是对现实语义的进一步揭示22七月202341数据库系统概念----E-R3.5概念模型设计:练习练习:请完成一个学校系统概念模型设计学校系统包括教务管理、排课管理、校园卡管理经过需求调研,完成三张局部E-R图如下所示1、请完成全局E-R图设计2、请完成全局E-R图优化3.5练习教务管理局部E-R图:22七月202342学生学习scoreage院系隶属教师课程讲授dnodnametnonamecnocnamesnoname先行课隶属ageclassnameTelephoneNo3.5练习排课管理局部E-R图:22七月202343教师课程班级上课讲授tnonamecnocnameclassnameclassnotelno3.5练习校园卡管理局部E-R图:44校园卡pidnameCard#balance消费交易Trans#timeamount商家结算单银行帐户充值交易Trans#timeamounttimeBill#BillEmpsumStore#StorenameAcc#Accname关联sexpictureidentity全部全部全部全部deptname22七月202345数据库系统概念----E-R3.5练习Step1:教务管理与排课管理合并关于班级的冲突:属性?实体?教师属性的冲突:有age?无age?关于教师联系电话的冲突:Telno?TelephoneNo?单值属性?多值属性?22七月202346数据库系统概念----E-R3.5练习Step1:教务管理与排课管理合并参考方案学生学习scoreage院系隶属教师课程讲授dnodnametnonamecnocnamesnoname先行课隶属age班级上课classnameclassnotelno隶属22七月202347数据库系统概念----E-R3.5练习Step2:进一步与校园卡管理合并关于人员的冲突:属性?实体?人员?老师、学生?Key:pid?tno、sno?关于院系:属

温馨提示

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

评论

0/150

提交评论