数据库的存储结构.docx

上传人:b****5 文档编号:29899480 上传时间:2023-08-03 格式:DOCX 页数:18 大小:117.54KB
下载 相关 举报
数据库的存储结构.docx_第1页
第1页 / 共18页
数据库的存储结构.docx_第2页
第2页 / 共18页
数据库的存储结构.docx_第3页
第3页 / 共18页
数据库的存储结构.docx_第4页
第4页 / 共18页
数据库的存储结构.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据库的存储结构.docx

《数据库的存储结构.docx》由会员分享,可在线阅读,更多相关《数据库的存储结构.docx(18页珍藏版)》请在冰豆网上搜索。

数据库的存储结构.docx

数据库的存储结构

第五章数据库的存储结构

5.1数据库存储介质的特点

内存

容量低(一样只有几百M,最多一两个G),价钱高,速度快,数据易丢失(掉电、当机等)。

一样做DBMS(或CPU)和DB之间的数据缓冲区。

实时/内存数据库系统中利用内存寄存实时数据。

硬盘

容量高(一样有几十G,多到一两百G),价钱中,速度较快,数据不易丢失(除非物理性损坏)。

一样做用来寄存DB。

实时/内存数据库系统中利用硬盘寄存历史数据库。

移动硬盘(USB接口)

容量高(一样有几十G),价钱中,速度较快,数据不易丢失(除非物理性损坏)。

一样做用来做备份。

光盘

容量低(一样650M/片,但光盘可在线改换,海量),价钱低,速度中,数据不易丢失(除非物理性损坏)。

一样做用来做备份。

磁盘(软盘)

容量低(一样有几M,优盘多到一两百M),价钱中,速度较慢,数据不易丢失(除非物理性损坏)。

一样数据库不利用磁盘。

磁带

容量低(但可在线改换,海量),价钱低,速度最慢,且要按顺序存取,数据不易丢失(除非物理性损坏)。

一样做用来做备份。

按速度从高到低:

内存、硬盘、USB盘(移动硬盘和优盘)、光盘、软盘、磁带。

按在线容量从大到小:

硬盘、移动硬盘、内存、光盘、磁带、优盘、软盘。

物理块:

512byte/1K/2K/4K/8K

缘故:

(1)减少I/O的次数;

(2)减少间隙的数量,提高硬盘空间的利用率。

ORACLE逻辑块与物理块(中db_block_size概念逻辑块大小)

缓冲块缓和冲区(即SGA中的DataBufferCache)

延迟写(delayedwrite)技术/预取(Prefetching)技术(ORACLE中由DBWR进程完成数据的读写)

5.2记录的存储结构

5.2.1记录的物理表示

1.PositionalTechnique

2.RelationalTechnique

3.CountingTechnique

5.2.2记录在物理块上的分派

不跨块组织(unspannedorganization)

跨块组织(spannedorganization)

5.2.3物理块在磁盘上的分派

1.持续分派法(continuousallocation)

2.链接分派法(linkedallocation)

3.簇集分派法(ClusteredAllocation)

4.索引分派法(IndexedAllocation)

5.2.4数据紧缩技术

1.消零或空格符法(nullsuppression)

如:

#5表示5个空格,@6表示6个零等。

2.串型代替法(patternsubstitution)

3.索引法(indexing)

5.3文件结构和存取途径

5.3.1访问文件的方式

1.查询文件的全数或相当多的记录

2.查询某一特定记录

3.查询某些记录

4.范围查询

5.记录的更新

5.3.2数据库对文件的要求

5.3.3文件的大体类型

1.堆文件(heapfile)

方便(快):

插入

不方便(慢):

查找、删除

2.直接文件(directfile)

方便(快):

按散列键访问

不方便(慢):

其它访问方式

3.索引文件(indexedfile)

方便(快):

按索引键访问

不方便(慢):

其它访问方式,专门是更新时要进行索引保护。

索引项=<索引键,地址>

primaryindexandsecondaryindex

nondenseindexanddenseindex

预查找功能

设要查询年龄为20岁或2l岁的四年级学生,若是学生文件在年龄和年级属性上建有索引,那么可查出年龄为20岁的学生记录的集合S20,年龄为2l岁的学生记录的集合S21,四年级学生记录的集合Ss,于是,所需的学生记录的集合S应为:

S=(S20∪S21)∩Ss

clusteringindex

Btreeindex

动态平稳多叉(分)树

有B+树、B*树等,数据库治理系统中经常使用B+树实现索引。

B+树结构:

B+树动态平稳特性:

(1)每一个结点最多有2k个键值;

(2)根结点至少有—个键值,其他结点至少有k个键值;

(3)除叶结点(即顺序集结点)无子女外,关于其他结点,假设有J个键值,那么有J+1个子女;

(4)所有叶结点都处于树的同一级上,即树始终维持平稳。

k值一样依照块的大小确信,使得B+树的结点最大不超过一个块,即一个结点占一个块(block)。

优势:

所有记录都具有相同的访问I/O次数(即树的高度+记录本身访问的I/O次数),(假设k=20,树的高度为11,那么至少可表示2010=1024X1010个记录)。

缺点:

索引保护需要代价,当记录更新引发索引转变时,最差的情形可能从底层一直阻碍到根结点,即整个树的变更。

第六章

查询处置和优化

6.1Introduction

1.代数优化

2.物理优化

3.规那么优化

4.代价估算优化

6.2代数优化

例1设有S(供给商),P(零件),SP(供给关系)三个关系,关系模式如下:

S(SNUM,SNAME,CITY)

P(PNUM,PNAME,WEIGHT,SIZE)

SP(SNUM,PNUM,DEPT,QUAN)

设有查询Q:

SELECTSNAME

FROMS,P,SP

WHERE=

AND=

AND=‘NANJING’

AND=‘BOLT’

AND>10000;

代数优化的大致进程:

1.以SELECT子句对应投影操作,以FROM子句对应笛卡儿乘积,以WHERE子句对应选择操作,生成原始查询树。

2.应用变换原那么

(2)、(6)、(7)、(9),尽可能将选择条件移向树叶方向。

3.应用连接、笛卡儿乘积的结合律,依照小关系先做的原那么,从头安排连接(笛卡儿乘积)的顺序。

4.若是笛卡儿乘积后还须按连接条件进行选择操作,可将二者组合成连接操作。

5.对每一个叶结点添加必要的投影操作,以排除对查询无用的属性。

6.3依托于存取途径的规那么优化

6.3.1选择操作的实现和优化

1.相关因素

选择条件

可用的存取途径

选取的元组数在整个关系中所占的比例有关

2.实现方式

(1)关于小关系,没必要考虑其他存取途径,直接用顺序扫描。

例如关于六个物理块大小的关系,若是顺序搜索,那么平均的I/O次数为3,不值得采纳其他存取途径。

(2)若是无索引或散列等存取途径可用,或估量当选的元组数在关系中占有较大的比例(例如大于20%)且有关属性上无族集索引,那么用顺序扫描。

(3)关于主键的等值条件,最多只有一个元组能够知足此条件,应优先采纳主键上的索引或散列。

(4)关于非主键的等值条件,要估量当选的元组数在关系中所占的比例。

若是比例较小(例如小于20%),能够用无序索引,不然只能用簇集索引或顺序扫描。

(5)关于范围条件,一样先通过索引找到范围的边界,再通过索引的顺序集沿相应方向按索,例如关于条件Sage>20,可先找到Sage=20的顺序集结点,再沿顺序集向右搜索。

假设当选的元组数在关系中所占比例较大,且无有关属性的簇集索引,那么宜采纳顺序扫描。

例如关于条件Sage>15,因为大学生绝大部份是大于15岁的。

(6)关于用AND连接的合取选择条件。

假设有相应的多属性索引,那么优先采纳多属性索引。

不然,可检查诸合取条件中有无多个可用二次索引的,假设有,那么用预查找法处置。

即通过二次索引找出知足各合取条件的tid集合,再求这些tid集合的交集。

然后掏出交集中tid所对应的元组.并在取这些元组的同时,用合取条件中的其余条件检查。

凡能知足所有其余条件的元组,即为所选择的元组。

若是上述途径都不可行,但合取条件中有个别条件具有规那么(3)、(4)、(5)中所述的存取途径,那么可用此存取途径选择知足此条件的元组,再将这些元组用合取条件中的其他条件挑选。

假设在诸合取的条件中,没有一个具有适合的存取途径.那只有效顺序扫描。

(7)关于用OR连接的析取选择条件,尚无好的优化方式,只能按其中各个条件别离选出一个元组集,再求这些元组集的并。

众所周知,并是开销大的操作,而且在OR连接的诸条件中,只要有一个条件无适合的存取途径,就不能不采纳顺序扫描来处置这种查询。

因此,在查询语句中,应尽可能幸免采纳析取选择条件。

(8)有些选择操作只要访问索引就可取得结果,例如查询索引属性的最大值、最小值、平均值等。

在此情形下,应优先利用索引、幸免访问数据。

6.3.2连接操作的实现和优化

1.嵌套循环(nestedloop)法

R=S

外关系(outerrelation)

内关系(innerrelation)

2.利用索引或散列寻觅匹配元组法

3.排序归并(sort-merge)法

下面是选用连接方式的启发式规那么。

(1)若是两个关系都已按连接属性排序,那么优先用排序归并法。

若是两个关系中已有一个关系按连接属性排序,另一个关系很小,也可考虑对此未排序的关系按连接属性排序,再用排序归并法连接。

(2)若是两个关系中有一个关系在连接属性上有索引(专门是簇集索引)或散列,那么可令另一关系为外关系,顺序扫描,并利用内关系上的索引或散列寻觅其匹配元组,以代替多遍扫描。

(3)若是应用上述两规那么的条件都不具有,且两个关系都比较小,能够应用嵌套循环法。

(4)若是

(1)、

(2)、(3)规那么都不适用,可用散列连接法。

6.3.3投影操作的实现

6.3.4集合操作的实现

6.3.5组合操作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1