数据库设计与实现-高级ER.ppt

上传人:xin****828 文档编号:15654541 上传时间:2020-08-28 格式:PPT 页数:52 大小:829KB
返回 下载 相关 举报
数据库设计与实现-高级ER.ppt_第1页
第1页 / 共52页
数据库设计与实现-高级ER.ppt_第2页
第2页 / 共52页
数据库设计与实现-高级ER.ppt_第3页
第3页 / 共52页
点击查看更多>>
资源描述
2020年8月28日星期五,1,3高级E-R模型,本章主要讨论 3.1弱实体 3.2继承 3.3聚集 3.4E-R图的元素表示 3.5概念模型设计过程,2020年8月28日星期五,2,数据库系统概念-E-R,3.1弱实体,背景示例:在银行系统中,希望研究: 账户的交易记录与柜员之间的联系 账户的交易与利息之间的联系 问题:如何表示上述联系? 按E-R图的原则,联系是实体与实体之间的联系 不能是实体和属性之间、属性和属性之间的联系,2020年8月28日星期五,3,数据库系统概念-E-R,3.1弱实体,上述问题的表示方法: 属性实体化 交易记录、利息记录属性实体化之后,实体无法独立标识 行号、日期都只能在一个账户内分辨多值属性,缺少全局标识,2020年8月28日星期五,4,数据库系统概念-E-R,3.1弱实体,弱实体提出的背景 存在一些场景,需要研究: 一个实体的属性与其它实体之间的关系 或者属性之间相互的关联关系 E-R图中联系是实体与实体之间的联系 在研究属性参与的联系时,需要进行属性实体化 某些属性实体化之后,实体可以独立标识,如电话; 某些属性实体化之后,实体自身无标识属性,如账户交易; 属性实体化后,不能独立标识,形成弱实体 弱实体定义 没有足够属性标识的实体,称为弱实体 反之称为强实体 弱实体需要依赖属主实体而存在,不能独立存在,2020年8月28日星期五,5,数据库系统概念-E-R,3.1弱实体,引入弱实体后的E-R图: 有效解决了属性实体化后缺少标识问题,2020年8月28日星期五,6,数据库系统概念-E-R,3.1弱实体,弱实体 没有足够属性标识的实体,称为弱实体, 反之称为强实体 标志性联系 弱实体和属主实体之间的联系是存在依赖联系 弱实体和属主实体间的存在依赖联系,称作实体的标志性联系 标识性联系:多对一、全部参与,一般不命名 标识性联系在E-R图中以双边框菱形表示,2020年8月28日星期五,7,数据库系统概念-E-R,3.1弱实体,分辨符 弱实体在特定属主实体内的标识属性,称作分辨符 在全局范围内,弱实体的标识由属主实体的主码和弱实体的分辨符共同组成 分辨符在E-R图中用虚下划线表示,2020年8月28日星期五,8,数据库系统概念-E-R,3.1属性实体化方法,属性实体化 属性实体化后,如果有标识属性,自然成为强实体 属性实体化后,如果没有标志性属性,有两种办法处理: 1、将属性实体化为弱实体 2、通过增加标识属性,使属性实体化为强实体 练习: 请画出银行账户的E-R图,通过增加标识属性,使交易记录等属性实体化为强实体 请和使用弱实体的方案比较,哪种方案更好?,2020年8月28日星期五,9,数据库系统概念-E-R,3.1实体化:弱实体vs强实体,实体化为弱实体vs增加标识属性成为强实体 增加标识属性实际上是进行了实现相关的设计工作。在分析阶段进行设计工作会限制设计阶段设计方案的选择。 使用弱实体能更好地刻画现实语义 引入弱实体使E-R图元素增多、复杂性增加,2020年8月28日星期五,10,数据库系统概念-E-R,3.1弱实体vs属性,使用实体的属性,还是使用弱实体? 如果不研究属性和其它属性/联系/实体之间的联系, 应该使用属性 如果需要研究属性和其它属性/联系/实体之间的联系, 则需要将属性实体化,必要时使用弱实体,2020年8月28日星期五,11,数据库系统概念-E-R,3.1练习,请绘制医院系统住院部分的E-R图 医院为住院病人建立病历。病历首页记录病人住院相关的基本信息;病历主体由住院期间每次诊疗的记录顺序排列组成。 诊疗记录由诊疗时间、诊疗情况记录组成,并要由进行当次诊疗的住院医生签字。诊疗可发出检查单、治疗医嘱单,需要记录诊疗和检查单、医嘱单的关系。 检查单由住院医生写明检查事项发给检查科室。检查科室执行检查,载明检查结果并由检查医生签字返回住院医生。住院医生将检查单黏贴在病历末尾。 医嘱单由治疗医生/护士执行,记录执行结果并保存在执行科室备查。 请画出相关数据概念模型。具体内容可以根据你对住院管理的理解进行补充和调整。,2020年8月28日星期五,12,3.2继承,实体型的层次 实体型:现实世界同类事物特征和性质的抽象 同一事物抽象层次的不同,形成了不同层次的实体型 例如:同一个人,可以被看作是本科生、学生、person 等等 思考: 对一个具体系统中人的研究,应该抽象到哪个层次? 本科生?学生?还是person? 对一个具体系统,是否可能同时关注一个事物不同层次的实体型?,2020年8月28日星期五,13,3.2继承,实体型的层次 同一系统可能会同时关注一个事物不同层次的实体型 例如:在学校系统中,教务方面愿意把在校人员看做教师和学生,而图书馆方面更愿意统一看作在校人员 思考: 如何刻画不同层次实体型之间的关系?,教师,课程,学生,上课,讲授,人员,图书,借阅,3.2继承,ISA联系 E-R图使用ISA联系表示不同层次实体型之间的关系 ISA联系本质是继承关系 ISA联系使用标有“ISA”字样的三角形来表示,2020年8月28日星期五,14,教师,人员,ISA,学生,3.2继承,学校系统E-R图示例: 仅关注教学和图书管理部分 请给E-R图标上属性:关注人员pid, name, age, 关注学生sno,name,age,关注教师tno, name,关注bno,bname,cno, cname,2020年8月28日星期五,15,教师,课程,学生,上课,讲授,人员,图书,借阅,ISA,3.2继承,学校系统E-R图示例: 思考: 实体型学生还需要标明属性name,age吗? 子类从父类继承了什么? ISA是联系吗?,2020年8月28日星期五,16,3.2子类从父类继承了什么?,子类继承了父类的属性 父类属性被子类自动继承 学生实体不再需要标明属性name、age 子类继承参与父类参与的联系 E-R图不考虑方法,因此不考虑方法的继承,2020年8月28日星期五,17,2020年8月28日星期五,18,思考: 实体型学生还需要标明属性name,age吗? 子类从父类继承了什么? 从这张E-R图看,使用继承的利与弊?,3.2子类从父类继承了什么?,3.2继承的约束,ISA联系的约束 全部特殊化约束 不相交约束,2020年8月28日星期五,19,3.2全部特殊化约束,ISA联系的子类完全性分类 全部特殊化: 每个父类实体均必须是一个子类实体 全部特殊化是对ISA关系的约束 全部特殊化约束应在E-R图上予以标明 部分特殊化: 允许一些父类实体不是任何子类实体 部分特殊化不是对ISA关系的约束,不需要标明 思考: 教师、学生对在校人员的ISA关系,具有全部特殊化约束吗?,2020年8月28日星期五,20,3.2不相交约束,ISA联系的相交性分类 相交(重叠) 同一实体可以同时属于一个父类的多个不同子类 相交不是对ISA关系的约束,不需要在E-R图上标明 不相交 一个实体至多属于一个子类 不相交是对ISA关系的约束 不相交约束应在E-R图上予以标明 思考: 教师、学生对人员的ISA关系,具有不相交约束吗?,2020年8月28日星期五,21,2020年8月28日星期五,22,2.2练习,学校系统数据概念模型如图下所示 现在需要增加在校人员的借书业务 请尝试使用在校人员和教师学生的继承关系,2020年8月28日星期五,23,2.2练习,学校系统增加借书业务后的概念模型 参考方案(一),学生,选课,score,院系,隶属属,教师,课程,讲授属,dno,dname,tno,cno,cname,sno,隶属,人员,图书,借阅,name,bno,bname,pid,age,ISA,2020年8月28日星期五,24,2.2练习,学校系统增加借书业务后的概念模型 参考方案(二),学生,选课,score,院系,隶属,教师,课程,讲授属,dno,dname,tno,cno,cname,sno,人员,图书,借阅,name,bno,bname,pid,age,ISA,2.2练习,学校系统增加借书业务后的概念模型 请比较方案一、二的优缺点 应该选择哪个方案?选择的依据是什么? 练习: 请给出不使用继承的概念模型 对比使用继承和不使用继承的概念模型,各有什么优缺点?,2020年8月28日星期五,25,2.2练习,学校系统增加借书业务后的概念模型 参考方案(三),不使用继承,2020年8月28日星期五,26,学生,选课,score,age,院系,隶属,教师,课程,讲授属,dno,dname,tno,name,cno,cname,pid,age,sno,name,pid,隶属,图书,借阅,bno,bname,借阅,2020年8月28日星期五,27,数据库系统概念-E-R,3.3聚集,背景示例:请用E-R图表示如下关系 客户和项目之间存在着订购关系 某些订购需要第三方(银行)提供担保 思考:如何表示? 问题本质,担保的是“订购”联系 实体和联系之间不能建联系,2020年8月28日星期五,28,数据库系统概念-E-R,3.3聚集,聚集 可以将联系和参与联系的实体聚集为高层实体 高层实体可以和其它实体产生联系 例如:客户、项目及订购联系聚集成的高层实体,可以和银行之间建立担保联系 思考:如果不使用聚集,如何用E-R图表示?,2020年8月28日星期五,29,数据库系统概念-E-R,3.3聚集,不使用聚集,E-R图的两种表示方案 思考: 这两种方案比较优缺点如何?那种方案更好? 使用聚集和不使用聚集相比,优缺点如何?,2020年8月28日星期五,30,数据库系统概念-E-R,图2:属性表示方法汇总示例,角色,3.4E-R图元素符号总结,E-R图的主要符号、表示方法总结,birthday,age,学生,sno,name,relative,pid,name,relation,city,street,addr,telno,postal_code,E,R,R,ISA,3.5,R,R,图1:E-R图的主要符号,2020年8月28日星期五,31,数据库系统概念-E-R,3.4E-R图的符号体系,可选的符号 E-R图有多种符号体系 例如:另一种常见的基数约束表示方法 具体选择哪个符号体系由项目组决定,2020年8月28日星期五,32,数据库系统概念-E-R,3.4E-R图的符号体系,比较与思考 两种基数约束表示方法各有哪些优缺点? 你更喜欢哪一种表示方法? ,2020年8月28日星期五,33,数据库系统概念-E-R,3.5概念模型设计过程,概念模型设计过程 局部E-R图设计 全局E-R图设计 全局E-R图优化 设计过程的基本原则 每个过程都要在需求调研和理解基础上进行 每个过程的结果都需要得到相关用户确认,2020年8月28日星期五,34,数据库系统概念-E-R,3.5局部E-R图设计,需求调研,确定局部结构范围,实体定义,联系定义,属性分配,局 部 E | R 模 式 设 计,全局E-R模式设计,2020年8月28日星期五,35,数据库系统概念-E-R,3.5全局E-R图设计,2020年8月28日星期五,36,数据库系统概念-E-R,3.5全局E-R图设计:消除冲突,消除冲突 不同E-R图对同一问题表述不一致形成冲突 E-R合并需要检查并消除冲突 检查和消除冲突必须在理解的基础上进行,不能机械进行 常见的E-R图冲突 命名冲突 属性冲突 结构冲突,2020年8月28日星期五,37,数据库系统概念-E-R,3.5命名冲突,命名冲突 同名异义 相同的名字表示的对象不同 财务部:工资=月工资+奖金 人力资源部:工资指不含奖金的工资 异名同义 同一意义的对象具有不同的名字 例如:工资、社保缴费基数 命名冲突消除 在全局范围内使用统一和精确无二义的命名 冲突消除目标:同名同义、同义同名,2020年8月28日星期五,38,数据库系统概念-E-R,3.属性冲突,属性冲突 属性域的冲突 属性的类型、取值范围不同 如成绩存在五分制、百分制、等级制 属性取值单位冲突 如重量单位:吨、千克、克 属性冲突消除目标 同一属性概念、域、单位完全相同,2020年8月28日星期五,39,数据库系统概念-E-R,3.5结构冲突,结构冲突 同一对象在不同E-R图中的抽象结果不同 同一实体在不同E-R图中属性组成不同 同一实体在不同E-R图中抽象层次不同 同一联系在不同E-R图中呈现不同的类型 结构冲突消除 需要对E-R图进行必要的重构,2020年8月28日星期五,40,数据库系统概念-E-R,3.5全局E-R图优化,2020年8月28日星期五,41,数据库系统概念-E-R,3.5识别继承关系,识别继承关系的主要方法 概括: 对相关实体型根据它们共同特点,在更高层次上进行抽象; 自底向上、逐步合成的过程 特殊化: 根据实体集某些差异特性,对实体集分组细化 自顶向下、逐步求精的过程 识别继承关系 识别继承关系是对现实语义的进一步揭示,2020年8月28日星期五,42,数据库系统概念-E-R,3.5概念模型设计:练习,练习:请完成一个学校系统概念模型设计 学校系统包括教务管理、排课管理、校园卡管理 经过需求调研,完成三张局部E-R图如下所示 1、请完成全局E-R图设计 2、请完成全局E-R图优化,3.5练习,教务管理局部E-R图:,2020年8月28日星期五,43,3.5练习,排课管理局部E-R图:,2020年8月28日星期五,44,3.5练习,校园卡管理局部E-R图:,45,2020年8月28日星期五,46,数据库系统概念-E-R,3.5练习,Step1:教务管理与排课管理合并 关于班级的冲突: 属性?实体? 教师属性的冲突: 有age ?无age? 关于教师联系电话的冲突: Telno ? TelephoneNo ? 单值属性?多值属性?,2020年8月28日星期五,47,数据库系统概念-E-R,3.5练习,Step1:教务管理与排课管理合并 参考方案,2020年8月28日星期五,48,数据库系统概念-E-R,3.5练习,Step2:进一步与校园卡管理合并 关于人员的冲突: 属性?实体? 人员?老师、学生? Key:pid?tno、sno? 关于院系: 属性?实体? 和人员建立联系?还是老师学生建立联系? 需要进一步调研确认,2020年8月28日星期五,49,数据库系统概念-E-R,3.5练习,Step2:进一步合并成的全局E-R图(参考图),学生,学习,score,院系,教师,课程,讲授,dno,dname,tno,cno,cname,sno,先行课,隶属,班级,上课,classname,classno,telno,隶属,校园卡,Card#,balance,消费交易,Trans#,time,amount,商家,结算单,银行帐户,充值交易,Trans#,time,amount,time,Bill#,BillEmp,sum,Store#,Storename,Acc#,Accname,关联,sex,picture,全部,全部,全部,全部,人员,ISA,name,pid,age,拥有,全部,50,数据库系统概念-E-R,3.5练习,省略属性后的全局E-R图(参考图),2020年8月28日星期五,51,数据库系统概念-E-R,3.5练习,思考,在全局E-R图中: 应该描述院系和人员的联系? 还是应该描述院系和老师、学生的联系? 或者应该两种联系同时保留?,2020年8月28日星期五,52,数据库系统概念-E-R,3.5练习,全局E-R图优化: 略 请同学们自己完成,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!