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

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

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

姓名: ____________________   日期: ____________

1.简单

哪种约束确保某列永远不能留空(NULL)?

  1. ACHECK NULL
  2. BDEFAULT
  3. CUNIQUE
  4. DNOT NULL
2.简单

什么是候选键?

  1. A任何含有 NULL 值的列
  2. B两个表共有的、用于关联其行的一组列
  3. C能唯一标识每一行的最小列集合
  4. D等待成为外键的列
3.简单

外键(foreign key)是:

  1. A引用另一个表主键的列
  2. B其值在表的所有行中都必须唯一的列
  3. C外国用户使用的键
  4. D始终加密的键
4.中等

哪个 ACID 特性保证已提交的更改在系统崩溃后仍然存在?

  1. A隔离性
  2. B原子性
  3. C持久性
  4. D一致性
5.中等

ACID 中的 "A" 代表什么?

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

orders 表有 5 行,每行都引用一个已存在的客户。customers 表有 3 行。在 customer_id 上做 INNER JOIN 返回多少行?

  1. A8
  2. B15
  3. C5
  4. D3
7.困难

预写日志(WAL)规则要求什么?

  1. A数据页必须先于日志写入
  2. B每个查询在被解析之前都必须记录日志
  3. C一项更改的日志记录必须先于被更改的数据页写入稳定存储
  4. D日志只在崩溃之后才写入
8.困难

两阶段锁(2PL)能保证:

  1. A永远不会发生死锁
  2. B冲突可串行化的调度
  3. C不需要任何锁
  4. D事务永远不需要等待

答案

  1. 1. D · NOT NULL
  2. 2. C · 能唯一标识每一行的最小列集合
  3. 3. A · 引用另一个表主键的列
  4. 4. C · 持久性
  5. 5. D · 原子性(Atomicity)
  6. 6. C · 5
  7. 7. C · 一项更改的日志记录必须先于被更改的数据页写入稳定存储
  8. 8. B · 冲突可串行化的调度

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