逻辑结构的设计.ppt

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

逻辑结构设计小结 设计用户子模式 1. 使用更符合用户习惯的别名 2. 针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。 3. 简化用户对系统的使用 数据模型的优化(续) 例,课程关系模式内部存在下列数据依赖:    课程号→课程名    课程号→学分 课程号→教室号   选修关系模式中存在下列数据依赖:    (学号,课程号)→成绩    数据模型的优化(续) 学生关系模式中存在下列数据依赖:   学号→姓名   学号→性别   学号→出生日期   学号→所在系 学号→年级   学号→班级号   学号→平均成绩   学号→档案号 数据模型的优化(续) 学生关系模式的学号与选修关系模式的学号之间存在数据依赖: 学生.学号→选修.学号   数据模型的优化(续) ⒉ 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 数据模型的优化(续) ⒊ 按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。   例如经过分析可知,课程关系模式属于BC范式。 数据模型的优化(续) ⒋ 按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。 数据模型的优化(续) 并不是规范化程度越高的关系就越优。 当一个应用的查询中经常涉及到两个或多个关系模式的属性时,系统必须经常地进行联接运算,而联系运算的代价是相当高的,可以说关系模型低效的主要原因就是做联接运算引起的,因此在这种情况下,第二范式甚至第一范式也许是最好的。 数据模型的优化(续) 非BCNF的关系模式虽然从理论上分析会存在不同程度的更新异常,但如果在实际应用中对此关系模式只是查询,并不执行更新操作,则就不会产生实际影响。 对于一个具体应用来说,到底规范化进行到什么程度,需要权衡响应时间和潜在问题两者的利弊才能决定。一般说来,第三范式就足够了。 数据模型的优化(续) 例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩) 中存在下列函数依赖:   学号→英语   学号→数学   学号→语文   学号→平均成绩 (英语, 数学, 语文)→平均成绩 数据模型的优化(续) 显然有: 学号→(英语,数学,语文) 因此该关系模式中存在传递函数信赖,是2NF关系。 虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学生的平均成绩,为提高效率,我们仍然可保留该冗余数据,对关系模式不再做进一步分解。 数据模型的优化(续) ⒌ 按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解或合并,以提高数据操作的效率和存储空间的利用率 常用分解方法 水平分解 垂直分解 数据模型的优化(续) 水平分解 什么是水平分解 把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。 数据模型的优化(续) 水平分解的适用范围 1. 满足“80/20原则”的应用 80/20原则:一个大关系中,经常被使用的数据只是关系的一部分,约20% 把经常使用的数据分解出来,形成一个子关系,可以减少查询的数据量。 数据模型的优化(续) 水平分解的适用范围 2. 并发事务经常存取不相交的数据 如果关系R上具有n个事务,而且多数事务存取的数据不相交,则R可分解为少于或等于n个子关系,使每个事务存取的数据对应一个关系。 数据模型的优化(续) 水平分解 什么是水平分解 把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。 水平分解的适用范围 满足“80/20原则”的应用 并发事务经常存取不相交的数据 数据模型的优化(续) 满足“80/20原则”的应用 80/20原则:一个大关系中,经常被使用的数据只是关系的一部分,约20% 把经常使用的数据分解出来,形成一个子关系,可以减少查询的数据量。 并发事务经常存取不相交的数据 如果关系R上具有n个事务,而且多数事务存取的数据不相交,则R可分解为少于或等于n个子关系,使每个事务存取的数据对应一个关系。 数据模型的优化(续) 垂直分解 什么是垂直分解 把关系模式R的属性分解为若干子集合,形成若干子关系模式。 垂直分解的原则 经常在一起使用的属性从R中分解出来形成一个子关系模式。 数据模型的优

文档评论(0)

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

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

1亿VIP精品文档

相关文档