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

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

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

姓名: ____________________   日期: ____________

1.简单

哪条 SQL 语句向表中添加新行?

  1. ASELECT
  2. BALTER
  3. CUPDATE
  4. DINSERT
2.简单

什么是复合键?

  1. A存储在单独表中的键
  2. B允许重复值的键
  3. C由两列或更多列组成的键
  4. D由数据库生成的键
3.简单

CROSS JOIN 返回什么?

  1. A只有不匹配的行
  2. B两个表中行的所有组合
  3. C只有第一个表的行
  4. D只有在共享键列上匹配的行
4.中等

在关系代数中,选择运算符(σ)对应于哪个 SQL 子句?

  1. AORDER BY
  2. BSELECT 列表
  3. CGROUP BY
  4. DWHERE
5.中等

学生可以选修多门课程,课程也有多名学生。在表中如何对此建模?

  1. A把课程 id 列表存储在一列中
  2. B用一个联结表,其中保存指向 students 和 courses 的外键
  3. C在 students 表中加一个指向 courses 的外键列 course_id
  4. D把 students 和 courses 合并成一个表
6.中等

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

  1. A隔离性
  2. B一致性
  3. C持久性
  4. D原子性
7.困难

哪种隔离级别可以防止脏读,但仍允许不可重复读?

  1. A可重复读(Repeatable read)
  2. B读已提交(Read committed)
  3. C读未提交(Read uncommitted)
  4. D可串行化(Serializable)
8.困难

一个应用执行 UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7,如果没有行被更新就报告冲突。这是哪种技术?

  1. A乐观并发控制
  2. B预写日志
  3. C数据库分片
  4. D带行锁的严格两阶段锁

答案

  1. 1. D · INSERT
  2. 2. C · 由两列或更多列组成的键
  3. 3. B · 两个表中行的所有组合
  4. 4. D · WHERE
  5. 5. B · 用一个联结表,其中保存指向 students 和 courses 的外键
  6. 6. C · 持久性
  7. 7. B · 读已提交(Read committed)
  8. 8. A · 乐观并发控制

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