数据库与 SQL练习卷(附答案)

免费可打印的数据库与 SQL练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。

教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。

姓名: ____________________   日期: ____________

1.简单

在事务中,COMMIT 的作用是什么?

  1. A锁定整个数据库
  2. B使事务中的所有更改永久生效
  3. C新建一个表
  4. D撤销自事务开始以来所做的全部更改
2.简单

在关系模型中,表的一行叫什么?

  1. A模式
  2. B元组
  3. C域
  4. D属性
3.简单

在 SQL 中 NULL 表示什么?

  1. A缺失或未知的值
  2. B空字符串
  3. C数值列中的数字零
  4. D布尔值 false
4.中等

什么是数据库触发器?

  1. A一种加快搜索的索引
  2. B当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
  3. C用户手动运行的查询
  4. D数据库的定时备份
5.中等

ACID 中的 "A" 代表什么?

  1. A聚合性(Aggregation)
  2. B准确性(Accuracy)
  3. C可用性(Availability)
  4. D原子性(Atomicity)
6.中等

EXCEPT(在 Oracle 中称为 MINUS)返回什么?

  1. A两个查询的所有行,去除重复
  2. B第二个查询中不出现在第一个查询中的行
  3. C两个查询中都出现的行
  4. D第一个查询中不出现在第二个查询中的行
7.困难

事务 T1 锁定了行 A 并等待行 B,而 T2 锁定了行 B 并等待行 A。典型的 DBMS 会怎么做?

  1. A让两个事务都等待,直到其中一个正常提交
  2. B把两个事务合并为一个
  3. C检测到死锁,并中止其中一个事务作为牺牲者
  4. D同时提交两个事务
8.困难

要在深度未知的组织树中找出某位经理下属的所有员工,哪种 SQL 功能最合适?

  1. A对 manager_id 进行 GROUP BY
  2. B递归公用表表达式(WITH RECURSIVE)
  3. C在 manager_id 上加 UNIQUE 约束
  4. D基于 manager_id 对 employees 表做一次自连接

答案

  1. 1. B · 使事务中的所有更改永久生效
  2. 2. B · 元组
  3. 3. A · 缺失或未知的值
  4. 4. B · 当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
  5. 5. D · 原子性(Atomicity)
  6. 6. D · 第一个查询中不出现在第二个查询中的行
  7. 7. C · 检测到死锁,并中止其中一个事务作为牺牲者
  8. 8. B · 递归公用表表达式(WITH RECURSIVE)

完整分步解答:请在 examproblems.com 上练习本主题。