ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:118.80KB ,
资源ID:4703482      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4703482.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库的存储结构.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库的存储结构.docx

1、数据库的存储结构第五章 数据库的存储结构5.1 数据库存储介质的特点 内存容量低(一般只有几百M,最多一两个G),价格高,速度快,数据易丢失(掉电、当机等)。一般做DBMS(或CPU)和DB之间的数据缓冲区。实时/内存数据库系统中使用内存存放实时数据。 硬盘容量高(一般有几十G,多到一两百G),价格中,速度较快,数据不易丢失(除非物理性损坏)。一般做用来存放DB。实时/内存数据库系统中使用硬盘存放历史数据库。 移动硬盘(USB接口)容量高(一般有几十G),价格中,速度较快,数据不易丢失(除非物理性损坏)。一般做用来做备份。 光盘容量低(一般650M/片,但光盘可在线更换,海量),价格低,速度中

2、,数据不易丢失(除非物理性损坏)。一般做用来做备份。 磁盘(软盘)容量低(一般有几M,优盘多到一两百M),价格中,速度较慢,数据不易丢失(除非物理性损坏)。一般数据库不使用磁盘。 磁带容量低(但可在线更换,海量),价格低,速度最慢,且要按顺序存取,数据不易丢失(除非物理性损坏)。一般做用来做备份。按速度从高到低:内存、硬盘、USB盘(移动硬盘和优盘)、光盘、软盘、磁带。按在线容量从大到小:硬盘、移动硬盘、内存、光盘、磁带、优盘、软盘。物理块:512byte/1K/2K/4K/8K原因:(1) 减少I/O的次数;(2) 减少间隙的数目,提高硬盘空间的利用率。ORACLE逻辑块与物理块(init.

3、ora中db_block_size定义逻辑块大小)缓冲块和缓冲区(即SGA中的Data Buffer Cache)延迟写(delayed write)技术/预取(Prefetching)技术(ORACLE中由DBWR进程完成数据的读写)5.2 记录的存储结构5.2.1 记录的物理表示1 Positional Technique2 Relational Technique3 Counting Technique5.2.2 记录在物理块上的分配不跨块组织(unspanned organization)跨块组织(spanned organization)5.2.3 物理块在磁盘上的分配1 连续分配法

4、(continuous allocation)2 链接分配法(linked allocation)3 簇集分配法(Clustered Allocation)4 索引分配法(Indexed Allocation)5.2.4 数据压缩技术1 消零或空格符法(null suppression)如:#5表示5个空格,6表示6个零等。2 串型代替法(pattern substitution)3 索引法(indexing)5.3 文件结构和存取路径5.3.1 访问文件的方式1 查询文件的全部或相当多的记录2 查询某一特定记录3 查询某些记录4 范围查询5 记录的更新5.3.2 数据库对文件的要求5.3.3

5、 文件的基本类型1 堆文件(heap file)方便(快):插入不方便(慢):查找、删除2 直接文件(direct file)方便(快):按散列键访问不方便(慢):其它访问方式3 索引文件(indexed file)方便(快):按索引键访问不方便(慢):其它访问方式,特别是更新时要进行索引维护。 索引项= primary index and secondary index nondense index and dense index 预查找功能设要查询年龄为20岁或2l岁的四年级学生,如果学生文件在年龄和年级属性上建有索引,则可查出年龄为20岁的学生记录的集合S20,年龄为2l岁的学生记录的集

6、合S21,四年级学生记录的集合Ss,于是,所需的学生记录的集合S应为:S=(S20S21) Ss clustering index B tree index动态平衡多叉(分)树有B+树、B*树等,数据库管理系统中常用B+树实现索引。B+树结构:B+树动态平衡特性:(1) 每个结点最多有2k个键值;(2) 根结点至少有个键值,其他结点至少有k个键值;(3) 除叶结点(即顺序集结点)无子女外,对于其他结点,若有J个键值,则有J+1个子女;(4) 所有叶结点都处于树的同一级上,即树始终保持平衡。k值一般根据块的大小确定,使得B+树的结点最大不超过一个块,即一个结点占一个块(block)。优点:所有记

7、录都具有相同的访问I/O次数(即树的高度+记录本身访问的I/O次数),(若k=20,树的高度为11,则至少可表示2010=1024X1010个记录)。缺点:索引维护需要代价,当记录更新引起索引变化时,最差的情况可能从底层一直影响到根结点,即整个树的变动。第六章 查询处理和优化6.1 Introduction1 代数优化2 物理优化3 规则优化4 代价估算优化6.2 代数优化例1 设有S(供应商),P(零件),SP(供应关系)三个关系,关系模式如下:S(SNUM,SNAME,CITY)P(PNUM,PNAME,WEIGHT,SIZE)SP(SNUM,PNUM,DEPT,QUAN)设有查询Q:SE

8、LECT SNAMEFROM S,P,SPWHERE S.SNUM=SP.SNUMAND SP.PNUM=P.PNUMAND S.CITY=NANJINGAND P.PNAME=BOLTAND SP.QUAN10000;代数优化的大致过程:1 以SELECT子句对应投影操作,以FROM子句对应笛卡儿乘积,以WHERE子句对应选择操作,生成原始查询树。2 应用变换原则(2)、(6)、(7)、(9),尽可能将选择条件移向树叶方向。3 应用连接、笛卡儿乘积的结合律,按照小关系先做的原则,重新安排连接(笛卡儿乘积)的次序。4 如果笛卡儿乘积后还须按连接条件进行选择操作,可将两者组合成连接操作。5 对每

9、个叶结点添加必要的投影操作,以消除对查询无用的属性。6.3 依赖于存取路径的规则优化6.3.1 选择操作的实现和优化1 相关因素 选择条件 可用的存取路径 选取的元组数在整个关系中所占的比例有关2 实现方法(1) 对于小关系,不必考虑其他存取路径,直接用顺序扫描。例如对于六个物理块大小的关系,如果顺序搜索,则平均的I/O次数为3,不值得采用其他存取路径。(2) 如果无索引或散列等存取路径可用,或估计中选的元组数在关系中占有较大的比例(例如大于20)且有关属性上无族集索引,则用顺序扫描。(3) 对于主键的等值条件,最多只有一个元组可以满足此条件,应优先采用主键上的索引或散列。(4) 对于非主键的

10、等值条件,要估计中选的元组数在关系中所占的比例。如果比例较小(例如小于20),可以用无序索引,否则只能用簇集索引或顺序扫描。(5) 对于范围条件,一般先通过索引找到范围的边界,再通过索引的顺序集沿相应方向按索,例如对于条件Sage20,可先找到Sage20的顺序集结点,再沿顺序集向右搜索。若中选的元组数在关系中所占比例较大,且无有关属性的簇集索引,则宜采用顺序扫描。例如对于条件Sage15,因为大学生绝大部分是大于15岁的。(6) 对于用AND连接的合取选择条件。若有相应的多属性索引,则优先采用多属性索引。否则,可检查诸合取条件中有无多个可用二次索引的,若有,则用预查找法处理。即通过二次索引找

11、出满足各合取条件的tid集合,再求这些tid集合的交集。然后取出交集中tid所对应的元组并在取这些元组的同时,用合取条件中的其余条件检查。凡能满足所有其余条件的元组,即为所选择的元组。如果上述途径都不可行,但合取条件中有个别条件具有规则(3)、(4)、(5)中所述的存取路径,则可用此存取路径选择满足此条件的元组,再将这些元组用合取条件中的其他条件筛选。若在诸合取的条件中,没有一个具有合适的存取路径那只有用顺序扫描。(7) 对于用OR连接的析取选择条件,尚无好的优化方法,只能按其中各个条件分别选出一个元组集,再求这些元组集的并。众所周知,并是开销大的操作,而且在OR连接的诸条件中,只要有一个条件

12、无合适的存取路径,就不得不采用顺序扫描来处理这种查询。因此,在查询语句中,应尽量避免采用析取选择条件。(8) 有些选择操作只要访问索引就可得到结果,例如查询索引属性的最大值、最小值、平均值等。在此情况下,应优先利用索引、避免访问数据。6.3.2 连接操作的实现和优化1. 嵌套循环(nested loop)法R R.A=S.B S外关系(outer relation)内关系(inner relation)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