1.简单
在 SQL 中 NULL 表示什么?
- A缺失或未知的值
- B数值列中的数字零
- C布尔值 false
- D空字符串
2.简单
哪条 SQL 语句用于从表中检索数据?
- AUPDATE
- BCREATE
- CSELECT
- DINSERT
3.简单
GROUP BY 在查询中起什么作用?
- A删除含有 NULL 值的行
- B把具有相同值的行放入同一组,从而按组计算聚合
- C按字母顺序对结果行排序
- D按公共列连接两个表
4.中等
哪条语句删除表中的所有行、保留其结构,并且不能带 WHERE 子句?
- ADROP TABLE
- BTRUNCATE TABLE
- CALTER TABLE
- D带 WHERE 子句的 DELETE FROM
5.中等
为什么要在列上创建索引?
- A为了防止出现 NULL 值
- B为了加快这些列上的查找和连接
- C为了加快这些列上的插入和更新
- D为了节省磁盘空间
6.中等
什么是数据库触发器?
- A数据库的定时备份
- B用户手动运行的查询
- C当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
- D一种加快搜索的索引
7.困难
一个报表数据库把客户姓名复制到 orders 表中以避免连接。这种反规范化的主要代价是什么?
- A不能再使用主键
- B数据库不能再使用索引
- C对 orders 表的查询变慢
- D每当客户数据变化时,都必须保持冗余副本的一致
8.困难
为什么许多 DBMS 使用严格两阶段锁,把排他锁一直持有到提交?
- A它使死锁不可能发生
- B它允许事务安全地读取脏数据
- C它免去了事务日志
- D它能防止级联中止,因为没有人能读到未提交的写入
答案
- 1. A · 缺失或未知的值
- 2. C · SELECT
- 3. B · 把具有相同值的行放入同一组,从而按组计算聚合
- 4. B · TRUNCATE TABLE
- 5. B · 为了加快这些列上的查找和连接
- 6. C · 当表上发生 INSERT、UPDATE 或 DELETE 等指定事件时自动运行的代码
- 7. D · 每当客户数据变化时,都必须保持冗余副本的一致
- 8. D · 它能防止级联中止,因为没有人能读到未提交的写入
完整分步解答:请在 examproblems.com 上练习本主题。