数据库设计与实现-高级ER.ppt_第1页
数据库设计与实现-高级ER.ppt_第2页
数据库设计与实现-高级ER.ppt_第3页
数据库设计与实现-高级ER.ppt_第4页
数据库设计与实现-高级ER.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

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

温馨提示

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

评论

0/150

提交评论