From 6ae48843203fa8788f2a83fd4520f0f51da23567 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Wed, 4 Nov 2026 22:39:58 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E6=95=B0=E6=8D=AE=E5=BA=93=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=8E=9F=E7=90=86.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整高频标记。 --- notes/数据库系统原理.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/notes/数据库系统原理.md b/notes/数据库系统原理.md index 4fd25d2a..9714d5fe 100644 --- a/notes/数据库系统原理.md +++ b/notes/数据库系统原理.md @@ -10,12 +10,12 @@ * [脏读](#脏读) * [不可重复读](#不可重复读) * [幻读](#幻读) - * [三、封锁](#三封锁) 🔥🔥 + * [三、封锁](#三封锁) * [封锁粒度](#封锁粒度) * [封锁类型](#封锁类型) * [封锁协议](#封锁协议) * [MySQL 隐式与显式锁定](#mysql-隐式与显式锁定) - * [MySQL 中的锁](#mysql-中的锁) + * [MySQL 中的锁](#mysql-中的锁) 🔥 * [四、隔离级别](#四隔离级别) 🔥🔥 * [未提交读(READ UNCOMMITTED)](#未提交读read-uncommitted) * [提交读(READ COMMITTED)](#提交读read-committed) @@ -34,7 +34,7 @@ * [七、关系数据库设计理论](#七关系数据库设计理论) * [函数依赖](#函数依赖) * [异常](#异常) - * [范式](#范式) 🔥 + * [范式](#范式) * [八、ER 图](#八er-图) * [实体的三种联系](#实体的三种联系) * [表示出现多次的关系](#表示出现多次的关系) @@ -145,7 +145,7 @@ InnoDB 在可串行化以下的隔离级别都不会自动避免这种先读后 产生并发不一致性问题的主要原因是破坏了事务的隔离性,解决方法是通过并发控制来保证隔离性。并发控制可以通过封锁来实现,但是封锁操作需要用户自己控制,相当复杂。数据库管理系统提供了事务的隔离级别,让用户以一种更轻松的方式处理并发一致性问题。 -## 三、封锁 🔥🔥 +## 三、封锁 ### 封锁粒度 @@ -262,7 +262,7 @@ SELECT ... FOR SHARE; -- MySQL 8.0 之前写作 LOCK IN SHARE MODE SELECT ... FOR UPDATE; ``` -### MySQL 中的锁 +### MySQL 中的锁 🔥 按粒度从大到小,MySQL 中的锁主要有以下几种: @@ -529,7 +529,7 @@ SELECT c FROM t WHERE c BETWEEN 10 and 20 FOR UPDATE; - 删除异常:删除一个信息,那么也会丢失其它信息,例如删除了 `课程-1` 需要删除第一行和第三行,那么 `学生-1` 的信息就会丢失; - 插入异常:例如想要插入一个学生的信息,如果这个学生还没选课,那么就无法插入。 -### 范式 🔥 +### 范式 范式理论是为了解决以上提到的四种异常。