资源预览内容
第1页 / 共77页
第2页 / 共77页
第3页 / 共77页
第4页 / 共77页
第5页 / 共77页
第6页 / 共77页
第7页 / 共77页
第8页 / 共77页
第9页 / 共77页
第10页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
宝剑锋从磨砺出梅花香自苦寒来数 据 库 原 理 Theory of Database 第七章 数据库设计(续2)第七章 数据库设计7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库的实施和维护 7.7 小结3Theory of Database 7.4 逻辑结构设计逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图转换为与 选用DBMS产品所支持的数据模型相符合的逻辑结构。 逻辑结构设计的3个步骤4Theory of Database 7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式5Theory of Database 7.4.1 E-R图向关系模型的转换(续)转换内容:1)将实体型和实体间的联系转换为关系模式2)确定这些关系模式的属性和码实体的转换原则u一个实体转换为一个关系模式 u实体的名称对应关系模式的名称u实体的属性对应关系模式的属性u实体的候选码对应关系模式的候选码6Theory of Database 学生学号年龄性别姓名7.4.1 E-R图向关系模型的转换(续)例如:转换为关系模式:学生(学号、姓名、性别、年龄)7Theory of Database 联系的转换原则7.4.1 E-R图向关系模型的转换(续)一个1:1联系可以转换为一个独立的关系模式, 也可以与任意一端对应的关系模式合并。转换为一个独立的关系模式:与某一端实体对应的关系模式合并:u 需在该关系模式的属性中加入另一实体的码和联系的属性。u 相连实体的码、联系的属性 新关系的属性,每个实体的码均是该关系的候选码。8Theory of Database 例如:7.4.1 E-R图向关系模型的转换(续)工号车间号对实体的转换:车间主任(工号、.)车间(车间号、,)对联系的转换:新关系:管理(工号、车间号、)合并到其中的一个实体关系中。9Theory of Database 7.4.1 E-R图向关系模型的转换(续)联系的转换原则转换为一个独立的关系模式:n 相连实体的码、联系的属性 新关系的属性,n端实体的码 新关系的码。与n端对应的关系模式合并n 在n端的实体表中增加1端实体的候选码。一个1:n联系可以转换为一个独立的关系模式, 也可以与n端对应的关系模式合并。10Theory of Database 例如:车间号职工号对实体的转换:车间(车间号、)车间成员(职工号,)对联系的转换:新关系模式:车间组成(职工号、车间号)合并到n端实体关系中:车间成员(职工号车间号)7.4.1 E-R图向关系模型的转换(续)11课程选修学生mnm:n联系学号课程号成 绩7.4.1 E-R图向关系模型的转换(续)一个m:n联系转换为一个关系模式。相连实体的码、联系的属性 属性新关系的码是各实体码的组合。例如:选修(学号,课程号,成绩)联系的转换原则12Theory of Database 7.4.1 E-R图向关系模型的转换(续)三个或三个以上实体间的多元联系转换新关系模式。例如:工程供应零件表(供应者号,零件号,工程号,供应数量)。联系的转换原则13Theory of Database 7.4.1 E-R图向关系模型的转换(续)联系的转换原则具有相同码的关系模式可合并目的: u减少系统中的关系个数合并方法: u将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。14Theory of Database 转换原则注意事项l 从理论上讲,1:1联系可以与任意一端对应的关系模式合并l 但在一些情况下,与不同的关系模式合并效率会大不一样 。因此究竟应该与哪端的关系模式合并需要依应用的具体 情况而定。l 由于连接操作是最费时的操作,所以一般应以尽量减少连 接操作为目标。例如,如果经常要查询某个班级的班主任姓名,则将管理联系与教师关系合并更好些。7.4.1 E-R图向关系模型的转换(续)15Theory of Database 7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式16Theory of Database 7.4.2 数据模型的优化得到初步数据模型后,还应该适当地修改、 调整数据模型的结构,以进一步提高数据库 应用系统的性能。关系数据模型的优化通常以规范化理论为指导数据模型的优化17Theory of Database 数据模型的优化的方法7.4.2 数据模型的优化(续)确定数据依赖消除冗余的联系 确定所属范式 按照数据处理的要求,确定是否合并或分解。注意:注意:并不是规范化程度越高的关系就越优,一般说来,第三范式就足够了。关系模式内部各属性之间的数据依赖不同关系模式属性之间数据依赖18Theory of Database 7.4.2 数据模型的优化(续)例:关系模式学生成绩单(学号,英语,数学,语文, 平均成绩)存在下列函数依赖: 学号英语 学号数学 学号语文 学号平均成绩 (英语, 数学, 语文)平均成绩显然有: 学号(英语,数学,语文) R2NF平均成绩要不要保留19Theory of Database 7.4.2 数据模型的优化(续)通过对关系模式进行必要的分解,提高数据操作的效率 和存储空间的利用率。常用分解方法水平分解 垂直分解20Theory of Database 7.4.2 数据模型的优化(续)水平分解 什么是水平分解水平分解的适用范围l满足“80/20原则”的应用 l并发事务经常存取不相交的数据l把(基本)关系的元组分为若干子集合,定义每 个子集合为一个子关系,以提高系统的效率。21Theory of Database l 把关系模式R的属性分解为若干子集合,形成若干子关系模式。7.4.2 数据模型的优化(续)垂直分解 什么是垂直分解l 取决于分解后R上的所有事务的总效率是否得到了提高。垂直分解的适用范围22Theory of Database 7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模式23Theory of Database 7.4.3 设计用户子模式定义用户外模式时应该注重的问题(1) 使用更符合用户习惯的别名; (2) 针对不同级别的用户定义不同的View ,以满足系统对安全性的要求; (3) 简化用户对系统的使用;24Theory of Database 7.4.3 设计用户子模式(续)例 关系模式产品(产品号,产品名,规格,单价,生产车间,生产负责人,产品成本,产品合格率,质量等级)。可以在产品关系上建立两个视图: 为一般顾客建立视图:产品1(产品号,产品名,规格,单价)为产品销售部门建立视图:产品2(产品号,产品名,规格,单价,车间,生产负责人)u顾客视图中只包含允许顾客查询的属性 u销售部门视图中只包含允许销售部门查询的属性 u生产领导部门则可以查询全部产品数据 u可以防止用户非法访问不允许他们查询的数据,保证系统的安全性25Theory of Database 第七章 数据库设计7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库的实施和维护 7.7 小结26Theory of Database 7.5 数据库的物理设计数据库的物理设计数据库在物理设备上的存储结构与存取方法称为数据库 的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用环境的 物理结构的过程,就是数据库的物理设计。27Theory of Database 数据库物理设计的步骤:p对物理结构进行评价,重点是时间和空间效率p确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构7.5 数据库的物理设计28Theory of Database 数据库物理设计确定数 据库的 物理结 构评价数据 库的物理 结构逻辑结 构设计数据库 实施物理 模型逻辑 模型7.5 数据库的物理设计29Theory of Database 7.5 数据库的物理设计7.5.1 数据库物理设计的内容和方法7.5.2 关系模式存取方法选择7.5.3 确定数据库的存储结构7.5.4 评价物理结构30Theory of Database 7.5.1 数据库物理设计的内容和方法设计物理数据库结构的准备工作对要运行的事务进行详细分析,获得选择物理数据库设计所需参数; 充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构;31Theory of Database 7.5.1 数据库物理设计的内容和方法选择物理数据库设计所需参数数据库查询事务查询的关系 查询条件所涉及的属性 连接条件所涉及的属性 查询的投影属性32Theory of Database 7.5.1 数据库物理设计的内容和方法数据更新事务每个事务在各关系上运行的频率和性能要求选择物理数据库设计所需参数被更新的关系 每个关系上的更新操作条件所涉及的属性 修改操作要改变的属性值33Theory of Database 7.5.1 数据库物理设计的内容和方法关系数据库物理设计的内容为关系模式选择存取方法(建立存取路径);设计关系、索引等数据库文件的物理存储结构;34Theory of Database 7.5 数据库的物理设计7.5.1 数据库物理设计的内容和方法7.5.2 关系模式存取方法选择7.5.3 确定数据库的存储结构7.5.4 评价物理结构35Theory of Database 7.5.2 关系模式存取方法选择数据库系统是多用户共享的系统,对同一个 关系要建立多条存取路径才能满足多用户的 多种应用要求。物理设计的任务之一就是要确定选择哪些存 取方法,即建立哪些存取路径。36Theory of Database 7.5.2 关系模式存取方法选择(续)DBMS常用存取方法索引方法聚簇(Cluster)方法HASH方法u经典存取方法,使用最普遍u目前主要是B+树索引方法37Theory of Database 索引存取方法的选择7.5.2 关系模式存取方法选择(续)根据应用要求确定 u对哪些属性列建立索引u对哪些属性列建立组合索引u对哪些索引要设计为唯一索引38Theory of Database 7.5.2 关系模式存取方法选择(续)索引存取方法的选择选择索引存取方法的一般规则u属性经常在查询条件中出现u属性经常作为最大值和最小值等聚集函数的参数 u属性经常在连接操作的连接条件中出现关系上定义的索引数过多会带来较多的额外开销 n 维护索引的开销 n 查找索引的开销39Theory of Database 7.5.2 关系模式存取方法选择(续)聚簇 为了提高某个属性的查询速度,把这个属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇。聚簇存取方法的选择40Theory of Database 7.5.2 关系模式存取方法选择(续)聚簇存取方法的选择聚簇的用途 1. 大大提高按聚簇码进行查询的效率例:假设学生关系按所在系建有索引,现在要查询信 息系的所有学生名单。信息系的500名学生分布在500个不同的物理块上时, 至少要执行500次I/O操作。如果将同一系的学生元组集中存放,则每读一个物理块可得到 多个满足查询条件的元组,从
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号