基础专业知识-----数据库系统原理
基础专业知识-----数据库系统原理
事务
概述
事务管理特性(ACID)
mysql的参数autocommit
并发一致性问题
在并发环境下,事务的隔离性很难保证,因此会出现很多并发一致性问题。
丢失修改
读脏数据
不可重复读
幻影读
封锁
封锁粒度
封锁类型
解释如下:
任意 IS/IX 锁之间都是兼容的,因为它们只是表示想要对表加锁,而不是真正加锁;
S 锁只与 S 锁和 IS 锁兼容,也就是说事务 T 想要对数据行加 S 锁,其它事务可以已经获得对表或者表中的行的 S 锁。
封锁协议
MySQL 隐式与显示锁定
隔离级别
多版本并发控制
多版本并发控制(Multi-Version Concurrency Control, MVCC)是 MySQL 的 InnoDB 存储引擎实现隔离级别的一种具体方式,用于实现提交读和可重复读这两种隔离级别。而未提交 读隔离级别总是读取最新的数据行,无需使用 MVCC;可串行化隔离级别需要对所有读取的行都加锁,单纯使用 MVCC 无法实现。
版本号
Undo 日志
InnoDB 的 MVCC 使用到的快照存储在 Undo 日志中,该日志通过回滚指针把一个数据行 (Record)的所有快照连接起来。
实现过程
快照读与当前读
Next-Key Locks
关系数据库设计理论
函数依赖
异常
范式
ER 图
Entity-Relationship,有三个组成部分:实体、属性、联系。 用来进行关系型数据库系统的概念设计。