数据库与 SQL练习卷(附答案)
免费可打印的数据库与 SQL练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。
教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。
姓名: ____________________ 日期: ____________
1.简单
在事务中,COMMIT 的作用是什么?
- A锁定整个数据库
- B使事务中的所有更改永久生效
- C新建一个表
- D撤销自事务开始以来所做的全部更改
2.简单
在关系模型中,表的一行叫什么?
- A模式
- B元组
- C域
- D属性
3.简单
在 SQL 中 NULL 表示什么?
- A缺失或未知的值
- B空字符串
- C数值列中的数字零
- D布尔值 false
4.中等
什么是数据库触发器?
- A一种加快搜索的索引
- B当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
- C用户手动运行的查询
- D数据库的定时备份
5.中等
ACID 中的 "A" 代表什么?
- A聚合性(Aggregation)
- B准确性(Accuracy)
- C可用性(Availability)
- D原子性(Atomicity)
6.中等
EXCEPT(在 Oracle 中称为 MINUS)返回什么?
- A两个查询的所有行,去除重复
- B第二个查询中不出现在第一个查询中的行
- C两个查询中都出现的行
- D第一个查询中不出现在第二个查询中的行
7.困难
事务 T1 锁定了行 A 并等待行 B,而 T2 锁定了行 B 并等待行 A。典型的 DBMS 会怎么做?
- A让两个事务都等待,直到其中一个正常提交
- B把两个事务合并为一个
- C检测到死锁,并中止其中一个事务作为牺牲者
- D同时提交两个事务
8.困难
要在深度未知的组织树中找出某位经理下属的所有员工,哪种 SQL 功能最合适?
- A对 manager_id 进行 GROUP BY
- B递归公用表表达式(WITH RECURSIVE)
- C在 manager_id 上加 UNIQUE 约束
- D基于 manager_id 对 employees 表做一次自连接
答案
- 1. B · 使事务中的所有更改永久生效
- 2. B · 元组
- 3. A · 缺失或未知的值
- 4. B · 当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
- 5. D · 原子性(Atomicity)
- 6. D · 第一个查询中不出现在第二个查询中的行
- 7. C · 检测到死锁,并中止其中一个事务作为牺牲者
- 8. B · 递归公用表表达式(WITH RECURSIVE)
完整分步解答:请在 examproblems.com 上练习本主题。