1.简单
什么是主键(primary key)?
- A数据库的密码
- B每个表的第一列
- C唯一标识每一行的一列或一组列
- D可以包含重复值但绝不能包含 NULL 的列
2.简单
GRANT 和 REVOKE 属于 SQL 的哪一部分?
- A数据操纵语言(DML)
- B数据控制语言(DCL)
- C数据查询语言(DQL)
- D数据定义语言(DDL)
3.简单
什么是代理键?
- A没有业务含义的人工标识符,例如自增 id
- B引用另一个表的键
- C只在视图中使用的键
- D由电子邮件地址等真实数据构成的键
4.中等
关于 HAVING,下列哪项说法正确?
- A它可以使用聚合函数来过滤分组
- B它在 SELECT 语句中必须写在 WHERE 之前
- C它不能与 GROUP BY 一起使用
- D它用于对结果排序
5.中等
为什么要在列上创建索引?
- A为了节省磁盘空间
- B为了加快这些列上的插入和更新
- C为了加快这些列上的查找和连接
- D为了防止出现 NULL 值
6.中等
第一范式(1NF)要求:
- A每个非键列都依赖于整个键,且只依赖于键
- B没有外键
- C每个表恰好只有一列
- D每列都包含原子值,且没有重复组
7.困难
一个应用执行 UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7,如果没有行被更新就报告冲突。这是哪种技术?
- A带行锁的严格两阶段锁
- B预写日志
- C数据库分片
- D乐观并发控制
8.困难
下列查询返回什么:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?
- A成绩高于平均成绩的学生
- B报错,因为 WHERE 中不允许使用子查询
- C仅成绩最高的学生
- D所有学生的平均成绩
答案
- 1. C · 唯一标识每一行的一列或一组列
- 2. B · 数据控制语言(DCL)
- 3. A · 没有业务含义的人工标识符,例如自增 id
- 4. A · 它可以使用聚合函数来过滤分组
- 5. C · 为了加快这些列上的查找和连接
- 6. D · 每列都包含原子值,且没有重复组
- 7. D · 乐观并发控制
- 8. A · 成绩高于平均成绩的学生
完整分步解答:请在 examproblems.com 上练习本主题。