【第34节 关系数据库】


一、节概述

关系数据库是现代数据库系统中应用最为广泛的一种模型形式,也是软考高级资格考试“系统架构设计师”科目中的重点与高频考查内容。本节内容涵盖了关系数据库的基本术语、关系代数、函数依赖理论、范式设计、事务机制与数据恢复等方面。

这一节既考查对数据库设计理论的理解,又强调实际应用的能力,尤其是在架构设计时如何进行数据建模、事务处理与容灾备份,因此务必熟练掌握。


二、知识详解

1. 关系数据库的基本术语

  • 属性(Attribute):表示实体的某一特征,如学生的“学号”“姓名”等。
  • 域(Domain):属性可能的取值范围,例如“性别”域的取值为{男, 女}。
  • 目或度(Degree):一个关系中属性的个数。
  • 候选码(Candidate Key):能唯一标识一个元组的属性或属性组。
  • 主码(Primary Key):从候选码中选定的一个作为主要标识符。
  • 主属性(Prime Attribute):包含在候选码中的属性。
  • 外码(Foreign Key):引用其他关系主码的属性,用于建立关系之间的关联。
  • 全码(Super Key):所有属性构成的候选码。

📌 注意区分:候选码 ⊃ 主码 ⊃ 主属性;外码 ≠ 主码,但必须参照主码。


2. 关系代数运算

关系代数是查询语言的理论基础,主要包括:

  • 集合运算:并(∪)、交(∩)、差(−)
  • 专用运算:选择(σ)、投影(π)、连接(⨝)、除法(÷)、重命名(ρ)
  • 算术比较运算符:=、≠、<、≤、>、≥
  • 逻辑运算符:AND、OR、NOT

✏️ 例子说明

σ_课程号=“DB” (选课)

表示选择“数据库”课程的所有元组。


3. 函数依赖理论

函数依赖描述属性间的约束,是模式规范化的核心。

  • 函数依赖(X→Y):若 X 相同时,Y 也相同
  • 完全函数依赖:X 的所有组成都不可缺
  • 部分函数依赖:X 中某一部分即可确定 Y
  • 传递依赖:X→Z,Z→Y 推出 X→Y

🔴 举例说明:

关系(学号,课程号,成绩,系号)
(学号,课程号)→成绩 ✅ 完全依赖
学号→系号 ✅ 部分依赖
学号→系号,系号→系主任 ⇒ 学号→系主任 ✅ 传递依赖


4. Armstrong 公理系统

用于推导函数依赖集合的封闭集,核心推理规则如下:

公理内容
自反律若 Y⊆X,则 X→Y
增广律若 X→Y,则 XZ→YZ
传递律若 X→Y,Y→Z,则 X→Z

推导规则拓展

  • 合并规则:X→Y,X→Z ⇒ X→YZ
  • 伪传递规则:X→Y,WY→Z ⇒ XW→Z
  • 分解规则:X→YZ ⇒ X→Y 且 X→Z

📍 记忆口诀:自增传 → 合伪分


5. 数据库范式设计

数据库设计的目标是消除数据冗余和更新异常,通过规范化处理达到更高范式。

范式定义消除的问题
1NF所有属性值为原子值非原子属性
2NF满足1NF,且非主属性完全依赖主码部分依赖
3NF满足2NF,且非主属性不传递依赖主码传递依赖
BCNF每个决定因素是候选码弱主属性决定主属性
4NF/5NF消除多值和连接依赖高级异常情况

🔴 关系:BCNF ⊂ 3NF ⊂ 2NF ⊂ 1NF


6. 事务(Transaction)与 ACID 特性

事务是 DBMS 执行操作的基本单元,具有如下特性(ACID):

特性含义
原子性(Atomicity)要么全部执行,要么全部回滚
一致性(Consistency)执行前后保持数据库一致
隔离性(Isolation)并发事务互不影响
持久性(Durability)提交后永久保留结果

🧠 事务是考查重点,尤其与并发控制、恢复机制结合出题频繁。


7. 并发控制与封锁机制

在多用户并发操作时,需要使用封锁机制以避免数据冲突:

  • 排他型封锁(X锁):写操作使用,不能共享
  • 共享型封锁(S锁):读操作使用,可多事务共享

🔐 若事务A加X锁,则事务B不能读也不能写;若A加S锁,B可以读但不能写。


8. 数据库备份与恢复

备份分类:

  • 静态备份:脱机进行,系统不可用
  • 动态备份:在线进行,不影响系统使用
  • 全量备份:完整备份全部数据
  • 增量备份:仅备份上次之后修改部分

故障类型:

故障类型描述恢复方式
事务故障单个事务失败UNDO/REDO
系统故障系统崩溃日志重放
介质故障磁盘损坏备份+日志
病毒攻击数据破坏依靠灾备

📌 注意:介质故障恢复需要备份+日志双重机制支持。


三、关键点提炼

模块高频考点
基础术语属性、候选码、外码、主属性
函数依赖完全依赖、部分依赖、传递依赖
Armstrong 公理自反律、传递律、增广律等
范式设计1NF-BCNF 的判断及转换
事务机制ACID 特性,封锁与并发控制
故障与恢复事务故障类型与备份方法

四、考试提示

🎯 出题规律

  • 术语定义常出现在选择题
  • 函数依赖、范式判断常出现在综合题、简答题
  • 事务与封锁机制属于实操类应用题,常结合系统场景出题
  • Armstrong 公理推理题较为复杂,需掌握推导技巧

⚠️ 常见陷阱

  • 将“主属性”和“主码”混淆
  • 忽略“部分依赖”与“传递依赖”的边界
  • 把“X锁”和“S锁”的作用记反
  • 范式从1NF到3NF的定义容易混淆

五、总结与建议

关系数据库章节内容覆盖面广,难度适中但逻辑性强,需系统梳理并反复练习。

学习建议

  • 使用“关系模型术语表”记忆各关键概念之间的区别
  • 多画依赖图辅助理解函数依赖关系
  • 配合实例题掌握范式拆解与重构过程
  • 搭配事务案例学习封锁与恢复流程

📌 本节不仅是数据库理论的核心,更是架构设计中数据建模与一致性管理的基础,建议深入理解、加强练习,切忌死记硬背!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值