第7章数据库设计(3).ppt
《第7章数据库设计(3).ppt》由会员分享,可在线阅读,更多相关《第7章数据库设计(3).ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章数据库设计(3)2数据库原理及应用数据库原理及应用学习目标学习目标n掌握数据库的物理设计掌握数据库的物理设计n了解数据库的实施了解数据库的实施n理解数据库运行与维护理解数据库运行与维护3数据库原理及应用数据库原理及应用4数据库原理及应用数据库原理及应用5数据库原理及应用数据库原理及应用6数据库原理及应用数据库原理及应用关系模式存取方法选择:关系模式存取方法选择:数据库系统是多用户共享的系统,对数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的第一个任务就是要确定选择哪些存取方法,即求。
2、物理设计的第一个任务就是要确定选择哪些存取方法,即建立哪些存取路径。建立哪些存取路径。DBMS常用的存取方法有:常用的存取方法有:索引索引(主要是主要是B+树索引树索引)存取:存取:是使用最普遍的存取方法,选择是使用最普遍的存取方法,选择索引存取方法的一般规则是:索引存取方法的一般规则是:如果一个如果一个(或一组或一组)属性经常在查询条件中出现,则考虑在这个属性经常在查询条件中出现,则考虑在这个(或这组或这组)属性上建立索引属性上建立索引(或组合索引或组合索引)。如果一个属性经常作为最大值和最小值等聚集函数的参数,则如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引
3、。考虑在这个属性上建立索引。如果一个如果一个(或一组或一组)属性经常在连接操作的连接条件中出现,则属性经常在连接操作的连接条件中出现,则考虑在这个考虑在这个(或这组或这组)属性上建立索引。属性上建立索引。但关系上定义的索引数过多会增加维护索引和查找索引的开销但关系上定义的索引数过多会增加维护索引和查找索引的开销7数据库原理及应用数据库原理及应用聚簇存取:聚簇存取:为了提高某个属性为了提高某个属性(或属性组或属性组)的查询速度,把这个的查询速度,把这个或这些属性或这些属性(称为聚簇码称为聚簇码)上具有相同值的元组集中存放在连续上具有相同值的元组集中存放在连续的物理块称为聚簇。许多关系型的物理块称
4、为聚簇。许多关系型DBMS都提供了聚簇功能。建都提供了聚簇功能。建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放,即聚簇索引的索引项顺序与表中元组的物理顺序或降序存放,即聚簇索引的索引项顺序与表中元组的物理顺序一致。例一致。例CREATE CLUSTER INDEX Stusname ON Student(Sname);在;在Student表的表的Sname列上建立一个聚簇列上建立一个聚簇索引,表中的记录将按索引,表中的记录将按Sname值的升序存放。一个数据库可以值的升序存放。一个数据库可以建立多个聚簇,但一个基本表上最
5、多只能建立一个聚簇索引。建立多个聚簇,但一个基本表上最多只能建立一个聚簇索引。聚簇的用途:聚簇的用途:大大提高按聚簇属性进行查询的效率。例:假设大大提高按聚簇属性进行查询的效率。例:假设学生关系按所在系建有索引,现在要查询信息系的所有学生名学生关系按所在系建有索引,现在要查询信息系的所有学生名单。信息系的单。信息系的500名学生分布在名学生分布在500个不同的物理块上时,至少个不同的物理块上时,至少要执行要执行500次次I/O操作。如果将同一系的学生元组集中存放,则操作。如果将同一系的学生元组集中存放,则每读一个物理块可得到多个满足查询条件的元组,从而显著地每读一个物理块可得到多个满足查询条件
6、的元组,从而显著地减少了访问磁盘的次数。减少了访问磁盘的次数。8数据库原理及应用数据库原理及应用 另外,聚簇后聚簇码相同的元组集中在一起了,因而聚簇码值另外,聚簇后聚簇码相同的元组集中在一起了,因而聚簇码值不必在每个元组中重复存储,只要在一组中存一次就行了,节不必在每个元组中重复存储,只要在一组中存一次就行了,节省了存储空间。省了存储空间。聚簇的局限性:聚簇的局限性:聚簇只能提高某些特定应用的性能,而且建立聚簇只能提高某些特定应用的性能,而且建立与维护聚簇的开销是相当大的。对已有关系建立聚簇,将导致与维护聚簇的开销是相当大的。对已有关系建立聚簇,将导致关系中元组移动其物理存储位置,并使此关系上
7、原有的索引无关系中元组移动其物理存储位置,并使此关系上原有的索引无效,必须重建。当一个元组的聚簇码改变时,该元组的存储位效,必须重建。当一个元组的聚簇码改变时,该元组的存储位置也要做相应移动。置也要做相应移动。聚簇的适用范围聚簇的适用范围既适用于单个关系独立聚簇,也适用于多个关系组合聚簇。既适用于单个关系独立聚簇,也适用于多个关系组合聚簇。例例如,假设用户经常要按系别查询学生成绩单,这一查询涉及学如,假设用户经常要按系别查询学生成绩单,这一查询涉及学生关系和选修关系的连接操作,即需要按学号连接这两个关系,生关系和选修关系的连接操作,即需要按学号连接这两个关系,为提高连接操作的效率,可以把具有相
8、同学号值的学生元组和为提高连接操作的效率,可以把具有相同学号值的学生元组和选修元组在物理上聚簇在一起。这就相当于把多个关系按选修元组在物理上聚簇在一起。这就相当于把多个关系按“预连预连接接”的形式存放,从而大大提高连接操作的效率。的形式存放,从而大大提高连接操作的效率。9数据库原理及应用数据库原理及应用当通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码当通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无关的其他访问很少或是次要时,可以使用聚簇。无关的其他访问很少或是次要时,可以使用聚簇。尤其当尤其当SQL语句中包含有与聚簇码有关的语句中包含有与聚簇码有关的ORDER BY,GROUP
9、BY,UNION,DISTINCT等子句或短语时,使用聚簇特别有利,可等子句或短语时,使用聚簇特别有利,可以省去对结果集的排序操作。以省去对结果集的排序操作。设计候选聚簇:设计候选聚簇:对经常在一起进行连接操作的关系可以建立组对经常在一起进行连接操作的关系可以建立组合聚簇;如果一个关系的一组属性经常出现在相等比较条件中,合聚簇;如果一个关系的一组属性经常出现在相等比较条件中,则该单个关系可建立聚簇;如果一个关系的一个则该单个关系可建立聚簇;如果一个关系的一个(或一组或一组)属性属性上的值重复率很高,则此单个关系可建立聚簇。即对应每个聚上的值重复率很高,则此单个关系可建立聚簇。即对应每个聚簇码值
10、的平均元组数不太少,否则聚簇效果不明显。簇码值的平均元组数不太少,否则聚簇效果不明显。检查候选聚簇中的关系,取消其中不必要的关系:检查候选聚簇中的关系,取消其中不必要的关系:从聚簇中删从聚簇中删除经常进行全表扫描的关系;从聚簇中删除更新操作远多于连除经常进行全表扫描的关系;从聚簇中删除更新操作远多于连接操作的关系;从聚簇中删除重复出现的关系,即当一个关系接操作的关系;从聚簇中删除重复出现的关系,即当一个关系同时加入多个聚簇时,必须从这多聚簇方案同时加入多个聚簇时,必须从这多聚簇方案(包括不建立聚簇包括不建立聚簇)中选择一个较优的,使该聚簇上运行各种事务的总代价最小。中选择一个较优的,使该聚簇上
11、运行各种事务的总代价最小。10数据库原理及应用数据库原理及应用HASH存取:如果一个关系的属性主要出现在等值连接条件中存取:如果一个关系的属性主要出现在等值连接条件中或主要出现在相等比较选择条件中,而且满足下列两个条件之或主要出现在相等比较选择条件中,而且满足下列两个条件之一时,可以选择一时,可以选择HASH存取方法。存取方法。关系的大小可预知,而且不变。关系的大小可预知,而且不变。关系的大小动态改变,但所选用的关系的大小动态改变,但所选用的DBMS提供了动态提供了动态HASH存存取方法取方法。确定数据库的存储结构:确定数据库的存储结构:主要是指确定数据的存放位置和存储主要是指确定数据的存放位
12、置和存储结构,包括关系、索引、聚簇、日志、备份、等的存储安排和结构,包括关系、索引、聚簇、日志、备份、等的存储安排和存储结构;确定系统配置等。确定数据的存放位置和存储结构存储结构;确定系统配置等。确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率、维护代价三方面的代要综合考虑存取时间、存储空间利用率、维护代价三方面的代价,这三个方面常常是相互矛盾的,如消除一切冗余数据虽能价,这三个方面常常是相互矛盾的,如消除一切冗余数据虽能够节约存储空间和减少维护代价,但往往会导致检索代价的增够节约存储空间和减少维护代价,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中方案。加,因此必须
13、进行权衡,选择一个折中方案。11数据库原理及应用数据库原理及应用确定数据的存放位置:确定数据的存放位置:根据应用情况将数据的易变部分与稳定部根据应用情况将数据的易变部分与稳定部分、经常存取部分与存取频率较低部分分开存放,以提高系统性分、经常存取部分与存取频率较低部分分开存放,以提高系统性能。例:数据库数据备份、日志文件备份等由于只在故障恢复时能。例:数据库数据备份、日志文件备份等由于只在故障恢复时才使用,而且数据量很大,可以考虑存放在磁带上;如果计算机才使用,而且数据量很大,可以考虑存放在磁带上;如果计算机有多个磁盘,可以考虑将表和索引分别放在不同的磁盘上,查询有多个磁盘,可以考虑将表和索引分
14、别放在不同的磁盘上,查询时由于两个磁盘驱动器分别在工作,因而可以保证物理读写速度时由于两个磁盘驱动器分别在工作,因而可以保证物理读写速度比较快;可以将比较大的表分别放在两个磁盘上,以加快存取速比较快;可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效;可以将日志文件与数据库对象度,这在多用户环境下特别有效;可以将日志文件与数据库对象(表、索引等表、索引等)放在不同的磁盘以改进系统的性能。放在不同的磁盘以改进系统的性能。确定系统配置:确定系统配置:DBMS产品提供的存储分配参数有同时使用数据产品提供的存储分配参数有同时使用数据库的用户数和对象数、使用的缓冲区长度和个数、
15、时间片大小、库的用户数和对象数、使用的缓冲区长度和个数、时间片大小、数据库大小、装填因子、锁的数目等。系统都为这些变量赋了合数据库大小、装填因子、锁的数目等。系统都为这些变量赋了合理的缺省值,但这些值不一定适合各种应用环境,物理设计时需理的缺省值,但这些值不一定适合各种应用环境,物理设计时需要根据应用环境确定这些参数值,以使系统性能最优。物理设计要根据应用环境确定这些参数值,以使系统性能最优。物理设计时对系统配置变量的调整只是初步的,在系统运行时还要根据系时对系统配置变量的调整只是初步的,在系统运行时还要根据系统实际运行情况做进一步的调整,以期切实改进系统性能。统实际运行情况做进一步的调整,以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计
限制150内