【数据库系统概论】数据库的物理设计

【数据库系统概论】数据库的物理设计

ID:40206726

大小:107.00 KB

页数:72页

时间:2019-07-25

【数据库系统概论】数据库的物理设计_第1页
【数据库系统概论】数据库的物理设计_第2页
【数据库系统概论】数据库的物理设计_第3页
【数据库系统概论】数据库的物理设计_第4页
【数据库系统概论】数据库的物理设计_第5页
资源描述:

《【数据库系统概论】数据库的物理设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、西华师范大学计算机学院第六章数据库设计(续-3)第六章数据库设计6.1数据库设计概述6.2需求分析6.3概念结构设计6.4逻辑结构设计6.5数据库的物理设计6.6数据库实施6.7数据库运行与维护6.8小结6.5数据库的物理设计什么是数据库的物理设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计,也就是设计数据库的内模式。数据库物理设计的步骤数据库物理设计确定数据库的物理结构评价数据库的物理结构逻辑结构设计数据库实施物理模型逻

2、辑模型评价的重点是时间和空间效率满足原设计要求重新设计或修改修改数据模型6.5数据库的物理设计6.5.1数据库的物理设计的内容和方法6.5.2关系模式存取方法选择6.5.3确定数据库的存储结构6.5.4评价物理结构6.5.1数据库的物理设计的内容和方法设计物理数据库结构的准备工作1.充分了解应用环境,详细分析要运行的事务,以获得选择物理数据库设计所需参数2.充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构数据库的物理设计的内容和方法(续)选择物理数据库设计所需参数数据库查询事务查询的关系查询条件所涉及的属性连接条件所涉及的属性

3、查询的投影属性数据库的物理设计的内容和方法(续)选择物理数据库设计所需参数(续)数据更新事务被更新的关系每个关系上的更新操作条件所涉及的属性修改操作要改变的属性值每个事务在各关系上运行的频率和性能要求数据库的物理设计的内容和方法(续)关系数据库物理设计的内容1.为关系模式选择存取方法(建立存取路径)2.设计关系、索引等数据库文件的物理存储结构6.5数据库的物理设计6.5.1数据库的物理设计的内容和方法6.5.2关系模式存取方法选择6.5.3确定数据库的存储结构6.5.4评价物理结构6.5.2关系模式存取方法选择数据库系统是多用户共享的系统,对同一

4、个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的第一个任务就是要确定选择哪些存取方法,即建立哪些存取路径。关系模式存取方法选择(续)DBMS常用存取方法索引方法,目前主要是B+树索引方法聚簇(Cluster)方法HASH方法一、索引存取方法的选择选择索引存取方法的主要内容根据应用要求确定对哪些属性列建立索引对哪些属性列建立组合索引对哪些索引要设计为唯一索引索引存取方法的选择(续)选择索引存取方法的一般规则如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)如果一个属性经常作为最大值和最小值

5、等聚集函数的参数,则考虑在这个属性上建立索引如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引索引存取方法的选择(续)关系上定义的索引数过多会带来较多的额外开销维护索引的开销查找索引的开销二、聚簇存取方法的选择什么是聚簇(簇集)为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在一个物理块内或物理上相邻的区域内称为聚簇例,设有一关系TEACHER(教师),其上建有YR(出生年份)的索引。若要查询1948年出生的教师,设1948年出生的教师有100人,在极端情况下

6、,这100个教师所对应的元组分散在100个不同的物理块中。在做这种查询时,即使不考虑访问索引的I/O次数,访问数据也得要100次I/O,因为每访问一个物理块需要一次I/O操作。如果按出生年份集中存放了TEACHER元组,则每取一个物理块,就可以获得多个合乎查询条件的元组,从而显著地减少访问磁盘的次数。现代的DBMS一般允许按某一簇集键(ClusterKey)集中存放元组,这种簇集键可以是复合的。具有同一簇集键值的元组,尽可能放在同一物理块中。如果放不下,可以向预留的空白区发展,或链接多个物理块。簇集后的元组好像葡萄一样按串存放,簇集之名由此而来。

7、建立聚簇索引(复习)聚簇索引建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中元组的物理顺序一致。例:CREATECLUSTERINDEXStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname值的升序存放建立聚簇索引(复习)在一个基本表上最多只能建立一个聚簇索引聚簇索引的用途:对于某些类型的查询,可以提高查询效率聚簇索引的适用范围很少对基表进行增删操作很少对其中的变长列进行修改操作聚簇存取方法的选择(

8、续)聚簇的用途1.大大提高按聚簇属性进行查询的效率2.节省存储空间聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇码值不必在每个元组中重

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。