第5讲E–R转换为关系模型.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5讲E–R转换为关系模型

ER图设计与转换 学习目标 掌握利用ER图进行概念设计的方法 掌握ER图的基本元素与确定 理解ER局部模式的设计方法 理解局部ER模式综合为全局ER模型 了解全局ER模型的优化 5.1.2 E-R模型的组成要素及表示方法 1.E-R图的组成要素及其画法 三、 联系的设计之一 联系的元数 一个联系涉及到的实体集个数 一元、二元、三元 五、 ER设计步骤 设计方法:自底向上 设计过程 局部ER模型 局部结构范围 实体 联系 属性 全局ER模型设计 确定公共实体 局部ER合并 消除冲突 全局优化 六、设计局部ER模式 六、设计局部ER模式 4、关于属性与实体 原则:能作为属性的尽量作为属性 实体与属性的区分准则: 准则1:属性不能再具有需要描述的性质,是不可分的数据项,不能包含其他属性。 准则2:属性不能与其他实体有联系 例1:职工实体一般具有工号、姓名、年龄、职称等。但如果职称与工资、住房标准、福利等挂钩,应该将其看成是实体: 职称(代码、住房、工资、福利) 例2:住院病人的病房号本来可以是病人的属性,但如果病房与医生相联系,那就是实体了。 局部模式设计举例 其他局部模式 其它局部模式 七、设计全局 ER模式 1、确定公共实体:合并的基础 同名实体 相同键的实体 七、设计全局 ER模式 八、全局ER模式的优化 1、实体类型的合并 1:1联系的两个实体类型 具有相同键的实体类型 2、冗余属性的消除 通过其他属性可以推出的属性,往往是合并后产生的。 非键属性同时出现在几个实体中 使用上的权衡,完整性约束来保证 冗余联系的消除:利用规范化理论中函数依赖的概念消除冗余联系 例子:三个局部ER图合并成一个ER图 5.4 逻辑设计 1、目标:将概念模式转换为DBMS所支持的逻辑模式 2、逻辑设计步骤初始模式的形成:将全局ER模式转换成初始关系模式 规范化处理—数据模型的优化 确定规范的级别:3NF,BCNF 实施规范化处理:关系分解(保持依赖、无损连接) 5.4 逻辑设计 一、E-R图向关系模型的转换 1、转换要解决的问题: 实体和实体间的联系转换为关系模式 确定关系模式的属性和码 5.4 E—R模型到关系模型的转换 把E-R图转换为关系模型可遵循如下原则 : (1)对于E—R图中每个实体型,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。实体的属性就是关系的属性,实体的码就是关系的码。 (2)对于E—R图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。下面着重讨论联系的转换方法。 5.4 逻辑设计 3、二元联系类型的转换 若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。 若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。 若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合 4、一元联系类型的转换:同二元联系 5、三元联系类型的转换 总是将三元联系类型转换成关系模式,其属性为三端实体类型的键加上联系类型的属性,而键为三端实体键的组合。 具有相同码的关系模式可合并。目的是减少系统中的关系个数 ER模型到关系模型的转换实例 ER模型到关系模型的转换实例 例1 库存销售信息管理系统的ER模型及转换 5.4 逻辑设计 二、数据模型的优化: 1、确定数据依赖:按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。 如学生关系模式中存在数据依赖: 学号→姓名,学号→性别,学号→年龄,学号→所在系 选修关系模式中存在数据依赖:(学号,课程号)→成绩 课程关系模式内部存在数据依赖: 课程号→课程名,课程号→学分 学生与选修关系模式的学号之间存在数据依赖: 学生.学号→选修.学号 2、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 3、关系规范化 并不是规范化程度越高的关系就越优:联接运算引起 一般说来,第三范式就足够了。例如: 学生成绩(学号,英语,数学,语文,平均分) 函数依赖:学号→英语,学号→数学,学号→语文,学号→平均分,(英语, 数学, 语文)→平均分。 显然有学号→(英语,数学,语文),存在传递函数信赖,是2NF关系。虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,仍然可保留该冗余数据,对关系模

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档