1.简单
实体-联系(ER)图用于什么?
- A列出数据库的用户
- B在设计数据库时为实体、实体的属性及其联系建模
- C显示查询是如何执行的
- D测量数据库性能
2.简单
UNION 对两个 SELECT 查询的结果做什么?
- A只保留出现在第一个查询中而不在第二个查询中的行
- B按某个键把它们左右并排连接
- C把它们合并为一个结果并去除重复行
- D只保留同时出现在两者中的行
3.简单
哪个聚合函数用于统计行数?
- AAVG
- BCOUNT
- CMAX
- DSUM
4.中等
学生可以选修多门课程,课程也有多名学生。在表中如何对此建模?
- A用一个联结表,其中保存指向 students 和 courses 的外键
- B把课程 id 列表存储在一列中
- C把 students 和 courses 合并成一个表
- D在 students 表中加一个指向 courses 的外键列 course_id
5.中等
哪条语句删除表中的所有行、保留其结构,并且不能带 WHERE 子句?
- ADROP TABLE
- B带 WHERE 子句的 DELETE FROM
- CALTER TABLE
- DTRUNCATE TABLE
6.中等
第三范式(3NF)消除了:
- A复合键
- B建立在不属于任何键的列上的冗余索引
- C原子值
- D非键属性之间的传递依赖
7.困难
与 3NF 相比,把表分解为 BCNF 的一个已知缺点是什么?
- ABCNF 表不能有主键
- BBCNF 比 3NF 允许更多冗余
- C分解后再连接回来总会丢失数据
- D某些函数依赖可能无法再在单个表中检查
8.困难
哪个窗口函数在每个分区内为行分配 1、2、3……且不出现并列?
- ARANK()
- BROW_NUMBER()
- CCOUNT()
- DDENSE_RANK()
答案
- 1. B · 在设计数据库时为实体、实体的属性及其联系建模
- 2. C · 把它们合并为一个结果并去除重复行
- 3. B · COUNT
- 4. A · 用一个联结表,其中保存指向 students 和 courses 的外键
- 5. D · TRUNCATE TABLE
- 6. D · 非键属性之间的传递依赖
- 7. D · 某些函数依赖可能无法再在单个表中检查
- 8. B · ROW_NUMBER()
完整分步解答:请在 examproblems.com 上练习本主题。