数据库系统实现部分习题参考 答案

上传人:n**** 文档编号:37525171 上传时间:2018-04-17 格式:DOCX 页数:29 大小:472.95KB
返回 下载 相关 举报
数据库系统实现部分习题参考 答案_第1页
第1页 / 共29页
数据库系统实现部分习题参考 答案_第2页
第2页 / 共29页
数据库系统实现部分习题参考 答案_第3页
第3页 / 共29页
数据库系统实现部分习题参考 答案_第4页
第4页 / 共29页
数据库系统实现部分习题参考 答案_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《数据库系统实现部分习题参考 答案》由会员分享,可在线阅读,更多相关《数据库系统实现部分习题参考 答案(29页珍藏版)》请在金锄头文库上搜索。

1、习题 2.2.1 M M egatronegatron 777777 磁盘具有以下特性:磁盘具有以下特性: 1 1)有)有 1010 个盘面,每个盘面有个盘面,每个盘面有 100000100000 个磁道。个磁道。 2 2)磁道平均有)磁道平均有 10001000 个扇区,每个扇区为个扇区,每个扇区为 10241024 字节字节 3 3)每个磁道的)每个磁道的 20%20%被用于间隙。被用于间隙。 4 4)磁盘旋转为)磁盘旋转为 1000010000 转转/min/min。 5 5)磁头移动)磁头移动 n n 个磁道所需要的时间是个磁道所需要的时间是 1+0.0002n1+0.0002n ms

2、ms。 回答下列有关回答下列有关 Megatron777Megatron777 的问题。的问题。 a a)磁盘的容量是多少?)磁盘的容量是多少? b b)如果磁道是在直径)如果磁道是在直径 3.53.5 英寸的圆面上,那么一个磁道的扇区中的平均位密度英寸的圆面上,那么一个磁道的扇区中的平均位密度 是多少?是多少? c c)最大寻道时间是多少?)最大寻道时间是多少? d d)最大旋转等待时间是多少?)最大旋转等待时间是多少? e e)如果一个块是)如果一个块是 6553665536 字节(即字节(即 6464 扇区)扇区) ,一个块得传输时间是多少?,一个块得传输时间是多少? f f)平均寻道时

3、间是多少?)平均寻道时间是多少? g g)平均旋转等待时间是多少?)平均旋转等待时间是多少?参考答案:a) 磁盘容量=盘面数*磁道数*扇区数*扇区容量 =10*100000*1000*1024 字节 =210*109字节 注释:已知 1)有 10 个盘面,每个盘面有 100000 个磁道。 2)磁道平均有 1000 个扇区,每个扇区为 1024 字节.b) 一个磁道存放存放 1000*1024*8=8192000bits. 直径为 3.5 英尺那么中间磁道直径为 3.5/2(英寸) 中间扇区所占的周 长是 80*3.5/2(英寸)所以,每个磁道的扇区中的平均密度是 注释: 已知: 2)磁道平均

4、有 1000 个扇区,每个扇区为 1024 字节.3)每个磁道的 20%被用于间隙. c) 最大寻道时间是磁头跨越全部柱面所花费的时间。即 1+0.0002*99999=20.9998ms 已知: 1)有 10 个盘面,每个盘面有 100000 个磁道。 5)磁头移动 n 个磁道所需要的时间是 1+0.0002n ms。 d) 最大旋转等待时间是磁头旋转一圈的时间。即 1/(10000/60)= 6ms 已知: 4)磁盘旋转为 10000 转/min。e) 该块占用 64 个扇区,为此,磁头必须越过 64 个扇区和扇区之间的 63 个间 隙。由于间隙合在一起占 72 度圆弧,而扇区覆盖剩余 2

5、88 度圆弧,则被它 们覆盖的圆弧的总度数为: 72*(63/1000)+288*(64/1000)=22.968 则传输 时间是(22.968/360)*0.6ms=0.03828ms 已知: 3)每个磁道的 20%被用于间隙。 2)磁道平均有 1000 个扇区 。 d)中最大旋转等待时间为 6ms。 f) 磁头行进的平均距离是跨越柱面的 1/3,则平均寻道时间是: 1+0.001*(100000/3)=34.33ms g) 平均旋转等待时间为磁盘旋转半周所需时间: (1/2)*6ms=3msExercise 2.2.1(a)The disk has 10 * 10,000 = 100,00

6、0 tracks. The average track has 1000 * 512 = 512,000 bytes. Thus, the capacity is 51.2 gigabytes.Exercise 2.2.1(c)The maximum seek time occurs when the heads have to move across all the tracks. Thus, substitute 10,000 (really 9999) for n in the formula 1+.001n to get 11 milliseconds.Exercise 2.2.1(d

7、)The maximum rotational latency is one full revolution. Since the disk rotates at 10,000 rpm, it takes 1/10000 of a minute, or 1/167 of a second to rotate, or about 6 milliseconds.2.4.1 计算下列位序列的奇偶校验位: a)00111011。 b)00000000。 c)10101101。 解: 定义定义:如果有奇数个数据盘的第 j 位为 1,在冗余盘中,我们选取位 j 为 1,;如果在数据盘 中的第 j 位有偶数

8、个 1,我们选取冗余盘的位 j 为 0。 即:有奇数个 1,为 1;有偶数个 1,为 0。0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 - 1 0 0 1 0 1 1 0习题 2.4.9 如果我们有例 2.13 的 RAID6 级方案,4 个数据盘的块分别为 00110100、11100111、01010101 和 10000100。 a) 冗余盘的相应块是什么? b) 如果第 3 个盘的块被重写成 01111111,必须采取哪些步骤以改变其他盘? 注例 2.13 内容: 假设块只有 8 位长,并且关注在我们的 RAID6 级示例中用到的 7

9、个磁盘的第一块。首先, 假设数据盘和冗余盘的第一块的内容如图 2-11 所示。请注意,盘 5 的块是前 3 个盘的块模 2 和,第 6 行是行 1、2、4 的模 2 和,而最后一行是行 1、3、4 的模 2 和。磁盘内容数据块 1)11110000 2)10101010 3)010101014)10000100冗余块 5)011000106)00011011 7)10001001图 2-11 所有磁盘的第一块 答案: a)前 4 个盘是数据盘,盘 57 是冗余盘. 盘 5 的块是前 3 个盘的块的模 2 和, 盘 5 块是 10000110; 盘 6 是盘 1,2 和 4 的模 2 和, 盘

10、6 块是 01010111; 盘 7 是盘 1,3,4 的模 2 和, 盘 7 块是 11100101。磁盘内容数据块 1)00110100 2)11100111 3)010101014)10000100冗余块 5)100001106)01010111 7)11100101b)如果第 3 个盘的块被重写成 01111111,求这个序列和序列 01010101(该块的旧值)的模 2 和,则得到 00101010;其中为 1 的位为 3、5、7,所以只要对冗余块 5 和 7 的 3、5、7 位 取反,故盘 5 和盘 7 的重写值分别为 10101100、11001111。磁盘内容数据块 1)001

11、101002)11100111 3)011111114)10000100冗余块 5)101011006)01010111 7)110011112.4.10RAID 6 方案方案 从磁盘崩溃中恢复从磁盘崩溃中恢复 使用足够多的冗余盘处理多个磁盘的崩溃使用足够多的冗余盘处理多个磁盘的崩溃,例如,基于海明码的纠错技术例如,基于海明码的纠错技术 7 个盘,其中个盘,其中 14 为数据盘,为数据盘,57 为冗余盘。数据盘与冗余盘之间的关系由一个为冗余盘。数据盘与冗余盘之间的关系由一个 3 7 矩阵矩阵 描述如下:描述如下:1.盘盘 5 的位是盘的位是盘 1,2,3 相应位的模相应位的模 2 和。和。 2

12、.盘盘 6 的位是盘的位是盘 1,2,4 相应位的模相应位的模 2 和。和。 3.盘盘 7 的位是盘的位是盘 1,3,4 相应位的模相应位的模 2 和。和。 习题习题 2.4.10 假设块只有假设块只有 8 位长,采用带有位长,采用带有 7 个磁盘的个磁盘的 RAID 6 级方案,描述从下列故障中级方案,描述从下列故障中 恢复所要采取的步骤:恢复所要采取的步骤: a)盘盘 1 和盘和盘 4; b)盘盘 1 和盘和盘 7; c)盘盘 2 和盘和盘 5。 2.5.1假设一条记录有如下所示顺序的字段:一个长度为15的字符串,一个2字节整数, 一个SQL2日期,一个SQL2时间(无小数点) 。如果 a

13、)字段可在任何字节处开始; b)字段必须在4的倍数的字节处开始; c)字段必须在8的倍数的字节处开始; 这条记录占用多少个字节? First, note that SQL2 dates require 10 bytes, and SQL2 times require 8 bytes if there is no decimal point; this material is in Section 3.1.3. a) The bytes requirsed by each of the fields is 15 + 2 + 10 + 8 = 35. b) Round each of the fo

14、ur field lengths up to a multiple of 4, to get 16 + 4 + 12 + 8 = 40. c) Round up again, to a multiple of 8, to get 16 + 8 + 16 + 8 = 48.首先,请注意SQL2日期需要10个字节,SQL2次需要8个字节(没有小数点) ,点,这种材料 是在3.1.3节。 A)由每个字段需要的字节是15+2+10+8=35。 B)每此循环的四个字段长度为4的倍数,即所有字段长度为4的倍数,得到16+ 4 +12+8=40。 C)再次循环,到 8 的倍数,即所有字段长度为 8 的倍数,

15、得到 16+8+16+8= 48。2.6.5采用如习题 2.6.4 一样的 RAID4 级方案,假设数据盘 1 有故障。在下列情况下恢复该磁盘的 块:a)盘 2盘 4 的内容为 01010110、11000000 和 00111011,同时冗余盘保存着 11111011。 b)盘 2盘 4 的内容为 11110000、11111000 和 00111111,同时冗余盘保存着 00000001。 答案: a、磁盘 1 的内容:0 1 0 1 0 1 1 0 b、磁盘 1 的内容:0 0 1 1 0 1 1 02.6.7如果我们有例2.22的RAID6级方案,4个数据盘的块分别为 00111100

16、、11000111、01010101和10000100。 a)冗余盘的相应块是什么? b)如果第三个盘的块被重写成10000000,必须采取哪些步骤以改变其他盘? 答案:RAID6级方案,4个数据块,3个冗余块(第1对应数据块123的模2和,第2对应124的 模2和,第3对应134的模2和)a数据块 100111100211000111301010101410000100冗余块 110101110201111111311101101b 原第三块01010101与重写块10000000模2和为11010101,其中为1的位为1、2、4、6、8 所以只要对冗余块1、2块的1、2、4、6、8位求反得01111011,10101010习题 3.1.1 假定一个存储块可存放 5 个记录,或 20 个键-指针对。已知有 n 个记录,如果表示成 n 的 函数,创建以下两种数据文件各需要多少个数据块:a)稠密索引;b)稀疏

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

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