ONEPSOFT | 软考学习知识库
speedrun9|第5章 数据库系统·关系 SQL 与事务速通
画像适配:把数据库想成 " 工程资料档案馆 "——表=档案柜,关系=柜间关联,事务=一次不可打断的归档操作,范式=档案整理规范。下面用档案馆类比。
一、章节定位
一句话概括:本章讲关系模型、关系代数、SQL、事务 ACID 与并发控制、规范化(范式)。选择题高频(范式/事务/并发),案例/论文常涉及数据库设计。
二、本章在讲什么(系统性阐述)
数据库把现实世界抽象成 " 数据模型 "(结构 + 操作 + 约束),关系模型用二维表 + 外键表达,最主流。关系代数提供并差交选择投影连接除等运算(SQL 的底层)。事务是 " 逻辑工作单元 ",须满足 ACID;多事务并发要用封锁避免丢失修改/脏读/不可重复读。规范化用范式 (1NF→3NF→BCNF) 消除冗余与异常——像把混乱的档案按规则整理,避免改一处漏一片。
类比档案馆:表=档案柜,关系=柜间用编号关联;事务=一次 " 收齐所有材料再归档 " 的操作(半途不能停);并发=多人对同一柜同时翻找,要用锁防串;范式=档案整理国标,越高级越杜绝重复与矛盾。
三、教材原文精摘(原封不动)
【数据模型】 " 数据模型是现实世界数据特征的抽象……描述的内容包括 3 个部分:数据结构、数据操作和数据约束。"
【关系模型】 " 关系模型用表格结构表达实体集,用外键表示实体之间的联系……存取路径对用户透明,从而数据独立性和安全性好。"
【关系代数】 " 关系代数的基本运算主要有并、差、交、笛卡儿积、投影、选择、连接和除。"
【ACID】 " 事务的原子性、一致性、隔离性和持久性通常统称为 ACID 特性。"
【原子性】 " 事务包含的一组更新操作是原子不可分的,是一个整体,不能部分地完成。"
【一致性】 " 使数据库从一个一致性状态变到另一个一致性状态。"
【隔离性】 " 一个事务的执行不能被其他事务干扰……并发执行的各个事务之间不能互相干扰(可串行性)。"
【持久性】 " 事务一旦提交,改变就是永久性的,无论发生何种故障都不应影响。"
【函数依赖】 " 对于 r 中任意两个元组 u、v,只要 u\[X]=v\[X],就有 u\[Y]=v\[Y],则称 X 函数决定 Y,记作 X→Y。"
【范式】 " 定义了 1NF、2NF、3NF、BCNF、4NF、5NF,实际应用中一般达到 3NF。" 1NF=原子值;2NF=满足 1NF 且非主属性完全依赖候选键;3NF=满足 2NF 且消除非主属性传递依赖;BCNF=无属性传递依赖候选键。
逐段讲解:
四、核心知识树
第 5 章 数据库
├── 关系模型
│ ├── 表 + 外键
│ └── 关系代数 (σπ⋈÷)
├── 事务 ACID
│ ├── 原子/一致/隔离/持久
│ └── 并发 (锁/三问题)
└── 规范化
└── 1/2/3NF/BCNF
五、知识脑图总结
思维导图(结构化呈现)
六、关键概念速解
| 概念 | 教材定义(原文关键词) | 大白话速解 | 考试怎么考 |
|---|---|---|---|
| 关系模型 | 表 + 外键、路径透明 | 二维表档案柜 | 选择 |
| 关系代数 | 并差交σπ连接除 | SQL 的底层动作 | 选择 |
| 原子性 | 操作原子不可分 | 要么全做要么不做 | 选择 |
| 隔离性 | 事务互不干扰 | 并发像串行 | 选择 |
| 不可重复读 | 并发问题之一 | 同事务内两次读不一致 | 选择 |
| 3NF | 消传递依赖 | 档案无 " 间接指代 " | 选择/案例 |
七、记忆口诀 & 类比
八、易混淆点对比
| 易混项 A | 易混项 B | 核心区别 |
|---|---|---|
| 2NF | 3NF | 2NF 去 " 部分依赖 ";3NF 去 " 传递依赖 " |
| 丢失修改 | 不可重复读 | 前者两写互相覆盖;后者同事务两次读值变 |
| 读脏数据 | 不可重复读 | 脏读读到未提交回滚的数据;不可重复读读到已提交但变了的 |
九、与其他章节的关联
十、本章一句话总结 & 备考提醒
关系模型=表 + 外键 + 代数 (σπ⋈÷);事务 ACID(原子/一致/隔离/持久)与并发三问题(丢失修改/脏读/不可重复读)靠封锁;范式阶梯 1NF→2NF→3NF→BCNF 逐级消除异常。选择题抓范式与 ACID,案例抓设计。