数据库建模技术(数据库设计)5-10.pptVIP

  1. 1、本文档共289页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 数据库的物理设计的内容和方法(续) 选择物理数据库设计所需参数(续) 数据更新事务 被更新的关系 每个关系上的更新操作条件所涉及的属性 修改操作要改变的属性值 每个事务在各关系上运行的频率和性能要求 * 数据库的物理设计的内容和方法(续) 关系数据库物理设计的内容 1. 为关系模式选择存取方法(建立存取路径) 2. 设计关系、索引等数据库文件的物理存储结构 * 7.5 数据库的物理设计 7.5.1 数据库的物理设计的内容和方法 7.5.2 关系模式存取方法选择 7.5.3 确定数据库的存储结构 7.5.4 评价物理结构 * 7.5.2 关系模式存取方法选择 数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。 物理设计的第一个任务就是要确定选择哪些存取方法,即建立哪些存取路径。 * 关系模式存取方法选择(续) DBMS常用存取方法 A)索引方法,目前主要是B+树索引方法 B)聚簇(Cluster)方法 C)HASH方法 * 一、索引存取方法的选择 A)选择索引存取方法的主要内容: 根据应用要求确定 对哪些属性列建立索引 对哪些属性列建立组合索引 对哪些索引要设计为唯一索引 * 索引存取方法的选择(续) 选择索引存取方法的一般规则 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引) 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引 * 索引存取方法的选择(续) 注意:关系上定义的索引数过多会带来较多的额外开销 维护索引的开销 查找索引的开销 * 二、聚簇存取方法的选择 什么是聚簇 为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇 许多关系型DBMS都提供了聚簇功能 聚簇存放与聚簇索引的区别 索引存取方法的选择(续) * 建立聚簇索引 (复习) 聚簇索引 建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中元组的物理顺序一致。 例: CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname值的升序存放 * 建立聚簇索引 (复习) 在一个基本表上最多只能建立一个聚簇索引 聚簇索引的用途:对于某些类型的查询,可以提高查询效率 聚簇索引的适用范围 很少对基表进行增删操作 很少对其中的变长列进行修改操作 * 聚簇存取方法的选择(续) 聚簇的用途 1. 大大提高按聚簇属性进行查询的效率 例:假设学生关系按所在系建有索引,现在要查询信息系的所有学生名单。 信息系的500名学生分布在500个不同的物理块上时,至少要执行500次I/O操作。 如果将同一系的学生元组集中存放,则每读一个物理块可得到多个满足查询条件的元组,从而显著地减少了访问磁盘的次数。 * 聚簇存取方法的选择(续) 2. 节省存储空间 聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇码值不必在每个元组中重复存储,只要在一组中存一次就行了 * 聚簇存取方法的选择(续) 聚簇的局限性 1. 聚簇只能提高某些特定应用的性能 2. 建立与维护聚簇的开销相当大 对已有关系建立聚簇,将导致关系中元组移动其物理存储位置,并使此关系上原有的索引无效,必须重建。 当一个元组的聚簇码改变时,该元组的存储位置也要做相应移动。 * 聚簇存取方法的选择(续) 聚簇的适用范围 1. 既适用于单个关系独立聚簇,也适用于多个关系组合聚簇 例:假设用户经常要按系别查询学生成绩单,这一查询涉及学生关系和选修关系的连接操作,即需要按学号连接这两个关系,为提高连接操作的效率,可以把具有相同学号值的学生元组和选修元组在物理上聚簇在一起。这就相当于把多个关系按“预连接”的形式存放,从而大大提高连接操作的效率。 * 聚簇存取方法的选择(续) 2. 当通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无关的其他访问很少或者是次要的时,可以使用聚簇。 尤其当SQL语句中包含有与聚簇码有关的ORDER BY,GROUP BY,UNION,DISTINCT等子句或短语时,使用聚簇特别有利,可以省去对结果集的排序操作 * 聚簇存取方法的选择(续) 选择聚簇存取方法 1. 设计候选聚簇 对经常在一起进行连接操作的关系可以建立组合聚簇; 如果一个关系的一组属性经常出现在相等比较条件中,则该单个关系可建立聚簇; 如果一个关系的一个(或

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档