存储技术与数据库物理设计
(总分78, 做题时间90分钟)
一、选择题
1. 
以下哪些不能作为一个基本表建立索引的原则______。
A 对于经常需要进行查询、连接、统计操作的基本表可考虑建立索引
B 经常执行插入、删除、更新操作的基本表可考虑建立索引
C 对于一个更新不频繁的表
D 索引可以由用户根据需要随时创建或删除,以提高数据查询性能
2. 
以下关于文件记录格式叙述错误的是______。
A 数据库文件通常采用两种逻辑记录格式:定长记录格式和变长记录格式
B 定长记录格式的数据库文件中,所有记录具有相同、固定的长度
C 一个文件存储了多种不同类型的记录时需要采用定长记录格式
D 文件记录中某个字段可以重复出现时需要采用变长记录格式
3. 
利用索引技术(Indexing)支持快速文件访问的文件组织和存取方法的文件结构是______。
A 堆文件
B 聚集文件
C 索引文件
D 散列文件
4. 
不同的DBMS和操作系统的存储配置参数通常包括______。    ①数据库配置参数    ②磁盘块使用参数    ③内存缓冲区参数    ④时间片大小    ⑤装填因子    ⑥锁的数目
A ①②③④⑥
B ①③④⑤⑥
C ①②③⑤⑥
D ①②③④⑤⑥
5. 
以下关于顺序文件及其操作叙述错误的是______。
A 顺序文件按照文件记录在查找码上的取值的大小顺序排列各个记录
B 顺序文件的每个记录中有一个指针字段
C 如果查询条件定义在非查找码上,可以使用二分查找技术快速找到满足条件的记录
D 访问方式与堆文件访问方式相同,顺序文件的访问效率也不高
6. 
设商场业务系统中有销售单据表(销售单据号,收款员,销售时间),销售明细表(销售明细条目号,销售单据号,商品号,数量,单位,金额)和商品表(商品号,商品名,价格)。该系统业务繁忙,保存的数据量非常大,每次换班时要统计收款员的收入总额,每天停业后要统计各个商品的当天销售量,销售过程中经常需要查询某笔销售业务的情况。为了优化系统性能,下列优化方案合理的是______。
A 在销售单据表的收款员属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引
B 在销售单据表的销售单据号属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天镑售汇总表,在每笔销售成交后分别累计统计相应数据
C 在销售单据表的销售时间属性和收款员属性上分别建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计统计相应数据
D 在销售单据表的销售单据号属性和收款员属性上分别建立聚集索引,在销售明细表的商品号属性上建立聚集索引
7. 
从数据库物理结构角度不需要解决的问题是______。
A 文件的组织
B 文件的结构
C 索引技术
D 文件的维护
8. 
数据文件中的每个查找码值在索引文件中都对应一个索引记录的索引是______。
A 稀疏索引
B 聚集索引
C 稠密索引
D 非聚集索引
9. 
数据字典是数据库管理系统的重要组成部分,其中存储的各类信息通常由______。
A 数据库管理员维护
B 程序员维护
C 数据库管理系统维护
D 一般用户维护
10. 
下面关于数据分布设计的说法错误的是______。
A 数据库备份数据用于故障恢复,使用频率低的情况,可以存储在磁带中
B 应用数据使用频繁,要求的响应时间短,必须放在磁带上
C 索引和日志则使用频繁,必须放在支持直接存取的磁盘存储介质上
D 日志文件备份数据用于故障恢复数据量很大,可以存储在磁带中
11. 
设有某种文件,当向其中插入一条新记录时,首先读文件头,找到最末磁盘块的地址后将最末磁盘块读入内存缓冲区,在缓冲区内将新插入记录写入该数据块的末尾。然后将缓冲区中修改过的数据块作为最末磁盘块写回磁盘文件,以这种方式组织的文件被称为______。
12. 
数据库文件结构包括堆文件、索引文件和散列文件等几种形式,利用哈希函数实现对数据库快速访问的文件结构是______。
A 顺序文件
B 聚集文件
C 索引文件
D 散列文件
13. 
下述关于关系表的相关信息中,不属于元数据、不会存储在数据字典中的是______。
A 属性的名字和类型信息
B 表上的授权信息
C 表中的一个元组
D 定义在表上的索引类型
14. 
考虑一个关系表和建立该表上的一个索引,如果该表中的数据记录的排序顺序与该索引的索引项的排序顺序一致,则该索引是______。
A 聚集索引
B 非聚集索引
C 稠密索引
D 辅助索引
15. 
具有多种记录类型文件,它存储了来自多个关系表的数据,每个关系表对应文件中的一种记录类型是______。
A 顺序文件
B 聚集文件
C 索引文件
D 散列文件
16. 
数据库技术为大量数据的组织和存储,以及数据的操纵、管理与维护提供了有力的方法和工具。有下列说法:    Ⅰ.与用户自定义文件存储数据的方式相比,数据库不仅能存储数据,还能方便地表达数据之间的关系    Ⅱ.数据库管理系统一般情况下只提供通用的数据处理功能,不提供面向具体应用领域的业务处理功能    Ⅲ.数据页(块)是数据库中存储数据的基本单位,为了提高空间利用率,SQL Serer2000等数据库管理系统允许一行数据跨页存储    Ⅳ.利用数据库技术,可以提高数据的独立性,使数据不再与应用程序紧密地捆绑在一起,实现数据在企业、组织或更大范围内的共享    Ⅴ.数据字典是数据库管理系统的重要组成部分。大部分数据库管理系统的数据字典是由一组系统表和系统视图组成的,这些对象一般由数据库管理系统和数据管理员共同维护    以上说法错误的是______。
A 仅Ⅰ和Ⅲ
B 仅Ⅱ和Ⅳ
C 仅Ⅲ和Ⅳ
D 仅Ⅳ和Ⅵ
17. 
在数据库物理设计阶段,使用聚集文件组织数据可以提高一些查询的效率。下列关于聚集文件和聚集键的描述错误的是______。
A 聚集文件将不同关系表中有关联关系的记录存储在一起,以减少系统的物理I/O次数
B 聚集键应该选用频繁用于进行自然连接的属性或属性组
C 聚集文件可以提高某些连接查询的速度,但是它可能导致其他类型的查询处理变慢
D 关系表中某个属性的数据重复率越高,越适合做聚集键
18. 
在数据库物理设计阶段,需要考虑为关系表建立合适的索引,关于建立索引的描述,有下列说法:    Ⅰ.对于经常在其上需要执行查询操作并且数据量大的表,可以考虑建立索引    Ⅱ.对于经常在其上需要执行插入、删除和更新操作的表,可以考虑建立索引    Ⅲ.对于经常出现在where子句中的属性,可以考虑建立索引    Ⅳ.对于经常出现在order by子句、group by子句中的属性,应尽量避免建立索引    上述说法正确的是______。
A Ⅰ、Ⅱ和Ⅲ
B Ⅰ、Ⅱ和Ⅳ
C Ⅰ和Ⅲ
D Ⅱ和Ⅳ
19. 
索引文件按其查找码指定的顺序与数据文件中数据记录的排列顺序不一致,则该索引文件称为______。
A 稀疏索引
B 聚集索引
C 稠密索引
D 非聚集索引
20. 
利用散列函数(Hash函数,也称为哈希函数)支持快速文件访问的文件组织和存取方法的文件结构是______。
A 堆文件
B 聚集文件
C 索引文件
D 散列文件
21. 
下面关于为基本表建立索引的说法正确的是______。
A 表的候选码
B 在where查询子旬中引用率较低的属性
C 未参与连接操作的属性
D 在order by子句中出现的属性
22. 
以下说法错误的是______。
A 文件可以组织为散列文件
B 散列函数的输入为文件记录的查找码值
C 散列函数的输出可以是桶号
D 桶可以是磁盘块,但不可以是比磁盘块大的空间
23. 
某大型超市的数据库应用系统中,设有下列数据:    Ⅰ.商品清单    Ⅱ.DBMS中的数据字典    Ⅲ.商品销售细节数据    Ⅳ.数据库结构说明文档    Ⅴ.前端应用程序报表中数据项的定义及说明文档    Ⅵ.商品分类销售汇总数据    以上数据中,一般属于元数据的是______。
A 仅Ⅰ和Ⅲ
B 仅Ⅱ和Ⅲ
C 仅Ⅰ和Ⅳ
D 仅Ⅰ和Ⅱ
24. 
以下关于数据库与文件的对应关系叙述错误的是______。
A 在外存中,数据库以文件形式组织,文件由逻辑记录组成,记录由多个域组成
B 关系表在逻辑上由一系列元组组成,元组由多个属性组成
C 每个元组可以用数据库磁盘文件中的一个逻辑记录来存储,记录包括多个域
D 元组的每个属性对应于文件记录中的一个记录
25. 
给定如下数据:    Ⅰ、商品销售数据
A 商品标识
B 价格
C 数量
D 金额
E 销售时间
F 1
G 50.00
H 5
I 100
J 2008/01/01 2:3010
K 2
L 3.00
M 2
N 6
O 2008/01/01 2:30:10
P …
26. 
在数据文件的非主属性上建立的索引称为______。
A 稀疏索引
B 聚集索引
C 稠密索引
D 辅助索引
27. 
以下关于桶溢出的说法错误的是______。
A 如果某个桶内已装满记录,又有新的记录要插入到该桶,就会产生桶溢出
B 桶溢出也称为散列碰撞
C 桶溢出的可能原因是文件初始设计时,为文件记录预留存储空间不足,预留的桶数偏少
D 桶溢出的可能原因是没有溢出处理机制
28. 
在数据文件包含主码的属性集上建立的索引称为______。
A 主索引
B 聚集索引
C 稠密索引
D 非聚集索引
29. 
下面关于基本表的派生属性及其分布说法错误的是______。
A 基本表中的派生属性(Derived Attribute)是指该属性的取值可根据表中其他属性的取值唯一确定
B 可以通过将派生属性作为基本表内单独一列来实现带有派生属性的基本表
C 可以通过派生属性不出现在基本表中来实现带有派生属性的基本表
D 派生属性与表中其他属性无任何关系
30. 
以下关于堆文件的删除操作叙述错误的是______。
A 堆文件的删除操作比较简单,在堆文件头存储它的最后一个磁盘块的地址
B 先找到被删除记录所在的磁盘块,然后将该磁盘块读到内存缓冲区
C 在缓冲区中删除记录,将缓冲区中修改后的磁盘块内容写回磁盘文件
D 如果文件是定长记录文件,当删除一个记录时,将文件末尾记录移动到被删除记录的位置,从而避免重新整理存储空间
31. 
以下关于数据的存储方式叙述错误的是______。
A 数据库中的应用数据是以记录形式存储在外设存储介质上的
B 文件在逻辑上被组织成记录的序列
C 一个文件在磁盘上占有一定的物理存储空间
D 文件中的每个逻辑记录被映射存储到某个特定的磁盘块上
32. 
在数据库中可用多种结构组织数据,散列文件是其中一种。关于散列文件,下列说法错误的是______。
A 为了防止桶溢出,在散列文件设计时,需要预留一些空间大小不固定的桶
B 用散列文件组织数据时,需要使用文件记录中的一个或多个域作为查找码
C 如果散列文件中散列函数的“均匀分布性”不好,可能会造成桶溢出
D 好的散列函数产生的存储地址分布应尽可能是随机的
33. 
索引文件按其查找码指定的顺序与数据文件中数据记录的排列顺序相一致,则该索引文件称为______。
A 稀疏索引
B 聚集索引
C 稠密索引
D 非聚集索引
34. 
以下关于文件的组织结构叙述错误的是______。
A 关系表在逻辑上由一系列元组组成
B 元组由多个属性组成
C 记录包括多个域
D 元组的每个属性对应于一条记录
35. 
下图是雇员表(雇员ID,姓名,年龄,部门)所对应的数据文件和索引文件示意图,其中雇员ID为主码。该索引属于______。
A 聚集、稀疏、辅索引
B 非聚集、稠密、主索引
C 聚集、稀疏、主索引
D 非聚集、稠密、辅索引
36. 
以下说法错误的是______。
A 散列技术一般使用桶作为基本的存储单位
B 好的散列函数地址的分布是均匀的、随机的
C 散列技术是一种快速查找技术
D 散列函数的输入为文件记录的查找码值,函数的输出为记录的逻辑地址
37. 
数据库在外存中是以文件形式组织的,组织文件记录方法的不同就形成了不同的文件结构。下列关于顺序文件结构及其存取效率的说法错误的是______。
A 顺序文件因其记录按照查找代码值升序或降序排列,当按照查找码的值顺序读取记录时其效率很高
B 当按照一定的条件对顺序文件进行查询时,如果查询条件定义在查找码上,可以使用二分查找技术快速找到满足条件的记录
C 由于需要保持文件中记录的顺序,因此顺序文件的插入和删除操作比较复杂,耗费时间也较多
D 对顺序文件进行条件查询时,如果查询条件没有定义在查找码上,其查找效率一般也会比无序文件高
38. 
对于基本表,下面一些属性上不可建立索引的是______。
A 在whete查询子句中引用率较高的属性
B 在order by子句、group by子句中出现的属性
C 在某一范围内频繁搜索的属性和按照排序顺序频繁硷索的属性
D 表的外码
39. 
以下关于单层索引叙述错误的是______。
A 单层索引也称为线性索引
B 单层索引中每个索引项直接指向数据文件中的数据记录
C 当数据文件很大时,即使采用稀疏索引,建成的索引文件也会很大,只能以顺序文件形式存放在磁盘上
单层索引的典型例子是数据库系统中广泛应用的B-树和B+-树索引
40. 
如果只是一部分查找码的值有对应的索引记录,则该索引称为______。
A 稀疏索引
B 聚集索引
C 稠密索引
D 非聚集索引
41. 
下面关于应用数据的划分与分布说法错误的是______。
A DDBS采用水平划分或垂直划分两种方法
B 水平划分将一张基本表划分为多张具有相同属性、结构完全相同的子表
C 垂直划分则是将一张基本表分解为多张子表,每张表包含的属性较少
D 垂直划分子表与原来的基本表的关系模式是一样的
42. 
下面关于为基本表选择合适的文件结构的原则错误的是______。
A 如果数据库中的一个基本表中的数据量很少、操作频繁,该基本表可以采用堆文件组织方式
B 顺序文件支持基于查找码的顺序访问,也支持快速的二分查找
C 如果用户查询是基于散列域值的等位匹配,散列文件比较合适
D 如果某些重要而频繁的用户查询经常需要进行多表连接操作,可以考虑将表组织为非聚集文件
43. 
以下关于聚集文件及其操作叙述错误的是______。
A 聚集文件是一种具有多种记录类型的文件
B 聚集文件存储了来自多个关系表的数据
C 聚集文件中每个关系表对应文件中的记录类型是相同的
D 聚集文件将不同关系表中有关联关系的记录存储在同一磁盘块内,从而减少数据库多表查询操作时的磁盘块访问次数,提高系统I/O速度和查找处理速度
44. 
以下叙述错误的是______。
A 索引文件是一种利用索引技术支持快速文件访问的文件组织和存取方法
B 利用索引文件可以根据查找码的值快速定位、访问文件记录
C 散列文件是一种利用散列函数(Hash函数,也称为哈希函数)支持快速文件访问的文件组织和存取方法
D 索引文件与散列文件的组织存取方法相同
45. 
______文件支持多种记录类型的存储,这种文件将来自多个关系表不同类型的记录存储在一起,可减少多表查询时磁盘的访问量,提高多表查询的效率。
46. 
将新插入的记录存储在文件末尾,并使记录随机地分布在文件物理存储空间中的文件结构是______。
A 堆文件
B 聚集文件
C 索引文件
D 散列文件
47. 
下面关于为基本表选择合适的文件结构的原则正确的是______。
A 如果数据库中的一个基本表中的数据量很大、并且插入、删除、更新等操作非常频繁,该基本表可以采用聚集文件组织方式
B 如果用户的查询条件定义在查找码上,则堆文件是比较合适的文件结构
C 散列文件组织不适合基于散列域值的精确查询
D 如果某些重要而频繁的用户查询经常需要进行多表连接操作,可以考虑将这些基本表组织为聚集文件,以改善查询效率
48. 
索引项根据键值在索引文件中的顺序排列,组织成一维线性结构,每个索引项直接指向数据文件中的数据记录,则该索引文件称为______。
A 稀疏索引
B 聚集索引
C 稠密索引
D 单层索引
二、设计题

某学校的学籍管理系统实现了对学生学籍信息的管理,其中学生表结构为:学生表(学号,姓名,性别,系号,是否有学籍),此表中除学号列有唯一索引外,其他列均无索引。
1. 
设学籍管理系统中经常执行如下形式的操作:
   SELECT*FROM学生表
   WHERE姓名='张三'AND系号='10'AND是否有学籍='有'
   系统运行中发现这类操作的效率比较低,系统工程师建议:由于查询条件中使用了“系号”、“姓名”和“是否有学籍”三列,建议在这三个列上分别建立索引,以提高查询效率。
   请问其建议建立的三个索引是否都能提高查询效率?请简要说明原因。
2. 
设学生表中有下列数据:
学号
姓名
性别
系号
是否有学籍
2008337
丁一
10
2008338
房彬彬
10
2008339
马宏伟
10
2008556
王斌
20
2008558
张伟
20
2008559
丁二
20
   并且已经在学生表的姓名列上建立了一个非聚集索引(按姓名拼音升序排序)。请给出查找码“姓名”对应的稠密索引示意图。
有两张关系表:
   Students(SID,SName,Sex,Dept)
   Prizing(SID,PName,Type,PDate)
   Students表描述的是学生基本信息,Prizing表描述的是学生获奖信息。
3. 
若在应用程序中经常使用如下查询语句:
   SELECT S.SID,SName,PNaxne,Type FROM Students AS S JOIN Prizing AS PON S.SID=P.SID
   请问能否使用聚集文件提高此查询的性能?并给出原因。
4. 
为了提高查询性能,数据库管理员在Students表的SName列上建立了一个非聚集索引SName_ind。如果应用程序使用如下语句查询数据:
   SELECT*FROM Students WHERE SNmne like‘%华’
   请问SName_ind索引是否能够提高语句的查询速度,并给出原因。
下图为关系表Students(专业,姓名,学号,年龄)在对应的数据文件中的物理存储结构示意图:
专业
姓名
学号
年龄
电子
张家力
D-002
19
计算机
苏永军
J-100
18
自动化
邓秀娟
Z-058
23
计算机
叶浩伟
J-206
21
5. 
写出“专业”属性上建立聚集索引的SQL语句,索引值按升序排序(索引名为ZY_inD) ;
6. 
假设索引按稠密索引方式组织数据,画出在“专业”属性上建立聚集索引后该表对应的索引文件和数据文件的物理存储结构示意图(以“专业”为查找码,按查找自定义的首字母升序排序)。
答题卡