1.简单
哪条语句向已有的表中添加新列?
- AUPDATE TABLE
- BCREATE COLUMN
- CALTER TABLE
- DINSERT COLUMN
2.简单
在 WHERE 子句中,哪个运算符用于简单的文本模式匹配?
- AMATCH
- BSIMILAR
- CCONTAINS
- DLIKE
3.简单
什么是代理键?
- A只在视图中使用的键
- B引用另一个表的键
- C由电子邮件地址等真实数据构成的键
- D没有业务含义的人工标识符,例如自增 id
4.中等
对于一行,WHERE EXISTS (subquery) 在什么情况下为真?
- A子查询返回一个大于零的数时
- B子查询恰好返回一行时
- C子查询不返回 NULL 值时
- D子查询至少返回一行时
5.中等
在关系代数中,投影运算符(π)对应于:
- A按键组合两个表
- B选择哪些列出现在结果中
- C对结果排序
- D选择哪些行满足给定条件
6.中等
学生可以选修多门课程,课程也有多名学生。在表中如何对此建模?
- A用一个联结表,其中保存指向 students 和 courses 的外键
- B在 students 表中加一个指向 courses 的外键列 course_id
- C把 students 和 courses 合并成一个表
- D把课程 id 列表存储在一列中
7.困难
下列查询返回什么:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?
- A报错,因为 WHERE 中不允许使用子查询
- B所有学生的平均成绩
- C仅成绩最高的学生
- D成绩高于平均成绩的学生
8.困难
Boyce–Codd 范式(BCNF)要求对于每个非平凡函数依赖 X → Y:
- AY 是原子的
- BY 是主键
- CX 是超键
- DX 包含 NULL
答案
- 1. C · ALTER TABLE
- 2. D · LIKE
- 3. D · 没有业务含义的人工标识符,例如自增 id
- 4. D · 子查询至少返回一行时
- 5. B · 选择哪些列出现在结果中
- 6. A · 用一个联结表,其中保存指向 students 和 courses 的外键
- 7. D · 成绩高于平均成绩的学生
- 8. C · X 是超键
完整分步解答:请在 examproblems.com 上练习本主题。