D8-07 9–10 分钟 重要程度:高

数据库安全、SQL、ACID 与事务问题

数据库题常考关系模型、键、SQL 分类、事务 ACID 和并发异常。安全判断要同时保护保密性、完整性、可用性和参照完整性。

一、必须记住

  • 层次式数据库用树状结构组织记录;分布式数据库由多个站点组成逻辑统一的数据库。
  • 关系数据库以行和列组成表,常用 SQL 存储、检索和修改数据。
  • Candidate key 可唯一标识记录;Primary key 是被选定的唯一标识;Foreign key 用于建立表间关系并支持参照完整性。
  • DDL 定义结构,例如 CREATE;DML 操作数据,例如 INSERT、UPDATE、DELETE;DCL 控制权限,例如 GRANT、REVOKE。
  • ACID 是 Atomicity、Consistency、Isolation、Durability。
  • Atomicity 表示事务任何一部分失败就整体回滚;Consistency 表示数据库从一致状态到一致状态。
  • Isolation 表示事务彼此隔离;Durability 表示提交后记录会被保留,通常依靠日志和备份。
  • Lost update 是一个事务写入覆盖另一个事务需要的值;Dirty read 是读取未提交值;Incorrect summary 是汇总时遇到并发修改。
  • ODBC 允许应用与不同类型数据库通信;NoSQL 包括键值、图数据库和文档存储。
  • SQL injection 通常通过输入验证、参数化查询、最小权限和错误处理降低风险。

二、核心概念

关系数据库基础

关系数据库通过表、行、列和键建立数据结构。主键保证记录唯一性,外键强制表间关系,是维护参照完整性的核心机制。

SQL 与权限

SQL 可分为 DDL、DML、DCL。安全题遇到授权和撤销数据库权限,通常对应 DCL;遇到结构创建或修改,对应 DDL;遇到资料增删改查,对应 DML。

事务与并发

ACID 保护事务可靠性。并发控制不足会导致 lost update、dirty read 和 incorrect summary,破坏完整性和一致性。

三、CISSP 判断规则

  • 问唯一标识记录,选 Primary key 或 Candidate key,按题目是否已被选定判断。
  • 问表间参照完整性,选 Foreign key。
  • 问 GRANT/REVOKE,选 DCL。
  • 问事务失败全部回滚,选 Atomicity。
  • 问读取另一个未提交事务写入值,选 Dirty read。

四、常见陷阱

  • 主键是候选键的一种选择,不是所有候选键都叫主键。
  • 持久性不是备份本身,而是提交后数据应保留;日志和备份是实现手段。
  • NoSQL 不代表没有安全控制,仍需要认证、授权、加密、审计和输入验证。

五、英文关键字

DBMS Database security Hierarchical database Distributed database Relational database Candidate key Primary key Foreign key Referential integrity SQL DDL DML DCL ACID (数据库事务 ACID) Lost update (丢失更新) Dirty read (脏读) Incorrect summary (错误汇总) ODBC (开放数据库连接) NoSQL (非关系型数据库) SQL injection

小测验

1. 数据库事务任何一部分失败就回滚整个事务,属于 ACID 中哪一项?

Atomicity 表示事务是不可分割单位,部分失败则整体回滚。

2. SQL 中 GRANT 和 REVOKE 属于哪一类?

DCL 是数据控制语言,用于授权和撤销权限。

3. 一个事务读取了另一个尚未提交事务写入的数据,称为?

Dirty read 是读取未提交的数据,可能导致错误判断和完整性问题。

本节进度

完成后会保存在当前浏览器。线上版可保存;不同手机、平板之间暂不自动同步。

尚未完成