数据库与 SQL练习卷(附答案)
免费可打印的数据库与 SQL练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。
教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。
姓名: ____________________ 日期: ____________
1.简单
哪种约束确保某列永远不能留空(NULL)?
- ACHECK NULL
- BDEFAULT
- CUNIQUE
- DNOT NULL
2.简单
什么是候选键?
- A任何含有 NULL 值的列
- B两个表共有的、用于关联其行的一组列
- C能唯一标识每一行的最小列集合
- D等待成为外键的列
3.简单
外键(foreign key)是:
- A引用另一个表主键的列
- B其值在表的所有行中都必须唯一的列
- C外国用户使用的键
- D始终加密的键
4.中等
哪个 ACID 特性保证已提交的更改在系统崩溃后仍然存在?
- A隔离性
- B原子性
- C持久性
- D一致性
5.中等
ACID 中的 "A" 代表什么?
- A可用性(Availability)
- B准确性(Accuracy)
- C聚合性(Aggregation)
- D原子性(Atomicity)
6.中等
orders 表有 5 行,每行都引用一个已存在的客户。customers 表有 3 行。在 customer_id 上做 INNER JOIN 返回多少行?
- A8
- B15
- C5
- D3
7.困难
预写日志(WAL)规则要求什么?
- A数据页必须先于日志写入
- B每个查询在被解析之前都必须记录日志
- C一项更改的日志记录必须先于被更改的数据页写入稳定存储
- D日志只在崩溃之后才写入
8.困难
两阶段锁(2PL)能保证:
- A永远不会发生死锁
- B冲突可串行化的调度
- C不需要任何锁
- D事务永远不需要等待
答案
- 1. D · NOT NULL
- 2. C · 能唯一标识每一行的最小列集合
- 3. A · 引用另一个表主键的列
- 4. C · 持久性
- 5. D · 原子性(Atomicity)
- 6. C · 5
- 7. C · 一项更改的日志记录必须先于被更改的数据页写入稳定存储
- 8. B · 冲突可串行化的调度
完整分步解答:请在 examproblems.com 上练习本主题。