1.简单
一个客户可以下很多订单,但每个订单只属于一个客户。这是哪种联系?
- A一对一
- B一对多
- C零对零
- D多对多
2.简单
哪个 SQL 关键字用于去除结果中的重复行?
- AUNIQUE
- BDISTINCT
- CSINGLE
- DDIFFERENT
3.简单
哪个子句在分组之前过滤行?
- AORDER BY
- BGROUP BY
- CWHERE
- DHAVING
4.中等
在关系代数中,投影运算符(π)对应于:
- A对结果排序
- B选择哪些行满足给定条件
- C按键组合两个表
- D选择哪些列出现在结果中
5.中等
一个表在每一行订单上都存储了客户地址。只修改其中一行的地址而不修改其他行,这是哪种情况的例子?
- A插入异常
- B更新异常
- C删除异常
- D幻读
6.中等
什么是 SQL 注入(SQL injection)?
- A用一条 INSERT 语句快速插入大量行的技术
- B添加索引的一种方式
- C一种数据库备份技术
- D用户输入改变 SQL 查询结构的一种攻击
7.困难
给定 R(A, B, C, D) 上的函数依赖 A → B、B → C 和 C → D,闭包 A+ 是什么?
- A{A}
- B{A, B, C}
- C{A, B}
- D{A, B, C, D}
8.困难
Boyce–Codd 范式(BCNF)要求对于每个非平凡函数依赖 X → Y:
- AY 是原子的
- BX 是超键
- CX 包含 NULL
- DY 是主键
答案
- 1. B · 一对多
- 2. B · DISTINCT
- 3. C · WHERE
- 4. D · 选择哪些列出现在结果中
- 5. B · 更新异常
- 6. D · 用户输入改变 SQL 查询结构的一种攻击
- 7. D · {A, B, C, D}
- 8. B · X 是超键
完整分步解答:请在 examproblems.com 上练习本主题。