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

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

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

姓名: ____________________   日期: ____________

1.简单

哪条语句向已有的表中添加新列?

  1. AUPDATE TABLE
  2. BCREATE COLUMN
  3. CALTER TABLE
  4. DINSERT COLUMN
2.简单

在 WHERE 子句中,哪个运算符用于简单的文本模式匹配?

  1. AMATCH
  2. BSIMILAR
  3. CCONTAINS
  4. DLIKE
3.简单

什么是代理键?

  1. A只在视图中使用的键
  2. B引用另一个表的键
  3. C由电子邮件地址等真实数据构成的键
  4. D没有业务含义的人工标识符,例如自增 id
4.中等

对于一行,WHERE EXISTS (subquery) 在什么情况下为真?

  1. A子查询返回一个大于零的数时
  2. B子查询恰好返回一行时
  3. C子查询不返回 NULL 值时
  4. D子查询至少返回一行时
5.中等

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

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

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

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

下列查询返回什么:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. A报错,因为 WHERE 中不允许使用子查询
  2. B所有学生的平均成绩
  3. C仅成绩最高的学生
  4. D成绩高于平均成绩的学生
8.困难

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

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

答案

  1. 1. C · ALTER TABLE
  2. 2. D · LIKE
  3. 3. D · 没有业务含义的人工标识符,例如自增 id
  4. 4. D · 子查询至少返回一行时
  5. 5. B · 选择哪些列出现在结果中
  6. 6. A · 用一个联结表,其中保存指向 students 和 courses 的外键
  7. 7. D · 成绩高于平均成绩的学生
  8. 8. C · X 是超键

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