数据库原理选择题精选
数据库原理选择题(第二组 10道)
1. 在数据库查询优化中,系统通常先进行( )优化,再进行( )优化。
A. 代数,物理
B. 物理,代数
C. 语义,句法
D. 句法,语义
答案:A
解析:查询优化通常分为两步:代数优化(逻辑优化),基于关系代数等价变换规则(如选择、投影提前)对查询树进行重构;物理优化,为逻辑查询计划选择高效的存取路径和底层操作算法(如选择索引、连接顺序)。
2. 关系模式R(A, B, C, D)中,存在函数依赖:AB→C, C→D, D→A。则该关系模式的候选键是( )。
A. AB
B. AB和BC
C. AB和BD
D. BC和BD
答案:D
解析:求候选键即寻找能函数决定所有属性的最小属性集。计算闭包:
- (BC)+ = B, C, D (由C→D), A (由D→A) => 包含ABCD,故BC是候选键。
- (BD)+ = B, D, A (由D→A), C (由AB→C,但A已包含) => 包含ABCD,故BD是候选键。
AB也能推出所有属性,但AB不是最小的,因为B是冗余的(BC已足够)。
3. 下列哪一项不是数据库事务可能遇到的并发问题?( )
A. 活锁
B. 死锁
C. 脏读
D. 缓冲区溢出
答案:D
解析:活锁、死锁、脏读(以及不可重复读、幻读)都是事务并发执行时可能产生的典型问题。缓冲区溢出是计算机系统或程序中的一种安全或资源问题,并非数据库并发控制特有的概念。
4. SQL语句SELECT COUNT(DISTINCT Dept) FROM Employee;的作用是( )。
A. 统计Employee表中Dept列的非空值数量
B. 统计Employee表中Dept列的不同值的数量
C. 统计Employee表的行数
D. 统计Employee表中每个Dept值的出现次数
答案:B
解析:COUNT(column)统计该列非空值的行数。DISTINCT Dept表示先对Dept列去重,COUNT再统计去重后的数量,因此结果是Dept列中不同(唯一)值的个数。
5. 如果一个关系模式R∈3NF,那么它( )。
A. 必然∈BCNF
B. 可能不属于BCNF
C. 必然消除了主属性对候选键的部分和传递依赖
D. 必然消除了所有部分依赖和传递依赖
答案:B
解析:3NF的条件比BCNF宽松。3NF只要求非主属性不传递依赖于候选键,而BCNF要求所有属性(包括主属性)都不部分或传递依赖于任何候选键。因此,一个属于3NF的关系模式可能不属于BCNF(例如,当主属性之间存在函数依赖时)。
6. 在数据库系统中,用于记录对数据所有更新操作的文件称为( )。
A. 数据文件
B. 索引文件
C. 日志文件
D. 数据字典
答案:C
解析:日志文件是数据库恢复机制的核心,它按时间顺序记录了所有事务对数据库的更新操作(如开始、提交、修改前像、修改后像等),是进行事务撤销(UNDO)和重做(REDO)的依据。
7. SQL的视图(View)提供了( )数据独立性。
A. 物理
B. 逻辑
C. 存储
D. 分布
答案:B
解析:视图是虚拟表,基于SQL查询结果定义。它隐藏了数据的真实物理存储和复杂的表连接关系,使用户能通过简单的视图接口访问数据。当底层基表结构发生变化时,只需修改视图定义而无需改变用户应用程序,这提供了逻辑数据独立性。
8. 在关系代数中,从两个关系的笛卡尔积中选取满足条件的元组,这种运算等价于( )。
A. 并运算
B. 差运算
C. 选择运算
D. 连接运算
答案:D
解析:连接运算(Join)的定义就是:先对两个关系进行笛卡尔积,然后从结果中选择满足给定连接条件的元组。因此,连接 = 笛卡尔积 + 选择。
9. 数据库管理系统(DBMS)的完整性控制机制不包括( )。
A. 定义主键约束
B. 定义外键约束
C. 定义用户权限
D. 定义CHECK约束
答案:C
解析:完整性控制用于保证数据的正确性和相容性,主要包括实体完整性(主键约束)、参照完整性(外键约束)和用户定义完整性(CHECK约束、非空约束等)。定义用户权限属于安全性控制的范畴。
10. 当数据库发生介质故障(如磁盘损坏)时,最有效的恢复方式是使用( )。
A. 事务回滚
B. 日志文件重做
C. 最新的数据库备份和日志文件
D. 数据库镜像
答案:C
解析:介质故障破坏物理存储,内存数据和日志可能丢失。恢复的基本方法是:① 重装最新的数据库备份(将数据库恢复到备份时的状态);② 重新运行备份点之后的所有已提交事务(利用日志文件进行REDO操作)。数据库镜像可以提高可用性,但本身也是一种冗余备份策略的体现。
