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

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

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

姓名: ____________________   日期: ____________

1.简单

一个客户可以下很多订单,但每个订单只属于一个客户。这是哪种联系?

  1. A一对一
  2. B一对多
  3. C零对零
  4. D多对多
2.简单

哪个 SQL 关键字用于去除结果中的重复行?

  1. AUNIQUE
  2. BDISTINCT
  3. CSINGLE
  4. DDIFFERENT
3.简单

哪个子句在分组之前过滤行?

  1. AORDER BY
  2. BGROUP BY
  3. CWHERE
  4. DHAVING
4.中等

在关系代数中,投影运算符(π)对应于:

  1. A对结果排序
  2. B选择哪些行满足给定条件
  3. C按键组合两个表
  4. D选择哪些列出现在结果中
5.中等

一个表在每一行订单上都存储了客户地址。只修改其中一行的地址而不修改其他行,这是哪种情况的例子?

  1. A插入异常
  2. B更新异常
  3. C删除异常
  4. D幻读
6.中等

什么是 SQL 注入(SQL injection)?

  1. A用一条 INSERT 语句快速插入大量行的技术
  2. B添加索引的一种方式
  3. C一种数据库备份技术
  4. D用户输入改变 SQL 查询结构的一种攻击
7.困难

给定 R(A, B, C, D) 上的函数依赖 A → B、B → C 和 C → D,闭包 A+ 是什么?

  1. A{A}
  2. B{A, B, C}
  3. C{A, B}
  4. D{A, B, C, D}
8.困难

Boyce–Codd 范式(BCNF)要求对于每个非平凡函数依赖 X → Y:

  1. AY 是原子的
  2. BX 是超键
  3. CX 包含 NULL
  4. DY 是主键

答案

  1. 1. B · 一对多
  2. 2. B · DISTINCT
  3. 3. C · WHERE
  4. 4. D · 选择哪些列出现在结果中
  5. 5. B · 更新异常
  6. 6. D · 用户输入改变 SQL 查询结构的一种攻击
  7. 7. D · {A, B, C, D}
  8. 8. B · X 是超键

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