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

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

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

姓名: ____________________   日期: ____________

1.简单

哪条语句用于从表中删除行?

  1. AREMOVE
  2. BDROP
  3. CDELETE
  4. DTRUNCATE COLUMN
2.简单

外键(foreign key)是:

  1. A引用另一个表主键的列
  2. B外国用户使用的键
  3. C始终加密的键
  4. D其值在表的所有行中都必须唯一的列
3.简单

什么是候选键?

  1. A能唯一标识每一行的最小列集合
  2. B任何含有 NULL 值的列
  3. C两个表共有的、用于关联其行的一组列
  4. D等待成为外键的列
4.中等

为什么一个表只能有一个聚集索引?

  1. A聚集索引占用太多内存
  2. BSQL 标准禁止一个表上有多个索引
  3. C行在物理上只能按一种顺序存储
  4. D聚集索引只能建在主键上
5.中等

ROLLBACK TO SAVEPOINT s1 的作用是什么?

  1. A撤销保存点 s1 之后所做的更改,事务保持打开
  2. B删除该保存点以及此后更改过的所有表
  3. C从头撤销整个事务
  4. D结束事务并提交所有内容
6.中等

哪个查询返回 customers 表中不同城市的数量?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT COUNT(DISTINCT city) FROM customers
  3. CSELECT SUM(DISTINCT city) FROM customers
  4. DSELECT DISTINCT COUNT(city) FROM customers
7.困难

与 3NF 相比,把表分解为 BCNF 的一个已知缺点是什么?

  1. A分解后再连接回来总会丢失数据
  2. B某些函数依赖可能无法再在单个表中检查
  3. CBCNF 表不能有主键
  4. DBCNF 比 3NF 允许更多冗余
8.困难

哪种隔离级别可以防止脏读,但仍允许不可重复读?

  1. A可串行化(Serializable)
  2. B可重复读(Repeatable read)
  3. C读已提交(Read committed)
  4. D读未提交(Read uncommitted)

答案

  1. 1. C · DELETE
  2. 2. A · 引用另一个表主键的列
  3. 3. A · 能唯一标识每一行的最小列集合
  4. 4. C · 行在物理上只能按一种顺序存储
  5. 5. A · 撤销保存点 s1 之后所做的更改,事务保持打开
  6. 6. B · SELECT COUNT(DISTINCT city) FROM customers
  7. 7. B · 某些函数依赖可能无法再在单个表中检查
  8. 8. C · 读已提交(Read committed)

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