[RDBMS认识|青训营笔记]

93 阅读1分钟

[RDBMS认识|青训营笔记]
这是我参加「第五届青训营」伴学笔记的第十三天

前言
记录青训营后端专场的学习过程,有不足的地方还请大佬指正。
由于本人基础比较薄弱,所以笔记尽可能的详细。

该文章开始的版本将以简述课程知识点为主,等后面实践有自己的理解后会编辑添加自己的理解。

RDBMS事务ACID特性

  • 原子性(Atomicity):事务是一个不可分割的工作单元,事务中的操作要么都发生,要么都不发生。

截屏2023-02-28 00.23.35.png

  • 一致性(Consistency):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。

截屏2023-02-28 00.24.05.png

  • 隔离性(Isolation):多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。

截屏2023-02-28 00.24.39.png

  • 持久性(Durability):在事务完成之后,该事务所对数据库的更改便持久的保存在数据库之中,并不会被回滚。

截屏2023-02-28 00.25.07.png

DBMS数据模型

截屏2023-02-28 00.27.23.png

sql执行过程

截屏2023-02-28 19.46.04.png

  • 查询解析:将要处理的sql命令解析成结构化数据,也就是抽象语法树(AST)
  • 查询优化:SQL是一门表意语言,只是说要做什么,而不说怎么做,所以需要一些复杂的逻辑选择「如何拿数据」
  • 查询执行:根据查询计划、完成数据读取、处理、写入等操作
  • 事务引擎:处理事务的一致性、并发、读写隔离等
  • 存储引擎:内存中的数据缓存区、数据文件、日志文件