数据库系统实现复习提纲概要

上传人:今*** 文档编号:106344026 上传时间:2019-10-14 格式:DOC 页数:16 大小:2.19MB
返回 下载 相关 举报
数据库系统实现复习提纲概要_第1页
第1页 / 共16页
数据库系统实现复习提纲概要_第2页
第2页 / 共16页
数据库系统实现复习提纲概要_第3页
第3页 / 共16页
数据库系统实现复习提纲概要_第4页
第4页 / 共16页
数据库系统实现复习提纲概要_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据库系统实现复习提纲概要》由会员分享,可在线阅读,更多相关《数据库系统实现复习提纲概要(16页珍藏版)》请在金锄头文库上搜索。

1、复习提纲20151.数据库管理系统主要包括存储管理器、查询处理器和事务管理器等几个子系统。2.DBMS从接受查询请求到返回结果的整个运行过程。(有图)(简答,问答)Step 1:用户向DBMS发出调用数据库数据的命令Step 2:DBMS对命令进行语法检查、语义检查、存取权限检查,决定是否执行该命令Step 3:DBMS执行查询优化,把命令转换为一串单记录的存取操作序列Step 4:执行存取操作序列(反复执行以下各步,直至结束)Step 5:DBMS首先在缓冲区内查找记录,若找到转10,否则转6Step 6:DBMS查看存储模式,决定从哪个文件存取哪个物理记录Step 7:DBMS根据6的结果

2、,向操作系统发出读取记录的命令Step 8:操作系统执行读取数据的命令Step 9:操作系统将数据从数据库存储区送到系统缓冲区Step 10:DBMS根据用户命令和数据字典的内容导出用户所要读取的数据格式Step 11:DBMS将数据记录从系统缓冲区传送到用户工作区Step 12:DBMS将执行状态信息返回给用户3.存储管理器负责管理的数据包括目标数据、元数据、索引和日志等,这些数据保存在磁盘上。4.磁盘结构及磁盘容量的计算。(填空题)磁盘控制器: 控制一个或多个磁盘的小处理器,功能如下,l 定位磁头到一个特定的半径位置。l 选择一个准备读写的盘面,从位于该盘面的磁头下的磁道上选择一个扇区。并

3、识别何时该扇区正开始移动到磁头下面。l 将从该扇区读取的二进制位传送到主存储,或将从主存要写入的二进制位传送到该扇区。l 为所写扇区附加校验和,并在读取扇区时检查它。l 进行坏扇区的重映射。硬盘容量 = 柱面数 (表示每面盘面上有几条磁道,一般总数是1024) 磁头数(表示盘面数) 扇区数(表示每条磁道有几个扇区,一般总数是64) 扇区(存储基本单元,大小一般为512B/4KB)5.一次磁盘访问(I/O)的时间包括寻道时间(占时多)、定位时间(中)和读取时间(小),相互关系。6.磁盘块存取的优化方法。(调度那些,双缓冲,什么鬼)(填空,简答)n 在主存储器中对块进行缓冲以减少块的读写次数n 按

4、柱面组织数据n 使用多个磁盘n 磁盘镜像n 磁盘臂调度- 电梯算法n 利用非易失性RAM作为写缓冲n 预读和双缓冲n 日志磁盘7.RAID具有提高性能和提高可靠性能两方面的作用。(填空题)Redundant Arrays of Inexpensive Disks价格上,大量廉价的磁盘比少量昂贵的大磁盘合算得多性能上,使用大量磁盘可以提高数据的并行存取可靠性上,冗余数据可以存放在多个磁盘上,因此一个磁盘的故障不会导致数据丢失RAID级别RAID 0级:块级拆分,无冗余RAID 1级:带块级拆分的磁盘镜像RAID 2级:内存风格的纠错码组织结构RAID 3级:位交叉的奇偶校验组织结构RAID 4级

5、:块交叉的奇偶校验组织结构RAID 5级:块交叉的分布奇偶校验位的组织结构RAID 6级:P+Q冗余方案8.重点掌握RAID4(块级拆分,奇偶校验)、RAID5(块级拆分,)和RAID6(提供两个冗余盘,允许两个盘出现故障)优缺点(填空简答)RAID 4假定:有4个数据盘和一个冗余盘读出数据,与从任何一个磁盘读块没有差别;写数据需要2次磁盘读和2次磁盘写操作。RAID 5将数据和奇偶校验位都分布到所有的N+1个磁盘上;对每个块,一个磁盘存储奇偶校验位,其余磁盘存储数据例如由5个磁盘组成的阵列,第n块的奇偶校验位存储在第(n mod 5)+1上,其余4个磁盘的第n块存储了对应这个块的实际数据奇偶

6、校验块不能和这个块对应的数据存储在同一个磁盘上所有磁盘都参与对读请求的服务,而RAID 4中奇偶校验磁盘不参与读操作RAID 5包容了RAID 4,同时在相同成本下,提供了更好的读写性能RAID 6类似于RAID 5,存储了额外的冗余信息不采用奇偶校验位的方法,使用类似Reed-Solomon码的编码对每4位数据存储2位冗余信息可以容忍两个磁盘发生故障9.缓冲区管理工作流程。(还有数据结构,填空简答)数据结构和流程:每个frame包括:pin_count,dirtypin_count:正在访问该frame的事务的个数Dirty:已经被修改过的Frame请求处理的流程查看Buffer pool是

7、否包含此页,如没有,则找一个pin_count为0的frame,pin_count+如dirty为true,则将其写入磁盘将相应的页读入此frame将frame的地址返回10.文件中定长纪录的组织方法,纪录id(页号,块号)的组成。11.文件中变长纪录的组织方法,纪录id(页号,块号,块内起始地址,长度)的组成。(填空)12.文件中组织纪录的几种方法:堆文件组织、顺序文件组织、散列文件组织、聚簇文件组织。(填空)堆文件组织(heap file organization) 一条记录可以放在文件中的任何地方,只要有空间存放这条记录。记录是无序的。通常一个关系是一个单独的文件。顺序文件组织(sequ

8、ential file organization) 记录根据“搜索码”的值顺序存储。散列文件组织(hashing file organization) 在每条记录的某些属性上计算一个散列函数。散列函数的结果确定了记录应该放到文件的哪个块中。聚簇文件组织(clustering file organization) 几个不同关系的记录存储在同一文件中(通常用一个文件存储一个关系的记录。)甚至不同关系中的相关记录存储在相同的块中,于是一个I/O操作可以从多个关系中取到相关记录。13.顺序文件组织中,为什么在进行大量插删改后需要重组?(溢出块溢出表里)(简答题)索引顺序文件上的修改动作:创建或删除一个

9、空存储块创建或删除一个溢出块插入一条记录到一个空块中删除记录将记录移动相邻的块中14.索引是支持对于所要求的数据进行快速定位的附加的数据结构。聚集索引与非聚集索引稠密索引与稀疏索引多级索引(填空)15.B+树的树结点的大小一般取块的大小。16.B+树的查询及构造方法,插入、删除方法,效率。(简答,问答)17.动态散列索引的实现原理(可扩充散列,实现方法,桶分裂)(简答,问答)思想原理:动态散列技术允许散列函数动态改变,通过桶的合并和分解实现数据库的增大或缩小的需求,这样既继承了散列高效查找效率又保持了良好的空间压缩率。 动态散列是逐步扩充散列值的位数来构造索引,它通过位比较来实现散列值的定位,

10、这种比较方式计算机通过几个CPU机器指令即可实现,故它的效率很高。18.在位图索引中,从位向量得到压缩编码位向量的方法以及从压缩编码位向量重新构造实际的位向量的方法(填空)K.O.19.位图索引的构造及维护方法(简答)K.O.20.查询优化是为关系代数表达式的计算选择最有效的查询计划的过程。(填空题)21.选择运算算法及代价分析(主要考虑带有B+树索引的情况)(填空题,分析题)22.外部排序的算法(初始归并段的数目、归并的趟数)及代价分析(填空题,多空)23.各种连接算法的实现及其代价分析(块嵌套循环连接算法、散列连接算法、排序-归并连接算法)(占比例高,分析题)24.对于基于主码、外码连接的

11、情况:结果集的元组数等于外码所在表的元组数。(填空题)25.为什么要进行结果集大小的估计?(判断要不要用索引)26.DBMS中存储的统计信息(最大最小值,分布情况什么鬼)的作用是什么?(制定执行计划时,计算代价需要)(简答题)27.启发式优化的步骤。(简答题)28.事务的ACID特性,以及分别有什么机制保证(填空题)事务定义:事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位,例如银行转帐。SQL中事务的定义:事务以Begin transaction开始,以Commit work或 Rollback work结束。Commit work表示提交,事

12、务正常结束Rollback work表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态事务特性(ACID):原子性(Atomicity):事务中包含的所有操作要么全做,要么全不做;原子性由恢复机制实现一致性(Consistency):事务的隔离执行必须保证数据库的一致性事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态数据库的一致性状态由用户来负责,由并发控制机制实现隔离性(Isolation):系统必须保证事务不受其它并发执行事务的影响对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行隔离性通过并发控制机制实现

13、持久性(Durability):一个事务一旦提交之后,它对数据库的影响必须是永久的系统发生故障不能改变事务的持久性持久性通过恢复机制实现29.事务可串行化的判断一般采用优先图来实现,优先图的构造方法及可串行化的判断方法。(什么鬼图,有没有环可不可串行化)(填空)可串行化:若调度S与一个串行调度的执行有相同的效果,则称调度S是可串行化的。冲突可串行化: 视图可串行化:如果某个调度视图等价于一个串行调度,则称该调度是视图可串行化的,冲突可串行化调度一定是视图可串行化的,存在视图可串行化但非冲突可串行化的调度。30.死锁(产生)及其解决方法(填空)死锁:如果系统中存在一个事务集,集合中的每个事务在等

14、待该集合中的另一个事务所锁住的数据项,则称系统处于死锁状态。处理死锁的两种主要方法:n 死锁预防:采用死锁预防协议保证系统永不进入死锁状态1:对加锁请求加以限制2:强占与事务回滚n 死锁检测与死锁恢复:允许系统进入死锁状态,然后进行检测和恢复。-死锁恢复选择牺牲者:应使事务回滚带来的代价最小。影响事务回滚代价的因素:事务已计算了多久,在完成之前还将计算多长时间, 事务已使用了多少数据项,为完成事务还需使用多少数据项,回滚时将牵涉多少事务回滚:彻底回滚,或只回滚到可以解除死锁处。基于超时的机制:一种介于死锁预防与死锁检测之间的折中的机制。31.锁表结构(散列表?)及其工作原理(在申请加锁,释放锁

15、是怎样的)(简答题,问答)封锁的实现 锁管理器中重要的数据结构:锁表(lock table)。n 为目前已加锁的每个数据项维护一个链表,链表中每一个记录表示对该数据项的一个加锁请求。记录按请求到达的顺序排序。n 链表中的每个记录主要包括如下内容:哪个事务提出的请求,请求的锁类型,该请求是否已被授予锁。n 采用一个以数据项名称为索引的散列表作为链表入口。锁管理器工作方式n 当一个封锁请求到达时,如果相应数据项的链表存在,则在该链表末尾增加一个记录,否则新建一个仅包含该请求的链表。(数据项上的第一次加锁请求总是被授予,但当事务向已被加锁的数据项申请加锁时,只有当该请求与先前请求相容,并且所有先前的请求都已被授予锁的条件下,锁管理器才为该请求授予锁,否则令请求等待。)n 当收到一个事务的解锁消息时,则将相应的链表记录删除,然后检查随后的记录,如果有正在等待的封锁请求,则看该请求能否被授权,如果能,则授权该请求并处理其后记录,如果还有,类似地一个接一个的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号