[计算机软件及应用]7数据库系统原理 第七章 数据库设计3.pptVIP

  • 1
  • 0
  • 约4.14千字
  • 约 40页
  • 2018-02-28 发布于浙江
  • 举报

[计算机软件及应用]7数据库系统原理 第七章 数据库设计3.ppt

[计算机软件及应用]7数据库系统原理 第七章 数据库设计3

An Introduction to Database System 数据库的物理设计 什么是数据库的物理设计 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。 为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计。 数据库的物理设计 数据库物理设计的步骤 确定数据库的物理结构 对物理结构进行评价,评价的重点是时间和空间效率 目标:提高速度、节约空间。 存储记录结构的设计 访问方法的设计 数据存储位置设计 系统配置设计 存储记录结构的设计 存储记录结构的设计 包括记录的组成、数据项的类型和长度,以及逻辑记录到存储记录的映射 灵活的存储结构:聚簇和索引 聚簇:把属性上具有相同值的元组集中存放在一个物理块中。如果存放不下,可以存放在相邻的物理块中,该组属性称为聚簇码 索引文件对存储记录重新进行内部连接,逻辑上改变了记录的存储位置,从而改变了访问数据的入口点 关系模式存取方法选择 DBMS常用存取方法 索引方法,目前主要是B+树索引方法 聚簇(Cluster)方法 HASH方法(*) 索引存取方法的选择 选择索引存取方法的主要内容 根据应用要求确定 对哪些属性列建立索引 对哪些属性列建立组合索引 对哪些索引要设计为唯一索引 索引存取方法的选择(续) 选择索引存取方法的一般规则 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引) 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引 索引存取方法的选择(续) 关系上定义的索引数过多会带来较多的额外开销 维护索引的开销 查找索引的开销 聚簇存取方法的选择 什么是聚簇 为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇. 许多关系型DBMS都提供了聚簇功能. 建立聚簇索引 (复习) 聚簇索引 建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中元组的物理顺序一致。 例: CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname值的升序存放 . 建立聚簇索引 (复习) 在一个基本表上最多只能建立一个聚簇索引 聚簇索引的用途:对于某些类型的查询,可以提高查询效率 聚簇索引的适用范围 很少对基表进行增删操作 很少对其中的建立了聚簇索引的列进行修改 操作 聚簇存取方法的选择(续) 聚簇的用途 大大提高按聚簇属性进行查询的效率 例:假设学生关系按所在系建有索引,现在要查 询信息系的所有学生名单。 信息系的500名学生分布在500个不同的物理块上时,至少要执行500次I/O操作。 如果将同一系的学生元组集中存放,则每读一个物理块可得到多个满足查询条件的元组,从而显著地减少了访问磁盘的次数。 聚簇存取方法的选择(续) 节省存储空间 聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇码值不必在每个元组中重复存储,只要在一组中存一次就行了. 聚簇存取方法的选择(续) 聚簇的局限性 聚簇只能提高某些特定应用的性能 建立与维护聚簇的开销相当大 对已有关系建立聚簇,将导致关系中元组移动其物理存储位置,并使此关系上原有的索引无效,必须重建。 当一个元组的聚簇码改变时,该元组的存储位置也要做相应移动。 聚簇存取方法的选择(续) 聚簇的适用范围 既适用于单个关系独立聚簇,也适用于多个关系组合聚簇. 例:假设用户经常要按系别查询学生成绩单,这一查询涉及学生关系和选修关系的连接操作,即需要按学号连接这两个关系,为提高连接操作的效率,可以把具有相同学号值的学生元组和选修元组在物理上聚簇在一起。这就相当于把多个关系按“预连接”的形式存放,从而大大提高连接操作的效率。 聚簇存取方法的选择(续) 当通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无关的其他访问很少或者是次要的时候,可以使用聚簇。 尤其当SQL语句中包含有与聚簇码有关的ORDER BY,GROUP BY,UNION,DISTINCT等子句或短语时,使用聚簇特别有利,可以省去对结果集的排序操作 HASH存取方法的选择* 选择HASH存取方法的规则 当一个关系满足下列两个条件时,可以选择HASH存取方法 该关系的属性主要出现在等值连接条件中或主要出现在相等比较选择条件中 该关系的大小可预知,而且不变; 或 该关系的大小动态改变,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档