高级数据库系统及其应用课后习题参考答案

高级数据库系统及其应用课后习题参考答案

ID:16094405

大小:5.76 MB

页数:53页

时间:2018-08-07

高级数据库系统及其应用课后习题参考答案_第1页
高级数据库系统及其应用课后习题参考答案_第2页
高级数据库系统及其应用课后习题参考答案_第3页
高级数据库系统及其应用课后习题参考答案_第4页
高级数据库系统及其应用课后习题参考答案_第5页
资源描述:

《高级数据库系统及其应用课后习题参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章数据存储与组织管理4.1简要回答以下问题。(1)描述磁盘空间管理器的主要作用,并说明它与OS文件系统的关系。(2)解释关系数据库系统中关系表与文件的关系。(3)如果有一个大文件需要频繁执行顺序扫描,那么,为该文件选择哪种页存储方式最合适?(4)分别描述持久化指针解引用(dereference)和指针混写的这两个基本过程,它们之间有何联系?(5)说明排序文件中的记录及页的基本存储组织方式。(6)解释缓冲区管理器处理一个读页请求的过程。如果被请求页位于缓冲池但未被闩住(pinned),那么情况会怎样?缓冲区管理器何时写一

2、个磁盘页?(7)一个缓存页被闩住(bepinned)意味着什么?一般由谁负责给缓存页上闩,由谁负责给缓存页解闩?(8)当一个页请求发生时,如果缓冲池中所有页都是脏页,将会发生什么?(9)与OS缓存管理相比,DBMS缓冲区管理器具有那些独特的重要能力?(10)什么是预取?解释为什么这种策略很重要。(11)描述两种可能的记录格式,并指明它们的优缺点。(12)描述两种可能的页格式,说明它们优缺点和适用场合。【解答】(1)磁盘空间管理器支持以页(page)为单位的数据管理,隐藏了下层硬件(甚至包括OS文件管理)的细节,且允许高层软

3、件认为DB数据是一系列以页为单位的磁盘数据集合,是DBMS体系结构中最低层的软件模块。DB系统的磁盘空间管理器通常按三种方式来应用OS的文件管理功能:n将整个DB存储在一个或几个磁盘文件中,调用OS功能实现流式文件的磁盘R/W。n让OS分配给DB系统一个或几个大的OS文件,然后自己管理(读/写)这个文件。n完全自己来管理磁盘。(2)通过磁盘空间管理器,可将DB中的“关系”映射到“关系数据文件”,这种“文件”既可能是实际的OS文件,也可能只是一个虚拟的OS文件。一些小规模的DB系统实现甚至可能将关系直接存储在单独的OS文件中

4、。但更多的现代大型DB系统,则是把所有关系都集中存储在一个或几个大文件中的复杂结构。这时,我们仍然可在概念上认为每个关系被存储在一个“虚拟文件”中。(3)这时选用堆文件的页存储方式最合适。当不需要检索特点的记录,而只是全文件顺序扫描时,选用堆文件的页存储方式最合适,因为这种情况不需维护顺序,插入插入与删除操作很直接,代价较小,另外,也不需要数据本身之外的额外存储空间和辅助索引文件。(1)存取数据库记录/数据页要用到两种类型指针:内存指针与数据库地址(持久化指针)。根据给定的指针或地址寻找目标对象的过程,称为解引用。给定一个

5、内存指针,查找对象本质上只是对内存单元的一个引用(C语法:*指针名)。给定一个持久化指针,解引用一个对象需要额外的步骤,即需先在“转换表”中查找持久化指针所代表对象的实际内存地址。如果指针所指对象不在内存,则必须从磁盘把它载入,并在转换表中添加新映射项。与内存指针解引用相比,即使转换表中有映射项,通过转换表实现解引用仍是一个慢过程。指针混写是一种减少定位已在内存中持久对象所需代价的方法。其基本思想是,当一个主存中对象/记录所含的持久指针第一次解引用时,这个持久指针所指向的目标对象被定位――如果它不存在内存中,就将它载入内存

6、并同时在转换表中添加一个新的映射项。然后,将存放该持久指针的内存单元,直接修改为目标对象的内存位置指针。下一次同一持久化指针再次被解引用时,就可以直接使用内存引用,从而可避免重复转换内存地址的过程开销。显然,指针混写包含了持久化指针解引用过程,但前者比后者多了一个在主存中同一位置来回修改“持久化指⇔针内存指针”过程。指针混写能降低持久化化对象解引用的过程。(1)排序文件是指按指定的键排序记录集的一种文件组织。虽然在辅存中严格按排序顺序先后安排文件中记录存储,能显著提高记录集检索性能,但这样做的维护代价太大,DB系统一般并不

7、这种做,通常是指针把记录按顺序链接起来。删除记录时仅做标记并留下空位,暂不移动其它记录;而在插入时,相应位置即使没有空位,也暂时不移动其它记录来腾出位置,而是引入溢出页。对排序文件,页内的记录索引项或目录项通常是严格按顺序的。另外,记录链接自动隐含了页间链接。(2)缓冲区管理器执行读页请求的基本过程如下:n检查DB缓冲池中是否存在该请求页,如果该页不在DB缓冲池中,则进一步执行以下一些操作。n基于置换策略,选择一个可被置换的frame,将该frame的pin_count计数加1。n如果该frame中原先页被修改过(即dir

8、ty=1),则将原先页写回磁盘。n从磁盘读入新请求页到该frame中,同时置dirty=0。n返回包含请求页的frame地址给请求者。如果被请求页位于缓冲池但未被闩住(pinned),那么该页不会被替换,即没有新页可被读入该页所占据的页框。当一个缓存页已被修改过(dirty位置1),且该页未上闩,所占据

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

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

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