(数据库原理)第7章 关系数据库的设计方法.ppt

(数据库原理)第7章 关系数据库的设计方法.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.4.2 E-R图向关系模型的转换 E-R图向关系模型的转换要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。 1.E-R图向关系模型转换的原则 关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体、实体的属性和实体之间的联系三个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式,这种转换一般遵循如下原则: (1)一个实体型转换为一个关系模式。 关系的属性:实体的属性。 关系的码:实体的码。 对于实体间的联系则有以下不同的情况: (2)一个1:1联系可以转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性。 关系的码:各实体的码。 说明:一个1:1联系也可以与任意一端对应的关系模式合并,这时需要把任一端实体的码及联系本身的属性都加入到另一端实体对应的关系模式中。 (3)一个1:n联系可以转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性。 关系的码:n端实体的码。 说明:一个1:n联系也可以与n端对应的关系模式合并,这时需要把1端实体的码及联系本身的属性都加入到n端实体对应的关系模式中。 (4)一个m:n联系转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性。 关系的码:各实体码的组合。 (5)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。 关系的属性:与该联系相连的各实体的码以及联系本身的属性。 关系的码:各实体码的组合。 合并 独立 属性 主码 1:1 √ 任一端实体所对应的关系模式中 若并到实体1中,则加上实体2的码以及联系自身的属性 √ 两端的码以及联系自身的属性 任一端实体的码 1:n √ N端实体所对应的关系模式中 加上1端实体的码以及联系自身的属性 √ 两端的码以及联系自身的属性 N端实体的码 M:n × √ 两端的码以及联系自身的属性 两端实体的码组合 2. E-R图向关系模型转换的具体做法: (1)把一个实体转换为一个关系。先分析该实体的属性,从中确定主键,然后再将其转换为关系模式。 【例7.3】以图7.15为例,将5个实体分别转换为关系模式(带下划线的为主键); 部门(部门号,部门名,负责人) 车队(车队名,地址,电话) 司机(司机号,姓名,电话) 车辆(车牌号,车型,颜色,载重) 保险公司(保险公司号,名称,地址) (2)把每个联系转换成关系模式。 【例7.4】以图7.15为例,将5个联系分别转换为关系模式 拥有1(司机号,车队名) 拥有2(车牌号,车队名) 投保1(司机号,保险公司号) 投保2(车牌号,保险公司号) 调用(部门号,车队名) 7.4.3数据模型的优化 数据库逻辑设计的结果不是唯一。为了进一步提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,方法为: (1)确定数据依赖。按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间的数据依赖。 (2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 (3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。 (4)按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否适合,确定是否要对某些模式进行合并或分解。 必须注意的是,并不是规范化程度越高的关系就越优。例如,当查询经常涉及到两个或多个关系模式的属性时,系统经常进行连接运算。连接运算的代价是相当高的,可以是关系模型低效的主要原因就是连接运算引起的。这时可以考虑将这几个关系合并为一个关系。因此在这种情况下,第二范式甚至第一范式也许是合适的。 又如,非BCNF的关系模式虽然从理论上分析会存在不同程度的更新异常,但如果在实际应用中对此关系模式只是查询,并不执行更新操作则不会产生实际影响。所以对于一个具体应用来说,到底规范化到什么程度,需

文档评论(0)

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

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

1亿VIP精品文档

相关文档