尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

数据库系统概论课程中「事务和并发控制」

数据库系统概论课程中「事务和并发控制」 数据库系统概论课程中「事务和并发控制」章节的学习内容对应的核心知识点如下事务部分你需要重点掌握事务的ACID特性即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability的定义与实现逻辑同时要了解事务的三种运行模式、COMMIT/ROLLBACK操作的作用这是后续理解并发问题的基础。并发控制部分核心考点是并发操作带来的三类问题丢失修改、不可重复读、读“脏”数据的产生场景以及三级封锁协议、两段锁协议、死锁的处理策略、多版本并发控制MVCC的实现原理这些也是数据库相关考试和开发场景的高频考点。你可以先对照课件和视频完成基础知识点的梳理后续如果有具体习题不会做、或者某个知识点理解不清楚都可以随时和我说我可以帮你拆解讲解。学完这部分后也可以找对应的并发调度正确性判断、封锁协议应用的习题练习巩固对知识点的掌握。前置基础模块「数据库基本概念」是入门起点你需要先掌握数据库、DBMS、数据库系统的定义与发展历程理解数据管理的核心目标。「关系模型基础」是关系型数据库的底层逻辑支撑要掌握关系的数学定义、关系的完整性约束实体完整性、参照完整性、用户自定义完整性这是后续SQL编写、模式设计的底层依据。核心操作模块「关系代数与SQL」是数据库实操的核心你需要熟练掌握选择、投影、连接等关系代数运算以及DDL、DML、DCL各类SQL语句的编写这是数据库开发、运维的必备技能。设计类模块「数据库设计(E-R图)」是数据库开发的第一步你需要掌握实体、属性、联系的抽象方法能根据业务需求绘制E-R模型。「E-R图转换到关系模式」是概念模型到逻辑模型的转换步骤要掌握1:1、1:n、m:n联系的转换规则把E-R图转化为可落地的关系表结构。「关系规范化理论」是优化关系模式的工具你需要理解函数依赖、1NF~3NF、BCNF的定义能够对存在插入、删除、更新异常的关系模式做分解优化避免数据冗余。高级技术与特性模块「事务管理与并发控制」是数据库保障数据一致性的核心机制你需要掌握事务的ACID特性、封锁协议、死锁处理、并发调度的可串行性这是高并发场景下数据库稳定运行的理论基础。「NoSQL数据库」是应对非结构化、高并发场景的扩展技术你可以在掌握关系型数据库的基础上了解键值、文档、列族、图四类NoSQL数据库的适用场景对比其与关系型数据库的差异。“基础概念→关系模型→SQL操作→库表设计→高级特性→扩展技术”的路径逐步学习每学完一个模块可以通过做课后习题、完成小型数据库设计项目来巩固知识点如果有某个具体知识点的疑问可以随时告诉我。数据库的并发操作如果不加以控制会带来以下三类典型的数据不一致问题1. 丢失修改丢失更新场景两个事务同时读取了同一个数据并进行修改其中一个事务提交的结果覆盖了另一个事务的修改导致前者的更新被丢失。示例事务T1和T2都读取到余额为1000元T1将余额减少100元并更新回数据库余额变为900之后T2将自己读取的1000元减少200元更新回数据库最终余额为800元T1的修改被覆盖丢失。2. 读“脏”数据脏读场景事务T1修改了某个数据并写回磁盘事务T2读取了该修改后的数据随后T1因为某种原因撤销了操作数据恢复原值此时T2读取到的数据就是和数据库实际值不一致的“脏数据”。示例事务T1将c的值从100修改为200并写回T2读取到c200之后T1回滚操作c恢复为100T2读取的200就是脏数据。3. 不可重复读场景事务T1读取了某些数据后事务T2执行了更新操作当T1再次按照相同条件读取数据时无法得到和前一次一致的结果。不可重复读包含三种具体情况T2对T1读取过的单个数据进行了修改T1再次读取时得到不同的值T2删除了T1读取过的部分记录T1再次查询时发现部分记录消失T2在T1的查询范围内插入了新的记录T1再次查询时发现多了额外的记录后两种情况也被称为“幻影现象幻读”。总结并发操作带来的三类核心问题本质是事务执行过程中互相干扰破坏了事务的隔离性最终导致数据一致性被破坏。数据库的并发控制机制如封锁协议、MVCC等就是为了调度并发操作避免这些问题的出现在数据一致性和系统并发效率之间进行平衡。
返回列表